css/swpm.addons.listing.css000064400000002200147206617610011757 0ustar00.swpm_addon_item_canvas{ background-color:#fff; font-family:sans-serif,arial; font-size:12px; border:1px solid #ccc; display:block; float:left; margin:3px 12px 12px 0; padding:10px 0px 10px 10px; position:relative; width:222px; height:340px; } .swpm_addon_item_canvas:hover{border-color:#999;} .swpm_addon_item_thumb img {height: 150px; width: 200px; padding: 5px; border: 1px solid #ccc;} .swpm_addon_item_thumb a img {border: 1px solid #ccc;} .swpm_addon_item_body{line-height:22px;height:170px;overflow:hidden;} .swpm_addon_item_name{font-size:16px;font-weight:bold;text-align: center;margin:10px 10px 10px 0px;} .swpm_addon_item_description{margin:10px 10px 5px 0px;text-align:justify;overflow:hidden;height:70px;} .swpm_addon_clear{clear:both;} .swpm_addon_item_details_link{ text-align: center; } .swpm_addon_item_details_link a{ border: 3px solid #2d3140; color: #2d3140; display: inline-block; padding: 5px 15px; text-decoration: none !important; } .swpm_addon_item_details_link a:hover{ background-color: #2d3140; color: #FFF; } css/validationEngine.jquery.css000064400000006404147206617610012662 0ustar00 /* Z-INDEX */ .formError { z-index: 990; } .formError .formErrorContent { z-index: 991; } .formError .formErrorArrow { z-index: 996; } .ui-dialog .formError { z-index: 5000; } .ui-dialog .formError .formErrorContent { z-index: 5001; } .ui-dialog .formError .formErrorArrow { z-index: 5006; } .inputContainer { position: relative; float: left; } .formError { position: absolute; top: 300px; left: 300px; display: block; cursor: pointer; text-align: left; } .formError.inline { position: relative; top: 0; left: 0; display: inline-block; } .ajaxSubmit { padding: 20px; background: #55ea55; border: 1px solid #999; display: none; } .formError .formErrorContent { width: 100%; background: #ee0101; position:relative; color: #fff; min-width: 120px; font-size: 11px; border: 2px solid #ddd; box-shadow: 0 0 6px #000; -moz-box-shadow: 0 0 6px #000; -webkit-box-shadow: 0 0 6px #000; -o-box-shadow: 0 0 6px #000; padding: 4px 10px 4px 10px; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; -o-border-radius: 6px; } .formError.inline .formErrorContent { box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; -o-box-shadow: none; border: none; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; -o-border-radius: 0; } .greenPopup .formErrorContent { background: #33be40; } .blackPopup .formErrorContent { background: #393939; color: #FFF; } .formError .formErrorArrow { width: 15px; margin: -2px 0 0 13px; position:relative; } body[dir='rtl'] .formError .formErrorArrow, body.rtl .formError .formErrorArrow { margin: -2px 13px 0 0; } .formError .formErrorArrowBottom { box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; -o-box-shadow: none; margin: 0px 0 0 12px; top:2px; } .formError .formErrorArrow div { border-left: 2px solid #ddd; border-right: 2px solid #ddd; box-shadow: 0 2px 3px #444; -moz-box-shadow: 0 2px 3px #444; -webkit-box-shadow: 0 2px 3px #444; -o-box-shadow: 0 2px 3px #444; font-size: 0px; height: 1px; background: #ee0101; margin: 0 auto; line-height: 0; font-size: 0; display: block; } .formError .formErrorArrowBottom div { box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; -o-box-shadow: none; } .greenPopup .formErrorArrow div { background: #33be40; } .blackPopup .formErrorArrow div { background: #393939; color: #FFF; } .formError .formErrorArrow .line10 { width: 13px; border: none; } .formError .formErrorArrow .line9 { width: 11px; border: none; } .formError .formErrorArrow .line8 { width: 11px; } .formError .formErrorArrow .line7 { width: 9px; } .formError .formErrorArrow .line6 { width: 7px; } .formError .formErrorArrow .line5 { width: 5px; } .formError .formErrorArrow .line4 { width: 3px; } .formError .formErrorArrow .line3 { width: 1px; border-left: 2px solid #ddd; border-right: 2px solid #ddd; border-bottom: 0 solid #ddd; } .formError .formErrorArrow .line2 { width: 3px; border: none; background: #ddd; } .formError .formErrorArrow .line1 { width: 1px; border: none; background: #ddd; } css/swpm.common.css000064400000015655147206617610010351 0ustar00/* General CSS */ .swpm-margin-10{ margin: 10px; } .swpm-margin-top-10{ margin-top: 10px; } .swpm-margin-bottom-10{ margin-bottom: 10px; } .swpm-hidden{ display: none; } .swpm-red-error-text{ font-weight: bold; color: red; } .swpm-box-shadow { box-shadow: 0 1px 1px rgba(0,0,0,.04); } .swpm-yellow-box{ margin: 10px 0px; padding: 10px; background-color: #FFFFE0; border-color: #E6DB55; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; } .swpm-red-box { margin: 10px 0px; padding: 10px; background-color: #FFEBE8; border-color: #CC0000; color: #333333; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; } /* Wrap directly with this class (not to be used with a paragraph tag) */ .swpm-orange-box{ margin: 10px 0px; padding: 15px 10px; color: #3F2502; text-shadow: 1px 1px #FFFFFF; background-color: #FFF6D5; border-color: #D1B655; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; } /* Wrap directly with this class (not to be used with a paragraph tag) */ .swpm-white-box{ margin: 10px 0px; padding: 15px 10px; color: #3c434a; background-color: #fff; border-color: #c3c4c7; border-width: 1px; border-radius: 3px 3px 3px 3px; border-style: solid; } /* Wrap directly with this class (not to be used with a paragraph tag) */ .swpm-grey-box{ margin: 10px 0px; padding: 15px 10px; background-color: #DDDDDD; border-color: #CCCCCC; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; } /* Wrap directly with this class (not to be used with a paragraph tag) */ .swpm-green-box { margin: 10px 0px; padding: 15px 10px; background-color: #CCF4D6; border-color: #059B53; color: #043B14; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; } /* Wrap directly with this class (not to be used with a paragraph tag) */ .swpm-blue-box { margin: 10px 0px; padding: 15px 10px; background-color: #E7F4FE; border-color: #AACEE6; color: #1D263B; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; } /* Default button style that we can use on registration, login, profile, password reset, form's submit button. */ .swpm-submit-btn-default-style { min-width: 150px; padding: 0.5em 1em; cursor: pointer; } /* Tooltip or note styles that we can toggle on/off */ .swpm-tooltip-notes-container{ position: relative; display: inline-block; } .swpm-tooltip-notes-style-1 { display: none; margin-top: 5px; padding: 4px 7px; border-radius: 3px; background-color: #2d2d2d; color: #FFFFFF; z-index: 9999; } /* Block related */ .swpm-payment-block-ic-wrapper{ padding: 16px; } /* Membership buy buttons */ .swpm-button-wrapper input[type="submit"]{ width: auto !important; height: auto !important; } .swpm-button-wrapper input[type="image"]{ width: auto !important; height: auto !important; } /* Login form CSS */ .swpm-login-widget-form input,.swpm-login-widget-form checkbox{ width: auto; } .swpm-username-input, .swpm-password-input{ margin-bottom: 10px; } .swpm-login-submit{ margin: 10px 0px; } .swpm-login-widget-action-msg{ font-weight: bold; } .swpm-logged-label{ font-weight: bold; } .swpm-logged-subs-status-value{ font-weight: bold; color:#CC0000; } .swpm-logged-subs-status-description{ opacity: 0.8; } .swpm-edit-profile-link{ font-weight: bold; } .swpm-logged-logout-link{ font-weight: bold; } /* Password reset form CSS */ .swpm-pw-reset-submit-button{ margin: 10px 0px; } .swpm-pw-reset-widget-form table{ border: none; } .swpm-pw-reset-widget-form tr{ border: none; } .swpm-pw-reset-widget-form td{ border: none; } .swpm-reset-pw-error{ font-weight: bold; color: red; } .swpm-reset-pw-success-box{ margin: 10px 0px; padding: 15px 10px; background-color: #CCF4D6; border-color: #059B53; color: #043B14; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; } /* Registration form CSS */ .swpm-registration-widget-form td{ min-width: 100px; } .swpm-registration-widget-form input[type="text"], .swpm-registration-widget-form input[type="password"]{ width: 95%; position: relative; } #swpm-accept-terms{ position: relative;/* needed for the validation message positioning */ } #swpm-accept-pp{ position: relative;/* needed for the validation message positioning */ } .swpm_already_used_registration_complete_link_msg{ font-weight: bold; } .swpm_registration_hidden_to_logged_users_msg{ font-weight: bold; } .swpm_registration_complete_link_invalid_msg{ font-weight: bold; } /* Edit profile form CSS */ .swpm-edit-profile-form input[type="text"], .swpm-edit-profile-form input[type="password"] { width: 95%; position: relative; /* needed for the validation message positioning */ } .swpm-edit-profile-form select { width: 95%; } .swpm-edit-profile-submit-section{ text-align: center; } .swpm-profile-account-delete-section{ text-align: center; } .swpm-profile-account-delete-section a{ color: red !important; } .swpm-profile-update-success{ font-weight: bold; color: green; } .swpm-profile-update-error{ font-weight: bold; color: red; } /* Misc CSS */ .swpm-restricted{ font-weight: bold; color:red; } .swpm-select-box-left{ margin: 0; padding-bottom: 5px; } /* Payments menu CSS */ .swpm_status_completed{ padding: 7px 15px; width: auto; display: inline-block; text-align: center; min-width: 80px; border-radius: 4px; background-color: #b6e4b6; } .swpm_status_refunded{ padding: 7px 15px; width: auto; display: inline-block; text-align: center; min-width: 80px; border-radius: 4px; background-color: #e4d4b6; } .swpm_status_general{ padding: 7px 15px; width: auto; display: inline-block; text-align: center; min-width: 80px; border-radius: 4px; background-color: #dedede; } .swpm_status_subscription, .swpm_status_subscription_created{ padding: 7px 15px; width: auto; display: inline-block; text-align: center; min-width: 80px; border-radius: 4px; background-color: #b6dee4; } .swpm-active-subs-table{ width: 100%; } .swpm-active-subs-table td, .swpm-active-subs-table th{ text-align: left; padding: 6px 10px; } .swpm-sub-attached-to-profile{ font-style: italic; opacity: 0.7; } .swpm-cancel-subscription-button{ padding: 8px 15px; text-align: center; border-radius: 4px; border: none; outline: none; margin: auto; } .swpm-cancel-subscription-button-active{ background-color: #ff6a6a; cursor: pointer; color: white; } .swpm-cancel-subscription-button-active:hover{ background-color: #d95e5e; transition: 200ms; } .swpm-active-subs-api-key-error-msg{ color: #cc0000; } .swpm-cancel-subscription-form{ margin-bottom: 0; }css/jquery-ui.min.css000064400000070717147206617610010610 0ustar00.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}css/images/ui-icons_444444_256x240.png000064400000015520147206617610012713 0ustar00PNG  IHDREr@bKGDD< pHYsHHFk>mIDATx{leG}?gK$U!>TRu &H`oE*U.B RE*%B$EFdE)݈†>lB^PRU%9g^{}{=y~9Mn<.` cAb/@[VD03AX90N_B &>~> c;abDߎEQz'kMayԉ 6!:u::@RŤByDD'L-f]Sq!f SQ&S7MCr==3dJ{fZS0Ms:0K٦gʿ&HU=mc4i?UĔGU4hcQb]!hLW/  @pxh8~|AQf?ێ1f¸=uQGJHpPϠIw״m췥ԧ>2"WÓP&{nT:sfqH@.cI ~Ss+^|Bn29 dH]v-ˌ-meh>q&تg 9x#cn~!pxh84^/ o #Z@S^4 KZKPd9C@F[,a+]8vKqHlw9ק84KBץ|&#[\C`R!:F zC6)AT1wU.Iҗ!4ig3wE:q7n0uAmPy TK(5ͬlNæbTrwDV]te47 L[C0P&0++  @pxh84Y`OEZj,*-E)e{U, \uoV: `omKet_WOdW3Z Քrv|~^g`jycp*fb]M59.LNq+%ۯ0vccJEM5kk#I<x_ I#0Dw4xh84^/ ^c drDM{wQte{^`br./M:0գ*z`]|SB(e)h͎/Vܮ"aO!o ,u^Љ^=zt`WeCCM Qϱo0q%Uo?<@6HG/uAQ-_u||ִ*2lٍuG@ j !Br qL!*)h.V{3-!w$dP*/P[ t1l3hlyp0bgL} 3$%\/.)TwQ"uK7d+2! @pxh84'aY$mf6lB'.D Рx7SxtIe We}d0RW^ݢ0](U݋Tx|T|@v^Df׹Lb(2H0n8;_QO}D&3{YWw5*e˗?̖G :H iZӖ)/MP(:!/|B[i:Gf L`~:z$aa^ʭ|P- kbݞ<ەL&xJAABȼHvᑢ[ySəwNJuy %pw0_a"zx 3i1|= @%JWAm\ l>arV-PSוjA^&v&^WcqMz-&| ϜCʥxx}\ZW4Ig8YL1  aROQ.PU(>K&c.mO-M\8SY.'|5*܊B@֘A%Mo2:c[K93-tnNjBo2`*]9aZAq?Wկó)%0"_ϮqpyV!/hI.($]!rW+p P; 44E*0r"77`\*!s<@Zbn0͏me HEH]XSM~#a1&|VbYQE}e%ͦ@~NN>8o7*GBMR-U=-³K E+x p c\UWs5Wla?Lsf;2vy+o*m m-t8 W<,o̰8f=CH`⾿h)_}(%m'& ;(ݚ!{:^R@N ү"*<V敡5oh~q+`6IiI<%Z=^JE\`0]1DA^a0f(c %[Gxh84^/Ordh9M7L)-ӂ-?K(stբh-?:_XڧCr]8YB3|C| leXW_x!V8Ɗb8bQ7N4Jl!= D ?'a`^aq8:-YPx[o֝XQ"GִW} 1>cÚbYV 6=*ۿŻ)8hs/8'Ϳ,lEb\Ye.M6܈d9uJZĽj-l&8:s\Кty'hs[Gmh-mk2^SJe%u\j5 n|;଴δa[;Хˎp?|yRaC$_a/)NUNƍȄp~Ú/kn|J)/9Q:,K xR! B%]lq+|w ս_\GW)"3]aCJ%>|' _ƅDP*07³=VZEgV-L'@}2ƪ[P' rEm["vO# 5g$$?mƟ'zJ^SxHjg4D=4@F7# ъ~z'o To㩋b̓ddcBU%T9ҊD@.!+Nwuer>n-U$U`Iv%AQEd ;Ә:+a&XĎ y%k Gс "4pxh84^ @d6((Ԕ{C::[>H, ɴNVNhr.~NZb3+Q|,%t%n!作*7fg(m!f y"kI6Y/eZٳ+zg6W8ɦbQ%y8Ï2ŕ#b-tY͕8ynO{]!ټ*\ (p2.Hٙd.>Z(N &l2&k U&ף~.ו658A7}P:BlkU[8)j1$W !s\ QFn(qRK:'X@=$ x#|5:@]2Si.&W $` 8t3 =&[#ߥU3Wҳq .H{➇Z,ȣ"AH#珁W(+̱1Ɏ;8/<EE C+nU:|a ɔM|?LW1$~}W ,oVRl{7 ^;<,t[T"3SU9l˾H[yV&a@E&I?U7xG4c *i'xƨ" I3c1e\ӎe($ztnꅧHv.|mO9QFL&y Πg)5ޜlWv' 6zK,`]ǫ2@}Ϟ9=>4=O5͍sp 'UX⻹{J FalrF}c@`fQȎчxm܃ #<𶀆 @pd`.6Ip۞]A+"y Pns3oz7hzeDp'm&MwMh<Ǧ(I'G>W%QWVoHtMtjDU͕l n IwoO_5~YXw(Rm)'Dɸ5=@+~jy^`O`$!_U#!GB |V:ĵ>de=Ay<Շ*^_b T)}7 bPohhh~7rM/dFHGI>&Ql/L^b:גTDM9Q<*y =2~/?J,+%qqޗS?ܑ ^e]GSVpu^س~oBo l84^/  @!/ONGۮ2t]С8cݮ5z=7ˮg@/aE[y#3#z7L.| (cRcSmQ$6ץ{ Da{T_j84^/  @ñ`/_g "d`ɾ0 { Cj_9jDՋa~? dc[0*a,& 0&+ OB4!1~Ix>8c&G)jI=@5@v&J?QlÇ@Q?x^y 3%tEXtdate:create2015-03-11T14:59:12+00:000i%tEXtdate:modify2015-03-11T14:59:12+00:00AtEXtSoftwareAdobe ImageReadyqe<IENDB`css/images/ui-icons_cc0000_256x240.png000064400000010705147206617610013031 0ustar00PNG  IHDRIJPLTErYtRNS3P/"Uq@f`2 !<BHK Z#'1S,4j8E|)Q$ bJmߜGc?oh@^bKGDH pHYsHHFk>dIDATx] c۶H阒]Kd%٫뺮lmw]|pXm-}X:+iĆQV9\e'AtOS:72YsxMہB&z>nC@r@*aӝ%MFDDDDDDTߖH,ERUn ب\f͹:}4ᦋ{)n[ ̰E K Y Dۇ- +Kl=ӃL`љ|%n a N#5 (4?EDDDD\oWFfq;\E_,W!%zE!F¶. (USHQ0dw)T 8#p,xBK *xXEe K솎%mKX~sFE~tdcaI1Af4dHcGSB`0wev`"{ .GDDDD,dO6k"qkMefS_UKŌ&g~>n H}) LF%8()r![4统qQk0m[Le_70@>1 X0AZVcEV Ltk3EJ44ZﮊN`rt>`˥  AHBLH@cUq=jcM2sJCLiR NQ0=Yi-|4V ]]B^ޞ_H$<$ a=d@ (ZAp_}~s:N{DC>m^ƒS&, ;N&B} <_AB]HuN(B0{h1IKDs j' M8.ӫ1h3df}mq nU{Lo z \=?@ ((e|=ơ麄Ci1r<|OO; `HpQyzԈuZVƲ!)5mC2Lyg;֑RjWa@@VL&Wru=Z ̥=U5} 7;b(nP&sk48ͥ01U Wvk18dqTՌE]qH8 GF K'rOrŗ6"fpT^3c"nMم-/W=tJ,X){P Rm|K>mX8v5h<_{ꘀYF|&_G;&>^W⁃&K(81EB@F&;"L'wfwE-6o&/̫'Xe,>~ee|A=) dQ`}P[KN˂/~)O[dO=3El5'Y$?7mTzզ.\.` WE"""""v)V#]L;zqJr²[\-tҽ5 @ͷϟnT@+;cQhC*TڙAVr?f? Q1T`} Hk,{VZˋTϛ?I̯uQKLMe͆~qym09 S;j5 iQ]7k0UޭGkX3#lY_Цxj޶9`# M [z KuO_z˿Dܭ*kOJ(7n\e ITƨl/U߶uw.~;#r.8 o# 5Lh>1i pVM?/u70 X@L+M+{Fkt{ŧ890`. ĀCR+\/t R; TӲ]aL|efđ >ۣG|P`P8C1K՛A̍<2ۂKrl@L L 8@E>`nPNԍ,p EƆZF lÎ; F7Ȯ; swSz)g7{rsSgȋ(߄~AWytX$NVR_<6p.O8O[OdDk>_OO}JSdmV?W(_m j~=H IԁF>T/{*]IGJ@iqamNF|Q50+ ES8:v`p~vj:Bp96oys% |@H]+@t]Wk}}7FʮrAB\m-_2PY8xՎN.h~@+7z5t_//?0S>)zi0n/B`{DW#`Bo[,gFVЁpP߾C]Bz ,XXfԃA:H k7dZ9oc}o]0vd:R]0ve]刈jу| ? +(OǍ+ #ysߍnpFru<.HȺotM3h}߆P}˗vP}mǀ?WZ@}@@FDl%tEXtdate:create2015-03-11T14:59:12+00:000i%tEXtdate:modify2015-03-11T14:59:12+00:00AtEXtSoftwareAdobe ImageReadyqe<IENDB`css/images/ui-icons_ffffff_256x240.png000064400000014233147206617610013367 0ustar00PNG  IHDREr@bKGD̿ pHYsHHFk>IDATx]]%uzfV^;lY03&)]P 'M@+ȋa k`J!&~H2ք F?!0_&`>u޹?U_3sSu|U]:!D@t 8"t@M;ljH=&Omk3FB8F;@* cOy=kWڅە 3ANI*vP-ast $Hp As21E,ځ ԪGE'ihe]iSǼjvqPr /Y e-ڦt R5wgf I;&ImJmqkۦw4BsȠWM &_ /1n;z_$ 8H`# pDH 8|3h2oF)e>}Hl>LBV-}uҾo|ڵ/l| "o]}HSwǗAs!803@j~yӇ 4h >@")J_9]L;njq (pDH 8"G$@'MqXi}"03]AS(~ @@-$M6 W3'79+OqOh\O< `xTOHp/dg4 "GlՈf+)CO'u*c'TMKh^< uWhzHʇڸq풁| vAM1|B2 t3XbhW rsnZLwpO~8 pđ 8"G$@# pCR~O xDsM* |{oWC;]Հl5)^^ #šNv97> tm aϿ_ k{bW%p@ݖC>۩`ͤqǽ;~>iCZX^[HfalsX'0M _I~9'}~{.@62,hPU@U൓)UCH _\f.*@/gN*C-{g7H4ɼkor?_59]bU/_kp)m/qToLZ8D88"G$@#`ܘ*s> ʧ轎I{`>@1%,`35"G # pDH1{Hg[0 ˖\6%Hqx,Oaflxt! b[WX7wNyZ.ZuCTk qh_|kj~Q@n2=A6-kϺ"-RgZPv \͹8f/-Kp[΃:%,AL&S&D'Ms>A' FUf` JvQ8]6"?_޽C$n\Ba#¬#,5D3fq# p,'?'޷:0+n֚^vx] f 45b{=6v=NWxG8£K3kt͒] -F⛛./復Ou{~#qRyB+xۂJP1 !%3/` >\^dG/N-^ZvP#Y"ho \[LugHz~]()`+8PS~3OY((My~;HĻ}x 9 2SwG 9M\f/A1n~p SN<p-@o.-t>0-[\_g@6 nYNa .B|9>.N&hD[/3 oL59G0>*Z;"x}Œ.QٟJ| LQG5c̍ >Iէ-}{s=5}  _<Գ{ɂWZgԔ5~c|- 8"G$@X,WE Zm}p-oCCmȹA'[69~ ӎP#0*)uQDvi)FF4dAntÐ˞lO6;R,:ElPǔ K:Dۄt).kL9AOqrџWԧlJߢ\&;߈2AK9DiZyQ#5۬|{MHD#JD\8)ju9|1~=O=\Vn~'/PX(,u'0MPŃmq | J~yL1ާ{W/?o ]}uܙ F&*S\=u3~NzߤYq6DR_/MwElJCǯq!Lw]*ԐjΛ O]DCBɡB&@_fd]zva{!_nmSQnoMkn[qP3.)#{>oCz!U&6~߃JeتI]Ӻe9Qa.%sj=;x{DŽy:8"G$@ sɠ|6zCm79V ^Vzk}4*HAɿ6ZtF..2>Ot-fV;W_ٞ,O >Z|ya~萻B ki#@u"ڥ! *7! f3DckTɰCk.sPש;C<}Ra0L;7Lw5@6JCDV#NXFa곮8y>B %:dH Ar'@+2oH:͢ Ӻ]r8C`W;ErV۸ruEP;3*'JcIzkRl `OW*}Cc |NY+UOr1\LSZ5):aPlNw"Cهf9K`>3Jghe|7IqN[ʥ^c7Mq=M*3+1qKʯ3!KfŠ6|#y >_&lʶ&1_TjW`iHCڥټ ,Z7֟Ԫl;w*QwyFϜhc14R6i6h~ P6S]*r3pC۴NB;G~gj!|hϔ}vQ{z,pQGD{~9 )ߛzn&@T>51 偠0I˫\!\rrh3>]Y7PtӴDO[5nA ] alT2A_&\An4'':aOHc 0  w޺{Gg3/R1T0+ޔ0Rm柅`o*~ _g uFjǟ=sxpE)VU9vuZO=j<_>o5@HPGx#;I 0Q#zG$@# pDZK*6Aa\n6v[K(Ѯ0zLI/jnЮ|y.4qE صẄ́xjq {Y>.]!a[!i.d&~RJ4`&@Sۥ sy7wphq= lefy y_Eŵ^ըwXQ" tloޡs9eSR~ڥ|;i6\/$ʗʿx8_t+xp+ި$@'q_Ǔ.t-o\}]m&-t-o}dC>rFO|Ӗw8KCH7V'J M֝`\ W#|{B ̪$y4,}F>nk-PWEAtH=jiY'W;S'QOQL7DO=@w=KFR™?ЛΕN8#(p̯/ b,?Pw%tEXtdate:create2015-03-11T14:59:12+00:000i%tEXtdate:modify2015-03-11T14:59:12+00:00AtEXtSoftwareAdobe ImageReadyqe<IENDB`css/images/ui-icons_555555_256x240.png000064400000015514147206617610012724 0ustar00PNG  IHDREr@bKGDUI pHYsHHFk>iIDATxleGu?wKֻI -Ti};T[-e$boE*Uh]@JD6_$)(j7 »QP zBTlU}n6ku}w+{}Μ;gL<=.` cAb;@zD03FX9:0N_B &>~> c;abD߈E.BH!6 Cu8tuI?!B *Oz.[aͲlB >h>M,4Ro 1zzf^ 4"Sj߱`沛u`M( ,7M { ƞi;~:)7qqF6g]$ױt pxh84^/  @ی2v،1c쩳nʾ~7 |wM~[O}f7@q?@# e.L3noF| Tel8iu{t`neӋOhmP&Lv5zވe]lMԧ7qX ] Wqw(BPpxh84^/ G8gJo}iA )s5~aJYTV1pTVP%تrO?ph *sKM,Gf -։Ckuu@FkmS0(b\/Chjgb)(; z-tVn R71%ݪ-`.i۠@/8PjY%؜Mźh[2 R h7Yo8j~10*Xt0Ua2^Ma%WW/  @pxh8ápihxѮB&=wwn-`r5YJǖ0V\)P>YD@k}Z@XxXY l]l;ul3e4ұp!bPdmgQO c:(); WA}(HWY\URP7Y,]`߬('u LdT˿sf) &)0(T}sLU4!V;Kjs Q:7ػ^{VJ {Ϸ_a*Ǫj.,TGy6 #v1f1i Dx4 ^/  @9l0٫\>Vo/]`Y`K,vL{|<<3Xߔ-ҮsS݂۹]=޴Rn֟6>0Mf{U*o0q%U dP"PX"]`C@f˫v: SE|Bd ZӪȰg7UABTM/V k*)h.V{3(lkl{IB%bj5pPAc*Lt5K|w 5Paļ~@mP @IK^[]REnWe@փ @pxh8OZòH ͖m2لNT]myA9wnI :Jm^NzuRtT}v/Ri&~Su "{=\2= ٿˬ#տɨl:yGA>7Cb ȚfJ_}t2ר/-_d3[FEWA"IӊRןm9|%\OC%lP=2kdz#[/\# /Wn2om+LєUy?>#E*3͔8>K>ap06D9@4 Ag6cl /  @ñ`"]iK{s D07ӕSzb!䬴[,'XI(cOmlm k#K#m~Pa&. )bmuLI fnQ! Lü#鷭mcȱDuBVVD`2GPkpAWNTPU(iJş6 ȗe\Նg=Nj6g t ޟ?[d>^Kߤ,An"hf h6T xXֵ$C a"D0jHMoTBfx^""#rl,ip7u, XFcDJM$"Ĺ}江Wo*B5V-U=-³ E+x`Z%y=s=a 3 ksN4lTBƸhf!NjHa?6B|^,/0rDF[5 !m` '$J~1ofDx;k 6(jPx)_4?Koq&[T:E9/J0D`RWg^V $Y|&yeᯈ9BR*ˆ ׄ/j&RE 21{a`7<* @px](Al=\ntÄҢ>)زoӄҿtZtG@ KtTnFKYfM~-L+K@a,*,OY` NKrw&}9$ߋFݑ[ @{z&f ͿӢ 49 q6ahx1ie^ bdM+@;z7m0:Oa<n-U8/U`^v%p wGJlyTAasS>ge?L^D_i\Sxu5_<tO0 PA𶀆 @p4O"qGA餦vGbQ przEss] 6&K_)ČZ/y!wr'!x!}E~7C~?Cn 1]C'I_2 ,J͞D\\Ig, 1*Q ǹx]~)LOk <"mkvsxb* PaBF+ߐQ!Fj4LqbSqfX֘e A5YkOد2?զ)[lSPҟ0K(JHAt&sUmo T&@oaqABf9bI7ge/P * uN0.p_{Hs|e:@-2Qi.&W $`8tf&mSz sߪ{t+ٸ9u_~qC~LWy\$;W)W]q0 `9!ٱbx=/p&z,jMZq-ѩ c Olsa=/NfxHrW XG5y 9,=yDng6-6yi(De3^o*DgrX}?'xN&b@iE < !i&[Ny`nen3Tgms[Il_D/IoYS4@osѶ _f`?Xqy.sYVm,G g3TG$ɨ(<#5ЌT?ljڦ1_PO ^Ԥ !Nzڱ^!4 tS/4=Ke͍3,rg 'U߫J Faq{i1 0 w ڸG <:Fx~?@m  @v@]]<ҟPj74"}u67s~WF$ Z.h~oxl⛈tIDATx{leG}?g l^CKd*M&6JRm붔MފRUd'Ѻ5@TʣB$EF"nDaWiSRI6Dyq^3s|s̙o~3g~3 >Go.4^dL21L$`l[~&+&щ@G`Vag'alNXb0t(P5RH&<ą-`r22)Kz,$[RpR su8r]aj#zTMS$\Oό3!ZPYo)D N#Yʦ2: )P}_US2L]a?szՙ/lljٛ<2ݎ:+g/  @pxh8z|aQf=ۊ1f¸;{ã)!)fB=&5]ӶߖfO}Ϭ(0oY03(Kdl1U+թLMz{D@>]D-omu ]ZV,ˌMmyhUzfi=@]S؊tTo6g%SB_qw)DPpxh84^/ _G8Ĺ{Ja bR(xhi@IzJҼy tsY@eeC뱅rjm܍C&[LM%m{e^3JM3@ӰX7mkA ".v2MuZfPy -!LUis_hxvv+3  @pxh84Y`>HԀEZn5{Dn{DY l]ysx-[LqmЭq `_XA*fLOtL17:0k SYB> /SA]CgݳX:p:L*YQNT\}="dLM 5-l} 0(TT|sLE4!;K~pm {˷aʜǢ.Jm.718(I : sdbSҞ^:S)!" @pxh84gW@~= &{K'jڻ ,#Vvh=L*}yLʼ=Ƌc6m^P?,LD1DV2S$_`U3 UfaQvFX"&!k֘D`:G㊐(qAOVPU j(iJlWqK li3 x T!sXD@s 9+y8u\mY"r7v֗u- v!H 4<@(B$"PdVZƜ wߠs0kB5h$]dpϪ_@0+4@"hOtckQi c%}TC5|jfJ򭼕da?L sf9[2Vq7; y6mNi  b-"?[fXhE!MLqRTDW*ZIhD$w{mÊ: ~fE㳔&GESdJ4ye]U/Vx06ȃ"XW Nj OFS gc>$C^xT @)>U.,-z)E}Zeg ttG@sKtTk$ZKyO~-Lk+@=2GXVX`3"SMlriߍR{wn''8SjoOI;tXa.0N7N. (O< ;vɤVyY5(aU_}h?Gx8񈦂XgMOz!V.qįi|LHL_F yUғ_J`B]L"tYeM܈d:uJZĵjmlC&8sךt﹅m6T469K) %HZߒ:.՚nz w> c^68#ͦ1mX֡C][5 : a2S-II\q#`pPe^b|~.?=-5OK?09Lx%8qIT d=\&'=n)X[8SDf‚<|'O!) 63Uag}osk;'Z9Z]HQ33uBn6BMf E-l2=)Hx V `Vj,&Jr0YeT]GxL뼪 ])is9NG^WiH6Ͻ `7"Hʬ)\ 1Rsv6Xe=Nc ` Td=az8M?UU^Wҟ<0WKHHAth֪q*SdI&FB8YbI7g=^D=;@qA,U`b]=oO˷1J1VR;@x՘2Ht!6ɽ\8\'S367tkl SPVأ~\N-(; mjksOfjcA=@9C'*B| eXBdR j oMs!F=zo*ikkf7빞끛Y^#i[.. e""ҿ~A~/#]@ R* XśsTG$ɨ(<#5ЌT?͉ym<[=(xZ}W#N awpQML`KqSFMRdSijg|۹I͡ Z}+c^ԄhE^UxG4c *IO&'5)1?sHf5[CP 2c+j]3eYgt,@+g-OJ`eLa1CYZn]3*~:g("褿[12n2kYL_|.My/y/ ({F$i=|KA,%}[қdFYg1iFUOQD>go]\zWbT=).xY"IUf8˂Z ,CHX|iz6)X0Ovث;J FalpF}b@`fQ={Ɂi <5Pŏ._px[@pxh82P~;GMtM-v@]ܠ.߰ >K94}6. /n:&"O'"'G>P%RWV~1KtMt1jDUlP%U |^ӿ]C` _i/{җVQdz16zfudO?P{f_?Azf_? o#j3URmUqmfh7sIb_.`8G.篘B5nJM47sIb4@4FXb)&PqFHGI>.Ql/LVb% ) .(?Vr 飸UUzX!e|Ul_6~yUY: )5WJ/?GpG~/_17lz DXǭpu}^kسAo Bo l84^/  @!OMG۶2t]ȡcݶ5z-o;3`c6FzAmǸm` cHdIDATx] c۶H阒]Kd%٫뺮lmw]|pXm-}X:+iĆQV9\e'AtOS:72YsxMہB&z>nC@r@*aӝ%MFDDDDDDTߖH,ERUn ب\f͹:}4ᦋ{)n[ ̰E K Y Dۇ- +Kl=ӃL`љ|%n a N#5 (4?EDDDD\oWFfq;\E_,W!%zE!F¶. (USHQ0dw)T 8#p,xBK *xXEe K솎%mKX~sFE~tdcaI1Af4dHcGSB`0wev`"{ .GDDDD,dO6k"qkMefS_UKŌ&g~>n H}) LF%8()r![4统qQk0m[Le_70@>1 X0AZVcEV Ltk3EJ44ZﮊN`rt>`˥  AHBLH@cUq=jcM2sJCLiR NQ0=Yi-|4V ]]B^ޞ_H$<$ a=d@ (ZAp_}~s:N{DC>m^ƒS&, ;N&B} <_AB]HuN(B0{h1IKDs j' M8.ӫ1h3df}mq nU{Lo z \=?@ ((e|=ơ麄Ci1r<|OO; `HpQyzԈuZVƲ!)5mC2Lyg;֑RjWa@@VL&Wru=Z ̥=U5} 7;b(nP&sk48ͥ01U Wvk18dqTՌE]qH8 GF K'rOrŗ6"fpT^3c"nMم-/W=tJ,X){P Rm|K>mX8v5h<_{ꘀYF|&_G;&>^W⁃&K(81EB@F&;"L'wfwE-6o&/̫'Xe,>~ee|A=) dQ`}P[KN˂/~)O[dO=3El5'Y$?7mTzզ.\.` WE"""""v)V#]L;zqJr²[\-tҽ5 @ͷϟnT@+;cQhC*TڙAVr?f? Q1T`} Hk,{VZˋTϛ?I̯uQKLMe͆~qym09 S;j5 iQ]7k0UޭGkX3#lY_Цxj޶9`# M [z KuO_z˿Dܭ*kOJ(7n\e ITƨl/U߶uw.~;#r.8 o# 5Lh>1i pVM?/u70 X@L+M+{Fkt{ŧ890`. ĀCR+\/t R; TӲ]aL|efđ >ۣG|P`P8C1K՛A̍<2ۂKrl@L L 8@E>`nPNԍ,p EƆZF lÎ; F7Ȯ; swSz)g7{rsSgȋ(߄~AWytX$NVR_<6p.O8O[OdDk>_OO}JSdmV?W(_m j~=H IԁF>T/{*]IGJ@iqamNF|Q50+ ES8:v`p~vj:Bp96oys% |@H]+@t]Wk}}7FʮrAB\m-_2PY8xՎN.h~@+7z5t_//?0S>)zi0n/B`{DW#`Bo[,gFVЁpP߾C]Bz ,XXfԃA:H k7dZ9oc}o]0vd:R]0ve]刈jу| ? +(OǍ+ #ysߍnpFru<.HȺotM3h}߆P}˗vP}mǀ?WZ@}@@FDl%tEXtdate:create2015-03-11T14:59:12+00:000i%tEXtdate:modify2015-03-11T14:59:12+00:00AtEXtSoftwareAdobe ImageReadyqe<IENDB`css/images/index.html000064400000000000147206617610010576 0ustar00css/index.html000064400000000000147206617610007331 0ustar00simple-wp-membership.php000064400000004305147206617610011337 0ustar00Settings'; array_unshift( $links, $settings_link ); } return $links; } add_filter( 'plugin_action_links', 'swpm_add_settings_link', 10, 2 ); classes/class.swpm-self-action-handler.php000064400000032324147206617610014637 0ustar00get_value('logout-member-on-browser-close'); if (!empty($logout_member_on_browser_close)) { //This feature is enabled. //Setting auth cookie expiry value to 0. $expire = apply_filters( 'swpm_logout_on_close_auth_cookie_expiry_value', 0 ); } return $expire; } public function handle_after_logout_redirection($redirect_url){ $after_logout_url = SwpmSettings::get_instance()->get_value('after-logout-redirection-url'); if(!empty($after_logout_url)){ //After logout URL is being used. Override re-direct URL. $redirect_url = $after_logout_url; } return $redirect_url; } public function handle_swpm_payment_ipn_processed($ipn_data){ $ipn_forward_url = SwpmSettings::get_instance()->get_value('payment-notification-forward-url'); if(!empty($ipn_forward_url)){ SwpmLog::log_simple_debug("Payment Notification Forwarding is Enabled. Posting the payment data to URL: " . $ipn_forward_url, true); $response = wp_remote_post($ipn_forward_url, $ipn_data); if (is_wp_error($response)) { $error_message = $response->get_error_message(); SwpmLog::log_simple_debug("There was an error posting the payment data. Error message: " . $error_message, true); } } } public function after_registration_callback($user_data){ //Handle auto login after registration if enabled $enable_auto_login = SwpmSettings::get_instance()->get_value('auto-login-after-rego'); if (!empty($enable_auto_login)){ SwpmLog::log_simple_debug("Auto login after registration feature is enabled in settings. Performing auto login for user: " . $user_data['user_name'], true); $login_page_url = SwpmSettings::get_instance()->get_value('login-page-url'); // Allow hooks to change the value of login_page_url $login_page_url = apply_filters('swpm_after_reg_callback_login_page_url', $login_page_url); $encoded_pass = base64_encode($user_data['plain_password']); $swpm_auto_login_nonce = wp_create_nonce('swpm-auto-login-nonce'); $arr_params = array( 'swpm_auto_login' => '1', 'swpm_user_name' => urlencode($user_data['user_name']), 'swpm_encoded_pw' => $encoded_pass, 'swpm_auto_login_nonce' => $swpm_auto_login_nonce, ); $redirect_page = add_query_arg($arr_params, $login_page_url); wp_redirect($redirect_page); exit(0); } } public function handle_membership_level_changed_action($args){ $swpm_id = $args['member_id']; $old_level = $args['from_level']; $new_level = $args['to_level']; SwpmLog::log_simple_debug('swpm_membership_level_changed action triggered. Member ID: '.$swpm_id.', Old Level: '.$old_level.', New Level: '.$new_level, true); //Check to see if the old and the new levels are the same or not. if(trim($old_level) == trim($new_level)){ SwpmLog::log_simple_debug('The to (Level ID: '.$new_level.') and from (Level ID: '.$old_level.') values are the same. Nothing to do here.', true); return; } //Find record for this user SwpmLog::log_simple_debug('Retrieving user record for member ID: '.$swpm_id, true); $resultset = SwpmMemberUtils::get_user_by_id($swpm_id); if($resultset){ //Found a record. Lets do some level update specific changes. //$emailaddress = $resultset->email; //$account_status = $resultset->account_state; //Retrieve the new memberhsip level's details $level_row = SwpmUtils::get_membership_level_row_by_id($new_level); //Update the WP user role according to the new level's configuration (if applicable). $user_role = $level_row->role; $user_info = get_user_by('login', $resultset->user_name); $wp_user_id = $user_info->ID; SwpmLog::log_simple_debug('Calling user role update function.', true); SwpmMemberUtils::update_wp_user_role($wp_user_id, $user_role); } } public function handle_whitelist_blacklist_registration() { //Check if registration form has been submitted if ( !SwpmUtils::is_rego_form_submitted() ){ return; } //Get the email address $user_email = ''; if ( isset ($_POST["email"]) ){ //Core plugin's rego form $user_email = SwpmMemberUtils::get_sanitized_email($_POST["email"]); } else { $fb_email = SwpmUtils::get_fb_rego_email_field_value(); if ( !empty($fb_email) ){ //Form builder's rego form $user_email = SwpmMemberUtils::get_sanitized_email($fb_email); } } if( empty($user_email) ) { return; } //Check whitelsting and blacklisting settings if(SwpmSettings::get_instance()->get_value( 'enable-whitelisting' )) { $is_whitelisted=false; $emailaddress_whitelist = SwpmSettings::get_instance()->get_value( 'whitelist-email-address' ); if($emailaddress_whitelist) { if(SwpmUtils::csv_equal_match($user_email,$emailaddress_whitelist)) { $is_whitelisted=true; return; } } $emailaddress_pattern_whitelist = SwpmSettings::get_instance()->get_value( 'whitelist-email-address-pattern' ); if($emailaddress_pattern_whitelist) { if(SwpmUtils::csv_pattern_match($user_email,$emailaddress_pattern_whitelist)) { $is_whitelisted=true; return; } } //Trigger a filter hook so it can be overriden from an addon $is_whitelisted = apply_filters( 'swpm_email_not_whitelisted_before_registration_block', $is_whitelisted, $user_email); //If whitelisting is enabled and the user email doesn't match any whitelisting rule. //Block the registration if($is_whitelisted==false) { $block_message_whitelist = SwpmSettings::get_instance()->get_value( 'whitelist-block-message' ); if( !isset($block_message_whitelist) || empty($block_message_whitelist) ) { $block_message_whitelist = SwpmUtils::_("The email address you used is not whitelisted on this site."); } SwpmLog::log_simple_debug( 'Registration blocked for user: '.$user_email.', as it did not match any whitelisting rule.', true ); wp_die($block_message_whitelist); } } if(SwpmSettings::get_instance()->get_value( 'enable-blacklisting' )) { $block_message = SwpmSettings::get_instance()->get_value( 'blacklist-block-message' ); if(!$block_message) { $block_message = SwpmUtils::_("The email address you used is blacklisted on this site."); } $emailaddress_blacklist = SwpmSettings::get_instance()->get_value( 'blacklist-email-address' ); if($emailaddress_blacklist) { if(SwpmUtils::csv_equal_match($user_email,$emailaddress_blacklist)) { SwpmLog::log_simple_debug( 'Login blocked for user: '.$user_email.' from the Blacklist Email Address List.', true ); wp_die($block_message); } } $emailaddress_pattern_blacklist = SwpmSettings::get_instance()->get_value( 'blacklist-email-address-pattern' ); if($emailaddress_pattern_blacklist) { if(SwpmUtils::csv_pattern_match($user_email,$emailaddress_pattern_blacklist)) { SwpmLog::log_simple_debug( 'Login blocked for user: '.$user_email.' from the Blacklist Email Address Pattern List.', true ); wp_die($block_message); } } } return; } public function handle_whitelist_blacklist_login($args) { $user_email = SwpmMemberUtils::get_sanitized_email($args["username"]); if(!$user_email) { return; } if(SwpmSettings::get_instance()->get_value( 'enable-whitelisting' )) { $is_whitelisted=false; $emailaddress_whitelist = SwpmSettings::get_instance()->get_value( 'whitelist-email-address' ); if($emailaddress_whitelist) { if(SwpmUtils::csv_equal_match($user_email,$emailaddress_whitelist)) { $is_whitelisted=true; return; } } $emailaddress_pattern_whitelist = SwpmSettings::get_instance()->get_value( 'whitelist-email-address-pattern' ); if($emailaddress_pattern_whitelist) { if(SwpmUtils::csv_pattern_match($user_email,$emailaddress_pattern_whitelist)) { $is_whitelisted=true; return; } } //Trigger a filter hook so it can be overriden from an addon $is_whitelisted = apply_filters( 'swpm_email_not_whitelisted_before_login_block', $is_whitelisted, $user_email); //If whitelist is enabled and user email doesn't match any whitelist rule. //Block the login if($is_whitelisted==false) { $block_message_whitelist = SwpmSettings::get_instance()->get_value( 'whitelist-block-message' ); if( !isset($block_message_whitelist) || empty($block_message_whitelist) ) { $block_message_whitelist = SwpmUtils::_("The email address you used is not whitelisted on this site."); } SwpmLog::log_simple_debug( 'Login blocked for user: '.$user_email.', as it did not match any whitelisting rule.', true ); wp_die($block_message_whitelist); } } if(SwpmSettings::get_instance()->get_value( 'enable-blacklisting' )) { $block_message = SwpmSettings::get_instance()->get_value( 'blacklist-block-message' ); if(!$block_message) { $block_message = SwpmUtils::_("The email address you used is blacklisted on this site."); } $emailaddress_blacklist = SwpmSettings::get_instance()->get_value( 'blacklist-email-address' ); if($emailaddress_blacklist) { if(SwpmUtils::csv_equal_match($user_email,$emailaddress_blacklist)) { SwpmLog::log_simple_debug( 'Login blocked for user: '.$user_email.' from the Blacklist Email Address List.', true ); wp_die($block_message); } } $emailaddress_pattern_blacklist = SwpmSettings::get_instance()->get_value( 'blacklist-email-address-pattern' ); if($emailaddress_pattern_blacklist) { if(SwpmUtils::csv_pattern_match($user_email,$emailaddress_pattern_blacklist)) { SwpmLog::log_simple_debug( 'Login blocked for user: '.$user_email.' from the Blacklist Email Address Pattern List.', true ); wp_die($block_message); } } } return; } }classes/class.swpm-post-list.php000064400000024222147206617610012754 0ustar00 SwpmUtils::_('Membership Level'), 'plural' => SwpmUtils::_('Membership Levels'), 'ajax' => false )); $selected = isset($_POST['membership_level_id']) ? sanitize_text_field($_POST['membership_level_id']) : ''; $this->selected_level_id = empty($selected) ? 1 : $selected; $this->post = ($this->selected_level_id == 1) ? SwpmProtection::get_instance() : SwpmPermission::get_instance($this->selected_level_id); $this->type = filter_input(INPUT_GET, 'list_type'); if (is_null($this->type)) { $this->type = filter_input(INPUT_POST, 'list_type'); } if (is_null($this->type)) { $this->type = 'post'; } } function get_columns() { switch ($this->type) { case 'page': return array( 'cb' => '' , 'date' => SwpmUtils::_('Date') , 'title' => SwpmUtils::_('Title') , 'author' => SwpmUtils::_('Author') , 'status' => SwpmUtils::_('Status') ); break; case 'post': return array( 'cb' => '' , 'date' => SwpmUtils::_('Date') , 'title' => SwpmUtils::_('Title') , 'author' => SwpmUtils::_('Author') , 'categories' => SwpmUtils::_('Categories') , 'status' => SwpmUtils::_('Status') ); break; case 'custom_post': return array( 'cb' => '' , 'date' => SwpmUtils::_('Date') , 'title' => SwpmUtils::_('Title') , 'author' => SwpmUtils::_('Author') , 'type' => SwpmUtils::_('Type') , 'status' => SwpmUtils::_('Status') ); break; } } function get_sortable_columns() { return array(); } function column_default($item, $column_name) { return stripslashes($item[$column_name]); } function column_term_id($item) { return $item->term_id; } function column_taxonomy($item) { $taxonomy = $item->taxonomy; if ($taxonomy == 'category') { $taxonomy = 'Post Category'; } else { $taxonomy = 'Custom Post Type (' . $taxonomy . ')'; } return $taxonomy; } function column_cb($item) { return sprintf( ' ', $item['ID'], $item['protected'], $item['ID'] ); } public static function update_post_list() { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('post protection update'); //Check nonce $swpm_post_prot_update_nonce = filter_input(INPUT_POST, 'swpm_post_prot_update_nonce'); if (!wp_verify_nonce($swpm_post_prot_update_nonce, 'swpm_post_prot_update_nonce_action')) { //Nonce check failed. wp_die(SwpmUtils::_("Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again.")); } $type = isset($_POST['list_type']) ? sanitize_text_field($_POST['list_type']) : ''; $selected = filter_input(INPUT_POST, 'membership_level_id'); $selected_level_id = empty($selected) ? 1 : $selected; $post = ($selected_level_id == 1) ? SwpmProtection::get_instance() : SwpmPermission::get_instance($selected_level_id); $args = array('ids' => array( 'filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_ARRAY, )); $filtered = filter_input_array(INPUT_POST, $args); $ids = $filtered['ids']; $args = array('ids_in_page' => array( 'filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_ARRAY, )); $filtered = filter_input_array(INPUT_POST, $args); $ids_in_page = $filtered['ids_in_page']; //Add/remove the post/page IDs to the protection list and then save it in the database. $post->remove($ids_in_page, $type)->apply($ids, $type)->save(); $message = array('succeeded' => true, 'message' => '

' . SwpmUtils::_('Protection settings updated!') . '

'); SwpmTransfer::get_instance()->set('status', $message); } function prepare_items() { global $wpdb; switch ($this->type) { case 'page': $args = array( 'child_of' => 0, 'sort_order' => 'ASC', 'sort_column' => 'post_title', 'hierarchical' => 0, 'parent' => -1, ); $all_pages = get_pages($args); $filtered_items = array(); foreach ($all_pages as $page) { $page_summary = array(); $user_info = get_userdata($page->post_author); $page_summary['protected'] = $this->post->in_pages($page->ID) ? " checked='checked'" : ""; $page_summary['ID'] = $page->ID; $page_summary['date'] = $page->post_date; $page_summary['title'] = '' . $page->post_title . ''; $page_summary['author'] = $user_info->user_login; $page_summary['status'] = $page->post_status; $filtered_items[] = $page_summary; } break; case 'post': $sql = "SELECT ID,post_date,post_title,post_author, post_type, post_status FROM $wpdb->posts "; $sql .= " WHERE post_type = 'post' AND post_status = 'publish'"; $all_posts = $wpdb->get_results($sql); $filtered_items = array(); foreach ($all_posts as $post) { //if($post->post_type=='page')continue; $post_summary = array(); $user_info = get_userdata($post->post_author); $categories = get_the_category($post->ID); $cat = array(); foreach ($categories as $category) $cat[] = $category->category_nicename; $post_summary['protected'] = $this->post->in_posts($post->ID) ? " checked='checked'" : ""; $post_summary['ID'] = $post->ID; $post_summary['date'] = $post->post_date; $post_summary['title'] = '' . $post->post_title . ''; $post_summary['author'] = $user_info->user_login; $post_summary['categories'] = rawurldecode(implode(' ', $cat)); $post_summary['status'] = $post->post_status; $filtered_items[] = $post_summary; } break; case 'custom_post': $filtered_items = array(); $args = array('public' => true, '_builtin' => false); $post_types = get_post_types($args); $arg = "'" . implode('\',\'', $post_types) . "'"; if (!empty($arg)) { $sql = "SELECT ID,post_date,post_title,post_author, post_type, post_status FROM $wpdb->posts "; $sql .= " WHERE post_type IN (" . $arg . ") AND (post_status='inherit' OR post_status='publish')"; $all_posts = $wpdb->get_results($sql); foreach ($all_posts as $post) { $post_summary = array(); $user_info = get_userdata($post->post_author); $post_summary['protected'] = $this->post->in_custom_posts($post->ID) ? "checked='checked'" : ""; $post_summary['ID'] = $post->ID; $post_summary['date'] = $post->post_date; $post_summary['title'] = '' . $post->post_title . ''; $post_summary['author'] = $user_info->user_login; $post_summary['type'] = $post->post_type; $post_summary['status'] = $post->post_status; $filtered_items[] = $post_summary; } } break; } $totalitems = count($filtered_items); $perpage = 100; $paged = !empty($_GET["paged"]) ? sanitize_text_field($_GET["paged"]) : ''; if (empty($paged) || !is_numeric($paged) || $paged <= 0) { $paged = 1; } $totalpages = ceil($totalitems / $perpage); $offset = 0; if (!empty($paged) && !empty($perpage)) { $offset = ($paged - 1) * $perpage; } for ($i = $offset; $i < ((int) $offset + (int) $perpage) && !empty($filtered_items[$i]); $i++) { $all_items[] = $filtered_items[$i]; } $this->set_pagination_args(array( "total_items" => $totalitems, "total_pages" => $totalpages, "per_page" => $perpage, )); $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); $this->items = isset( $all_items ) ? $all_items : array(); } function no_items() { _e('No items found.', 'simple-membership'); } } classes/class.swpm-settings.php000064400000175647147206617610012700 0ustar00settings = (array) get_option( 'swpm-settings' ); } public function init_config_hooks() { //This function is called from "admin_init" //It sets up the various tabs and the fields for the settings admin page. if ( is_admin() ) { // for frontend just load settings but dont try to render settings page. //Handle view log request $view_log_type = isset( $_GET['swpm_view_log'] ) ? sanitize_text_field( stripslashes ( $_GET['swpm_view_log'] ) ) : ''; if ( ! empty( $view_log_type ) ) { switch ( $view_log_type ) { case 'd': check_admin_referer( 'swpm_view_debug_log' ); break; case 'a': check_admin_referer( 'swpm_view_auth_log' ); break; default: break; } SwpmLog::output_log( $view_log_type ); } //Read the value of tab query arg. $tab = isset( $_REQUEST['tab'] ) ? sanitize_text_field( $_REQUEST['tab'] ) : 1; $this->current_tab = empty( $tab ) ? 1 : $tab; //Setup the available settings tabs array. $this->tabs = array( 1 => SwpmUtils::_( 'General Settings' ), 2 => SwpmUtils::_( 'Payment Settings' ), 3 => SwpmUtils::_( 'Email Settings' ), 4 => SwpmUtils::_( 'Tools' ), 5 => SwpmUtils::_( 'Advanced Settings' ), 6 => SwpmUtils::_( 'Blacklisting & Whitelisting' ), 7 => SwpmUtils::_( 'Addons Settings' ), ); //Register the draw tab action hook. It will be triggered using do_action("swpm-draw-settings-nav-tabs") add_action( 'swpm-draw-settings-nav-tabs', array( &$this, 'draw_tabs' ) ); //Register the various settings fields for the current tab. $method = 'tab_' . $this->current_tab; if ( method_exists( $this, $method ) ) { $this->$method(); } } } private function tab_1() { //Register settings sections and fileds for the general settings tab. register_setting( 'swpm-settings-tab-1', 'swpm-settings', array( &$this, 'sanitize_tab_1' ) ); //This settings section has no heading. Useful for hooking at this section and doing arbitrary request parameter checks and show response accordingly (for this settings tab) add_settings_section( 'swpm-general-post-submission-check', '', array( &$this, 'swpm_general_post_submit_check_callback' ), 'simple_wp_membership_settings' ); //The documentation settings section for this tab add_settings_section( 'swpm-documentation', SwpmUtils::_( 'Plugin Documentation' ), array( &$this, 'swpm_documentation_callback' ), 'simple_wp_membership_settings' ); /* General Settings Section */ add_settings_section( 'general-settings', SwpmUtils::_( 'General Settings' ), array( &$this, 'general_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'enable-free-membership', SwpmUtils::_( 'Enable Free Membership' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'general-settings', array( 'item' => 'enable-free-membership', 'message' => SwpmUtils::_( 'Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.' ), ) ); add_settings_field( 'free-membership-id', SwpmUtils::_( 'Free Membership Level ID' ), array( &$this, 'textfield_small_callback' ), 'simple_wp_membership_settings', 'general-settings', array( 'item' => 'free-membership-id', 'message' => SwpmUtils::_( 'Assign free membership level ID' ), ) ); add_settings_field( 'enable-moretag', SwpmUtils::_( 'Enable More Tag Protection' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'general-settings', array( 'item' => 'enable-moretag', 'message' => SwpmUtils::_( 'Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.' ), ) ); add_settings_field( 'default-account-status', SwpmUtils::_( 'Default Account Status' ), array( &$this, 'selectbox_callback' ), 'simple_wp_membership_settings', 'general-settings', array( 'item' => 'default-account-status', 'options' => SwpmUtils::get_account_state_options(), 'default' => 'active', 'message' => SwpmUtils::_( 'Select the default account status for newly registered users. The default value should be active. If you want to manually approve the members then read this documentation to learn more.' ), ) ); add_settings_field( 'default-account-status-after-payment', SwpmUtils::_( 'Default Account Status After Payment' ), array( &$this, 'selectbox_callback' ), 'simple_wp_membership_settings', 'general-settings', array( 'item' => 'default-account-status-after-payment', 'options' => SwpmUtils::get_account_state_options(), 'default' => 'active', 'message' => SwpmUtils::_( 'The account status that will be applied to the profile after a payment. The default value should be active.' ), ) ); add_settings_field( 'members-login-to-comment', SwpmUtils::_( 'Members Must be Logged in to Comment' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'general-settings', array( 'item' => 'members-login-to-comment', 'message' => SwpmUtils::_( 'Enable this option if you only want the members of the site to be able to post a comment.' ), ) ); add_settings_field( 'password-visibility-login-form', SwpmUtils::_( 'Enable Toggle Password Visibility in Login Form' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'general-settings', array( 'item' => 'password-visibility-login-form', 'message' => SwpmUtils::_( 'You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox.' ), ) ); add_settings_field( 'password-reset-using-link', SwpmUtils::_( 'Enable Password Reset Using Link' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'general-settings', array( 'item' => 'password-reset-using-link', 'message' => SwpmUtils::_( 'You can enable this option if you want to handle the password reset functionality using a reset link that is emailed to the member. Read this documentation to learn more about the password reset function.' ) ) ); /* Pages Settings Section*/ add_settings_section( 'pages-settings', SwpmUtils::_( 'Pages Settings' ), array( &$this, 'pages_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'login-page-url', SwpmUtils::_( 'Login Page URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'pages-settings', array( 'item' => 'login-page-url', 'message' => '', ) ); add_settings_field( 'registration-page-url', SwpmUtils::_( 'Registration Page URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'pages-settings', array( 'item' => 'registration-page-url', 'message' => '', ) ); add_settings_field( 'join-us-page-url', SwpmUtils::_( 'Join Us Page URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'pages-settings', array( 'item' => 'join-us-page-url', 'message' => '', ) ); add_settings_field( 'profile-page-url', SwpmUtils::_( 'Edit Profile Page URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'pages-settings', array( 'item' => 'profile-page-url', 'message' => '', ) ); add_settings_field( 'reset-page-url', SwpmUtils::_( 'Password Reset Page URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'pages-settings', array( 'item' => 'reset-page-url', 'message' => '', ) ); /* Optional Pages Settings Section */ add_settings_section( 'optional-pages-settings', SwpmUtils::_( 'Optional Pages Settings' ), array( &$this, 'optional_pages_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'thank-you-page-url', SwpmUtils::_( 'Thank You Page URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'optional-pages-settings', array( 'item' => 'thank-you-page-url', 'message' => SwpmUtils::_( 'It is useful to use a thank you page in your payment button configuration. Read this documentation to learn more.' ), ) ); /* Debug Settings Section */ add_settings_section( 'debug-settings', SwpmUtils::_( 'Test & Debug Settings' ), array( &$this, 'testndebug_settings_callback' ), 'simple_wp_membership_settings' ); $debug_log_url = add_query_arg( array( 'page' => 'simple_wp_membership_settings', 'swpm_view_log' => 'd', '_wpnonce' => wp_create_nonce( 'swpm_view_debug_log' ), ), admin_url( 'admin.php' ) ); $auth_log_url = add_query_arg( array( 'page' => 'simple_wp_membership_settings', 'swpm_view_log' => 'a', '_wpnonce' => wp_create_nonce( 'swpm_view_auth_log' ), ), admin_url( 'admin.php' ) ); $debug_field_help_text = __( 'Check this option to enable debug logging.', 'simple-membership' ); $debug_field_help_text .= __( ' This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete.', 'simple-membership' ); $debug_field_help_text .= '
'; $debug_field_help_text .= '
- ' . __( 'View general debug log file by ', 'simple-membership' ) . '' . __( 'clicking here', 'simple-membership' ) . '.'; $debug_field_help_text .= '
- ' . __( 'View login related debug log file by ', 'simple-membership' ) . '' . __( 'clicking here', 'simple-membership' ) . '.'; $debug_field_help_text .= '
- ' . __( 'Reset debug log files by ', 'simple-membership' ) . '' . __( 'clicking here', 'simple-membership') . '.'; ob_start(); ?> 'enable-debug', 'message' => $debug_field_help_text, ) ); } private function tab_2() { //Register settings sections and fileds for the payment settings tab. //register_setting( 'swpm-settings-tab-2', 'swpm-settings', array( $this, 'sanitize_tab_2' ) ); //This settings section has no heading. Useful for hooking at this section and doing arbitrary request parameter checks and show response accordingly (on this settings tab) //add_settings_section( 'swpm-settings-tab-2-before-other-fields', '', array( &$this, 'swpm_settings_tab_2_before_fields_callback' ), 'simple_wp_membership_settings' ); //Sandbox or Testmode payment settings section. //add_settings_section( 'testmode-payment-settings', SwpmUtils::_( 'Sandbox or Test Mode Payment Settings' ), array( &$this, 'testmode_payment_settings_callback' ), 'simple_wp_membership_settings' ); // add_settings_field( // 'enable-sandbox-testing', // SwpmUtils::_( 'Enable Sandbox or Test Mode' ), // array( &$this, 'checkbox_callback' ), // 'simple_wp_membership_settings', // 'testmode-payment-settings', // array( // 'item' => 'enable-sandbox-testing', // 'message' => SwpmUtils::_( 'Enable this option if you want to do sandbox payment testing.' ), // ) // ); } private function tab_3() { //Register settings sections and fileds for the email settings tab. register_setting( 'swpm-settings-tab-3', 'swpm-settings', array( &$this, 'sanitize_tab_3' ) ); add_settings_section( 'email-settings-overview', SwpmUtils::_( 'Email Settings Overview' ), array( &$this, 'email_settings_overview_callback' ), 'simple_wp_membership_settings' ); add_settings_section( 'email-misc-settings', SwpmUtils::_( 'Email Misc. Settings' ), array( &$this, 'email_misc_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'email-misc-from', SwpmUtils::_( 'From Email Address' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'email-misc-settings', array( 'item' => 'email-from', 'message' => 'This value will be used as the sender\'s address for the emails. Example value: Your Name <sales@your-domain.com>', ) ); add_settings_field( 'email-enable-html', SwpmUtils::_( 'Allow HTML in Emails' ), array( $this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'email-misc-settings', array( 'item' => 'email-enable-html', 'message' => 'Enables HTML support in emails. We recommend using plain text (non HTML) email as it has better email delivery rate.', ) ); //Prompt to complete registration email settings add_settings_section( 'reg-prompt-email-settings', SwpmUtils::_( 'Email Settings (Prompt to Complete Registration )' ), array( &$this, 'reg_prompt_email_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'reg-prompt-complete-mail-subject', SwpmUtils::_( 'Email Subject' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'reg-prompt-email-settings', array( 'item' => 'reg-prompt-complete-mail-subject', 'message' => '', ) ); add_settings_field( 'reg-prompt-complete-mail-body', SwpmUtils::_( 'Email Body' ), array( &$this, 'wp_editor_callback' ), 'simple_wp_membership_settings', 'reg-prompt-email-settings', array( 'item' => 'reg-prompt-complete-mail-body', 'message' => '', ) ); //Registration complete email settings $msg_for_admin_notify_email_field = SwpmUtils::_( 'Enter the email address where you want the admin notification email to be sent to.' ); $msg_for_admin_notify_email_field .= SwpmUtils::_( ' You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses.' ); $msg_for_admin_notify_email_subj = SwpmUtils::_( 'Enter the subject for the admin notification email.' ); $admin_notify_email_body_msg = SwpmUtils::_( 'This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.' ); add_settings_section( 'reg-email-settings', SwpmUtils::_( 'Email Settings (Registration Complete)' ), array( &$this, 'reg_email_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'reg-complete-mail-subject', SwpmUtils::_( 'Email Subject' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'reg-email-settings', array( 'item' => 'reg-complete-mail-subject', 'message' => '', ) ); add_settings_field( 'reg-complete-mail-body', SwpmUtils::_( 'Email Body' ), array( &$this, 'wp_editor_callback' ), 'simple_wp_membership_settings', 'reg-email-settings', array( 'item' => 'reg-complete-mail-body', 'message' => '', ) ); add_settings_field( 'enable-admin-notification-after-reg', SwpmUtils::_( 'Send Notification to Admin' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'reg-email-settings', array( 'item' => 'enable-admin-notification-after-reg', 'message' => SwpmUtils::_( 'Enable this option if you want the admin to receive a notification when a member registers.' ), ) ); add_settings_field( 'admin-notification-email', SwpmUtils::_( 'Admin Email Address' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'reg-email-settings', array( 'item' => 'admin-notification-email', 'message' => $msg_for_admin_notify_email_field, ) ); add_settings_field( 'reg-complete-mail-subject-admin', SwpmUtils::_( 'Admin Notification Email Subject' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'reg-email-settings', array( 'item' => 'reg-complete-mail-subject-admin', 'message' => $msg_for_admin_notify_email_subj, ) ); add_settings_field( 'reg-complete-mail-body-admin', SwpmUtils::_( 'Admin Notification Email Body' ), array( &$this, 'wp_editor_callback' ), 'simple_wp_membership_settings', 'reg-email-settings', array( 'item' => 'reg-complete-mail-body-admin', 'message' => $admin_notify_email_body_msg, ) ); add_settings_field( 'enable-notification-after-manual-user-add', SwpmUtils::_( 'Send Email to Member When Added via Admin Dashboard' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'reg-email-settings', array( 'item' => 'enable-notification-after-manual-user-add', 'message' => '', ) ); //Password reset email settings add_settings_section( 'reset-password-settings', SwpmUtils::_( 'Email Settings (Password Reset)' ), array( &$this, 'reset_password_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'reset-mail-subject', SwpmUtils::_( 'Email Subject' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'reset-password-settings', array( 'item' => 'reset-mail-subject', 'message' => '', ) ); add_settings_field( 'reset-mail-body', SwpmUtils::_( 'Email Body' ), array( &$this, 'wp_editor_callback' ), 'simple_wp_membership_settings', 'reset-password-settings', array( 'item' => 'reset-mail-body', 'message' => '', ) ); //Account upgrade email settings add_settings_section( 'upgrade-email-settings', SwpmUtils::_( ' Email Settings (Account Upgrade Notification)' ), array( &$this, 'upgrade_email_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'upgrade-complete-mail-subject', SwpmUtils::_( 'Email Subject' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'upgrade-email-settings', array( 'item' => 'upgrade-complete-mail-subject', 'message' => '', ) ); add_settings_field( 'upgrade-complete-mail-body', SwpmUtils::_( 'Email Body' ), array( &$this, 'wp_editor_callback' ), 'simple_wp_membership_settings', 'upgrade-email-settings', array( 'item' => 'upgrade-complete-mail-body', 'message' => '', ) ); add_settings_field( 'disable-email-after-upgrade', SwpmUtils::_( 'Disable Email Notification After Upgrade' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'upgrade-email-settings', array( 'item' => 'disable-email-after-upgrade', 'message' => SwpmUtils::_( 'You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal.' ), ) ); //Bulk account activate and notify email settings. add_settings_section( 'bulk-activate-email-settings', SwpmUtils::_( ' Email Settings (Bulk Account Activate Notification)' ), array( &$this, 'bulk_activate_email_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'bulk-activate-notify-mail-subject', SwpmUtils::_( 'Email Subject' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'bulk-activate-email-settings', array( 'item' => 'bulk-activate-notify-mail-subject', 'message' => '', ) ); add_settings_field( 'bulk-activate-notify-mail-body', SwpmUtils::_( 'Email Body' ), array( &$this, 'wp_editor_callback' ), 'simple_wp_membership_settings', 'bulk-activate-email-settings', array( 'item' => 'bulk-activate-notify-mail-body', 'message' => '', ) ); //Email activation email settings. add_settings_section( 'email-activation-email-settings', SwpmUtils::_( ' Email Settings (Email Activation)' ), array( &$this, 'email_activation_email_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'email-activation-mail-subject', SwpmUtils::_( 'Email Subject' ), array( &$this, 'textfield_callback' ), 'simple_wp_membership_settings', 'email-activation-email-settings', array( 'item' => 'email-activation-mail-subject', 'message' => '', ) ); add_settings_field( 'email-activation-mail-body', SwpmUtils::_( 'Email Body' ), array( &$this, 'wp_editor_callback' ), 'simple_wp_membership_settings', 'email-activation-email-settings', array( 'item' => 'email-activation-mail-body', 'message' => '', ) ); } private function tab_4() { //Register settings sections and fileds for the tools tab. } private function tab_5() { //Register settings sections and fileds for the advanced settings tab. register_setting( 'swpm-settings-tab-5', 'swpm-settings', array( &$this, 'sanitize_tab_5' ) ); add_settings_section( 'advanced-settings', SwpmUtils::_( 'Advanced Settings' ), array( &$this, 'advanced_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'enable-expired-account-login', SwpmUtils::_( 'Enable Expired Account Login' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'enable-expired-account-login', 'message' => SwpmUtils::_( "When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment." ), ) ); add_settings_field( 'renewal-page-url', SwpmUtils::_( 'Membership Renewal URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'renewal-page-url', 'message' => SwpmUtils::_( 'You can create a renewal page for your site. Read this documentation to learn how to create a renewal page.' ), ) ); add_settings_field( 'after-rego-redirect-page-url', SwpmUtils::_( 'After Registration Redirect URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'after-rego-redirect-page-url', 'message' => SwpmUtils::_( 'You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.' ), ) ); add_settings_field( 'auto-login-after-rego', SwpmUtils::_( 'Enable Auto Login After Registration' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'auto-login-after-rego', 'message' => SwpmUtils::_( 'Use this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.' ), ) ); add_settings_field( 'hide-join-us-link', __( 'Hide the Join Us Link' , 'simple-membership'), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'hide-join-us-link', 'message' => __( "Select this option to hide the 'Join Us' link if you prefer visitors not to see the registration option on your site. Refer to this documentation to learn more." , "simple-membership"), ) ); add_settings_field( 'hide-rego-form-to-logged-users', SwpmUtils::_( 'Hide Registration Form to Logged Users' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'hide-rego-form-to-logged-users', 'message' => SwpmUtils::_( 'Use this option if you want to hide the registration form to the logged-in members. If logged-in members visit the registration page, they will see a message instead of the registration form.' ), ) ); add_settings_field( 'after-logout-redirection-url', SwpmUtils::_( 'After Logout Redirect URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'after-logout-redirection-url', 'message' => SwpmUtils::_( 'You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.' ), ) ); add_settings_field( 'logout-member-on-browser-close', SwpmUtils::_( 'Logout Member on Browser Close' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'logout-member-on-browser-close', 'message' => SwpmUtils::_( 'Enable this option if you want the member to be logged out of the account when he closes the browser.' ), ) ); add_settings_field( 'allow-account-deletion', SwpmUtils::_( 'Allow Account Deletion' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'allow-account-deletion', 'message' => SwpmUtils::_( 'Allow users to delete their accounts.' ), ) ); add_settings_field( 'force-strong-passwords', SwpmUtils::_( 'Force Strong Password for Members' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'force-strong-passwords', 'message' => SwpmUtils::_( 'Enable this if you want the users to be forced to use a strong password for their accounts.' ), ) ); add_settings_field( 'delete-pending-account', SwpmUtils::_( 'Auto Delete Pending Account' ), array( &$this, 'selectbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'delete-pending-account', 'options' => array( 0 => 'Do not delete', 1 => 'Older than 1 month', 2 => 'Older than 2 months', ), 'default' => '0', 'message' => SwpmUtils::_( 'Select how long you want to keep "pending" account.' ), ) ); add_settings_field( 'admin-dashboard-access-permission', SwpmUtils::_( 'Admin Dashboard Access Permission' ), array( &$this, 'selectbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'admin-dashboard-access-permission', 'options' => array( 'manage_options' => translate_user_role( 'Administrator' ), 'edit_pages' => translate_user_role( 'Editor' ), 'edit_published_posts' => translate_user_role( 'Author' ), 'edit_posts' => translate_user_role( 'Contributor' ), ), 'default' => 'manage_options', 'message' => SwpmUtils::_( 'SWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user roles to access the SWPM admin dashboard by selecting a value here. Note that this option cannot work if you enabled the "Disable Access to WP Dashboard" option in General Settings.' ), ) ); add_settings_field( 'force-wp-user-sync', SwpmUtils::_( 'Force WP User Synchronization' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'force-wp-user-sync', 'message' => SwpmUtils::_( 'Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.' ), ) ); add_settings_field( 'payment-notification-forward-url', SwpmUtils::_( 'Payment Notification Forward URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'payment-notification-forward-url', 'message' => SwpmUtils::_( 'You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.' ), ) ); add_settings_field( 'use-new-form-ui', __( 'Activate New Form and Validation Interface', 'simple-membership' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'use-new-form-ui', 'message' => __( 'Enable the improved user interface for registration and profile editing, featuring enhanced validation that adapts seamlessly across various devices and screen sizes.' ), ) ); add_settings_field( 'hide-adminbar', __( 'Hide Adminbar' , 'simple-membership'), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'hide-adminbar', 'message' => __( 'WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.' , 'simple-membership'), ) ); add_settings_field( 'show-adminbar-admin-only', __( 'Show Adminbar to Admin' , 'simple-membership'), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'show-adminbar-admin-only', 'message' => __( 'Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.' , 'simple-membership'), ) ); add_settings_field( 'disable-access-to-wp-dashboard', __( 'Disable Access to WP Dashboard' , 'simple-membership'), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'advanced-settings', array( 'item' => 'disable-access-to-wp-dashboard', 'message' => __( 'WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will prevent any non-admin users from going to the wp dashboard.' , 'simple-membership'), ) ); //Auto create SWPM user related settings section add_settings_section( 'auto-create-swpm-user-settings', SwpmUtils::_( 'Create Member Accounts for New WP Users' ), array( &$this, 'advanced_settings_auto_create_swpm_uses_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'enable-auto-create-swpm-members', SwpmUtils::_( 'Enable Auto Create Member Accounts' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'auto-create-swpm-user-settings', array( 'item' => 'enable-auto-create-swpm-members', 'message' => SwpmUtils::_( 'Enable this option to automatically create member accounts for any new WP user that is created by another plugin.' ), ) ); $levels_array = SwpmMembershipLevelUtils::get_all_membership_levels_in_array(); add_settings_field( 'auto-create-default-membership-level', SwpmUtils::_( 'Default Membership Level' ), array( &$this, 'selectbox_callback' ), 'simple_wp_membership_settings', 'auto-create-swpm-user-settings', array( 'item' => 'auto-create-default-membership-level', 'options' => $levels_array, 'default' => '', 'message' => SwpmUtils::_( 'When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.' ), ) ); $status_array = SwpmUtils::get_account_state_options(); add_settings_field( 'auto-create-default-account-status', SwpmUtils::_( 'Default Account Status' ), array( &$this, 'selectbox_callback' ), 'simple_wp_membership_settings', 'auto-create-swpm-user-settings', array( 'item' => 'auto-create-default-account-status', 'options' => $status_array, 'default' => '', 'message' => SwpmUtils::_( 'When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.' ), ) ); //Terms and conditions section add_settings_section( 'terms-and-conditions', SwpmUtils::_( 'Terms and Conditions' ), array( &$this, 'advanced_settings_terms_and_conditions_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'enable-terms-and-conditions', SwpmUtils::_( 'Enable Terms and Conditions' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'terms-and-conditions', array( 'item' => 'enable-terms-and-conditions', 'message' => SwpmUtils::_( 'Users must accept the terms before they can complete the registration.' ), ) ); add_settings_field( 'terms-and-conditions-page-url', SwpmUtils::_( 'Terms and Conditions Page URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'terms-and-conditions', array( 'item' => 'terms-and-conditions-page-url', 'message' => SwpmUtils::_( 'Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.' ), ) ); add_settings_field( 'enable-privacy-policy', SwpmUtils::_( 'Enable Privacy Policy' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'terms-and-conditions', array( 'item' => 'enable-privacy-policy', 'message' => SwpmUtils::_( 'Users must accept it before they can complete the registration.' ), ) ); add_settings_field( 'privacy-policy-page-url', SwpmUtils::_( 'Privacy Policy Page URL' ), array( &$this, 'textfield_long_callback' ), 'simple_wp_membership_settings', 'terms-and-conditions', array( 'item' => 'privacy-policy-page-url', 'message' => SwpmUtils::_( 'Enter the URL of your privacy policy page.' ), ) ); } private function tab_6() { //Register settings sections and fields for the blacklisting and whitelisting settings tab. register_setting( 'swpm-settings-tab-6', 'swpm-settings', array( &$this, 'sanitize_tab_6' ) ); /* Overview section at the top */ add_settings_section( 'blacklist-whitelist-settings-overview', SwpmUtils::_( 'Configure Blacklisting & Whitelisting' ), array( &$this, 'blacklist_whitelist_overview_callback' ), 'simple_wp_membership_settings' ); /* Whitelisting settings section */ add_settings_section( 'whitelist-settings', SwpmUtils::_( 'Whitelisting' ), array( &$this, 'whitelist_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'enable-whitelisting', SwpmUtils::_( 'Enable Whitelisting Feature' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'whitelist-settings', array( 'item' => 'enable-whitelisting', 'message' => SwpmUtils::_( "When enabled, whitelisting feature will be activated." ), ) ); add_settings_field( 'whitelist-email-address', SwpmUtils::_( 'Email Address Whitelisting' ), array( &$this, 'textarea_callback' ), 'simple_wp_membership_settings', 'whitelist-settings', array( 'item' => 'whitelist-email-address', 'message' => SwpmUtils::_( 'Enter a list (comma separated) of email addresses to whitelist.' ), ) ); add_settings_field( 'whitelist-email-address-pattern', SwpmUtils::_( 'Email Address Pattern Whitelisting' ), array( &$this, 'textarea_callback' ), 'simple_wp_membership_settings', 'whitelist-settings', array( 'item' => 'whitelist-email-address-pattern', 'message' => SwpmUtils::_( 'Enter a list (comma separated) of email addresses pattern to whitelist. Example value: @gooddomain.com, @gmail.com, @yahoo.com' ), ) ); add_settings_field( 'whitelist-block-message', SwpmUtils::_( 'Whitelist Message Customization' ), array( &$this, 'textarea_callback' ), 'simple_wp_membership_settings', 'whitelist-settings', array( 'item' => 'whitelist-block-message', 'message' => SwpmUtils::_( 'Enter the message you want to show to the user when the whitelisted condition is met. Leave it empty to use the default message.' ), ) ); /** BLACKLIST SETTINGS **/ add_settings_section( 'blacklist-settings', SwpmUtils::_( 'Blacklisting' ), array( &$this, 'blacklist_settings_callback' ), 'simple_wp_membership_settings' ); add_settings_field( 'enable-blacklisting', SwpmUtils::_( 'Enable Blacklisting Feature' ), array( &$this, 'checkbox_callback' ), 'simple_wp_membership_settings', 'blacklist-settings', array( 'item' => 'enable-blacklisting', 'message' => SwpmUtils::_( "When enabled, blacklisting feature will be activated." ), ) ); add_settings_field( 'blacklist-email-address', SwpmUtils::_( 'Email Address Blacklisting' ), array( &$this, 'textarea_callback' ), 'simple_wp_membership_settings', 'blacklist-settings', array( 'item' => 'blacklist-email-address', 'message' => SwpmUtils::_( 'Enter a list (comma separated) of email addresses to blacklist.' ), ) ); add_settings_field( 'blacklist-email-address-pattern', SwpmUtils::_( 'Email Address Pattern Blacklisting' ), array( &$this, 'textarea_callback' ), 'simple_wp_membership_settings', 'blacklist-settings', array( 'item' => 'blacklist-email-address-pattern', 'message' => SwpmUtils::_( 'Enter a list (comma separated) of email addresses pattern to blacklist. Example value: @baddomain.com, @crazydomain.com' ), ) ); add_settings_field( 'blacklist-block-message', SwpmUtils::_( 'Blacklist Message Customization' ), array( &$this, 'textarea_callback' ), 'simple_wp_membership_settings', 'blacklist-settings', array( 'item' => 'blacklist-block-message', 'message' => SwpmUtils::_( 'Enter the message you want to show to the user when the blacklisted condition is met. Leave it empty to use the default message.' ), ) ); } private function tab_7() { //Register settings sections and fields for the addon settings tab. } public static function get_instance() { self::$_this = empty( self::$_this ) ? new SwpmSettings() : self::$_this; return self::$_this; } public function selectbox_callback( $args ) { $item = $args['item']; $options = $args['options']; $default = $args['default']; $msg = isset( $args['message'] ) ? $args['message'] : ''; $selected = esc_attr( $this->get_value( $item, $default ) ); echo "'; echo '
' . $msg . ''; } public function checkbox_callback( $args ) { $item = $args['item']; $msg = isset( $args['message'] ) ? $args['message'] : ''; $is = esc_attr( $this->get_value( $item ) ); echo ""; echo '
' . $msg . ''; } public function textarea_callback( $args ) { $item = $args['item']; $msg = isset( $args['message'] ) ? $args['message'] : ''; $text = esc_attr( $this->get_value( $item ) ); echo "'; echo '
' . $msg . ''; } public function textfield_small_callback( $args ) { $item = $args['item']; $msg = isset( $args['message'] ) ? $args['message'] : ''; $text = esc_attr( $this->get_value( $item ) ); echo ""; echo '
' . $msg . ''; } public function textfield_callback( $args ) { $item = $args['item']; $msg = isset( $args['message'] ) ? $args['message'] : ''; $text = $this->get_value( $item ); echo sprintf( '', esc_attr( $item ), esc_attr( $text ) ); echo sprintf( '

%s

', $msg ); } public function textfield_long_callback( $args ) { $item = $args['item']; $msg = isset( $args['message'] ) ? $args['message'] : ''; $text = esc_attr( $this->get_value( $item ) ); echo ""; echo '
' . $msg . ''; } public function set_default_editor( $r ) { $r = 'html'; return $r; } public function wp_editor_callback( $args ) { $item = $args['item']; $msg = isset( $args['message'] ) ? $args['message'] : ''; $text = $this->get_value( $item ); $html_enabled = $this->get_value( 'email-enable-html' ); add_filter( 'wp_default_editor', array( $this, 'set_default_editor' ) ); echo ''; wp_editor( html_entity_decode( $text ), $item, array( 'textarea_name' => 'swpm-settings[' . $item . ']', 'teeny' => true, 'default_editor' => ! empty( $html_enabled ) ? 'QuickTags' : '', 'textarea_rows' => 15, ) ); remove_filter( 'wp_default_editor', array( $this, 'set_default_editor' ) ); echo "

{$msg}

"; } public function swpm_documentation_callback() { ?>
' . SwpmUtils::_( 'Simple Membership Plugin Site' ) . '' ); ?> ' . SwpmUtils::_( 'give us a rating' ) . '' ); ?>

' . SwpmUtils::_( 'Settings updated!' ) . '

'; } } public function general_settings_callback() { _e( 'General Plugin Settings.', 'simple-membership' ); } public function pages_settings_callback() { _e( 'Page Setup and URL Related settings.', 'simple-membership' ); echo '

'; _e( 'The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.', 'simple-membership' ); _e( ' Read this documentation to learn how to recreate them (if needed).', 'simple-membership' ); echo '

'; } public function optional_pages_settings_callback() { echo '

'; _e( 'Optional page. It is automatically created by the plugin when you install the plugin for the first time.', 'simple-membership' ); echo '

'; } public function testndebug_settings_callback() { _e( 'Testing and Debug Related Settings.', 'simple-membership' ); } public function reg_email_settings_callback() { _e( 'This email will be sent to your users when they complete the registration and become a member.', 'simple-membership' ); } public function reset_password_settings_callback() { _e( 'This email will be sent to your users when they use the password reset functionality.', 'simple-membership' ); } public function email_settings_overview_callback() { echo '
'; echo '

'; _e( 'This interface lets you customize the various emails that get sent to your members for various actions. The default settings should be good to get your started.', 'simple-membership' ); echo '

'; echo '

'; echo '' . SwpmUtils::_( 'This documentation' ) . ''; _e( ' explains what email merge tags you can use in the email body field to customize it (if you want to).', 'simple-membership' ); echo '

'; echo '
'; } public function email_misc_settings_callback() { //Show settings updated message when it is updated if ( isset( $_REQUEST['settings-updated'] ) ) { //This status message need to be in the callback function to prevent header sent warning echo '

' . SwpmUtils::_( 'Settings updated!' ) . '

'; } _e( 'Settings in this section apply to all emails.', 'simple-membership' ); } public function upgrade_email_settings_callback() { _e( 'This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).', 'simple-membership' ); } public function bulk_activate_email_settings_callback() { _e( 'This email will be sent to your members when you use the bulk account activate and notify action.', 'simple-membership' ); _e( ' You cannot use email merge tags in this email. You can only use generic text.', 'simple-membership' ); } public function email_activation_email_settings_callback() { _e( 'This email will be sent if Email Activation is enabled for a Membership Level.', 'simple-membership' ); } public function reg_prompt_email_settings_callback() { _e( 'This email will be sent to prompt users to complete registration after the payment.', 'simple-membership' ); } public function advanced_settings_callback() { //Show settings updated message when it is updated if ( isset( $_REQUEST['settings-updated'] ) ) { //This status message need to be in the callback function to prevent header sent warning echo '

' . SwpmUtils::_( 'Settings updated!' ) . '

'; /* Check if any conflicting setting options have been enabled together. */ $disable_wp_dashboard_for_non_admins = $this->get_value('disable-access-to-wp-dashboard'); if ($disable_wp_dashboard_for_non_admins) { //The disable wp dashboard option is enabled. //Check to make sure the "Admin Dashboard Access Permission" option is not being used for other roles. $admin_dashboard_permission = $this->get_value( 'admin-dashboard-access-permission' ); if ( empty( $admin_dashboard_permission ) || $admin_dashboard_permission == 'manage_options' ) { //This is fine. } else { //Conflicting options enabled. //Show warning and reset the option value to default. $this->set_value('admin-dashboard-access-permission', 'manage_options'); $this->save(); echo '

' . SwpmUtils::_( 'Note: You cannot enable both the "Disable Access to WP Dashboard" and "Admin Dashboard Access Permission" options at the same time. Only use one of those options.' ) . '

'; } } /* End of conflicting options check */ } echo '
'; echo '

'; _e( 'This page allows you to configure some advanced features of the plugin.', 'simple-membership' ); echo '

'; echo '
'; } public function blacklist_whitelist_overview_callback() { //Show settings updated message when it is updated if ( isset( $_REQUEST['settings-updated'] ) ) { //This status message need to be in the callback function to prevent header sent warning echo '

' . SwpmUtils::_( 'Settings updated!' ) . '

'; } echo '
'; echo '

'; _e( 'This interface lets you configure blacklisting & whitelisting for email addresses. ', 'simple-membership' ); echo '' . SwpmUtils::_( 'This blacklisting & whitelisting documentation' ) . ''; _e( ' explains how to use this feature.', 'simple-membership' ); echo '

'; echo '
'; } public function whitelist_settings_callback() { _e( 'This section allows you to configure whitelisting settings.', 'simple-membership' ); } public function blacklist_settings_callback() { _e( 'This section allows you to configure blacklisting settings.', 'simple-membership' ); } public function advanced_settings_auto_create_swpm_uses_settings_callback() { _e( 'This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.', 'simple-membership' ); } public function advanced_settings_terms_and_conditions_callback() { _e( 'This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.', 'simple-membership' ); } public function sanitize_tab_1( $input ) { if ( empty( $this->settings ) ) { $this->settings = (array) get_option( 'swpm-settings' ); } $output = $this->settings; //general settings block $output['protect-everything'] = isset( $input['protect-everything'] ) ? esc_attr( $input['protect-everything'] ) : ''; $output['enable-free-membership'] = isset( $input['enable-free-membership'] ) ? esc_attr( $input['enable-free-membership'] ) : ''; $output['enable-moretag'] = isset( $input['enable-moretag'] ) ? esc_attr( $input['enable-moretag'] ) : ''; $output['enable-debug'] = isset( $input['enable-debug'] ) ? esc_attr( $input['enable-debug'] ) : ''; $output['free-membership-id'] = ( $input['free-membership-id'] != 1 ) ? absint( $input['free-membership-id'] ) : ''; $output['login-page-url'] = esc_url( $input['login-page-url'] ); $output['registration-page-url'] = esc_url( $input['registration-page-url'] ); $output['profile-page-url'] = esc_url( $input['profile-page-url'] ); $output['reset-page-url'] = esc_url( $input['reset-page-url'] ); $output['thank-you-page-url'] = esc_url( $input['thank-you-page-url'] ); $output['password-reset-using-link'] = isset( $input['password-reset-using-link'] ) ? esc_attr( $input['password-reset-using-link'] ) : ''; $output['join-us-page-url'] = esc_url( $input['join-us-page-url'] ); $output['default-account-status'] = esc_attr( $input['default-account-status'] ); $output['default-account-status-after-payment'] = esc_attr( $input['default-account-status-after-payment'] ); $output['members-login-to-comment'] = isset( $input['members-login-to-comment'] ) ? esc_attr( $input['members-login-to-comment'] ) : ''; $output['password-visibility-login-form'] = isset( $input['password-visibility-login-form'] ) ? esc_attr( $input['password-visibility-login-form'] ) : ''; return $output; } public function sanitize_tab_2( $input ) { //This is the callback function for the second tab. //It sanitizes the input data for the second tab. //This tab has been moved to the payments menu. In the future, we can remove this tab or re-use it for something else. } public function sanitize_tab_3( $input ) { if ( empty( $this->settings ) ) { $this->settings = (array) get_option( 'swpm-settings' ); } $output = $this->settings; $output['reg-complete-mail-subject'] = sanitize_text_field( $input['reg-complete-mail-subject'] ); $output['reg-complete-mail-body'] = wp_kses_post( $input['reg-complete-mail-body'] ); $output['reg-complete-mail-subject-admin'] = sanitize_text_field( $input['reg-complete-mail-subject-admin'] ); $output['reg-complete-mail-body-admin'] = wp_kses_post( $input['reg-complete-mail-body-admin'] ); $output['reset-mail-subject'] = sanitize_text_field( $input['reset-mail-subject'] ); $output['reset-mail-body'] = wp_kses_post( $input['reset-mail-body'] ); $output['upgrade-complete-mail-subject'] = sanitize_text_field( $input['upgrade-complete-mail-subject'] ); $output['upgrade-complete-mail-body'] = wp_kses_post( $input['upgrade-complete-mail-body'] ); $output['disable-email-after-upgrade'] = isset( $input['disable-email-after-upgrade'] ) ? esc_attr( $input['disable-email-after-upgrade'] ) : ''; $output['bulk-activate-notify-mail-subject'] = sanitize_text_field( $input['bulk-activate-notify-mail-subject'] ); $output['bulk-activate-notify-mail-body'] = wp_kses_post( $input['bulk-activate-notify-mail-body'] ); $output['email-activation-mail-subject'] = sanitize_text_field( $input['email-activation-mail-subject'] ); $output['email-activation-mail-body'] = wp_kses_post( $input['email-activation-mail-body'] ); $output['reg-prompt-complete-mail-subject'] = sanitize_text_field( $input['reg-prompt-complete-mail-subject'] ); $output['reg-prompt-complete-mail-body'] = wp_kses_post( $input['reg-prompt-complete-mail-body'] ); $output['email-from'] = trim( $input['email-from'] ); $output['email-enable-html'] = isset( $input['email-enable-html'] ) ? esc_attr( $input['email-enable-html'] ) : ''; $output['enable-admin-notification-after-reg'] = isset( $input['enable-admin-notification-after-reg'] ) ? esc_attr( $input['enable-admin-notification-after-reg'] ) : ''; $output['admin-notification-email'] = sanitize_text_field( $input['admin-notification-email'] ); $output['enable-notification-after-manual-user-add'] = isset( $input['enable-notification-after-manual-user-add'] ) ? esc_attr( $input['enable-notification-after-manual-user-add'] ) : ''; return $output; } public function sanitize_tab_5( $input ) { if ( empty( $this->settings ) ) { $this->settings = (array) get_option( 'swpm-settings' ); } $output = $this->settings; $output['enable-expired-account-login'] = isset( $input['enable-expired-account-login'] ) ? esc_attr( $input['enable-expired-account-login'] ) : ''; $output['logout-member-on-browser-close'] = isset( $input['logout-member-on-browser-close'] ) ? esc_attr( $input['logout-member-on-browser-close'] ) : ''; $output['allow-account-deletion'] = isset( $input['allow-account-deletion'] ) ? esc_attr( $input['allow-account-deletion'] ) : ''; $output['delete-pending-account'] = isset( $input['delete-pending-account'] ) ? esc_attr( $input['delete-pending-account'] ) : 0; $output['admin-dashboard-access-permission'] = isset( $input['admin-dashboard-access-permission'] ) ? esc_attr( $input['admin-dashboard-access-permission'] ) : ''; $output['renewal-page-url'] = esc_url( $input['renewal-page-url'] ); $output['after-rego-redirect-page-url'] = esc_url( $input['after-rego-redirect-page-url'] ); $output['after-logout-redirection-url'] = esc_url( $input['after-logout-redirection-url'] ); $output['force-strong-passwords'] = isset( $input['force-strong-passwords'] ) ? esc_attr( $input['force-strong-passwords'] ) : ''; $output['auto-login-after-rego'] = isset( $input['auto-login-after-rego'] ) ? esc_attr( $input['auto-login-after-rego'] ) : ''; $output['hide-rego-form-to-logged-users'] = isset( $input['hide-rego-form-to-logged-users'] ) ? esc_attr( $input['hide-rego-form-to-logged-users'] ) : ''; $output['hide-join-us-link'] = isset( $input['hide-join-us-link'] ) ? esc_attr( $input['hide-join-us-link'] ) : ''; $output['force-wp-user-sync'] = isset( $input['force-wp-user-sync'] ) ? esc_attr( $input['force-wp-user-sync'] ) : ''; $output['payment-notification-forward-url'] = esc_url( $input['payment-notification-forward-url'] ); $output['use-new-form-ui'] = isset( $input['use-new-form-ui'] ) ? esc_attr( $input['use-new-form-ui'] ) : ''; $output['hide-adminbar'] = isset( $input['hide-adminbar'] ) ? esc_attr( $input['hide-adminbar'] ) : ''; $output['show-adminbar-admin-only'] = isset( $input['show-adminbar-admin-only'] ) ? esc_attr( $input['show-adminbar-admin-only'] ) : ''; $output['disable-access-to-wp-dashboard'] = isset( $input['disable-access-to-wp-dashboard'] ) ? esc_attr( $input['disable-access-to-wp-dashboard'] ) : ''; //Auto create swpm user related settings $output['enable-auto-create-swpm-members'] = isset( $input['enable-auto-create-swpm-members'] ) ? esc_attr( $input['enable-auto-create-swpm-members'] ) : ''; $output['auto-create-default-membership-level'] = isset( $input['auto-create-default-membership-level'] ) ? esc_attr( $input['auto-create-default-membership-level'] ) : ''; $output['auto-create-default-account-status'] = isset( $input['auto-create-default-account-status'] ) ? esc_attr( $input['auto-create-default-account-status'] ) : ''; //Terms and conditions related settings $output['enable-terms-and-conditions'] = isset( $input['enable-terms-and-conditions'] ) ? esc_attr( $input['enable-terms-and-conditions'] ) : ''; $output['terms-and-conditions-page-url'] = esc_url( $input['terms-and-conditions-page-url'] ); $output['enable-privacy-policy'] = isset( $input['enable-privacy-policy'] ) ? esc_attr( $input['enable-privacy-policy'] ) : ''; $output['privacy-policy-page-url'] = esc_url( $input['privacy-policy-page-url'] ); return $output; } public function sanitize_tab_6( $input ) { if ( empty( $this->settings ) ) { $this->settings = (array) get_option( 'swpm-settings' ); } $output = $this->settings; $output['enable-whitelisting'] = isset( $input['enable-whitelisting'] ) ? esc_attr( $input['enable-whitelisting'] ) : ''; $output['whitelist-email-address'] = isset( $input['whitelist-email-address'] ) ? esc_attr( $input['whitelist-email-address'] ) : ''; $output['whitelist-email-address-pattern'] = isset( $input['whitelist-email-address-pattern'] ) ? esc_attr( $input['whitelist-email-address-pattern'] ) : ''; $output['whitelist-block-message'] = isset( $input['whitelist-block-message'] ) ? esc_attr( $input['whitelist-block-message'] ) : ''; $output['enable-blacklisting'] = isset( $input['enable-blacklisting'] ) ? esc_attr( $input['enable-blacklisting'] ) : ''; $output['blacklist-email-address'] = isset( $input['blacklist-email-address'] ) ? esc_attr( $input['blacklist-email-address'] ) : ''; $output['blacklist-email-address-pattern'] = isset( $input['blacklist-email-address-pattern'] ) ? esc_attr( $input['blacklist-email-address-pattern'] ) : ''; $output['blacklist-block-message'] = isset( $input['blacklist-block-message'] ) ? esc_attr( $input['blacklist-block-message'] ) : ''; return $output; } public function get_value( $key, $default = '' ) { if ( isset( $this->settings[ $key ] ) ) { return $this->settings[ $key ]; } return $default; } public function set_value( $key, $value ) { $this->settings[ $key ] = $value; return $this; } public function save() { update_option( 'swpm-settings', $this->settings ); } public function draw_tabs() { $current = $this->current_tab; ?>

current_tab; switch ( $current_tab ) { case 1: //General settings include SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_settings.php'; break; case 2: //Payment settings include SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/admin_payment_settings.php'; break; case 3: //Email settings include SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_settings.php'; break; case 4: //Tools include SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_tools_settings.php'; break; case 5: //Advanced settings include SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_settings.php'; break; case 6: //Blacklist & whitelist settings include SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_settings.php'; break; case 7: //Addon settings include SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_addon_settings.php'; break; default: //The default fallback (general settings) include SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_settings.php'; break; } echo '
'; // } } classes/class.swpm-utils-template.php000064400000003337147206617610013773 0ustar00 time(), 'dismissed' => false, ); update_option( self::OPTION_NAME, $options ); } // Check if the feedback notice was not dismissed already. if ( isset( $options['dismissed'] ) && ! $options['dismissed'] ) { $this->display(); } } /** * Display the user feedback notice. */ private function display() { // Skip if plugin is not being utilized. if ( ! $this->is_plugin_configured() ) { return; } // Fetch when plugin was initially activated. $activated = get_option( 'swpm_plugin_activated_time' ); if(empty($activated)){ add_option( 'swpm_plugin_activated_time', time() ); } // Skip if the plugin is active for less than a defined number of days. if ( empty( $activated ) || ( $activated + ( DAY_IN_SECONDS * self::DELAY_NOTICE ) ) > time() ) { // Not enough time; return; } ?>


blog_id ); update_option( self::OPTION_NAME, $options ); restore_current_blog(); } } wp_send_json_success(); } } classes/admin-includes/class.swpm-payments-list-table.php000064400000026477147206617610017626 0ustar00 'transaction', // singular name of the listed records 'plural' => 'transactions', // plural name of the listed records 'ajax' => false, // does this table support ajax? ) ); } function column_default( $item, $column_name ) { $val = $item[ $column_name ]; switch ( $column_name ) { case 'payment_amount': $val = SwpmMiscUtils::format_money( $val ); $val = apply_filters( 'swpm_transactions_page_amount_display', $val, $item ); break; default: break; } return $val; } function column_id( $item ) { // Build row actions $actions = array( // 'edit' => sprintf('Edit', $item['id']),//TODO - Need to fix 'edit' => sprintf('Edit/View', $item['id']), 'delete' => sprintf( 'Delete', $item['id'], wp_create_nonce( 'swpm_delete_txn_' . $item['id'] ) ), ); // Return the refid column contents return $item['id'] . $this->row_actions( $actions ); } function column_member_profile( $item ) { global $wpdb; $member_id = $item['member_id']; $subscr_id = $item['subscr_id']; $txn_id = $item['txn_id']; $column_value = ''; if ( empty( $member_id ) ) {// Lets try to get the member id using unique reference if ( ! empty( $subscr_id ) ) { $resultset = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl where subscr_id=%s", $subscr_id ), OBJECT ); if ( $resultset ) { // Found a record using the "subscr_id" of the payments table. $member_id = $resultset->member_id; } } else if ( ! empty ( $txn_id ) ){ //Fallback - lets try to find a member record using the "txn_id". See if this "txn_id" is found in the subscr_id of a member's profile. $resultset = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl where subscr_id=%s", $txn_id ), OBJECT ); if ( $resultset ) { // Found a record using the "txn_id" of the payments table. $member_id = $resultset->member_id; } } } if ( ! empty( $member_id ) ) { $profile_page = 'admin.php?page=simple_wp_membership&member_action=edit&member_id=' . $member_id; $column_value = '' . SwpmUtils::_( 'View Profile' ) . ''; } else { $column_value = ''; } return $column_value; } function column_status( $item ) { $status = ucfirst($item['status']); $column_value = ''; if ( strtolower($status) == 'completed' ) { $column_value = '' . $status . ''; } else if ( strtolower($status) == 'refunded' ) { $column_value = '' . $status . ''; } else if ( strtolower($status) == 'subscription created' ) { $column_value = '' . $status . ''; } else if ( strtolower($status) == 'stripe subscription created' ) { $column_value = '' . $status . ''; } else if ( strtolower($status) == 'subscription' ) { $column_value = '' . $status . ''; } else { $column_value = '' . $status . ''; } return $column_value; } function column_cb( $item ) { return sprintf( '', /* $1%s */ $this->_args['singular'], // Let's reuse singular label (affiliate) /* $2%s */ $item['id'] // The value of the checkbox should be the record's key/id ); } function get_columns() { $columns = array( 'cb' => '', // Render a checkbox instead of text 'id' => __( 'ID' , 'simple-membership'), 'email' => __( 'Email Address' , 'simple-membership'), 'first_name' => __( 'First Name' , 'simple-membership'), 'last_name' => __( 'Last Name' , 'simple-membership'), 'member_profile' => __( 'Member Profile' , 'simple-membership'), 'txn_date' => __( 'Date' , 'simple-membership'), 'txn_id' => __( 'Transaction ID' , 'simple-membership'), 'subscr_id' => __( 'Subscriber ID' , 'simple-membership'), 'payment_amount' => __( 'Amount' , 'simple-membership'), 'membership_level' => __( 'Membership Level' , 'simple-membership'), 'status' => __( 'Status/Note' , 'simple-membership'), ); return $columns; } function get_sortable_columns() { $sortable_columns = array( 'id' => array( 'id', false ), // true means its already sorted 'membership_level' => array( 'membership_level', false ), 'last_name' => array( 'last_name', false ), 'txn_date' => array( 'txn_date', false ), ); return $sortable_columns; } function get_bulk_actions() { $actions = array( 'delete' => __( 'Delete', 'simple-membership' ), ); return $actions; } public function process_bulk_action() { // Detect when a bulk action is being triggered... if ( 'delete' === $this->current_action() ) { if ( empty( $_GET['transaction'] ) ) { echo '

'.__('Error! You need to select multiple records to perform a bulk action!', 'simple-membership').'

'; return; } $records_to_delete = array_map( 'sanitize_text_field', $_GET['transaction'] ); $action = 'bulk-' . $this->_args['plural']; check_admin_referer( $action ); foreach ( $records_to_delete as $post_id ) { $this->delete_record($post_id); } echo '

'.__('Selected records deleted successfully!', 'simple-membership').'

'; } } /** * Deletes a record by post id. * * @param int|string $post_id * * @return bool TRUE if deletion successful, FALSE otherwise. */ public function delete_record( $post_id ) { if ( ! is_numeric( $post_id ) ) { wp_die( __('Error! ID must be numeric.', 'simple-membership') ); } // Delete the record form posts table $deletion_result = wp_delete_post( $post_id, true ); // Delete the record from old custom swpm_payments_tbl table as well (if exists). $db_row_id = get_post_meta($post_id, 'db_row_id', true); if (!empty($db_row_id)) { global $wpdb; $wpdb->query( $wpdb->prepare( 'DELETE FROM ' . $wpdb->prefix . 'swpm_payments_tbl WHERE id = %d', $db_row_id ) ); } wp_reset_postdata(); return $deletion_result instanceof \WP_Post ? true : false; } function prepare_items() { global $wpdb; // Lets decide how many records per page to show $per_page = apply_filters( 'swpm_transactions_menu_items_per_page', 50 ); $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); $this->_column_headers = array( $columns, $hidden, $sortable ); $this->process_bulk_action(); // This checks for sorting input. Read and sanitize the inputs $orderby_column = isset( $_GET['orderby'] ) ? sanitize_text_field( $_GET['orderby'] ) : ''; $sort_order = isset( $_GET['order'] ) ? sanitize_text_field( $_GET['order'] ) : ''; if ( empty( $orderby_column ) ) { $orderby_column = 'id'; $sort_order = 'DESC'; } $orderby_column = SwpmUtils::sanitize_value_by_array( $orderby_column, $sortable ); $sort_order = SwpmUtils::sanitize_value_by_array( $sort_order, array( 'DESC' => '1', 'ASC' => '1', ) ); // pagination requirement $current_page = $this->get_pagenum(); $search_term = isset( $_POST['swpm_txn_search'] ) ? sanitize_text_field( stripslashes ( $_POST['swpm_txn_search'] ) ) : ''; $search_term = trim( $search_term ); if ( $search_term ) { // Only load the searched records. $search_str = esc_sql( $search_term ); // Get the post ids if searched transaction post type. $post_ids = get_posts( array( 'post_type' => 'swpm_transactions', 'posts_per_page' => -1, 'fields' => 'ids', 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'email', 'value' => $search_str, 'compare' => 'LIKE' ), array( 'key' => 'txn_id', 'value' => $search_str, 'compare' => 'LIKE' ), array( 'key' => 'first_name', 'value' => $search_str, 'compare' => 'LIKE' ), array( 'key' => 'last_name', 'value' => $search_str, 'compare' => 'LIKE' ), array( 'key' => 'subscr_id', 'value' => $search_str, 'compare' => 'LIKE' ), ), ) ); $total_items = count( $post_ids ); } else { // Load all data in an optimized way (so it is only loading data for the current page) // Get the total transaction post counts. $transactions_count_query = "SELECT COUNT(*) FROM {$wpdb->prefix}posts WHERE post_type='swpm_transactions'"; $total_items = $wpdb->get_var( $transactions_count_query ); $offset = ( $current_page - 1 ) * $per_page; // TODO: Old code. Need to remove // $query = "SELECT * FROM {$wpdb->prefix}swpm_payments_tbl ORDER BY $orderby_column $sort_order"; // $query .= ' LIMIT ' . (int) $offset . ',' . (int) $per_page; // $data = $wpdb->get_results( $query, ARRAY_A ); // Get the post ids of all transaction post type with pagination. $post_ids = get_posts( array( 'post_type' => 'swpm_transactions', 'posts_per_page' => (int) $per_page, // pagination requirement 'offset' => (int) $offset, 'fields' => 'ids', ) ); } $this->process_txn_records_from_post_ids($post_ids); // Now we add our *sorted* data to the items property, where it can be used by the rest of the class. // $this->items = $transaction_records; // wp_die('
'. print_r($transaction_records, true) .'
'); // pagination requirement $this->set_pagination_args( array( 'total_items' => $total_items, // WE have to calculate the total number of items 'per_page' => $per_page, // WE have to determine how many items to show on a page 'total_pages' => ceil( $total_items / $per_page ), // WE have to calculate the total number of pages ) ); } /** * Populate the $items property with appropriate fields by their post ids. * * @param array $post_ids Post IDs of transaction post type. * * @return void */ private function process_txn_records_from_post_ids(&$post_ids){ foreach ($post_ids as $post_id) { array_push($this->items, SwpmTransactions::get_txn_post_meta_data_in_array_format($post_id)); } } } classes/admin-includes/class.swpm-payments-admin-menu.php000064400000013251147206617610017602 0ustar00

';// return; } echo '
'; //TODO - move most of the following includes to functions of this class instead. //Switch case for the various different tabs handled by the core plugin. switch ($tab) { case 'payment_settings': include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/admin-includes/class.swpm-payment-settings-menu-tab.php'); $payment_settings_tab = new SWPM_Payment_Settings_Menu_Tab(); $payment_settings_tab->handle_payment_settings_menu_tab(); break; case 'payment_buttons': include_once(SIMPLE_WP_MEMBERSHIP_PATH . '/views/payments/admin_payment_buttons.php'); break; case 'create_new_button': include_once(SIMPLE_WP_MEMBERSHIP_PATH . '/views/payments/admin_create_payment_buttons.php'); break; case 'edit_button': include_once(SIMPLE_WP_MEMBERSHIP_PATH . '/views/payments/admin_edit_payment_buttons.php'); break; case 'all_txns': include_once(SIMPLE_WP_MEMBERSHIP_PATH . '/views/payments/admin_all_payment_transactions.php'); break; case 'add_new_txn': include_once(SIMPLE_WP_MEMBERSHIP_PATH . '/views/payments/admin_add_edit_transaction_manually.php'); swpm_handle_add_new_txn_manually(); break; case 'edit_txn': include_once(SIMPLE_WP_MEMBERSHIP_PATH . '/views/payments/admin_edit_transaction.php'); swpm_handle_edit_txn(); break; default: include_once(SIMPLE_WP_MEMBERSHIP_PATH . '/views/payments/admin_all_payment_transactions.php'); break; } echo '
'; // echo '
'; // } } classes/admin-includes/class.swpm-payment-buttons-list-table.php000064400000020630147206617610021120 0ustar00 'payment button', //singular name of the listed records 'plural' => 'payment buttons', //plural name of the listed records 'ajax' => false //does this table support ajax? )); $this->per_page = 50; } function column_default($item, $column_name) { //We need to read the values from our CPT and feed the column value for the given column name manually. switch ($column_name) { case 'title': return get_the_title($item['ID']); break; case 'membership_level': $level_id = get_post_meta($item['ID'], 'membership_level_id', true); $level_edit_url = 'admin.php?page=simple_wp_membership_levels&level_action=edit&id=' . $level_id; $mem_level_column_output = ''.esc_attr($level_id).''; return $mem_level_column_output; break; case 'button_type': $button_type = get_post_meta($item['ID'], 'button_type', true); $button_name=SwpmMiscUtils::get_button_type_name($button_type); return $button_name; break; case 'button_shortcode': $level_id = get_post_meta($item['ID'], 'membership_level_id', true); if(!SwpmUtils::membership_level_id_exists($level_id)){ //This membership level doesn't exist. Show an error instead of the shortcode. $shortcode = 'Error! The membership level you specified in this button does not exist. You may have deleted this level. Edit this button and use a valid membership level.'; } else { $shortcode = ''; } return $shortcode; break; } } function column_ID($item) { $button_type = get_post_meta($item['ID'], 'button_type', true); //Build row actions $actions = array( 'edit' => sprintf('Edit', $item['ID'], $button_type), 'delete' => sprintf( 'Delete', $item['ID'], wp_create_nonce( 'swpm_delete_payment_btn_' . $item['ID'] ) ), ); //Return the refid column contents return $item['ID'] . $this->row_actions($actions); } function column_cb($item) { return sprintf( '', /* $1%s */ $this->_args['singular'], //Let's reuse singular label (affiliate) /* $2%s */ $item['ID'] //The value of the checkbox should be the record's key/id ); } function get_columns() { $columns = array( 'cb' => '', //Render a checkbox instead of text 'ID' => SwpmUtils::_('Payment Button ID'), 'title' => SwpmUtils::_('Payment Button Title'), 'membership_level' => SwpmUtils::_('Membership Level ID'), 'button_type' => SwpmUtils::_('Button Type'), 'button_shortcode' => SwpmUtils::_('Button Shortcode'), ); return $columns; } function get_sortable_columns() { $sortable_columns = array(); // $sortable_columns = array( // 'ID' => array('ID', false), //true means its already sorted // ); return $sortable_columns; } function get_bulk_actions() { $actions = array( 'delete' => SwpmUtils::_('Delete') ); return $actions; } function process_bulk_action() { //Detect when a bulk action is being triggered... if ('delete' === $this->current_action()) { $records_to_delete = array_map( 'sanitize_text_field', $_REQUEST['paymentbutton'] ); if (empty($records_to_delete)) { echo '

Error! You need to select multiple records to perform a bulk action!

'; return; } $action = 'bulk-' . $this->_args['plural']; check_admin_referer( $action ); foreach ($records_to_delete as $record_id) { if(!is_numeric($record_id)){ wp_die('Error! ID must be a numeric number.'); } wp_delete_post( $record_id ); } echo '

Selected records deleted successfully!

'; } } function process_delete_action() { if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete_payment_btn') { //Delete link was clicked for a row in list table $record_id = sanitize_text_field($_REQUEST['button_id']); if(!is_numeric($record_id)){ wp_die('Error! ID must be a numeric number.'); } check_admin_referer( 'swpm_delete_payment_btn_' . $record_id ); wp_delete_post( $record_id ); $success_msg = '

'; $success_msg .= SwpmUtils::_('The selected entry was deleted!'); $success_msg .= '

'; echo $success_msg; } } /** * Retrieve the current page number */ function get_paged() { return isset($_GET['paged']) ? absint($_GET['paged']) : 1; } /** * Retrieve the total number of CPT items */ function get_total_items() { $counts = wp_count_posts('swpm_payment_button'); $total = 0; foreach ($counts as $count) $total += $count; return $total; } function payment_buttons_data() { $data = array(); $cpt_args = array( 'post_type' => 'swpm_payment_button', 'post_status' => 'publish', 'posts_per_page' => $this->per_page, 'paged' => $this->get_paged() ); //TODO - Do search and sort stuff (see example code) //Retrieve all the CPT items $items = get_posts($cpt_args); if ($items) { foreach ($items as $item) { $membership_level = get_post_meta($item->ID, 'membership_level_id', true); $data[] = array( 'ID' => $item->ID, 'title' => get_the_title($item->ID), 'membership_level' => $membership_level, ); } } return $data; } function prepare_items() { // Lets decide how many records per page to show $per_page = $this->per_page; $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); $this->process_delete_action(); $this->process_bulk_action(); // Pagination requirement $current_page = $this->get_pagenum(); $total_items = $this->get_total_items(); // Now we add our *sorted* data to the items property, where it can be used by the rest of the class. $data = $this->payment_buttons_data(); $this->items = $data; //pagination requirement $this->set_pagination_args(array( 'total_items' => $total_items, //WE have to calculate the total number of items 'per_page' => $per_page, //WE have to determine how many items to show on a page 'total_pages' => ceil($total_items / $per_page) //WE have to calculate the total number of pages )); } } classes/admin-includes/class.swpm-send-direct-email-menu.php000064400000054340147206617610020146 0ustar00get_value('send_email_menu_data'); if (empty($send_email_menu_data)) { // No saved data found. initialize the array. $send_email_menu_data = array(); } // Get WP user's info $logged_in_user = wp_get_current_user(); $logged_in_user_email = isset($logged_in_user->user_email) ? $logged_in_user->user_email : ''; $logged_in_user_name = isset($logged_in_user->user_login) ? $logged_in_user->user_login : ''; // $logged_in_user_id = $logged_in_user->ID; if (isset($_POST['send_email_submit']) || isset($_POST['list_recipient_list']) ) { $swpm_send_email_nonce = filter_input(INPUT_POST, 'swpm_send_email_nonce'); if (!wp_verify_nonce($swpm_send_email_nonce, 'swpm_send_email_nonce_action')) { // Nonce check failed. wp_die(__('Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again.', 'simple-membership')); } $target_recipients = isset( $_POST['send_email_menu_target_recipients'] ) ? sanitize_text_field($_POST['send_email_menu_target_recipients']) : 'membership_level'; $send_email_menu_data['send_email_selected_target_recipients'] = $target_recipients; $send_email_menu_data['send_email_membership_level'] = (isset($_POST['send_email_membership_level']) && $_POST['send_email_membership_level'] != '' && $target_recipients === 'membership_level') ? sanitize_text_field($_POST['send_email_membership_level']) : ''; $send_email_menu_data['send_email_account_state'] = (isset($_POST['send_email_account_state']) && $_POST['send_email_account_state'] != '' && $target_recipients === 'membership_level') ? sanitize_text_field($_POST['send_email_account_state']) : ''; $send_email_menu_data['send_email_copy_author'] = (isset($_POST['send_email_copy_author']) && $_POST['send_email_copy_author'] === 'on') ? 'on' : ''; $send_email_menu_data['send_email_members_id'] = (isset($_POST['send_email_members_id']) && $_POST['send_email_members_id'] != '' && $target_recipients === 'members_id') ? sanitize_text_field($_POST['send_email_members_id']) : ''; $send_email_menu_data['send_email_enable_html'] = (isset($_POST['send_email_enable_html']) && $_POST['send_email_enable_html'] === 'on') ? 'on' : ''; $send_email_menu_data['send_email_subject'] = (isset($_POST['send_email_subject']) && $_POST['send_email_subject'] != '') ? sanitize_text_field($_POST['send_email_subject']) : ''; $send_email_menu_data['send_email_body'] = (isset($_POST['send_email_body']) && $_POST['send_email_body'] != '') ? stripslashes(wp_kses_post($_POST['send_email_body'])) : ''; // Save the values for future SwpmSettings::get_instance()->set_value('send_email_menu_data', $send_email_menu_data); SwpmSettings::get_instance()->save(); $all_validations_passed = true; $error_msg_array = array(); $recipients = array(); $found_logged_in_user_in_receipients = false; // Set true if if logged in user is in the recipient list. $list_of_recipients_to_display = array(); // Validate recipients if ( $target_recipients === 'membership_level' && !empty($_POST['send_email_membership_level'])) { // send mail to specified members by membership level and account status. $members = SwpmMemberUtils::get_all_members_of_a_level_and_a_state(sanitize_text_field($_POST['send_email_membership_level']), sanitize_text_field($_POST['send_email_account_state'])); foreach ($members as $member) { $recipients[] = $member; } } elseif ( $target_recipients === 'members_id' && !empty($_POST['send_email_members_id'])) { // send mail to specified members by IDs $ids_str = sanitize_text_field(stripslashes($_POST['send_email_members_id'])); $ids = explode(',', $ids_str); foreach ($ids as $id) { $member_id = (int)trim($id); if ($member_id) { $member = SwpmMemberUtils::get_user_by_id($member_id); if (!$member) { //echo '
Invalid ID. Continuing to the next item'; continue; } //echo '
Adding member row to the recipients list'; $recipients[] = $member; } } } else { $all_validations_passed = false; $error_msg_array[] = __('No recipient selected. Please select email recipient(s).', 'simple-membership'); } // Validate email subject if (empty ($send_email_menu_data['send_email_subject'])) { $all_validations_passed = false; $error_msg_array[] = __('The email subject field is empty. Please enter a value in the email subject field.', 'simple-membership'); } // Validate email body if (empty ($send_email_menu_data['send_email_body'])) { $all_validations_passed = false; $error_msg_array[] = __('The email body field is empty. Please enter a value in the email body field.', 'simple-membership'); } // Validate recipient list if (empty ($recipients)) { $all_validations_passed = false; $error_msg_array[] = __('The recipients list is currently empty. There must be at least one recipient.', 'simple-membership'); } if ($all_validations_passed) { //All passed. Go ahead with the processing. foreach ($recipients as $recipient) { if( !isset( $recipient->email ) || empty( $recipient->email) ){ SwpmLog::log_simple_debug( 'Error sending direct email! Email value is empty for this member record.', false ); continue; } if($recipient->email == $logged_in_user_email) { $found_logged_in_user_in_receipients = true; // Added by Dennis. No need to copy author } // Send the email $from_address = $settings->get_value( 'email-from' ); $headers = 'From: ' . $from_address . "\r\n"; $body = SwpmMiscUtils::replace_dynamic_tags($send_email_menu_data['send_email_body'], $recipient->member_id); $subject = $send_email_menu_data['send_email_subject']; //Check if HTML email checkbox enabled for the direct email option. if (!empty($send_email_menu_data['send_email_enable_html'])) { $headers .= "Content-Type: text/html; charset=UTF-8\r\n"; $body = nl2br($body); } if ( isset($_POST['list_recipient_list'])) { // Get the membership level name $membership_level_name = SwpmMembershipLevelUtils::get_membership_level_name_of_a_member($recipient->member_id); $list_of_recipients_to_display[] = array( 'id' => $recipient->member_id, 'user_name' => $recipient->user_name, 'email' => $recipient->email, 'membership_level' => $membership_level_name, 'account_state' => $recipient->account_state ? SwpmUtils::get_account_state_options()[$recipient->account_state] : 'N/A', ); } else { // Send the Emails wp_mail($recipient->email, $subject , $body, $headers); SwpmLog::log_simple_debug( 'Sending direct email. Email sent to : '.$recipient->email, true ); } } // end of foreach loop // Check if need to include currently logged in user as recipient. // If the author of the emails is not in the selected recipients, but a copy is requested, then send a copy. if( $found_logged_in_user_in_receipients == false && isset($_POST['send_email_copy_author']) && sanitize_text_field($_POST['send_email_copy_author']) === 'on' ){ if ( isset($_POST['list_recipient_list'])) { $list_of_recipients_to_display[] = array( 'id' => 'N/A', 'user_name' => $logged_in_user_name, 'email' => $logged_in_user_email, 'membership_level' => 'N/A', 'account_state' => 'N/A', ); } else { // add a warning message that this is a sample email at the top of the email body to prevent confusion $authors_copy_warning_message = __('Note: Below is a sample of the email content sent to the user.', 'simple-membership'); $body = $authors_copy_warning_message . "\n-----------------------------\n\n" . $body; wp_mail($logged_in_user_email, $subject , $body, $headers); SwpmLog::log_simple_debug( '[Send Me a Copy] Sending email to logged in WordPress user: '.$logged_in_user_email, true ); } } if( isset($_POST['list_recipient_list']) ) { $this->output_recipient_list_table($list_of_recipients_to_display); } else { echo '

'; _e('Email Sent Successfully!', 'simple-membership'); echo '

'; } } else { echo '

'; _e('The following validation failed. Please correct it and try again.', 'simple-membership'); echo '

    '; foreach ($error_msg_array as $error_msg) { echo '
  1. ' . $error_msg . '
  2. '; } echo '
'; echo '
'; } } // render view. $this->display_send_direct_email_admin_menu(); } private function display_send_direct_email_admin_menu(){ $settings = SwpmSettings::get_instance(); $send_email_menu_data = $settings->get_value('send_email_menu_data'); $send_email_selected_target_recipients = isset( $send_email_menu_data['send_email_selected_target_recipients'] ) ? sanitize_text_field($send_email_menu_data['send_email_selected_target_recipients']) : 'membership_level'; $send_email_recipient_membership_level = isset( $send_email_menu_data['send_email_membership_level'] ) ? sanitize_text_field( $send_email_menu_data['send_email_membership_level'] ) : ''; $send_email_recipient_members_id = isset( $send_email_menu_data['send_email_members_id'] ) ? sanitize_text_field( $send_email_menu_data['send_email_members_id'] ) : ''; $send_email_recipient_account_state = isset( $send_email_menu_data['send_email_account_state'] ) ? sanitize_text_field( $send_email_menu_data['send_email_account_state'] ) : ''; $send_email_copy_author = isset( $send_email_menu_data['send_email_copy_author'] ) && sanitize_text_field( $send_email_menu_data['send_email_copy_author'] ) === 'on' ? 'checked="checked"' : ''; $send_email_enable_html = isset( $send_email_menu_data['send_email_enable_html'] ) && sanitize_text_field( $send_email_menu_data['send_email_enable_html'] ) === 'on' ? 'checked="checked"' : ''; $send_email_subject = isset( $send_email_menu_data['send_email_subject'] ) ? sanitize_text_field( $send_email_menu_data['send_email_subject'] ) : ''; $send_email_body = isset( $send_email_menu_data['send_email_body'] ) ? wp_kses_post( $send_email_menu_data['send_email_body'] ) : ''; // Get WP user's info $logged_in_user = wp_get_current_user(); $logged_in_user_email = isset($logged_in_user->user_email) ? $logged_in_user->user_email : ''; ?>

this documentation page for more details.', 'simple-membership' ); ?>




/>

'send_email_body', 'teeny' => true, 'default_editor' => ! empty( $send_email_enable_html ) ? 'QuickTags' : '', 'textarea_rows' => 15, ); //Trigger a filter to allow plugins/addons to modify the editor settings. $send_email_body_settings = apply_filters( 'swpm_send_direct_email_body_settings', $send_email_body_settings ); //Render the editor wp_editor( wp_kses_post( $send_email_body ), 'send_email_body', $send_email_body_settings ); ?>

    $desc ) { ?>
  • {} -

  • {password} -

'; echo '
'; echo '

'. __('Email Recipient List', 'simple-membership'). '

' ; // echo '
'; // table wrap echo ''; echo ''; echo ''; foreach ($recipient_list as $recipient) { echo ''; } echo ''; echo '
'.__('Recipient\'s Email', 'simple-membership').' '.__('Username', 'simple-membership').' '.__('Member ID', 'simple-membership').' '.__('Membership Level', 'simple-membership').' '.__('Account State', 'simple-membership').'
'.esc_attr($recipient['email']).' '.esc_attr($recipient['user_name']).' '.esc_attr($recipient['id']).' '.esc_attr($recipient['membership_level']).' '.esc_attr($recipient['account_state']).'
'; // echo '
'; // end of table wrap echo '

' . __('Total email recipients: ','simple-membership') . $recipients_count . '

'; echo '

'.__('Note: No emails have been sent; this is only a display of the recipient list.', 'simple-membership').'

'; echo '
'; echo ''; } } classes/admin-includes/class.swpm-payment-settings-menu-tab.php000064400000107546147206617610020746 0ustar00'; echo '

'; _e('You can create membership payment buttons from the ', 'simple-membership'); echo '' . __('create new button tab', 'simple-membership') . ''; _e(' of this plugin (useful if you want to offer paid memberships on the site).', 'simple-membership'); _e(' Read the ', 'simple-membership'); echo '' . __('membership payment section', 'simple-membership') . ''; _e(' of our documentation to learn more about creating membership payment buttons.', 'simple-membership'); echo '

'; echo ''; //Sub nav tabs related code. $subtab = isset($_GET['subtab']) ? sanitize_text_field($_GET['subtab']) : ''; $selected_subtab = $subtab; ?>
check_and_create_webhook_for_live_mode(); //Create the response message. $pre_msg_html_markup = ''; if( isset($ret['status']) && ($ret['status'] == 'yes' )){ //Add an extra checkmark in the message for visual appeal. $pre_msg_html_markup .= '' . __(' Success! ', 'simple-membership'); } $live_wh_create_result_msg = isset($ret['msg']) ? sanitize_text_field($ret['msg']) : ''; echo '

Create Live Webhook: ' . $pre_msg_html_markup . esc_attr($live_wh_create_result_msg) . '

'; } if (isset($_GET['swpm_paypal_create_sandbox_webhook'])){ check_admin_referer( 'swpm_paypal_create_sandbox_webhook' ); $pp_webhook = new SWPM_PayPal_Webhook(); $ret = $pp_webhook->check_and_create_webhook_for_sandbox_mode(); //Create the response message. $pre_msg_html_markup = ''; if( isset($ret['status']) && ($ret['status'] == 'yes' )){ //Add an extra checkmark in the message for visual appeal. $pre_msg_html_markup = '' . __(' Success! ', 'simple-membership'); } $sandbox_wh_create_result_msg = isset($ret['msg']) ? sanitize_text_field($ret['msg']) : ''; echo '

Create Sandbox Webhook: ' . $pre_msg_html_markup . esc_attr($sandbox_wh_create_result_msg) . '

'; } if (isset($_GET['swpm_paypal_delete_webhook'])){ check_admin_referer( 'swpm_paypal_delete_webhook' ); $pp_webhook = new SWPM_PayPal_Webhook(); $delete_action_result = $pp_webhook->check_and_delete_webhooks_for_both_modes(); echo '

' . $delete_action_result . '

'; } if (isset($_GET['swpm_ppcp_after_onboarding'])){ $environment_mode = isset($_GET['environment_mode']) ? sanitize_text_field($_GET['environment_mode']) : ''; $onboarding_action_result = '

PayPal merchant account connection setup completed for environment mode: '. esc_attr($environment_mode) .'

'; echo '

' . $onboarding_action_result . '

'; } if (isset($_GET['swpm_ppcp_disconnect_production'])){ //Verify nonce check_admin_referer( 'swpm_ac_disconnect_nonce_production' ); SWPM_PayPal_PPCP_Onboarding_Serverside::reset_seller_api_credentials('production'); $disconnect_action_result = __('PayPal account disconnected.', 'simple-membership'); echo '

' . $disconnect_action_result . '

'; } if (isset($_GET['swpm_ppcp_disconnect_sandbox'])){ //Verify nonce check_admin_referer( 'swpm_ac_disconnect_nonce_sandbox' ); SWPM_PayPal_PPCP_Onboarding_Serverside::reset_seller_api_credentials('sandbox'); $disconnect_action_result = __('PayPal sandbox account disconnected.', 'simple-membership'); echo '

' . $disconnect_action_result . '

'; } // Check test-mode settings submit. if (isset($_POST['swpm-enable-test-mode-submit']) && check_admin_referer('swpm-enable-test-mode-nonce')) { $settings->set_value('enable-sandbox-testing' ,(( isset($_POST['enable-sandbox-testing']) && $_POST['enable-sandbox-testing'] == '1' ) ? "checked=\"checked\"" : '')); $settings->save(); //Live/Test mode settings updated/changed. Delete the PayPal access token cache. SWPM_PayPal_Bearer::delete_cached_token(); SwpmLog::log_simple_debug('Live/Test mode settings updated. Deleted the PayPal access token cache so a new one is generated.', true); echo '

' . __('Test mode settings updated successfully.', 'simple-membership') . '

'; } // Check PayPal settings submit. if (isset($_POST['swpm-paypal-settings-submit']) && check_admin_referer('swpm-paypal-settings-nonce')) { $settings->set_value('paypal-live-client-id' ,( isset($_POST['paypal-live-client-id']) ? sanitize_text_field($_POST['paypal-live-client-id']) : '')); $settings->set_value('paypal-live-secret-key' ,( isset($_POST['paypal-live-secret-key']) ? sanitize_text_field($_POST['paypal-live-secret-key']) : '')); $settings->set_value('paypal-sandbox-client-id' ,( isset($_POST['paypal-sandbox-client-id']) ? sanitize_text_field($_POST['paypal-sandbox-client-id']) : '')); $settings->set_value('paypal-sandbox-secret-key' ,( isset($_POST['paypal-sandbox-secret-key']) ? sanitize_text_field($_POST['paypal-sandbox-secret-key']) : '')); $settings->save(); echo '

' . __('PayPal API settings updated successfully.', 'simple-membership') . '

'; } if (isset($_GET['swpm_paypal_delete_cache'])){ check_admin_referer( 'swpm_paypal_delete_cache' ); SWPM_PayPal_Bearer::delete_cached_token(); echo '

' . __('PayPal access token cache deleted successfully.', 'simple-membership') . '

'; } // Check Stripe settings submit. if (isset($_POST['swpm-stripe-settings-submit']) && check_admin_referer('swpm-stripe-settings-nonce')) { $settings->set_value('stripe-prefill-member-email' ,( isset($_POST['stripe-prefill-member-email']) && esc_attr($_POST['stripe-prefill-member-email']) == '1' ? "checked=\"checked\"" : '')); $settings->set_value('stripe-test-public-key' ,( isset($_POST['stripe-test-public-key']) ? sanitize_text_field($_POST['stripe-test-public-key']) : '')); $settings->set_value('stripe-test-secret-key' ,( isset($_POST['stripe-test-secret-key']) ? sanitize_text_field($_POST['stripe-test-secret-key']) : '')); $settings->set_value('stripe-live-public-key' ,( isset($_POST['stripe-live-public-key']) ? sanitize_text_field($_POST['stripe-live-public-key']) : '')); $settings->set_value('stripe-live-secret-key' ,( isset($_POST['stripe-live-secret-key']) ? sanitize_text_field($_POST['stripe-live-secret-key']) : '')); $settings->save(); echo '

' . __('Stripe settings updated successfully.', 'simple-membership') . '

'; } //Switch case for the various different sub-tabs. switch ($selected_subtab) { case 'ps_general': $this->handle_general_payment_settings_subtab(); break; case 'ps_pp_api': $this->handle_paypal_payment_settings_subtab(); break; case 'ps_pp_webhooks': $this->handle_paypal_webhook_settings_subtab(); break; case 'ps_stripe': $this->handle_stripe_payment_settings_subtab(); break; default: $this->handle_general_payment_settings_subtab(); break; } //End of the payment settings menu tab. do_action('swpm_payment_settings_menu_tab_end'); } /** * Render general payment settings subtab view * * @return void */ public function handle_general_payment_settings_subtab(){ $settings = SwpmSettings::get_instance(); // Test-mode settings $enable_sandbox_testing = $settings->get_value( 'enable-sandbox-testing' ); ?>

/>

' . __('Note for Subscription/Recurring Payment Testing: ','simple-membership') . ''; _e('Subscription plan modes cannot be switched between test and live modes. For testing, create all subscription plans and buttons in test mode. ', 'simple-membership'); _e('Once testing is complete, switch the plugin to live mode and recreate the plans and buttons for live use. Avoid reusing test mode plans/buttons in live mode to prevent errors from the payment gateway. ', 'simple-membership'); echo '' . __('Read this payment testing checklist.', 'simple-membership') . ''; ?>
get_value( 'paypal-live-client-id' ); $paypal_live_secret_key = $settings->get_value( 'paypal-live-secret-key' ); $paypal_sandbox_client_id = $settings->get_value( 'paypal-sandbox-client-id' ); $paypal_sandbox_secret_key = $settings->get_value( 'paypal-sandbox-secret-key' ); ?>

' . SwpmUtils::_( 'Read this documentation' ) . ' ' . SwpmUtils::_( 'to learn how to get your PayPal API credentials.' ); ?>

get_value('paypal-sandbox-client-id')) && empty( $settings->get_value('paypal-sandbox-secret-key')) && empty( $settings->get_value('paypal-live-client-id')) && empty( $settings->get_value('paypal-live-secret-key')) ){ $all_api_creds_missing = true; } ?>

get_value( 'stripe-prefill-member-email' ); $stripe_test_public_key = $settings->get_value( 'stripe-test-public-key' ); $stripe_test_secret_key = $settings->get_value( 'stripe-test-secret-key' ); $stripe_live_public_key = $settings->get_value( 'stripe-live-public-key' ); $stripe_live_secret_key = $settings->get_value( 'stripe-live-secret-key' ); ?>

/>

get_value('paypal-sandbox-client-id')) && empty( $settings->get_value('paypal-sandbox-secret-key')) && empty( $settings->get_value('paypal-live-client-id')) && empty( $settings->get_value('paypal-live-secret-key')) ){ $all_api_creds_missing = true; } ?> lastError = ''; $this->moretags = array(); } public static function get_instance(){ self::$_this = empty(self::$_this)? new SwpmAccessControl():self::$_this; return self::$_this; } public function can_i_read_post($post){ if (!is_a($post, 'WP_Post')) { //This is not a WP_Post object. So we don't want to handle it in our plugin. return true; } $id = $post->ID; $this->lastError = ''; $auth = SwpmAuth::get_instance(); //$protect_everything = SwpmSettings::get_instance()->get_value('protect-everything'); //if(!empty($protect_everything)){ //Protect everything is enabled. //TODO - This feature is not implemented yet. //} //Check if this is a protected post. $protected = SwpmProtection::get_instance(); if (!$protected->is_protected($id)){ //This is a totally unprotected post. So everyone has access to it. return true; } /*** At this point, we have a protected post. So we need to check if this user can view this post. ***/ //Check if the user is logged in. if(!$auth->is_logged_in()){ //This user is not logged into the site. No access to this protected post. $text = SwpmUtils::_('You need to be logged in to view this content. ') . SwpmMiscUtils::get_login_link(); $error_msg = '
'.$text.'
'; $this->lastError = apply_filters('swpm_not_logged_in_post_msg', $error_msg); return false; } //Check if the account is expired if ($auth->is_expired_account()){ //This user's account is expired. No access to this post. Show account expiry message. $text = SwpmUtils::_('Your account has expired. ') . SwpmMiscUtils::get_renewal_link(); $error_msg = ''; $this->lastError = apply_filters('swpm_account_expired_msg', $error_msg); return false; } //Check older post protection addon settings (if being used on this site). $protect_older_posts = apply_filters('swpm_should_protect_older_post', false, $id); if ($protect_older_posts){ //This post falls under the older post protection condition. No access to it. $text = SwpmUtils::_('This content can only be viewed by members who joined on or before ') . SwpmUtils::get_formatted_and_translated_date_according_to_wp_settings($post->post_date); $error_msg = '
'.$text.'
'; $this->lastError = apply_filters ('swpm_restricted_post_msg_older_post', $error_msg); return false; } //Check if this user's membership level has access to this post $permission = SwpmPermission::get_instance($auth->get('membership_level')); if($permission->is_permitted($id)) { //This user's membership level has access to it. Show this post to this user. return true; } else { //User's level DOES NOT have access to this post. $text = SwpmUtils::_('This content is not permitted for your membership level.'); $error_msg = '
'.$text.'
'; $this->lastError = apply_filters ('swpm_restricted_post_msg', $error_msg); return false; } //All checks have passed. Show this post to the user. return true; } public function can_i_read_comment($comment){ if (!is_a($comment, 'WP_Comment')) { //This is not a valid WP_Comment object. So we don't want to handle it in our plugin. return true; } $id = $comment->comment_ID; $post_id = $comment->comment_post_ID; $post = get_post($post_id); $this->lastError = ''; $auth = SwpmAuth::get_instance(); //Check if everything protected settings is on. //$protect_everything = SwpmSettings::get_instance()->get_value('protect-everything'); //if(!empty($protect_everything)){ //Everything is protected by default. //TODO - This feature is currently not implemented. //} //Check if the post (that this comment belongs to) is protected. $protected = SwpmProtection::get_instance(); if (!$protected->is_protected($post_id)){ //The post of this comment is not protected. So this is an unprotected comment. Show it to everyone. return true; } /*** At this point, we have a protected comment. So we need to check if this user can view this comment. ***/ //Check if the user is logged-in as a member. if(!$auth->is_logged_in()){ //User is not logged-in. Not allowed to see this protected comment. $error_msg = '
' . SwpmUtils::_("You need to be logged in to view this content. ") . '
'; $this->lastError = apply_filters('swpm_not_logged_in_comment_msg', $error_msg); return false; } //Check if member account is expired. if ($auth->is_expired_account()){ //This user's account is expired. Not allowed to see this comment. Show account expiry notice also. $text = SwpmUtils::_('Your account has expired. ') . SwpmMiscUtils::get_renewal_link(); $error_msg = ''; $this->lastError = apply_filters('swpm_account_expired_msg', $error_msg); return false; } //Check if older post protection addon is active and protection according to it's settings. $protect_older_posts = apply_filters('swpm_should_protect_older_post', false, $post_id); if ($protect_older_posts){ //This comment is protected due to the older post protection addon settings configuration. $text = SwpmUtils::_('This content can only be viewed by members who joined on or before ') . SwpmUtils::get_formatted_and_translated_date_according_to_wp_settings($post->post_date); $error_msg = '
'.$text.'
'; $this->lastError = apply_filters ('swpm_restricted_comment_older_post', $error_msg); return false; } //Check if this member can view this comment based on his membership level $permission = SwpmPermission::get_instance($auth->get('membership_level')); if(!$permission->is_permitted($post_id)) { //This member's membership level doesn't have access to this comment's post. Not allowed to see this comment. $error_msg = '
' . SwpmUtils::_('This content is not permitted for your membership level.').'
'; $this->lastError = apply_filters ('swpm_restricted_comment_msg', $error_msg); return false; } //All checks have passed at this stage. Show this comment to this user. return true; } public function filter_post($post,$content){ if (!is_a($post, 'WP_Post')) { //This is not a WP_Post object. So we don't want to handle it in our plugin. return $content; //return SwpmUtils::_('Error! $post is not a valid WP_Post object.'); } if(self::expired_user_has_access_to_this_page()) { return $content;//An expired user is viewing this page and it is a system page, so allow access. } if(SwpmUtils::is_first_click_free($content)) { return $content;//First click free is true, so allow access. } if($this->can_i_read_post($post)) { return $content;//This member has access to this post, so allow access. } //Check and apply more tag protection. $more_tag_protection_value = $this->check_and_apply_more_tag_protection($post, $content); if(!empty($more_tag_protection_value)){ //More tag protection was found in the post. Return the modified $content. return $more_tag_protection_value; } //Return whatever the result is from calling the earlier protection check functions. return $this->lastError; } public function check_and_apply_more_tag_protection($post, $content){ //More tag protection is checked after all the OTHER protections have alrady been checked. //So if a valid logged-in member is accessing a post he has access to then this code won't execute. //Check if more tag protection is enabled. $moretag = SwpmSettings::get_instance()->get_value('enable-moretag'); if (empty($moretag)){ //More tag protection is disabled in this site. So return empty string. return ''; } else { //More tag protection is enabled in this site. Need to check the post segments to see if there is content after more tag. $post_segments = explode( '', $post->post_content); if (count($post_segments) >= 2){ //There is content after the more tag. $auth = SwpmAuth::get_instance(); if(!$auth->is_logged_in()){ //User is not logged-in. Need to show the login message after the more tag. $text = SwpmUtils::_("You need to be logged in to view the rest of the content. ") . SwpmMiscUtils::get_login_link(); $error_msg = '
' . $text . '
'; $more_tag_check_msg = apply_filters('swpm_not_logged_in_more_tag_msg', $error_msg); } else { //The user is logged in. //Lets check if the user's account is expired. if ($auth->is_expired_account()){ //This user's account is expired. Not allowed to see this post. Show account expiry notice also. $text = SwpmUtils::_('Your account has expired. ') . SwpmMiscUtils::get_renewal_link(); $error_msg = ''; $more_tag_check_msg = apply_filters('swpm_account_expired_more_tag_msg', $error_msg); } else { //At this stage, the user does not have permission to view the content after the more tag. $text = SwpmUtils::_(" The rest of the content is not permitted for your membership level."); $error_msg = '
' . $text . '
'; $more_tag_check_msg = apply_filters ('swpm_restricted_more_tag_msg', $error_msg); } } $filtered_before_more_content = SwpmMiscUtils::format_raw_content_for_front_end_display($post_segments[0]); $new_post_content = $filtered_before_more_content . $more_tag_check_msg; return $new_post_content; }//End of segment count condition check. }//End of more tag enabled condition check. //More tag protection not applicable for this post. Return empty string. return ''; } public function filter_comment($comment, $content){ if($this->can_i_read_comment($comment)) { //This user has access to this comment. return $content; } return $this->lastError; } public function why(){ return $this->lastError; } /* * This function checks if the current user is an expired user and has access to the system page content (if the current URL is a system page). */ public static function expired_user_has_access_to_this_page(){ $auth = SwpmAuth::get_instance(); //Check if the user is logged-into the site. if(!$auth->is_logged_in()){ //Anonymous user. No access. No need to check anything else. return false; } //Check if account is expired. if (!$auth->is_expired_account()){ //This users account is not expired. No need to check anything else. return false; } /*** We have a expired member. Lets check if he is viewing a page that is a core system used URL. ***/ if (self::is_current_url_a_system_page()){ //Allow this expired user to view this post/page content since this is a core system page. return true; } //Not a system used page. So the expired user has no access to this page. return false; } /* * This function checks if the current page being viewed is one of the system used URLs */ public static function is_current_url_a_system_page(){ $current_page_url = SwpmMiscUtils::get_current_page_url(); //Check if the current page is the membership renewal page. $renewal_url = SwpmSettings::get_instance()->get_value('renewal-page-url'); if (!empty($renewal_url)) { //The renewal page can be empty as it is an optional system page. So only check if it is not empty. if (SwpmMiscUtils::compare_url_without_http($renewal_url, $current_page_url)) {return true;} } //Check if the current page is the membership logn page. $login_page_url = SwpmSettings::get_instance()->get_value('login-page-url'); if (empty($login_page_url)) {return false;} if (SwpmMiscUtils::compare_url_without_http($login_page_url, $current_page_url)) {return true;} //Check if the current page is the membership registration page. $registration_page_url = SwpmSettings::get_instance()->get_value('registration-page-url'); if (empty($registration_page_url)) {return false;} if (SwpmMiscUtils::compare_url_without_http($registration_page_url, $current_page_url)) {return true;} //Check if the current page is the join us page. $join_us_page_url = SwpmSettings::get_instance()->get_value('join-us-page-url'); if (!empty($join_us_page_url)) { //The join us page can be empty on some setup. So only check if it is not empty. if (SwpmMiscUtils::compare_url_without_http($join_us_page_url, $current_page_url)) {return true;} } //Check if the current page is the edit profile page. $profile_page_url = SwpmSettings::get_instance()->get_value('profile-page-url'); if (empty($profile_page_url)) {return false;} if (SwpmMiscUtils::compare_url_without_http($profile_page_url, $current_page_url)) {return true;} //Check if the current page is the password reset page. $pw_reset_page_url = SwpmSettings::get_instance()->get_value('reset-page-url'); if (empty($pw_reset_page_url)) {return false;} if (SwpmMiscUtils::compare_url_without_http($pw_reset_page_url, $current_page_url)) {return true;} return false; } } classes/class.swpm-registration.php000064400000013516147206617610013534 0ustar00member_info ) ) { return false; } $member_info = $this->member_info; $settings = SwpmSettings::get_instance(); $subject = $settings->get_value( 'reg-complete-mail-subject' ); $body = $settings->get_value( 'reg-complete-mail-body' ); if ( $this->email_activation ) { $swpm_user = SwpmMemberUtils::get_user_by_user_name( $member_info['user_name'] ); $member_id = $swpm_user->member_id; $act_code = md5( uniqid() . $member_id ); $enc_pass = SwpmUtils::crypt( $member_info['plain_password'] ); $user_data = array( 'timestamp' => time(), 'act_code' => $act_code, 'plain_password' => $enc_pass, ); $user_data = apply_filters( 'swpm_email_activation_data', $user_data ); update_option( 'swpm_email_activation_data_usr_' . $member_id, $user_data, false ); $body = $settings->get_value( 'email-activation-mail-body' ); $subject = $settings->get_value( 'email-activation-mail-subject' ); $activation_link = add_query_arg( array( 'swpm_email_activation' => '1', 'swpm_member_id' => $member_id, 'swpm_token' => $act_code, ), get_home_url() ); // Allow hooks to change the value of activation_link $activation_link = apply_filters('swpm_send_reg_email_activation_link', $activation_link); $member_info['activation_link'] = $activation_link; //Debug purposes. //SwpmLog::log_simple_debug( 'send_reg_email() - email activation link: ' . $activation_link, true ); } $from_address = $settings->get_value( 'email-from' ); $login_link = $settings->get_value( 'login-page-url' ); $headers = 'From: ' . $from_address . "\r\n"; $member_info['membership_level_name'] = SwpmPermission::get_instance( $member_info['membership_level'] )->get( 'alias' ); $member_info['password'] = $member_info['plain_password']; $member_info['login_link'] = $login_link; $values = array_values( $member_info ); $keys = array_map( 'swpm_enclose_var', array_keys( $member_info ) ); $body = html_entity_decode( $body ); $body = str_replace( $keys, $values, $body ); $swpm_user = SwpmMemberUtils::get_user_by_user_name( $member_info['user_name'] ); $member_id = $swpm_user->member_id; $body = SwpmMiscUtils::replace_dynamic_tags( $body, $member_id ); //Do the standard merge var replacement. $email = sanitize_email( filter_input( INPUT_POST, 'email', FILTER_UNSAFE_RAW ) ); if ( empty( $email ) ) { $email = $swpm_user->email; } $body = apply_filters( 'swpm_registration_complete_email_body', $body ); //This filter can be used to modify the registration complete email body dynamically. //Send notification email to the member $subject = apply_filters( 'swpm_email_registration_complete_subject', $subject ); $body = apply_filters( 'swpm_email_registration_complete_body', $body ); //You can override the email to empty to disable this email. if ( ! empty( $body ) ) { SwpmMiscUtils::mail( trim( $email ), $subject, $body, $headers ); SwpmLog::log_simple_debug( 'Member registration complete email sent to: ' . $email . '. From email address value used: ' . $from_address, true ); } else { SwpmLog::log_simple_debug( 'NOTICE: Registration complete email body value is empty. Member registration complete email will NOT be sent.', true ); } if ( $settings->get_value( 'enable-admin-notification-after-reg' ) && ! $this->email_activation ) { //Send notification email to the site admin $admin_notification = $settings->get_value( 'admin-notification-email' ); $admin_notification = empty( $admin_notification ) ? $from_address : $admin_notification; $notify_emails_array = explode( ',', $admin_notification ); $headers = 'From: ' . $from_address . "\r\n"; $admin_notify_subject = $settings->get_value( 'reg-complete-mail-subject-admin' ); if ( empty( $admin_notify_subject ) ) { $admin_notify_subject = 'Notification of New Member Registration'; } $admin_notify_body = $settings->get_value( 'reg-complete-mail-body-admin' ); if ( empty( $admin_notify_body ) ) { $admin_notify_body = "A new member has completed the registration.\n\n" . "Username: {user_name}\n" . "Email: {email}\n\n" . "Please login to the admin dashboard to view details of this user.\n\n" . "You can customize this email message from the Email Settings menu of the plugin.\n\n" . 'Thank You'; } $additional_args = array( 'password' => $member_info['plain_password'] ); $admin_notify_body = SwpmMiscUtils::replace_dynamic_tags( $admin_notify_body, $member_id, $additional_args ); //Do the standard merge var replacement. foreach ( $notify_emails_array as $to_email ) { $to_email = trim( $to_email ); $admin_notify_subject = apply_filters( 'swpm_email_admin_notify_subject', $admin_notify_subject ); $admin_notify_body = apply_filters( 'swpm_email_admin_notify_body', $admin_notify_body ); SwpmMiscUtils::mail( $to_email, $admin_notify_subject, $admin_notify_body, $headers ); SwpmLog::log_simple_debug( 'Admin notification email sent to: ' . $to_email, true ); } } return true; } } function swpm_enclose_var( $n ) { return '{' . $n . '}'; } classes/common/class.swpm-list-table.php000064400000000157147206617610014347 0ustar00get_value( 'admin-dashboard-access-permission' ); if ( empty( $admin_dashboard_permission ) ) { //By default only admins can manage/see admin dashboard define( 'SWPM_MANAGEMENT_PERMISSION', 'manage_options' ); } else { define( 'SWPM_MANAGEMENT_PERMISSION', $admin_dashboard_permission ); } //Override the settings menu (options.php) update capability according to the role set in "Admin Dashboard Access Permission" option. add_filter( 'option_page_capability_swpm-settings-tab-1', 'SwpmUtils::swpm_settings_update_capability' ); add_filter( 'option_page_capability_swpm-settings-tab-2', 'SwpmUtils::swpm_settings_update_capability' ); add_filter( 'option_page_capability_swpm-settings-tab-3', 'SwpmUtils::swpm_settings_update_capability' ); add_filter( 'option_page_capability_swpm-settings-tab-4', 'SwpmUtils::swpm_settings_update_capability' ); add_filter( 'option_page_capability_swpm-settings-tab-5', 'SwpmUtils::swpm_settings_update_capability' ); } public static function swpm_settings_update_capability($capability){ if ( defined('SWPM_MANAGEMENT_PERMISSION') ){ //Use SWPM defined one. $capability = SWPM_MANAGEMENT_PERMISSION; } else { //Use default. $capability = 'manage_options'; } return $capability; } public static function subscription_type_dropdown( $selected ) { return '' . '' . '' . '' . '' . ''; } // $subscript_period must be integer. public static function calculate_subscription_period_days( $subcript_period, $subscription_duration_type ) { if ( $subscription_duration_type == SwpmMembershipLevel::NO_EXPIRY ) { return 'noexpire'; } if ( ! is_numeric( $subcript_period ) ) { throw new Exception( ' subcript_period parameter must be integer in SwpmUtils::calculate_subscription_period_days method' ); } switch ( strtolower( $subscription_duration_type ) ) { case SwpmMembershipLevel::DAYS: break; case SwpmMembershipLevel::WEEKS: $subcript_period = $subcript_period * 7; break; case SwpmMembershipLevel::MONTHS: $subcript_period = $subcript_period * 30; break; case SwpmMembershipLevel::YEARS: $subcript_period = $subcript_period * 365; break; } return $subcript_period; } public static function get_expiration_timestamp( $user ) { //Check and make sure that the user object has a valid membership level assigned. if ( !isset($user->membership_level) || !is_numeric($user->membership_level) || !SwpmMembershipLevelUtils::check_if_membership_level_exists($user->membership_level) ){ //This is a critical error. The user object does not have a valid membership level assigned. //Log this critical error and end the script with an error message. $member_id = isset($user->member_id) ? $user->member_id : ''; $critical_error_msg = "Error! This member profile (Member ID: ". $member_id .") does not have a valid membership level assigned. The site admin needs to assign a valid membership level to this member profile."; SwpmLog::log_simple_debug($critical_error_msg, false); if(is_admin()){ //This is getting called from the admin dashboard side. Just return from here so the rest of the code can execute. //This allows the admin to edit/update the member's profile with a valid membership level. return; }else{ //This is getting called from the front-end side (example: at member login time). So we need to show a critical error message to the member and end the script. wp_die($critical_error_msg); //The script will die here. So the rest of the code will not be executed. } } //Get the permission object for the user's membership level $permission = SwpmPermission::get_instance( $user->membership_level ); if ( SwpmMembershipLevel::FIXED_DATE == $permission->get( 'subscription_duration_type' ) ) { return strtotime( $permission->get( 'subscription_period' ) ); } $days = self::calculate_subscription_period_days( $permission->get( 'subscription_period' ), $permission->get( 'subscription_duration_type' ) ); if ( $days == 'noexpire' ) { return PHP_INT_MAX; // which is equivalent to } return strtotime( $user->subscription_starts . ' ' . $days . ' days' ); } public static function is_subscription_expired( $user ) { $expiration_timestamp = self::get_expiration_timestamp( $user ); if ( $expiration_timestamp < time() ) { //Account expired. return true; } return false; } /* * Returns a formatted expiry date string (of a member). This can be useful to echo the date value. */ public static function get_formatted_expiry_date( $start_date, $subscription_duration, $subscription_duration_type ) { if ( $subscription_duration_type == SwpmMembershipLevel::FIXED_DATE ) { //Membership will expire after a fixed date. return self::get_formatted_and_translated_date_according_to_wp_settings( $subscription_duration ); } $expires = self::calculate_subscription_period_days( $subscription_duration, $subscription_duration_type ); if ( $expires == 'noexpire' ) { //Membership is set to no expiry or until cancelled. return self::_( 'Never' ); } //Membership is set to a duration expiry settings. return date_i18n( get_option( 'date_format' ), strtotime( $start_date . ' ' . $expires . ' days' ) ); } public static function gender_dropdown( $selected = 'not specified' ) { return '' . '' . ''; } public static function get_account_state_options() { return array( 'active' => __( 'Active', 'simple-membership' ), 'inactive' => __( 'Inactive', 'simple-membership' ), 'activation_required' => __( 'Activation Required', 'simple-membership' ), 'pending' => __( 'Pending', 'simple-membership' ), 'expired' => __( 'Expired', 'simple-membership' ), ); } public static function account_state_dropdown( $selected = 'active' , $option_all = false) { $options = self::get_account_state_options(); $html = ''; foreach ( $options as $key => $value ) { $html .= ''; } return $html; } public static function membership_level_dropdown( $selected = 0, $option_all = false ) { $options = ''; global $wpdb; $query = 'SELECT alias, id FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id != 1'; $levels = $wpdb->get_results( $query ); foreach ( $levels as $level ) { $options .= ''; } return $options; } public static function get_all_membership_level_ids() { global $wpdb; $query = 'SELECT id FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id != 1'; return $wpdb->get_col( $query ); } public static function get_membership_level_row_by_id( $level_id ) { global $wpdb; $query = $wpdb->prepare( 'SELECT * FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id=%d', $level_id ); $level_resultset = $wpdb->get_row( $query ); return $level_resultset; } public static function membership_level_id_exists( $level_id ) { //Returns true if the specified membership level exists in the system. Returns false if the level has been deleted (or doesn't exist). $all_level_ids = self::get_all_membership_level_ids(); if ( in_array( $level_id, $all_level_ids ) ) { //Valid level ID return true; } else { return false; } } public static function get_registration_complete_prompt_link( $for = 'all', $send_email = false, $member_id = '' ) { $members = array(); global $wpdb; switch ( $for ) { case 'one': if ( empty( $member_id ) ) { return array(); } $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE member_id = %d", $member_id ); $members = $wpdb->get_results( $query ); break; case 'all': $query = "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE reg_code != '' "; $members = $wpdb->get_results( $query ); break; } $settings = SwpmSettings::get_instance(); $separator = '?'; $url = $settings->get_value( 'registration-page-url' ); if ( strpos( $url, '?' ) !== false ) { $separator = '&'; } $links = array(); foreach ( $members as $member ) { $reg_url = $url . $separator . 'member_id=' . $member->member_id . '&code=' . $member->reg_code; if ( $send_email && empty( $member->user_name ) ) { $tags = array( '{first_name}', '{last_name}', '{reg_link}' ); $vals = array( $member->first_name, $member->last_name, $reg_url ); $subject = $settings->get_value( 'reg-prompt-complete-mail-subject' ); if ( empty( $subject ) ) { $subject = 'Please complete your registration'; } $body = $settings->get_value( 'reg-prompt-complete-mail-body' ); if ( empty( $body ) ) { $body = "Please use the following link to complete your registration. \n {reg_link}"; } $body = html_entity_decode( $body ); $email_body = str_replace( $tags, $vals, $body ); $from_address = $settings->get_value( 'email-from' ); $headers = 'From: ' . $from_address . "\r\n"; $subject = apply_filters( 'swpm_email_complete_your_registration_subject', $subject ); $email_body = apply_filters( 'swpm_email_complete_your_registration_body', $email_body ); SwpmMiscUtils::mail( $member->email, $subject, $email_body, $headers ); SwpmLog::log_simple_debug( 'Prompt to complete registration email sent to: ' . $member->email . '. From email address value used: ' . $from_address, true ); } $links[] = $reg_url; } return $links; } /* This function is deprecated and will be removed in the future. Use SwpmMemberUtils::update_wp_user_role() instead */ public static function update_wp_user_Role( $wp_user_id, $role ) { // Deprecated function. SwpmMemberUtils::update_wp_user_role( $wp_user_id, $role ); } public static function update_wp_user( $wp_user_name, $swpm_data ) { $wp_user_info = array(); if ( isset( $swpm_data['email'] ) ) { $wp_user_info['user_email'] = $swpm_data['email']; } if ( isset( $swpm_data['first_name'] ) ) { $wp_user_info['first_name'] = $swpm_data['first_name']; } if ( isset( $swpm_data['last_name'] ) ) { $wp_user_info['last_name'] = $swpm_data['last_name']; } if ( isset( $swpm_data['plain_password'] ) ) { $wp_user_info['user_pass'] = $swpm_data['plain_password']; } $wp_user = get_user_by( 'login', $wp_user_name ); if ( $wp_user ) { $wp_user_info['ID'] = $wp_user->ID; return wp_update_user( $wp_user_info ); } return false; } public static function create_wp_user( $wp_user_data ) { //First, check if email or username belongs to an existing admin user. SwpmMemberUtils::check_and_die_if_email_belongs_to_admin_user($wp_user_data['user_email']); SwpmMemberUtils::check_and_die_if_username_belongs_to_admin_user($wp_user_data['user_login']); //At this point, the username or the email is not taken by any existing wp user with admin role. //Lets continue the normal registration process. //Check if the email belongs to an existing wp user account. $wp_user_id = email_exists( $wp_user_data['user_email'] ); if ( $wp_user_id ) { //A wp user account exist with this email. //For signle site WP install, no new user will be created. The existing user ID will be returned. } else { //Check if the username belongs to an existing wp user account. $wp_user_id = username_exists( $wp_user_data['user_login'] ); if ( $wp_user_id ) { //A wp user account exist with this username. //For signle site WP install, no new user will be created. The existing user ID will be returned. } } //At this point 1) A WP User with this email or username doesn't exist. Or 2) The associated wp user doesn't have admin role //Lets create a new wp user record or attach the SWPM profile to an existing user accordingly. if ( self::is_multisite_install() ) { //WP Multi-Site install global $blog_id; if ( $wp_user_id ) { //If user exists then just add him to current blog. add_existing_user_to_blog( array( 'user_id' => $wp_user_id, 'role' => 'subscriber', ) ); return $wp_user_id; } //No existing user. Create a new one. $wp_user_id = wpmu_create_user( $wp_user_data['user_login'], $wp_user_data['password'], $wp_user_data['user_email'] ); $role = 'subscriber'; //TODO - add user as a subscriber first. The subsequent update user role function to update the role to the correct one add_user_to_blog( $blog_id, $wp_user_id, $role ); //End of WPMS } else { //This is a WP Single Site install. //Lets see if an existing WP user exist from the email_exists() or username_exists() check earlier. if ( $wp_user_id ) { return $wp_user_id; } //No existing user. Try to create a brand new WP user entry. $wp_user_id = wp_create_user( $wp_user_data['user_login'], $wp_user_data['password'], $wp_user_data['user_email'] ); //Update that newly created user's profile with additional data. $wp_user_data['ID'] = $wp_user_id; wp_update_user( $wp_user_data ); //Core WP function. Updates/Syncs the user info and role. } return $wp_user_id; } public static function is_multisite_install() { if ( function_exists( 'is_multisite' ) && is_multisite() ) { return true; } else { return false; } } public static function _( $msg ) { return __( $msg, 'simple-membership' ); } public static function e( $msg ) { _e( $msg, 'simple-membership' ); } /* * Deprecated. Instead use SwpmUtils::has_admin_management_permission() */ public static function is_admin() { //This function returns true if the current user has WordPress admin management permission (not to be mistaken with SWPM admin permission. //This function is NOT like the WordPress's is_admin() function which determins if we are on the admin end of the site. //TODO - rename this function to something like is_admin_user() return current_user_can( 'manage_options' ); } public static function has_admin_management_permission() { if ( current_user_can( SWPM_MANAGEMENT_PERMISSION ) ) { return true; } else { return false; } } /* * Returns the current date timestamp value suitable for debug log file. */ public static function get_current_timestamp_for_debug_log(){ $current_wp_time = current_time('mysql'); $dt = new DateTime($current_wp_time); $current_date = $dt->format('Y/m/d H:i:s'); return $current_date; } /* * Returns the current date value in (Y-m-d) format in the timzeone set for this WordPress install. */ public static function get_current_date_in_wp_zone(){ $current_wp_time = current_time('mysql'); $dt = new DateTime($current_wp_time); $current_date = $dt->format('Y-m-d'); return $current_date; } /* * Formats the given date value according to the WP date format settings. This function is useful for displaying a human readable date value to the user. */ public static function get_formatted_date_according_to_wp_settings( $date ) { $date_format = get_option( 'date_format' ); if ( empty( $date_format ) ) { //WordPress's date form settings is not set. Lets set a default format. $date_format = 'Y-m-d'; } $date_obj = new DateTime( $date ); $formatted_date = $date_obj->format( $date_format ); //Format the date value using date format settings return $formatted_date; } /* * Formats and Translates the given date value according to the WP date format settings. This function is useful for displaying a human readable date value to the user. * The $date argument value must be in nromal date format (2025-01-15). The function will use strtotime() function to convert it to unix time then use it. */ public static function get_formatted_and_translated_date_according_to_wp_settings( $date ) { $date_format = get_option( 'date_format' ); if ( empty( $date_format ) ) { //WordPress's date form settings is not set. Lets set a default format. $date_format = 'Y-m-d'; } $formatted_translated_date = date_i18n( $date_format, strtotime( $date ) ); return $formatted_translated_date; } public static function swpm_username_exists( $user_name ) { global $wpdb; $member_table = $wpdb->prefix . 'swpm_members_tbl'; $query = $wpdb->prepare( 'SELECT member_id FROM ' . $member_table . ' WHERE user_name=%s', sanitize_user( $user_name ) ); return $wpdb->get_var( $query ); } public static function get_free_level() { $encrypted = sanitize_text_field( $_POST['level_identifier'] ); if ( ! empty( $encrypted ) ) { //We already checked using hash that the membership_level value is authentic. Now check the level_identifier against the membership_level. $level_value = SwpmForm::get_membership_level_from_request(); $hash_val = md5( $level_value ); if ( $hash_val != $encrypted ) {//level_identifier validation failed. $msg = '

Error! Security check failed for membership level identifier validation.

'; $msg .= '

The submitted membership level data does not match.

'; $msg .= '

If you are using caching please empty the cache data and try again.

'; if ( isset ( $_POST['swpm-fb-submit'] ) ){//Form builder submission potentially $msg .= '

If you are using the Form Builder addon, please update the addon and try again.

'; } wp_die( $msg ); } return SwpmPermission::get_instance( $encrypted )->get( 'id' ); } $is_free = SwpmSettings::get_instance()->get_value( 'enable-free-membership' ); $free_level = absint( SwpmSettings::get_instance()->get_value( 'free-membership-id' ) ); return ( $is_free ) ? $free_level : null; } public static function is_registration_completion_link_invalid(){ if( self::is_paid_registration() ){ //We are on the prompt to complete registration link URL. //Check that this is not after the registration form has been submitted (we don't want to show a warning if the form has been submitted just now) if( isset( $_REQUEST['swpm_registration_submit'] ) || isset( $_REQUEST['swpm-fb-submit'] )){ return false; } //Check if it points to a valid user profile or not. $member = SwpmUtils::get_paid_member_info(); if ( empty($member )){ //A member record does not exist. So this link is invalid. return true; } } return false; } public static function is_registration_completion_link_already_used(){ if( self::is_paid_registration() ){ //We are on the prompt to complete registration link URL. //Check that this is not after the registration form has been submitted (we don't want to show a warning if the form has been submitted just now) if( isset( $_REQUEST['swpm_registration_submit'] ) || isset( $_REQUEST['swpm-fb-submit'] )){ return false; } //Check if this link has already been used and the profile setup is already done. $member_id = filter_input( INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT ); $member_record = SwpmMemberUtils::get_user_by_id($member_id); if (isset($member_record->user_name) && !empty($member_record->user_name)){ //A member record exists with a username value. So this link has been used already. Account is already setup. return true; } } return false; } public static function is_paid_registration() { $member_id = filter_input( INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT ); $code = isset( $_GET['code'] ) ? sanitize_text_field( stripslashes ( $_GET['code'] ) ) : ''; if ( ! empty( $member_id ) && ! empty( $code ) ) { return true; } return false; } public static function get_paid_member_info() { $member_id = filter_input( INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT ); $code = isset( $_GET['code'] ) ? sanitize_text_field( stripslashes ( $_GET['code'] ) ) : ''; global $wpdb; if ( ! empty( $member_id ) && ! empty( $code ) ) { $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE member_id= %d AND reg_code=%s'; $query = $wpdb->prepare( $query, $member_id, $code ); return $wpdb->get_row( $query ); } return null; } public static function get_incomplete_paid_member_info_by_ip() { global $wpdb; $user_ip = self::get_user_ip_address(); if ( ! empty( $user_ip ) ) { //Lets check if a payment has been confirmed from this user's IP and the profile needs to be completed (where username is empty). $username = ''; $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE last_accessed_from_ip=%s AND user_name=%s'; $query = $wpdb->prepare( $query, $user_ip, $username ); $result = $wpdb->get_row( $query ); return $result; } return null; } public static function account_delete_confirmation_ui( $msg = '' ) { ob_start(); include SIMPLE_WP_MEMBERSHIP_PATH . 'views/account_delete_warning.php'; ob_get_flush(); $title = __( 'Confirm Account Deletion', 'simple-membership' ); wp_die( '', $title, array( 'back_link' => true ) ); } public static function delete_account_button() { $allow_account_deletion = SwpmSettings::get_instance()->get_value( 'allow-account-deletion' ); if ( empty( $allow_account_deletion ) ) { return ''; } $account_delete_link = ''; return $account_delete_link; } public static function encrypt_password( $plain_password ) { include_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); $password_hash = $wp_hasher->HashPassword( trim( $plain_password ) ); return $password_hash; } public static function get_restricted_image_url() { return SIMPLE_WP_MEMBERSHIP_URL . '/images/restricted-icon.png'; } /* * Checks if the string exists in the array key value of the provided array. If it doesn't exist, it returns the first key element from the valid values. */ public static function sanitize_value_by_array( $val_to_check, $valid_values ) { $keys = array_keys( $valid_values ); $keys = array_map( 'strtolower', $keys ); if ( in_array( $val_to_check, $keys ) ) { return $val_to_check; } return reset( $keys ); //Return he first element from the valid values } public static function swpm_sanitize_text( $text ) { $text = htmlspecialchars( $text ); $text = strip_tags( $text ); $text = sanitize_text_field( $text ); $text = esc_attr( $text ); return $text; } public static function get_user_ip_address() { $user_ip = ''; if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) && ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $user_ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $user_ip = $_SERVER['REMOTE_ADDR']; } if ( strstr( $user_ip, ',' ) ) { $ip_values = explode( ',', $user_ip ); $user_ip = $ip_values['0']; } return apply_filters( 'swpm_get_user_ip_address', $user_ip ); } public static function is_first_click_free( &$content ) { $is_first_click = false; $args = array( $is_first_click, $content ); $filtered = apply_filters( 'swpm_first_click_free', $args ); list($is_first_click, $content) = $filtered; return $is_first_click; } private static function crypt_fallback( $string, $action = 'e' ) { if ( $action === 'e' ) { return base64_encode( $string ); } else { return base64_decode( $string ); } } public static function crypt( $string, $action = 'e' ) { //check if openssl module is enabled if ( ! extension_loaded( 'openssl' ) ) { // no openssl extension loaded. Can't ecnrypt return self::crypt_fallback( $string, $action ); } //check if encrypt method is supported $encrypt_method = 'aes-256-ctr'; $available_methods = openssl_get_cipher_methods(); if ( ! in_array( $encrypt_method, $available_methods ) ) { // no ecryption method supported. Can't encrypt return self::crypt_fallback( $string, $action ); } $output = false; $secret_key = wp_salt( 'auth' ); $secret_iv = wp_salt( 'secure_auth' ); $key = hash( 'sha256', $secret_key ); $iv = substr( hash( 'sha256', $secret_iv ), 0, 16 ); if ( $action == 'e' ) { $output = base64_encode( openssl_encrypt( $string, $encrypt_method, $key, 0, $iv ) ); } elseif ( $action == 'd' ) { $output = openssl_decrypt( base64_decode( $string ), $encrypt_method, $key, 0, $iv ); } return $output; } public static function is_rego_form_submitted(){ if ( isset( $_POST[ 'swpm_registration_submit' ] ) ){ //Core plugin's registration form submitted return true; } if ( isset( $_POST[ 'swpm-fb-submit' ] ) ){ //Form builder form submission. return true; } return false; } public static function get_fb_rego_email_field_value(){ if ( !isset($_POST[ 'form_id' ]) ){ return ''; } $fb_email = ''; $form_id = absint( $_POST[ 'form_id' ] ); if ( !empty($form_id) ){ //This is a form builder form. Get the email address for this custom form. if ( !class_exists('SwpmFbForm') ){ return ''; } $fb_form = new SwpmFbForm(); $fb_form->init_by_id( $form_id ); foreach ( $fb_form->formmeta->fields as $field ){ if ( !isset($field->key) || !is_string($field->key)){ continue; } if( $field->key == 'primary_email' ){ $fb_email = $fb_form->get_field_value($field); break; } } } return $fb_email; } public static function csv_equal_match( $needle, $haystack_csv ) { if($haystack_csv && strlen($haystack_csv)>0) { //Converting to lowercase for better matching $haystack_csv = strtolower($haystack_csv); $haystack_csv_array = explode(",",$haystack_csv); foreach($haystack_csv_array as $value) { if(trim($needle)==trim($value)) { return true; } } } return false; } public static function csv_pattern_match( $needle, $haystack_csv ) { if($haystack_csv && strlen($haystack_csv)>0) { //For pattern match, we need to check if any of the individual pattern matches with any part/full of the entered user email address. $user_email_address = $needle;//We need to search each pattern entry within this user email address value to see if there is any match. $haystack_csv = strtolower($haystack_csv); $haystack_csv_array = explode(",",$haystack_csv); foreach($haystack_csv_array as $findme) { $findme = trim($findme); if(stripos($user_email_address, $findme)!==false) { //Found a match for the pattern. return true; } } } return false; } public static function email_merge_tags() { return array( "first_name" => __("Member's first name", "simple-membership"), "last_name" => __("Member's last name", "simple-membership"), "email" => __("Member's email address", "simple-membership"), "member_id" => __("Member ID", "simple-membership"), "user_name" => __("Member's username", "simple-membership"), "account_state" => __("Account status", "simple-membership"), "membership_level" => __("Membership level ID", "simple-membership"), "membership_level_name" => __("Membership level name", "simple-membership"), "phone" => __("Phone number (if available)", "simple-membership"), "member_since" => __("Member since date", "simple-membership"), "subscription_starts" => __("Subscription start date", "simple-membership"), "company_name" => __("Company name", "simple-membership"), "primary_address" => __("Member's address", "simple-membership"), ); } public static function get_formatted_payment_gateway_name($gateway){ switch ($gateway) { case 'stripe': return 'Stripe (Legacy)'; case 'stripe-sca': return 'Stripe Buy Now'; case 'stripe-sca-subs': return 'Stripe Subscription'; case 'paypal': return 'PayPal Standard'; case 'paypal_buy_now_checkout': return 'PayPal Buy Now (PPCP)'; case 'paypal_subscription_checkout': return 'PayPal Subscription (PPCP)'; case 'braintree': return 'Braintree'; default: return $gateway; } } } classes/class.swpm-form.php000064400000026035147206617610011765 0ustar00fields = $fields; $this->sanitized = array(); $this->errors = array(); $this->validate_wp_user_email(); if ($this->is_valid()){ foreach ($fields as $key => $value){ $this->$key(); } } } protected function validate_wp_user_email(){ $user_name = isset($_POST['user_name']) ? sanitize_text_field(stripslashes($_POST['user_name'])) : ''; $email = filter_input(INPUT_POST, 'email', FILTER_UNSAFE_RAW); if (empty($user_name)) { return; } $user = get_user_by('login', $user_name); if ($user && ($user->user_email != $email)){ $error_msg = SwpmUtils::_("Wordpress account exists with given username. But the given email doesn't match."); $error_msg .= SwpmUtils::_(" Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account."); $this->errors['wp_email'] = $error_msg; return; } $user = get_user_by('email', $email); if($user && ($user_name != $user->user_login)){ $error_msg = SwpmUtils::_("Wordpress account exists with given email. But the given username doesn't match."); $error_msg .= SwpmUtils::_(" Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account."); $this->errors['wp_user'] = $error_msg; } } protected function user_name() { global $wpdb; if (!empty($this->fields['user_name'])){return;} $user_name = isset($_POST['user_name']) ? sanitize_text_field(stripslashes($_POST['user_name'])) : ''; if (empty($user_name)) { $this->errors['user_name'] = SwpmUtils::_('Username is required'); return; } if (!SwpmMemberUtils::is_valid_user_name($user_name)) { $this->errors['user_name'] = SwpmUtils::_('Username contains invalid character'); return; } $saned = sanitize_text_field($user_name); $query = "SELECT count(member_id) FROM {$wpdb->prefix}swpm_members_tbl WHERE user_name= %s"; $result = $wpdb->get_var($wpdb->prepare($query, strip_tags($saned))); if ($result > 0) { if ($saned != $this->fields['user_name']) { $this->errors['user_name'] = SwpmUtils::_('Username already exists.'); return; } } $this->sanitized['user_name'] = $saned; } protected function first_name() { $first_name = isset($_POST['first_name']) ? sanitize_text_field(stripslashes($_POST['first_name'])) : ''; $this->sanitized['first_name'] = sanitize_text_field($first_name); } protected function last_name() { $last_name = isset($_POST['last_name']) ? sanitize_text_field(stripslashes($_POST['last_name'])) : ''; $this->sanitized['last_name'] = sanitize_text_field($last_name); } protected function password() { $password = filter_input(INPUT_POST, 'password',FILTER_UNSAFE_RAW); $password_re = filter_input(INPUT_POST, 'password_re',FILTER_UNSAFE_RAW); if (empty($this->fields['password']) && empty($password)) { $this->errors['password'] = SwpmUtils::_('Password is required'); return; } if (!empty($password)) { $saned = sanitize_text_field($password); $saned_re = sanitize_text_field($password_re); if ($saned != $saned_re){ $this->errors['password'] = SwpmUtils::_('Password mismatch'); } $this->sanitized['plain_password'] = $password; $this->sanitized['password'] = SwpmUtils::encrypt_password(trim($saned)); } } protected function email() { global $wpdb; $email = filter_input(INPUT_POST, 'email', FILTER_UNSAFE_RAW); if (empty($email)) { $this->errors['email'] = SwpmUtils::_('Email is required'); return; } if (!is_email($email)) { $this->errors['email'] = SwpmUtils::_('Email is invalid') . " (".esc_attr($email).")"; return; } $saned = sanitize_email($email); $query = "SELECT count(member_id) FROM {$wpdb->prefix}swpm_members_tbl WHERE email= %s"; $member_id = filter_input(INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT); if (!empty($member_id)) { $query .= ' AND member_id !=%d'; $result = $wpdb->get_var($wpdb->prepare($query, strip_tags($saned), $member_id)); } else{ $result = $wpdb->get_var($wpdb->prepare($query, strip_tags($saned))); } if ($result > 0) { if ($saned != $this->fields['email']) { $error_msg = SwpmUtils::_('Email is already used.') . " (" . $saned .")"; $this->errors['email'] = $error_msg; return; } } $this->sanitized['email'] = $saned; } protected function phone() { $phone = filter_input(INPUT_POST, 'phone', FILTER_UNSAFE_RAW); $saned = wp_kses($phone, array()); $this->sanitized['phone'] = $saned; return; } protected function address_street() { $address_street = isset($_POST['address_street']) ? sanitize_text_field(stripslashes($_POST['address_street'])) : ''; $this->sanitized['address_street'] = wp_kses($address_street, array()); } protected function address_city() { $address_city = isset($_POST['address_city']) ? sanitize_text_field(stripslashes($_POST['address_city'])) : ''; $this->sanitized['address_city'] = wp_kses($address_city, array()); } protected function address_state() { $address_state = isset($_POST['address_state']) ? sanitize_text_field(stripslashes($_POST['address_state'])) : ''; $this->sanitized['address_state'] = wp_kses($address_state, array()); } protected function address_zipcode() { $address_zipcode = isset($_POST['address_zipcode']) ? sanitize_text_field(stripslashes($_POST['address_zipcode'])) : ''; $this->sanitized['address_zipcode'] = wp_kses($address_zipcode, array()); } protected function country() { $country = isset($_POST['country']) ? sanitize_text_field(stripslashes($_POST['country'])) : ''; $this->sanitized['country'] = wp_kses($country, array()); } protected function company_name() { $company_name = isset($_POST['company_name']) ? sanitize_text_field(stripslashes($_POST['company_name'])) : ''; $this->sanitized['company_name'] = $company_name; } protected function member_since() { $member_since = filter_input(INPUT_POST, 'member_since', FILTER_UNSAFE_RAW); if (empty($member_since)) {return;} if (preg_match('/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/', $member_since)){ $this->sanitized['member_since'] = sanitize_text_field($member_since); return; } $this->errors['member_since'] = SwpmUtils::_('Member since field is invalid'); } protected function subscription_starts() { $subscription_starts = isset($_POST['subscription_starts']) ? sanitize_text_field($_POST['subscription_starts']) : ''; if(empty($subscription_starts)) {return ;} if (preg_match('/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/', $subscription_starts)){ $this->sanitized['subscription_starts'] = sanitize_text_field($subscription_starts); return; } $this->errors['subscription_starts'] = SwpmUtils::_('Access starts field is invalid'); } protected function gender() { $gender = isset($_POST['gender']) ? sanitize_text_field($_POST['gender']) : ''; if(empty($gender)) {return;} if (in_array($gender, array('male', 'female', 'not specified'))){ $this->sanitized['gender'] = $gender; } else{ $this->errors['gender'] = SwpmUtils::_('Gender field is invalid'); } } protected function account_state() { $account_state = isset($_POST['account_state']) ? sanitize_text_field($_POST['account_state']) : ''; if(empty($account_state)) {return;} if (in_array($account_state, array('active', 'pending', 'activation_required', 'inactive', 'expired'))){ $this->sanitized['account_state'] = $account_state; } else{ $this->errors['account_state'] = SwpmUtils::_('Account state field is invalid'); } } protected function membership_level() { $membership_level = filter_input(INPUT_POST, 'membership_level', FILTER_SANITIZE_NUMBER_INT); if ($membership_level == 1){ $this->errors['membership_level'] = SwpmUtils::_('Invalid membership level'); return; } if (empty($membership_level)) {return;} $this->sanitized['membership_level'] = $membership_level; } public static function get_membership_level_from_request() { $membership_level = filter_input(INPUT_POST, 'membership_level', FILTER_SANITIZE_NUMBER_INT); if (empty($membership_level)) { $membership_level = filter_input(INPUT_POST, 'swpm_membership_level', FILTER_SANITIZE_NUMBER_INT); } return $membership_level; } protected function password_re() { } protected function last_accessed() { } protected function last_accessed_from_ip() { } protected function referrer() { } protected function extra_info() { } protected function reg_code() { } protected function txn_id() { } protected function subscr_id() { $subscr_id = isset($_POST['subscr_id']) ? sanitize_text_field($_POST['subscr_id']) : ''; $this->sanitized['subscr_id'] = $subscr_id; } protected function flags() { } protected function more_membership_levels() { } protected function initial_membership_level() { } protected function home_page() { } protected function notes() { $admin_note = isset($_POST['notes']) ? sanitize_textarea_field(stripslashes($_POST['notes'])) : ''; $this->sanitized['notes'] = $admin_note; } protected function profile_image() { } protected function expiry_1st() { } protected function expiry_2nd() { } protected function member_id() { } public function is_valid() { if (!isset($this->errors)){ //Errors are not set at all. Return true. return true; } return count($this->errors) < 1; } public function get_sanitized_member_form_data() { return $this->sanitized; } public function get_errors() { return $this->errors; } } classes/class.simple-wp-membership.php000064400000162375147206617610014114 0ustar00user_login); //Check if SWPM user entry exists if (empty($swpm_user)) { SwpmLog::log_auth_debug("wp_password_reset_hook() - SWPM user not found for username: '" . $user->user_login ."'. This is OK, assuming that this user was created directly in WP Users menu (not using SWPM).", true); return; } $swpm_id = $swpm_user->member_id; if (!empty($swpm_id)) { $password_hash = SwpmUtils::encrypt_password($pass); global $wpdb; $wpdb->update($wpdb->prefix . "swpm_members_tbl", array('password' => $password_hash), array('member_id' => $swpm_id)); } } public function save_attachment_extra($post, $attachment) { $this->save_postdata($post['ID']); return $post; } public function filter_media_rest_request_before_callbacks( $response, $handler, $request ) { //Trigger a filter to override this feature from custom code. $overridden = apply_filters('swpm_override_filter_media_rest_request_before_callbacks', ""); if ( ! empty ( $overridden )){ //This filter has been overridden in a custom code/plugin. return $response; } if ( is_admin() ) { //No need to filter on the admin dashboard side return $response; } //Check if this is a WP REST API query for media. $req_route = $request->get_route(); //SwpmLog::log_simple_debug($req_route, true); if ( stripos($req_route, 'media') === false ){ //Not a media request. //SwpmLog::log_simple_debug('Not a media request.', true); return $response; } //Check if the media belongs to a post/page that is protected. $req_qry_params = $request->get_query_params(); if ( isset ( $req_qry_params['parent'] ) ){ //The media has a parent post/page. Lets check if that parent is protected. $acl = SwpmAccessControl::get_instance(); $post_ids = $req_qry_params['parent']; foreach ( $post_ids as $post_id){ //SwpmLog::log_simple_debug('Post ID: ' . $post_id, true); //Check access control $post = get_post($post_id); if ($acl->can_i_read_post($post)) { //I have permission read this post return $response; } else { //No permission. Throw an error. return new WP_Error( 'forbidden', 'Access forbidden! The post or page that this media belongs to is protected.', array( 'status' => 403 ) ); } } } else { //Not for any post/page. Return the normal respose. return $response; } } public function filter_attachment($content, $post_id) { if (is_admin()) {//No need to filter on the admin side return $content; } $acl = SwpmAccessControl::get_instance(); if (has_post_thumbnail($post_id)) { return $content; } $post = get_post($post_id); if ($acl->can_i_read_post($post)) { return $content; } if (isset($content['file'])) { $content['file'] = 'restricted-icon.png'; $content['width'] = '400'; $content['height'] = '400'; } if (isset($content['sizes'])) { if (isset($content['sizes']['thumbnail'])) { $content['sizes']['thumbnail']['file'] = 'restricted-icon.png'; $content['sizes']['thumbnail']['mime-type'] = 'image/png'; } if (isset($content['sizes']['medium'])) { $content['sizes']['medium']['file'] = 'restricted-icon.png'; $content['sizes']['medium']['mime-type'] = 'image/png'; } if (isset($content['sizes']['post-thumbnail'])) { $content['sizes']['post-thumbnail']['file'] = 'restricted-icon.png'; $content['sizes']['post-thumbnail']['mime-type'] = 'image/png'; } } return $content; } public function filter_attachment_url($content, $post_id) { if (is_admin()) {//No need to filter on the admin side return $content; } $acl = SwpmAccessControl::get_instance(); if (has_post_thumbnail($post_id)) { return $content; } $post = get_post($post_id); if ($acl->can_i_read_post($post)) { return $content; } return SwpmUtils::get_restricted_image_url(); } public function admin_init_hook() { //This hook is triggered in the wp-admin side only. $this->common_library(); //Load the common JS libraries and Styles $swpm_settings_obj = SwpmSettings::get_instance(); //Check if the "Disable Access to WP Dashboard" option is enabled. $disable_wp_dashboard_for_non_admins = $swpm_settings_obj->get_value('disable-access-to-wp-dashboard'); if ($disable_wp_dashboard_for_non_admins) { //This option is enabled if ((defined('DOING_AJAX') && DOING_AJAX)) { //This is an ajax request. Don't do the disable dashboard check for ajax. } else { //Not an ajax request. Do the check. if (!current_user_can('administrator')) { //This is a non-admin user. Do not show the wp dashboard. $message = '

' . SwpmUtils::_('The admin of this site does not allow users to access the wp dashboard.') . '

'; $message .= '

' . SwpmUtils::_('Go back to the home page by ') . '' . SwpmUtils::_('clicking here') . '.' . '

'; wp_die($message); } } } //Admin user feedback notice include_once SIMPLE_WP_MEMBERSHIP_PATH . 'classes/admin-includes/class.swpm-admin-user-feedback.php'; $user_feedback = new SWPM_Admin_User_Feedback(); $user_feedback->init(); //Initialize the settings menu hooks. $swpm_settings_obj->init_config_hooks(); $addon_saved = isset($_POST['swpm-addon-settings']) ? sanitize_text_field($_POST['swpm-addon-settings']) : ''; if (!empty($addon_saved) && current_user_can('manage_options')) { check_admin_referer('swpm_addon_settings_section', 'swpm_addon_settings_section_save_settings'); do_action('swpm_addon_settings_save'); } } public function hide_adminbar() { //Never show admin toolbar if the user is not even logged in if (function_exists('is_user_logged_in') && !is_user_logged_in()) { return false; } //Show admin toolbar to admin only feature is enabled. $show_to_admin = SwpmSettings::get_instance()->get_value('show-adminbar-admin-only'); if ($show_to_admin) { if (current_user_can('administrator')) { //This is an admin user so show the tooldbar return true; } else { return false; } } //Hide admin toolbar if the hide adminbar feature is enabled $hide = SwpmSettings::get_instance()->get_value('hide-adminbar'); return $hide ? FALSE : TRUE; } public static function handle_after_login_authentication($username, $pass, $rememberme = true) { //This function is called after authentication is successful in SWPM. //This function should only handle/execute when the loign originates from our plugin's login form. if(isset($_REQUEST['wp-submit'])){ //This is a WP login form submission. //Just return from here since this function's wp_signon call is only needed when the login request originates from our plugin's login form. //WP will handle the full login operation and post-login redirection. SwpmLog::log_auth_debug("The wp-submit query parameter is set. This login action originated from WP login form submission. WP will handle the main login operation and any post login redirection.", true); //Trigger a separate hook for WP login form submission. do_action('swpm_after_login_authentication_wp_login_form'); return; } if (is_user_logged_in()) { $current_user = wp_get_current_user(); SwpmLog::log_auth_debug("Static function handle_after_login_authentication(). User is logged in. WP Username: " . $current_user->user_login, true); if ($current_user->user_login == $username) { return; } } SwpmLog::log_auth_debug("Trying wp_signon() with username: " . $username, true); add_filter('wordfence_ls_require_captcha', '__return_false');//For Wordfence plugin's captcha compatibility //Try to login the user into WP user system. $user_obj = wp_signon(array('user_login' => $username, 'user_password' => $pass, 'remember' => $rememberme), is_ssl()); if ($user_obj instanceof WP_User) { wp_set_current_user($user_obj->ID, $user_obj->user_login); SwpmLog::log_auth_debug("Setting current WP user to: " . $user_obj->user_login, true); } else { SwpmLog::log_auth_debug("wp_signon() failed for the corresponding WP user account.", false); if (is_wp_error($user_obj)) { //SwpmLog::log_auth_debug("Error Message: ". $user_obj->get_error_message(), false); $force_wp_user_sync = SwpmSettings::get_instance()->get_value('force-wp-user-sync'); if (!empty($force_wp_user_sync)) { //Force WP user login sync is enabled. Show error and exit out since the WP user login failed. $error_msg = SwpmUtils::_("Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: ") . $username; $error_msg .= "

" . SwpmUtils::_("This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system."); $error_msg .= "

" . SwpmUtils::_("Contact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account."); $error_msg .= "

" . SwpmUtils::_("The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away."); $error_msg .= "

" . SwpmUtils::_("You can use the back button of your browser to go back to the site."); wp_die($error_msg); } } } SwpmLog::log_auth_debug("Triggering swpm_login_auth_completed_filter hook.", true); $proceed_after_auth = apply_filters('swpm_login_auth_completed_filter', true); if (!$proceed_after_auth) { $auth = SwpmAuth::get_instance(); $auth->logout(); return; } SwpmLog::log_auth_debug("Triggering swpm_after_login hook.", true); do_action('swpm_after_login');//This hook is triggered when login originates from our plugin's login form. if (!SwpmUtils::is_ajax()) { //Redirection after login to make sure the page loads with all the correct variables set everywhere. //Check if "redirect_to" parameter is set. If so, use that URL. if(isset($_REQUEST['redirect_to'])){ $redirect_url = sanitize_url($_REQUEST['redirect_to']); SwpmLog::log_auth_debug("The redirect_to query parameter is set. Value: ". $redirect_url, true); } else { //The 'redirect_to' parameter is not set. By default we will use the current page URL as the redirect URL. $redirect_url = SwpmMiscUtils::get_current_page_url(); //Check if this is after an auto-login authentication (if yes, we need to override the URL). if( isset( $_REQUEST['swpm_auto_login']) && $_REQUEST['swpm_auto_login'] == '1' ){ //On some servers the current page URL may contain the 'swpm_auto_login' parameter (when the auto-login feature is used) . //In that case, we don't want to create a loop of auto-login redirect. //We will use the site's login-page URL as the redirect URL for that condition. SwpmLog::log_auth_debug("This is after an auto-login authentication. Setting the login page URL as the redirect URL.", true); $redirect_url = SwpmSettings::get_instance()->get_value('login-page-url'); } } //Check if the URL is still empty. If so, use the site home URL. if(empty($redirect_url)){ $redirect_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } $redirect_url = apply_filters('swpm_after_login_redirect_url', $redirect_url); SwpmLog::log_auth_debug("After triggering the default swpm_after_login_redirect_url hook. Redirect URL: ". $redirect_url, true); wp_redirect($redirect_url); exit(0); } } public function swpm_do_user_logout() { //The hook is triggered after the user is logged out of SWPM. //This function should only handle/execute when the logout originates from our plugin's logout form/link. if (is_user_logged_in()) { wp_logout(); wp_set_current_user(0); } } /* This function can be used to authenticate a member using currently logged in wp user. */ public function set_current_user_handler() { $auth = SwpmAuth::get_instance(); if ($auth->is_logged_in()) { return; } $user = wp_get_current_user(); if (empty($user) || $user->ID === 0) { return false; } SwpmLog::log_auth_debug('set_current_user action. Attempting to login user ' . $user->user_login, true); //remove hook in order for it to not be called several times in the process remove_action('set_current_user', array($this, 'set_current_user_handler')); $auth->login_to_swpm_using_wp_user($user); } /* Used to log the user into SWPM system using the wp_login hook. Some social plugins use this hook to handle the login */ public function wp_login_hook_handler($user_login, $user){ SwpmLog::log_auth_debug('wp_login hook triggered. Username: ' . $user_login, true); $auth = SwpmAuth::get_instance(); if ($auth->is_logged_in()) { //User is already logged-in. Nothing to do. return; } $auth->login_to_swpm_using_wp_user($user); } public function wp_authenticate_handler($username, $password) { $auth = SwpmAuth::get_instance(); if (($auth->is_logged_in() && ($auth->userData->user_name == $username))) { SwpmLog::log_auth_debug('wp_authenticate action. User with username: ' . $username . ' is already logged in.', true); return; } if (!empty($username)) { SwpmLog::log_auth_debug('wp_authenticate action. Handling login for username: ' . $username, true); $auth->login($username, $password, true); } else { //empty username can mean some plugin trying to login WP user using its own methods. //Let's add hook for set_current_user action and let it handle the login if needed. SwpmLog::log_auth_debug('wp_authenticate action. Empty username provided. Adding set_current_username hook to catch potential login attempt.', true); add_action('set_current_user', array($this, 'set_current_user_handler')); } } public function login_form_shortcode_output() { ob_start(); $auth = SwpmAuth::get_instance(); if ($auth->is_logged_in()) { //Load the template for logged-in member SwpmUtilsTemplate::swpm_load_template('loggedin.php', false); } else { //Load JS only if option is set $display_password_toggle = SwpmSettings::get_instance()->get_value('password-visibility-login-form'); if ( !empty( $display_password_toggle ) ){ wp_enqueue_script('swpm.password-toggle'); } //Load the login widget template SwpmUtilsTemplate::swpm_load_template('login.php', false); } return ob_get_clean(); } public function wp_logout_handler() { $auth = SwpmAuth::get_instance(); if ($auth->is_logged_in()) { $auth->logout(); } } public function sync_with_wp_profile($wp_user_id, $old_user_data, $userdata) { //Reference - https://developer.wordpress.org/reference/hooks/profile_update/ //Check if the SWPM profile update form was submitted. $swpm_editprofile_submit = filter_input( INPUT_POST, 'swpm_editprofile_submit' ); if ( ! empty( $swpm_editprofile_submit ) ) { //This is a SWPM profile update form submission. Nothing to do here. //SwpmLog::log_simple_debug( 'WP profile_update hook handler - SWPM profile update form submission detected. Nothing to do here.', true ); return; } //Trigger a filter hook to allow any addon(s) to override the wp profile_update hook handling. $overriden_msg = apply_filters('swpm_wp_profile_update_hook_override', ''); if( !empty( $overriden_msg ) ){ //The WP profile_update hook handling has been overridden by an addon. SwpmLog::log_simple_debug( 'WP profile_update hook handling has been overridden by an addon. Nothing to do here.', true ); return; } //Retrieve the SWPM user profile for the given WP user ID. global $wpdb; $wp_user_data = get_userdata($wp_user_id); $query = $wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl WHERE " . ' user_name=%s', $wp_user_data->user_login); $profile = $wpdb->get_row($query, ARRAY_A); $profile = (array) $profile; if ( empty($profile) ) { //No SWPM user found for this WP user. Nothing to do. return; } //Useful for debugging purpose //SwpmLog::log_simple_debug('WP User ID: ' . $wp_user_id, true); //SwpmLog::log_array_data_to_debug($wp_user_data, true); //SwpmLog::log_array_data_to_debug($userdata, true); //Update the SWPM user profile with the latest WP user data that we received via the 'profile_update' action hook. $profile['user_name'] = $wp_user_data->user_login; $profile['email'] = $wp_user_data->user_email; $profile['first_name'] = $wp_user_data->user_firstname; $profile['last_name'] = $wp_user_data->user_lastname; $profile['password'] = $wp_user_data->user_pass; $wpdb->update($wpdb->prefix . "swpm_members_tbl", $profile, array('member_id' => $profile['member_id'])); //===============/ //TODO - Only reset SWPM auth cookies only since this is an update from WP end. WP will handle their cookie reset. //NOTE: This hook will be triggered for both //1) When admin is updating WP user profile from the WP user's menu. //2) When user is updating their own profile from the WP user's profile update interface. //Otherwise any profile update from WP Admin by the site admin can cause logout. //===============/ //Since the encrypted/hashed password is getting updated with the one from WP User entry, the SWPM auth cookies need to be reset to keep the SWPM user logged in. // $auth_object = SwpmAuth::get_instance(); // $swpm_user_name = $profile['user_name']; // $user_info_params = array( // 'member_id' => $profile['member_id'], // 'user_name' => $swpm_user_name, // 'new_enc_password' => $profile['password'], // ); // $auth_object->reset_swpm_auth_cookies_only($user_info_params); SwpmLog::log_simple_debug( 'Completed the profile_update hook handling - SWPM user profile (Member ID: '.$profile['member_id'].') updated with the latest WP user data.', true ); } function swpm_handle_wp_user_registration($user_id) { $swpm_settings_obj = SwpmSettings::get_instance(); $enable_auto_create_swpm_members = $swpm_settings_obj->get_value('enable-auto-create-swpm-members'); $default_level = $swpm_settings_obj->get_value('auto-create-default-membership-level'); $default_ac_status = $swpm_settings_obj->get_value('auto-create-default-account-status'); if (empty($enable_auto_create_swpm_members)) { return; } if (empty($default_level)) { return; } $user_info = get_userdata($user_id); if (SwpmMemberUtils::get_user_by_user_name($user_info->user_login)) { SwpmLog::log_simple_debug("swpm_handle_wp_user_registration() - SWPM member account with this username already exists! No new account will be created for this user.", false); return; } if (SwpmMemberUtils::get_user_by_email($user_info->user_email)) { SwpmLog::log_simple_debug("swpm_handle_wp_user_registration() - SWPM member account with this email already exists! No new account will be created for this user.", false); return; } $fields = array(); $fields['user_name'] = $user_info->user_login; $fields['password'] = $user_info->user_pass; $fields['email'] = $user_info->user_email; $fields['first_name'] = $user_info->first_name; $fields['last_name'] = $user_info->last_name; $fields['membership_level'] = $default_level; $fields['member_since'] = SwpmUtils::get_current_date_in_wp_zone(); $fields['account_state'] = $default_ac_status; $fields['subscription_starts'] = SwpmUtils::get_current_date_in_wp_zone(); SwpmMemberUtils::create_swpm_member_entry_from_array_data($fields); } public function reset_password_shortcode_output() { //Check if the form has been submitted and there is a success message. $any_notice_output = $this->capture_any_notice_output(); if( !empty( $any_notice_output ) && $this->success_notice_pw_reset ){ //The password reset form execution was a success. Return the success notice output string (it will be used with the shortcode output). return $any_notice_output; } if( isset( $_GET["action"]) && $_GET["action"] == "swpm-reset-using-link" ) { ob_start(); echo $any_notice_output;//Include any output from the execution (for showing output inside the shortcode) //Load the reset password template SwpmUtilsTemplate::swpm_load_template('reset_password_using_link.php', false); return ob_get_clean(); } else { ob_start(); echo $any_notice_output;//Include any output from the execution (for showing output inside the shortcode) //Load the forgot password template SwpmUtilsTemplate::swpm_load_template('forgot_password.php', false); return ob_get_clean(); } } public function profile_form() { $output = ''; $auth = SwpmAuth::get_instance(); $any_notice_output = $this->capture_any_notice_output(); if ($auth->is_logged_in()) { $override_out = apply_filters('swpm_profile_form_override', ''); if (!empty($override_out)) { return $override_out; } ob_start(); echo $any_notice_output;//Include any output from the execution (for showing output inside the shortcode) //Load the edit profile template // SwpmUtilsTemplate::swpm_load_template('edit.php', false); $render_new_form_ui = SwpmSettings::get_instance()->get_value('use-new-form-ui'); if (!empty($render_new_form_ui)) { SwpmUtilsTemplate::swpm_load_template('edit-v2.php', false); }else{ SwpmUtilsTemplate::swpm_load_template('edit.php', false); } return ob_get_clean(); } //User is not logged into the site. Show appropriate message. $output .= '
'; $output .= SwpmUtils::_('You are not logged in.'); $output .= '
'; return $output; } /* * Similar to $this->notices() function but instead of echoing the message, it returns the message (if any). * Useful for using inside a shortcode output. */ public function capture_any_notice_output() { $output = ''; $message = SwpmTransfer::get_instance()->get('status'); if ( empty( $message ) ) { return $output; } if ( $message['succeeded'] ) { $output .= "
"; $this->execution_success_notice = true; } else { $output .= "
"; } $output .= $message['message']; $extra = isset( $message['extra'] ) ? $message['extra'] : array(); if ( is_string($extra) ) { $output .= $extra; } else if ( is_array($extra) && !empty($extra) ) { $output .= '
    '; foreach ($extra as $key => $value) { $output .= '
  • ' . $value . '
  • '; } $output .= '
'; } $output .= "
"; //If password reset notice was sent, set the flag. if (isset($message['pass_reset_sent'])) { $this->success_notice_pw_reset = true; } return $output; } /** * If any message/notice was set during the execution then this function will output that message. * * @return boolean */ public function notices() { $message = SwpmTransfer::get_instance()->get('status'); $succeeded = false; if (empty($message)) { return false; } $output = ''; if ($message['succeeded']) { $output .= '
'; $succeeded = true; } else { $output .= '
'; } $output .= '

'; $output .= $message['message']; $output .= '

'; $extra = isset($message['extra']) ? $message['extra'] : array(); if (is_string($extra)) { $output .= $extra; } else if (is_array($extra) && !empty($extra)) { $output .= '
    '; foreach ($extra as $key => $value) { $output .= '
  1. ' . $value . '
  2. '; } $output .= '
'; } $output .= '
'; if (isset($message['pass_reset_sent'])) { $succeeded = true; } echo $output; return $succeeded; } /** * This function is hooked to WordPress's admin_notices action hook * It is used to show any plugin specific notices/warnings in the admin interface */ public function do_admin_notices() { //Show any execution specific notices in the admin interface. $this->notices(); //Show any other general warnings/notices to the admin. if (SwpmMiscUtils::is_swpm_admin_page()) { //we are in an admin page for SWPM plugin. $msg = ''; //Show notice if running in sandbox mode. $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); if ($sandbox_enabled) { $msg .= '

' . __('You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.', 'simple-membership') . '

'; } if (!empty($msg)) {//Show warning messages if any. echo '
'; echo $msg; echo '
'; } } } public function meta_box() { if (function_exists('add_meta_box')) { $post_types = get_post_types(); foreach ($post_types as $post_type => $post_type) { add_meta_box('swpm_sectionid', __('Simple WP Membership Protection', 'simple-membership'), array(&$this, 'inner_custom_box'), $post_type, 'advanced'); } } else {//older version doesn't have custom post type so modification isn't needed. add_action('dbx_post_advanced', array(&$this, 'show_old_custom_box')); add_action('dbx_page_advanced', array(&$this, 'show_old_custom_box')); } } public function show_old_custom_box() { echo '
' . "\n"; echo '
' . "\n"; echo '

' . __('Simple Membership Protection options', 'simple-membership') . "

"; echo '
'; // output editing form $this->inner_custom_box(); // end wrapper echo "
\n"; } public function inner_custom_box() { global $post, $wpdb; $id = $post->ID; $protection_obj = SwpmProtection::get_instance(); $is_protected = $protection_obj->is_protected($id); //Nonce input echo ''; // The actual fields for data entry echo '

' . __("Do you want to protect this content?", 'simple-membership') . '

'; echo ' ' . SwpmUtils::_('No, Do not protect this content.') . '
'; echo ' ' . SwpmUtils::_('Yes, Protect this content.') . '
'; echo $protection_obj->get_last_message(); echo '

' . __("Select the membership level that can access this content:", 'simple-membership') . "

"; $query = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id !=1 "; $levels = $wpdb->get_results($query, ARRAY_A); foreach ($levels as $level) { echo 'is_permitted($id) ? "checked='checked'" : "") . ' name="swpm_protection_level[' . $level['id'] . ']" value="' . $level['id'] . '" /> ' . $level['alias'] . "
"; } } public function save_postdata($post_id) { global $wpdb; $post_type = isset($_POST['post_type']) ? sanitize_text_field($_POST['post_type']) : ''; $swpm_protect_post = isset($_POST['swpm_protect_post']) ? sanitize_text_field($_POST['swpm_protect_post']) : ''; if (wp_is_post_revision($post_id)) { return; } if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; } //Check nonce $swpm_post_protection_box_nonce = filter_input(INPUT_POST, 'swpm_post_protection_box_nonce'); if (!wp_verify_nonce($swpm_post_protection_box_nonce, 'swpm_post_protection_box_nonce_action')) { //Nonce check failed. return $post_id; } if ('page' == $post_type) { if (!current_user_can('edit_page', $post_id)) { return $post_id; } } else { if (!current_user_can('edit_post', $post_id)) { return $post_id; } } if (empty($swpm_protect_post)) { return; } // OK, we're authenticated: we need to find and save the data $isprotected = ($swpm_protect_post == 2); $args = array('swpm_protection_level' => array( 'filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_ARRAY, )); $swpm_protection_level = filter_input_array(INPUT_POST, $args); $swpm_protection_level = $swpm_protection_level['swpm_protection_level']; if (!empty($post_type)) { if ($isprotected) { SwpmProtection::get_instance()->apply(array($post_id), $post_type); } else { SwpmProtection::get_instance()->remove(array($post_id), $post_type); } SwpmProtection::get_instance()->save(); $query = "SELECT id FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id !=1 "; $level_ids = $wpdb->get_col($query); foreach ($level_ids as $level) { if (isset($swpm_protection_level[$level])) { //Apply the post ID to the protection list and then save it in the database. SwpmPermission::get_instance($level)->apply(array($post_id), $post_type)->save(); } else { SwpmPermission::get_instance($level)->remove(array($post_id), $post_type)->save(); } } } $enable_protection = array(); $enable_protection['protect'] = $swpm_protect_post; $enable_protection['level'] = $swpm_protection_level; return $enable_protection; } public function filter_comment($content) { if (is_admin()) { //Do not apply filtering for admin side viewing return $content; } $acl = SwpmAccessControl::get_instance(); global $comment; return $acl->filter_comment($comment, $content); } public function filter_content($content) { if (is_preview() || is_admin()) { //If the user is logged-in as an admin user then do not apply filtering for admin side viewing or preview page viewing. if ( current_user_can('administrator') ){ //The user is logged in as admin in this browser. return $content; } } $acl = SwpmAccessControl::get_instance(); global $post; return $acl->filter_post($post, $content); } public function init_hook() { $init_tasks = new SwpmInitTimeTasks(); $init_tasks->do_init_tasks(); } public function handle_wp_loaded_tasks() { $wp_loaded_tasks = new SwpmWpLoadedTasks(); $wp_loaded_tasks->do_wp_loaded_tasks(); } public function admin_library() { //Only loaded on selective swpm admin menu page rendering. $this->common_library(); wp_enqueue_script('password-strength-meter'); wp_enqueue_script('swpm.password-meter', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm.password-meter.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER); //jQuery UI style wp_register_style('swpm-jquery-ui', SIMPLE_WP_MEMBERSHIP_URL . '/css/jquery-ui.min.css', array(), SIMPLE_WP_MEMBERSHIP_VER); wp_enqueue_style('swpm-jquery-ui'); wp_enqueue_script('jquery-ui-datepicker'); $settings = array('statusChangeEmailHead' => SwpmSettings::get_instance()->get_value('account-change-email-subject'), 'statusChangeEmailBody' => SwpmSettings::get_instance()->get_value('account-change-email-body')); wp_localize_script('swpm.password-meter', 'SwpmSettings', $settings); } public function front_library() { $this->common_library(); } private function common_library() { wp_enqueue_script('jquery'); wp_enqueue_style('swpm.common', SIMPLE_WP_MEMBERSHIP_URL . '/css/swpm.common.css', array(), SIMPLE_WP_MEMBERSHIP_VER); //In order to not clog WP with scripts and styles we're only using with forms, let's just register those for now //Scripts will be queued when forms are actually displayed wp_register_style('validationEngine.jquery', SIMPLE_WP_MEMBERSHIP_URL . '/css/validationEngine.jquery.css', array(), SIMPLE_WP_MEMBERSHIP_VER); wp_register_script('jquery.validationEngine', SIMPLE_WP_MEMBERSHIP_URL . '/js/jquery.validationEngine.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER); wp_register_script('jquery.validationEngine-en', SIMPLE_WP_MEMBERSHIP_URL . '/js/jquery.validationEngine-en.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER); wp_register_script('swpm.validationEngine-localization', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm.validationEngine-localization.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER); wp_register_script('swpm.password-toggle', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm.password-toggle.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER); wp_register_script('swpm-reg-form-validator', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm-reg-form-validator.js', null, SIMPLE_WP_MEMBERSHIP_VER, true); wp_register_script('swpm-profile-form-validator', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm-profile-form-validator.js', null, SIMPLE_WP_MEMBERSHIP_VER, true); //Stripe libraries wp_register_script("swpm.stripe", "https://js.stripe.com/v3/", array("jquery"), SIMPLE_WP_MEMBERSHIP_VER); wp_register_style("swpm.stripe.style", "https://checkout.stripe.com/v3/checkout/button.css", array(), SIMPLE_WP_MEMBERSHIP_VER); } public static function enqueue_validation_scripts_v2($handle, $params = null){ if ( ! wp_script_is( $handle, 'registered' ) ) { wp_register_script($handle, SIMPLE_WP_MEMBERSHIP_URL . "/js/".$handle.".js", null, SIMPLE_WP_MEMBERSHIP_VER, true); } $validation_messages = array( "username" => array( "required" => __("Username is required", "simple-membership"), "invalid" => __("Invalid username", "simple-membership"), "regex" => __("Usernames can only contain: letters, numbers and .-_*@", "simple-membership"), "minLength" => __("Minimum 4 characters required", "simple-membership"), "exists" => __("Username already exists", "simple-membership"), ), "email" => array( "required" => __("Email is required", "simple-membership"), "invalid" => __("Invalid email", "simple-membership"), "exists" => __("Email already exists", "simple-membership"), ), "password" => array( "required" => __("Password is required", "simple-membership"), "invalid" => __("Invalid password", "simple-membership"), "regex" => __("Must contain a digit, an uppercase and a lowercase letter", "simple-membership"), "minLength" => __("Minimum 8 characters required", "simple-membership") ), "repass" => array( "required" => __("Retype password is required", "simple-membership"), "invalid" => __("Invalid password", "simple-membership"), "mismatch" => __("Password don't match", "simple-membership"), "minLength" => __("Minimum 8 characters required", "simple-membership") ), "firstname" => array( "required" => __("First name is required", "simple-membership"), "invalid" => __("Invalid name", "simple-membership") ), "lastname" => array( "required" => __("Last name is required", "simple-membership"), "invalid" => __("Invalid name", "simple-membership") ), "terms" => array( "required" => __("You must accept the terms & conditions", "simple-membership") ), "pp" => array( "required" => __("You must accept the privacy policy", "simple-membership") ) ); $ajax_url = admin_url('admin-ajax.php'); wp_add_inline_script($handle, "var swpmFormValidationAjax = ".wp_json_encode(array( 'ajax_url' => $ajax_url, 'query_args' => $params['query_args'], )), "before"); wp_add_inline_script($handle, "var form_id = '".$params['form_id']."';", "before"); if (isset($params['custom_pass_pattern_validator']) && !empty($params['custom_pass_pattern_validator'])) { wp_add_inline_script($handle, "var custom_pass_pattern_validator = ".$params['custom_pass_pattern_validator'].";", "before"); } if (isset($params['custom_pass_pattern_validator_msg']) && !empty($params['custom_pass_pattern_validator_msg'])) { $validation_messages['password']['regex'] = $params['custom_pass_pattern_validator_msg']; } if (isset($params['custom_pass_min_length_validator']) && !empty($params['custom_pass_min_length_validator'])) { wp_add_inline_script($handle, "var custom_pass_min_length_validator = ".$params['custom_pass_min_length_validator'].";", "before"); } if (isset($params['custom_pass_min_length_validator_msg']) && !empty($params['custom_pass_min_length_validator_msg'])) { $validation_messages['password']['minLength'] = $params['custom_pass_min_length_validator_msg']; } if (isset($params['is_terms_enabled'])) { wp_add_inline_script($handle, "var terms_enabled = ".$params['is_terms_enabled'].";", "before"); } if (isset($params['is_pp_enabled'])) { wp_add_inline_script($handle, "var pp_enabled = ".$params['is_pp_enabled'].";", "before"); } if (isset($params['is_strong_password_enabled'])) { wp_add_inline_script($handle, "var strong_password_enabled = ".$params['is_strong_password_enabled'].";", "before"); } wp_localize_script($handle, "validationMsg",$validation_messages); wp_enqueue_script($handle); } public static function enqueue_validation_scripts( $additional_params = array() ) { //This function gets called from a shortcode. So use the below technique to make the inline script loading process work smoothly. //In some themes (block themes) this may not have been registered yet since that process can be delayed. So do it now before adding any inline or localize scripts to it. if ( ! wp_script_is( 'jquery.validationEngine', 'registered' ) ) { wp_register_script('jquery.validationEngine', SIMPLE_WP_MEMBERSHIP_URL . '/js/jquery.validationEngine.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER); } if ( ! wp_script_is( 'jquery.validationEngine-en', 'registered' ) ) { wp_register_script('jquery.validationEngine-en', SIMPLE_WP_MEMBERSHIP_URL . '/js/jquery.validationEngine-en.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER); } if ( ! wp_script_is( 'swpm.validationEngine-localization', 'registered' ) ) { wp_register_script('swpm.validationEngine-localization', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm.validationEngine-localization.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER); } //The above code ensures that the scripts are registered for sure. Now we can enqueue and add inline script to them. This process works on all themes. wp_enqueue_style('validationEngine.jquery'); wp_enqueue_script('jquery.validationEngine'); wp_enqueue_script('jquery.validationEngine-en'); wp_enqueue_script('swpm.validationEngine-localization'); //Localization for jquery.validationEngine //This array will be merged with $.validationEngineLanguage.allRules object from jquery.validationEngine-en.js file $loc_data = array( 'ajaxUserCall' => array( 'url' => admin_url('admin-ajax.php'), 'alertTextLoad' => '* ' . SwpmUtils::_('Validating, please wait'), ), 'ajaxEmailCall' => array( 'url' => admin_url('admin-ajax.php'), 'alertTextLoad' => '* ' . SwpmUtils::_('Validating, please wait'), ), 'email' => array( 'alertText' => '* ' . SwpmUtils::_('Invalid email address'), ), 'required' => array( 'alertText' => '* ' . SwpmUtils::_('This field is required'), ), 'strongPass' => array( 'alertText' => '* ' . SwpmUtils::_('Password must contain at least:').'
'.SwpmUtils::_('- a digit').'
'.SwpmUtils::_('- an uppercase letter').'
'.SwpmUtils::_('- a lowercase letter'), ), 'SWPMUserName' => array( 'alertText' => '* ' . SwpmUtils::_('Invalid Username').'
'.SwpmUtils::_('Usernames can only contain: letters, numbers and .-_*@'), ), 'minSize' => array( 'alertText' => '* ' . SwpmUtils::_('Minimum '), 'alertText2' => SwpmUtils::_(' characters required'), ), 'noapostrophe' => array( 'alertText' => '* ' . SwpmUtils::_('Apostrophe character is not allowed'), ), ); $nonce = wp_create_nonce( 'swpm-rego-form-ajax-nonce' ); if ($additional_params) { // Additional parameters should be added to the array, replacing existing ones if (isset($additional_params['ajaxEmailCall'])) { if (isset($additional_params['ajaxEmailCall']['extraData'])) { $additional_params['ajaxEmailCall']['extraData'].='&nonce='.$nonce; } } $loc_data = array_replace_recursive($additional_params, $loc_data); } //The scripts are registered and enqueued. We can now add inline script to any of those registered scripts. wp_localize_script('swpm.validationEngine-localization', 'swpm_validationEngine_localization', $loc_data); wp_localize_script('jquery.validationEngine-en', 'swpmRegForm', array('nonce' => $nonce)); } public function registration_form($atts) { //Trigger action hook do_action( 'swpm_shortcode_registration_form_start', $atts ); $output = ""; //Check if the form has been submitted and there is a success message. $any_notice_output = $this->capture_any_notice_output(); if( !empty( $any_notice_output ) && $this->execution_success_notice ){ //The registration form execution was a success. Return the success notice output string (it will be used with the shortcode output). return $any_notice_output; } //Check if free membership is enabled on the site. $is_free_enabled = SwpmSettings::get_instance()->get_value('enable-free-membership'); $free_level_id = absint(SwpmSettings::get_instance()->get_value('free-membership-id')); $is_valid_free_level = SwpmMembershipLevelUtils::check_if_membership_level_exists($free_level_id); if( $is_free_enabled && !$is_valid_free_level ){ //Free membership is enabled but the free level ID is invalid. //This is a critical configuration error. Show an error message and return. $output .= '
'; $output .= __('Error! You have enabled free membership on this site but you did not enter a valid membership level ID in the "Free Membership Level ID" field of the settings menu.', 'simple-membership'); $output .= '
'; return $output; } //Get the level ID from the shortcode or use the free membership level ID if free membership is enabled. $level = isset($atts['level']) ? absint($atts['level']) : ($is_free_enabled ? $free_level_id : null); $output .= $any_notice_output; $output .= SwpmFrontRegistration::get_instance()->regigstration_ui($level); //Trigger action hook do_action( 'swpm_shortcode_registration_form_end', $atts ); return $output; } public function menu() { $menu_parent_slug = 'simple_wp_membership'; add_menu_page(__("WP Membership", 'simple-membership'), __("WP Membership", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, $menu_parent_slug, array(&$this, "admin_members_menu"), 'dashicons-id'); add_submenu_page($menu_parent_slug, __("Members", 'simple-membership'), __('Members', 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership', array(&$this, "admin_members_menu")); add_submenu_page($menu_parent_slug, __("Membership Levels", 'simple-membership'), __("Membership Levels", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_levels', array(&$this, "admin_membership_levels_menu")); add_submenu_page($menu_parent_slug, __("Settings", 'simple-membership'), __("Settings", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_settings', array(&$this, "admin_settings_menu")); add_submenu_page($menu_parent_slug, __("Payments", 'simple-membership'), __("Payments", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_payments', array(&$this, "admin_payments_menu")); add_submenu_page($menu_parent_slug, __("Add-ons", 'simple-membership'), __("Add-ons", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_addons', array(&$this, "admin_add_ons_menu")); do_action('swpm_after_main_admin_menu', $menu_parent_slug); $this->meta_box(); } /* Render the members menu in admin dashboard */ public function admin_members_menu() { include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/class.swpm-members.php'); $members = new SwpmMembers(); $members->handle_main_members_admin_menu(); } /* Render the membership levels menu in admin dashboard */ public function admin_membership_levels_menu() { include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/class.swpm-membership-levels.php'); $levels = new SwpmMembershipLevels(); $levels->handle_main_membership_level_admin_menu(); } /* Render the settings menu in admin dashboard */ public function admin_settings_menu() { $settings = SwpmSettings::get_instance(); $settings->handle_main_settings_admin_menu(); } public function admin_payments_menu() { include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/admin-includes/class.swpm-payments-admin-menu.php'); $payments_admin = new SwpmPaymentsAdminMenu(); $payments_admin->handle_main_payments_admin_menu(); } public function admin_add_ons_menu() { include(SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_add_ons_page.php'); } public function plugins_loaded() { //Runs when plugins_loaded action gets fired if (is_admin()) { //Check and run DB upgrade operation (if needed) if (get_option('swpm_db_version') != SIMPLE_WP_MEMBERSHIP_DB_VER) { include_once('class.swpm-installation.php'); SwpmInstallation::run_safe_installer(); } } } public static function activate() { //Schedule the cron event for account status and expiry checks. This cron event is also used by the ENB extension. wp_schedule_event(time(), 'daily', 'swpm_account_status_event'); //Schedule the pending account deletion cron event. wp_schedule_event(time(), 'daily', 'swpm_delete_pending_account_event'); //Run the standard installer steps include_once('class.swpm-installation.php'); SwpmInstallation::run_safe_installer(); } public static function deactivate() { wp_clear_scheduled_hook('swpm_account_status_event'); wp_clear_scheduled_hook('swpm_delete_pending_account_event'); } } classes/shortcode-related/class.swpm-shortcodes-handler.php000064400000037537147206617610020233 0ustar00 '', 'button_text' => '', 'new_window' => '', 'class' => '', ), $args ) ); if ( empty( $id ) ) { return '

Error! You must specify a button ID with this shortcode. Check the usage documentation.

'; } //Add a quick escaping to the shortcode arguments. $args = array_map( 'esc_attr', $args ); $button_id = $id; //$button = get_post($button_id); //Retrieve the CPT for this button $button_type = get_post_meta( $button_id, 'button_type', true ); if ( empty( $button_type ) ) { $error_msg = '

'; $error_msg .= 'Error! The button ID (' . esc_attr($button_id) . ') you specified in the shortcode does not exist. You may have deleted this payment button. '; $error_msg .= 'Go to the Manage Payment Buttons interface then copy and paste the correct button ID in the shortcode.'; $error_msg .= '

'; return $error_msg; } include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/paypal_button_shortcode_view.php' ); include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/stripe_button_shortcode_view.php' ); include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/stripe_sca_button_shortcode_view.php' ); include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/braintree_button_shortcode_view.php' ); include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php' ); include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php' ); include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php' ); $button_code = ''; $button_code = apply_filters( 'swpm_payment_button_shortcode_for_' . $button_type, $button_code, $args ); $output = ''; $output .= '
' . $button_code . '
'; return $output; } public function swpm_ty_page_rego_sc( $args ) { $output = ''; $settings = SwpmSettings::get_instance(); //If user is logged in then the purchase will be applied to the existing profile if ( SwpmMemberUtils::is_member_logged_in() ) { $username = SwpmMemberUtils::get_logged_in_members_username(); $output .= '
'; $output .= '

' . __( 'Your membership profile will be updated to reflect the payment.', 'simple-membership' ) . '

'; $output .= __( 'Your profile username: ', 'simple-membership' ) . esc_attr($username); $output .= '
'; $output = apply_filters( 'swpm_ty_page_registration_msg_to_logged_in_member', $output ); return $output; } $output .= '
'; $member_data = SwpmUtils::get_incomplete_paid_member_info_by_ip(); if ( $member_data ) { //Found a member profile record for this IP that needs to be completed $reg_page_url = $settings->get_value( 'registration-page-url' ); $rego_complete_url = add_query_arg( array( 'member_id' => $member_data->member_id, 'code' => $member_data->reg_code, ), $reg_page_url ); $output .= ''; //Allow addons to modify the output $output = apply_filters( 'swpm_ty_page_registration_msg_with_link', $output, $rego_complete_url ); } else { //Nothing found. Check again later. $output .= ''; //Allow addons to modify the output $output = apply_filters( 'swpm_ty_page_registration_msg_no_link', $output ); } $output .= '
'; //end of .swpm-ty-page-registration $output = apply_filters( 'swpm_ty_page_registration_output', $output ); return $output; } public function swpm_show_expiry_date_sc( $args ) { $output = '
'; if ( SwpmMemberUtils::is_member_logged_in() ) { $auth = SwpmAuth::get_instance(); $expiry_date = $auth->get_expire_date(); $output .= __( 'Expiry: ', 'simple-membership' ) . esc_attr($expiry_date); } else { $output .= __( 'You are not logged-in as a member', 'simple-membership' ); } $output .= '
'; return $output; } public function swpm_show_mini_login_sc( $args ) { $login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' ); $join_page_url = SwpmSettings::get_instance()->get_value( 'join-us-page-url' ); $profile_page_url = SwpmSettings::get_instance()->get_value( 'profile-page-url' ); $logout_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '?swpm-logout=true'; $filtered_login_url = apply_filters( 'swpm_get_login_link_url', $login_page_url ); //Addons can override the login URL value using this filter. //Start building the output $output = '';//end of .swpm_mini_login_wrapper //Trigger filter to allow addons to modify the final output. $output = apply_filters( 'swpm_mini_login_output', $output ); return $output; } public function swpm_stripe_cancel_subs_link_sc( $args ) { //Shortcode parameters: ['anchor_text'] if ( ! SwpmMemberUtils::is_member_logged_in() ) { //member not logged in $error_msg = '
' . __( 'You are not logged-in as a member', 'simple-membership' ) . '
'; return $error_msg; } //Get the member ID $member_id = SwpmMemberUtils::get_logged_in_members_id(); $subs = (new SWPM_Utils_Subscriptions( $member_id ))->load_stripe_subscriptions(); if ( empty( $subs->get_active_subs_count() ) ) { //no active subscriptions found $error_msg = '
' . __( 'No active subscriptions', 'simple-membership' ) . '
'; return $error_msg; } $output = $subs->get_stripe_subs_cancel_url($args, false); $output = ''; return $output; } public function swpm_pp_cancel_subs_link_sc( $args ) { //Shortcode parameters: ['anchor_text'], ['merchant_id'] extract( shortcode_atts( array( 'merchant_id' => '', 'anchor_text' => '', 'new_window' => '', 'css_class' => '', ), $args ) ); if ( empty( $merchant_id ) ) { return '

Error! You need to specify your secure PayPal merchant ID in the shortcode using the "merchant_id" parameter.

'; } $output = ''; $settings = SwpmSettings::get_instance(); //Check if the member is logged-in if ( SwpmMemberUtils::is_member_logged_in() ) { $user_id = SwpmMemberUtils::get_logged_in_members_id(); } if ( ! empty( $user_id ) ) { //The user is logged-in //Set the default window target (if it is set via the shortcode). if ( empty( $new_window ) ) { $window_target = ''; } else { $window_target = ' target="_blank"'; } //Set the CSS class (if it is set via the shortcode). if ( empty( $css_class ) ) { $link_css_class = ''; } else { $link_css_class = ' class="' . sanitize_html_class($css_class) . '"'; } //Set the default anchor text (if one is provided via the shortcode). if ( empty( $anchor_text ) ) { $anchor_text = __( 'Unsubscribe from PayPal', 'simple-membership' ); } $output .= ''; } else { //The user is NOT logged-in $output .= '

' . __( 'You are not logged-in as a member.', 'simple-membership' ) . '

'; } return $output; } public function swpm_show_subscriptions_and_cancel_link($atts){ $output = ''; $atts = shortcode_atts(array( 'show_all_status' => '' ), $atts); if ( ! SwpmMemberUtils::is_member_logged_in() ) { //member not logged in return '

'.__( 'You are not logged-in as a member.', 'simple-membership' ).'

'; } //Get the member ID and load subscriptions utils class. $member_username = SwpmMemberUtils::get_logged_in_members_username(); $member_id = SwpmMemberUtils::get_logged_in_members_id(); //We will use this class to load the curated subscriptions list data so we can use it in this shortcode. $subscriptions_utils = new SWPM_Utils_Subscriptions( $member_id ); $subscriptions_utils->load_subs_data(); /** * Display any API key error messages (if subscription exists but api keys are not saved). * The error message is only shown when the subscription of the corresponding payment gateway is present. * For example: If there are no stripe sca subscriptions, stripe api error wont be shown. */ $any_stripe_api_key_error_msg = $subscriptions_utils->get_any_stripe_sca_api_key_error(); if ( !empty( $any_stripe_api_key_error_msg ) ) { $output .= '

'. esc_attr($any_stripe_api_key_error_msg) . '

'; } $any_paypal_api_key_error_msg = $subscriptions_utils->get_any_paypal_ppcp_api_key_error(); if ( !empty( $any_paypal_api_key_error_msg ) ) { $output .= '

'. esc_attr($any_paypal_api_key_error_msg) . '

'; } //Check if we need to show all subscriptions or just the active ones $show_all_subscriptions = !empty($atts['show_all_status']) ? true : false; //Get the list of subscriptions if ($show_all_subscriptions) { $subscriptions_list = $subscriptions_utils->get_all_subscriptions(); }else{ $subscriptions_list = $subscriptions_utils->get_active_subscriptions(); } //Display the list of subscriptions $output .= '
'; if (count($subscriptions_list)) { $output .= ''; // Header section $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; foreach ($subscriptions_list as $subscription) { $output .= ''; $output .= ''; $output .= ''; $output .= ''; } $output .= ''; $output .= '
'. __('Subscription', 'simple-membership').''. __('Action', 'simple-membership') .'
'; $output .= '
'. esc_attr($subscription['plan']).'
'; if( isset ( $subscription['is_attached_to_profile'] ) && $subscription['is_attached_to_profile'] == 'yes' ){ //This subscription is attached to the profile currently. Show a message. $output .= '
'. __('Currently used for your membership access.', 'simple-membership').'
'; } $output .= '
'; $output .= SWPM_Utils_Subscriptions::get_cancel_subscription_output($subscription); $output .= '
'; }else{ $output .= '

'.__( 'Active subscription not detected for the member account with the username: ', 'simple-membership' ). esc_attr($member_username) . '

'; } //This is used to refresh the page so this shortcode is reloaded after a new subscription is added. //This is needed for the newly created subscription to show up in the list. $output .= ''; $output .= '
'; return $output; } } classes/class.swpm-messages.php000064400000001506147206617610012625 0ustar00messages = get_option('swpm-messages'); $this->session_key = $_COOKIE['swpm_session']; } public function get($key) { $combined_key = $this->session_key . '_' . $key; if (isset($this->messages[$combined_key])) { $m = $this->messages[$combined_key]; unset($this->messages[$combined_key]); update_option('swpm-messages', $this->messages); return $m; } return ''; } public function set($key, $value) { $combined_key = $this->session_key . '_' . $key; $this->messages[$combined_key] = $value; update_option('swpm-messages', $this->messages); } } classes/class.swpm-members.php000064400000113004147206617610012445 0ustar00 SwpmUtils::_( 'Member' ), 'plural' => SwpmUtils::_( 'Members' ), 'ajax' => false, ) ); } function get_columns() { $columns = array( 'cb' => '', 'member_id' => __('ID' , 'simple-membership'), 'user_name' => __('Username' , 'simple-membership'), 'first_name' => __('First Name' , 'simple-membership'), 'last_name' => __('Last Name' , 'simple-membership'), 'email' => __('Email' , 'simple-membership'), 'alias' => __('Membership Level' , 'simple-membership'), 'subscription_starts' => __('Access Starts' , 'simple-membership'), 'account_state' => __('Account State' , 'simple-membership'), 'last_accessed' => __('Last Login Date' , 'simple-membership'), 'admin_notes' => __('Notes' , 'simple-membership'), ); return apply_filters( 'swpm_admin_members_table_columns', $columns ); } function get_sortable_columns() { $sortable_columns = array( 'member_id' => array( 'member_id', true ), //True means already sorted 'user_name' => array( 'user_name', false ), 'first_name' => array( 'first_name', false ), 'last_name' => array( 'last_name', false ), 'email' => array( 'email', false ), 'alias' => array( 'alias', false ), 'subscription_starts' => array( 'subscription_starts', false ), 'account_state' => array( 'account_state', false ), 'last_accessed' => array( 'last_accessed', false ), ); return apply_filters( 'swpm_admin_members_table_sortable_columns', $sortable_columns ); } function get_bulk_actions() { $actions = array( 'bulk_delete' => SwpmUtils::_( 'Delete' ), 'bulk_active' => SwpmUtils::_( 'Set Status to Active' ), 'bulk_active_notify' => SwpmUtils::_( 'Set Status to Active and Notify' ), 'bulk_inactive' => SwpmUtils::_( 'Set Status to Inactive' ), 'bulk_pending' => SwpmUtils::_( 'Set Status to Pending' ), 'bulk_expired' => SwpmUtils::_( 'Set Status to Expired' ), ); return $actions; } function column_default( $item, $column_name ) { $column_value = isset( $item[ $column_name ] ) ? $item[ $column_name ] : ''; $column_data = apply_filters( 'swpm_admin_members_table_column_' . $column_name, $column_value, $item ); return $column_data; } function column_account_state( $item ) { $account_state_column_val = isset( $item['account_state'] ) ? $item['account_state'] : ''; if ($account_state_column_val == 'activation_required'){ //For better translation support. $acc_state_str = __( 'Activation Required', 'simple-membership' ); } else { $acc_state_str = __( ucfirst( $account_state_column_val ), 'simple-membership' ); } return $acc_state_str; } function column_member_id( $item ) { $delete_swpmuser_nonce = wp_create_nonce( 'delete_swpmuser_admin_end' ); $actions = array( 'edit' => sprintf( 'Edit/View', $item['member_id'] ), 'delete' => sprintf( 'Delete', $item['member_id'], $delete_swpmuser_nonce ), ); return $item['member_id'] . $this->row_actions( $actions ); } function column_user_name( $item ) { $user_name = $item['user_name']; if ( empty( $user_name ) ) { $user_name = '[' . SwpmUtils::_( 'incomplete' ) . ']'; } return $user_name; } function column_admin_notes( $item ) { $admin_notes = isset($item['notes']) ? $item['notes'] : ''; if ( empty( $admin_notes ) ) { //Admin notes not found for this member. return '—'; } //Truncate the admin notes if it is too long. $max_length = 256; if (strlen($admin_notes) > $max_length) { $admin_notes_text = substr($admin_notes, 0, $max_length) . ' ... '; } else { $admin_notes_text = $admin_notes; } //Display the notes in a tooltip. $member_id = intval($item['member_id']); $notes_tooltip_id = 'swpm_note_tooltip_' . $member_id; ob_start(); ?> ', $item['member_id'] ); } function prepare_items() { global $wpdb; $this->process_bulk_action(); $records_query_head = 'SELECT member_id,user_name,first_name,last_name,email,alias,subscription_starts,account_state,notes,last_accessed'; $count_query_head = 'SELECT COUNT(member_id)'; $query = ' '; $query .= ' FROM ' . $wpdb->prefix . 'swpm_members_tbl'; $query .= ' LEFT JOIN ' . $wpdb->prefix . 'swpm_membership_tbl'; $query .= ' ON ( membership_level = id ) '; //Get the search string (if any) $s = filter_input( INPUT_GET, 's' ); if ( empty( $s ) ) { $s = filter_input( INPUT_POST, 's' ); } $status = filter_input( INPUT_GET, 'status' ); $status = esc_attr( $status );//Escape value $filters = array(); //Add the search parameter to the query if ( ! empty( $s ) ) { $s = sanitize_text_field( $s ); $s = trim( $s ); //Trim the input $s = esc_sql( $s ); $filters[] = "( user_name LIKE '%" . strip_tags( $s ) . "%' " . " OR first_name LIKE '%" . strip_tags( $s ) . "%' " . " OR last_name LIKE '%" . strip_tags( $s ) . "%' " . " OR email LIKE '%" . strip_tags( $s ) . "%' " . " OR address_city LIKE '%" . strip_tags( $s ) . "%' " . " OR address_state LIKE '%" . strip_tags( $s ) . "%' " . " OR country LIKE '%" . strip_tags( $s ) . "%' " . " OR company_name LIKE '%" . strip_tags( $s ) . "%' )"; } //Add account status filtering to the query if ( ! empty( $status ) ) { if ( $status == 'incomplete' ) { $filters[] = "user_name = ''"; } else { $filters[] = "account_state = '" . $status . "'"; } } //Add membership level filtering $membership_level = filter_input( INPUT_GET, 'membership_level', FILTER_SANITIZE_NUMBER_INT ); if ( ! empty( $membership_level ) ) { $filters[] = sprintf( "membership_level = '%d'", $membership_level ); } //Build the WHERE clause of the query string if ( ! empty( $filters ) ) { $filter_str = ''; foreach ( $filters as $ind => $filter ) { $filter_str .= $ind === 0 ? $filter : ' AND ' . $filter; } $query .= 'WHERE ' . $filter_str; } //Build the orderby and order query parameters $orderby = filter_input( INPUT_GET, 'orderby' ); $orderby = apply_filters( 'swpm_admin_members_table_orderby', $orderby ); $orderby = empty( $orderby ) ? 'member_id' : $orderby; $order = filter_input( INPUT_GET, 'order' ); $order = empty( $order ) ? 'DESC' : $order; $sortable_columns = $this->get_sortable_columns(); $orderby = SwpmUtils::sanitize_value_by_array( $orderby, $sortable_columns ); $order = SwpmUtils::sanitize_value_by_array( $order, array( 'DESC' => '1', 'ASC' => '1', ) ); $query .= ' ORDER BY ' . $orderby . ' ' . $order; //Execute the query $totalitems = $wpdb->get_var( $count_query_head . $query ); //Pagination setup $perpage = apply_filters( 'swpm_members_menu_items_per_page', 50 ); $paged = filter_input( INPUT_GET, 'paged' ); if ( empty( $paged ) || ! is_numeric( $paged ) || $paged <= 0 ) { $paged = 1; } $totalpages = ceil( $totalitems / $perpage ); if ( ! empty( $paged ) && ! empty( $perpage ) ) { $offset = ( $paged - 1 ) * $perpage; $query .= ' LIMIT ' . (int) $offset . ',' . (int) $perpage; } $this->set_pagination_args( array( 'total_items' => $totalitems, 'total_pages' => $totalpages, 'per_page' => $perpage, ) ); $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); $this->_column_headers = array( $columns, $hidden, $sortable ); $this->items = $wpdb->get_results( $records_query_head . $query, ARRAY_A ); $this->items = apply_filters( 'swpm_admin_members_table_items', $this->items ); } function get_user_count_by_account_state() { global $wpdb; $query = 'SELECT count(member_id) AS count, account_state FROM ' . $wpdb->prefix . 'swpm_members_tbl GROUP BY account_state'; $result = $wpdb->get_results( $query, ARRAY_A ); $count = array(); $all = 0; foreach ( $result as $row ) { $count[ $row['account_state'] ] = $row['count']; $all += intval( $row['count'] ); } $count ['all'] = $all; $count_incomplete_query = 'SELECT COUNT(*) FROM ' . $wpdb->prefix . "swpm_members_tbl WHERE user_name = ''"; $count['incomplete'] = $wpdb->get_var( $count_incomplete_query ); return $count; } function no_items() { _e( 'No member found.', 'simple-membership' ); } function process_form_request() { if ( isset( $_REQUEST['member_id'] ) ) { //This is a member profile edit action $record_id = sanitize_text_field( $_REQUEST['member_id'] ); if ( ! is_numeric( $record_id ) ) { wp_die( 'Error! ID must be numeric.' ); } return $this->edit( absint( $record_id ) ); } //This is a profile add action. return $this->add(); } public static function membership_lvl_not_configured_msg_box() { $output = '
'; $output .= '

'; $output .= __("Each member account must be assigned a membership level. It appears that you don't have any membership levels configured. Please create a membership level first before adding or editing any member records.", 'simple-membership'); $output .= '

'; $output .= '

'; $output .= __("Read the ", 'simple-membership'); $output .= '' . __("membership level documentation", 'simple-membership') . ''; $output .= __(" to learn how to create a membership level.", 'simple-membership'); $output .= '

'; $output .= '
'; $output .= ''; $output .= __('Create a Membership Level', 'simple-membership'); $output .= ''; $output .= '
'; return $output; } function add() { if(!SwpmMembershipLevelUtils::is_membership_level_configured()){ echo self::membership_lvl_not_configured_msg_box(); return; } $form = apply_filters( 'swpm_admin_registration_form_override', '' ); if ( ! empty( $form ) ) { echo $form; return; } global $wpdb; $member = SwpmTransfer::$default_fields; $member['member_since'] = SwpmUtils::get_current_date_in_wp_zone();//date( 'Y-m-d' ); $member['subscription_starts'] = SwpmUtils::get_current_date_in_wp_zone();//date( 'Y-m-d' ); if ( isset( $_POST['createswpmuser'] ) ) { $member = array_map( 'sanitize_text_field', $_POST ); } extract( $member, EXTR_SKIP ); $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id !=1 '; $levels = $wpdb->get_results( $query, ARRAY_A ); $render_new_form_ui = SwpmSettings::get_instance()->get_value('use-new-form-ui'); if (!empty($render_new_form_ui)) { $add_user_template_path = apply_filters('swpm_admin_registration_add_user_template_path', SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_add_v2.php'); }else{ $add_user_template_path = apply_filters('swpm_admin_registration_add_user_template_path', SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_add.php'); } include_once $add_user_template_path; return false; } function edit( $id ) { if(!SwpmMembershipLevelUtils::is_membership_level_configured()){ echo self::membership_lvl_not_configured_msg_box(); return; } global $wpdb; $id = absint( $id ); $query = "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE member_id = $id"; $member = $wpdb->get_row( $query, ARRAY_A ); if ( ! $member ) { //Member record not found. Show an error message. $error_msg = __( 'Error! Member record not found. You may have deleted this member profile. ', 'simple-membership' ); $error_msg .= __( 'Please go back to the members menu and try to edit another member profile.', 'simple-membership' ); echo '

' . $error_msg . '

'; return; } if ( isset( $_POST['editswpmuser'] ) ) { $_POST['user_name'] = sanitize_text_field( $member['user_name'] ); $_POST['email'] = sanitize_email( $member['email'] ); foreach ( $_POST as $key => $value ) { $key = sanitize_text_field( $key ); if ( $key == 'email' ) { $member[ $key ] = sanitize_email( $value ); } else { $member[ $key ] = sanitize_text_field( $value ); } } } extract( $member, EXTR_SKIP ); $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id !=1 '; $levels = $wpdb->get_results( $query, ARRAY_A ); $render_new_form_ui = SwpmSettings::get_instance()->get_value('use-new-form-ui'); if (!empty($render_new_form_ui)) { $edit_user_template_path = apply_filters('swpm_admin_registration_edit_user_template_path', SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_edit_v2.php'); }else{ $edit_user_template_path = apply_filters('swpm_admin_registration_edit_user_template_path', SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_edit.php'); } include_once $edit_user_template_path; return; } function process_bulk_action() { //Detect when a bulk action is being triggered... then perform the action. $members = isset( $_REQUEST['members'] ) ? $_REQUEST['members'] : array(); $members = array_map( 'sanitize_text_field', $members ); $current_action = $this->current_action(); if ( ! empty( $current_action ) ) { //Bulk operation action. Lets make sure multiple records were selected before going ahead. if ( empty( $members ) ) { echo '

Error! You need to select multiple records to perform a bulk action!

'; return; } } else { //No bulk operation. return; } check_admin_referer( 'swpm_bulk_action', 'swpm_bulk_action_nonce' ); //perform the bulk operation according to the selection if ( 'bulk_delete' === $current_action ) { foreach ( $members as $record_id ) { if ( ! is_numeric( $record_id ) ) { wp_die( 'Error! ID must be numeric.' ); } self::delete_user_by_id( $record_id ); } echo '

Selected records deleted successfully!

'; return; } elseif ( 'bulk_active' === $current_action ) { $this->bulk_set_status( $members, 'active' ); } elseif ( 'bulk_active_notify' == $current_action ) { $this->bulk_set_status( $members, 'active', true ); } elseif ( 'bulk_inactive' == $current_action ) { $this->bulk_set_status( $members, 'inactive' ); } elseif ( 'bulk_pending' == $current_action ) { $this->bulk_set_status( $members, 'pending' ); } elseif ( 'bulk_expired' == $current_action ) { $this->bulk_set_status( $members, 'expired' ); } echo '

Bulk operation completed successfully!

'; } function bulk_set_status( $members, $status, $notify = false ) { $ids = implode( ',', array_map( 'absint', $members ) ); if ( empty( $ids ) ) { return; } global $wpdb; $query = 'UPDATE ' . $wpdb->prefix . 'swpm_members_tbl ' . " SET account_state = '" . $status . "' WHERE member_id in (" . $ids . ')'; $wpdb->query( $query ); if ( $notify ) { $settings = SwpmSettings::get_instance(); $emails = $wpdb->get_col( 'SELECT email FROM ' . $wpdb->prefix . 'swpm_members_tbl ' . " WHERE member_id IN ( $ids ) " ); $subject = $settings->get_value( 'bulk-activate-notify-mail-subject' ); if ( empty( $subject ) ) { $subject = 'Account Activated!'; } $body = $settings->get_value( 'bulk-activate-notify-mail-body' ); if ( empty( $body ) ) { $body = 'Hi, Your account has been activated successfully!'; } $from_address = $settings->get_value( 'email-from' ); $headers = 'From: ' . $from_address . "\r\n"; foreach ($emails as $to_email) { //Send the activation email one by one to all the selected members. $subject = apply_filters( 'swpm_email_bulk_set_status_subject', $subject ); $body = apply_filters( 'swpm_email_bulk_set_status_body', $body ); $to_email = trim($to_email); SwpmMiscUtils::mail( $to_email, $subject, $body, $headers ); SwpmLog::log_simple_debug( 'Bulk activation email notification sent. Activation email sent to the following email: ' . $to_email, true ); } } } function delete() { if ( isset( $_REQUEST['member_id'] ) ) { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin( 'member deletion by admin' ); //Check nonce if ( ! isset( $_REQUEST['delete_swpmuser_nonce'] ) || ! wp_verify_nonce( $_REQUEST['delete_swpmuser_nonce'], 'delete_swpmuser_admin_end' ) ) { //Nonce check failed. wp_die( SwpmUtils::_( 'Error! Nonce verification failed for user delete from admin end.' ) ); } $id = sanitize_text_field( $_REQUEST['member_id'] ); $id = absint( $id ); self::delete_user_by_id( $id ); } } public static function delete_user_by_id( $id ) { if ( ! is_numeric( $id ) ) { wp_die( 'Error! Member ID must be numeric.' ); } //Trigger action hook do_action( 'swpm_admin_end_user_delete_action', $id ); $swpm_user = SwpmMemberUtils::get_user_by_id( $id ); $user_name = $swpm_user->user_name; self::delete_wp_user( $user_name ); //Deletes the WP User record self::delete_swpm_user_by_id( $id ); //Deletes the SWPM record } public static function delete_swpm_user_by_id( $id ) { self::delete_user_subs( $id ); global $wpdb; $query = 'DELETE FROM ' . $wpdb->prefix . "swpm_members_tbl WHERE member_id = $id"; $wpdb->query( $query ); } public static function delete_wp_user( $user_name ) { $wp_user_id = username_exists( $user_name ); if ( empty( $wp_user_id ) || ! is_numeric( $wp_user_id ) ) { return; } if ( ! self::is_wp_super_user( $wp_user_id ) ) { //Not an admin user so it is safe to delete this user. include_once ABSPATH . 'wp-admin/includes/user.php'; wp_delete_user( $wp_user_id, 1 ); //assigns all related to this user to admin. } else { //This is an admin user. So not going to delete the WP User record. SwpmLog::log_simple_debug( 'For safety, we do not allow deletion of any associated WordPress account with administrator role.', true ); SwpmTransfer::get_instance()->set( 'status', 'For safety, we do not allow deletion of any associated WordPress account with administrator role.' ); return; } } private static function delete_user_subs( $member_id ) { $member = SwpmMemberUtils::get_user_by_id( $member_id ); if ( ! $member ) { return false; } SwpmLog::log_simple_debug("Cancelling all subscription of member id: " . $member_id, true); $subscription_utils = new SWPM_Utils_Subscriptions($member_id); $subscription_utils->load_subs_data(); $active_subs = $subscription_utils->get_active_subscriptions(); if ( empty($active_subs) ) { SwpmLog::log_simple_debug("No active subscriptions found for member ID: " . $member_id, true); return false; } SwpmLog::log_simple_debug("Active subscriptions found for member ID: " . $member_id, true); SwpmLog::log_simple_debug( "Active subscription IDs: ". implode(', ', array_keys($active_subs)) , true); foreach ( $active_subs as $sub ) { switch($sub['gateway']){ case 'stripe-sca-subs': SwpmLog::log_simple_debug("Cancelling Stripe SCA subscription with subscription ID: ". $sub['sub_id'], true); $subscription_utils->cancel_subscription_stripe_sca( $sub['sub_id'] ); break; case 'paypal_subscription_checkout': SwpmLog::log_simple_debug("Cancelling PayPal PPCP subscription with subscription ID: ". $sub['sub_id'], true); $subscription_utils->cancel_subscription_paypal( $sub['sub_id'] ); break; default: break; } } } public static function is_wp_super_user( $wp_user_id ) { $user_data = get_userdata( $wp_user_id ); if ( empty( $user_data ) ) { //Not an admin user if we can't find his data for the given ID. return false; } if ( isset( $user_data->wp_capabilities['administrator'] ) ) {//Check capability //admin user return true; } if ( $user_data->wp_user_level == 10 ) {//Check for old style wp user level //admin user return true; } //This is not an admin user return false; } function bulk_operation_menu() { echo '
'; if ( isset( $_REQUEST['swpm_bulk_change_level_process'] ) ) { //Check nonce $swpm_bulk_change_level_nonce = filter_input( INPUT_POST, 'swpm_bulk_change_level_nonce' ); if ( ! wp_verify_nonce( $swpm_bulk_change_level_nonce, 'swpm_bulk_change_level_nonce_action' ) ) { //Nonce check failed. wp_die( SwpmUtils::_( 'Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again.' ) ); } $errorMsg = ''; $from_level_id = sanitize_text_field( $_REQUEST['swpm_bulk_change_level_from'] ); $to_level_id = sanitize_text_field( $_REQUEST['swpm_bulk_change_level_to'] ); if ( $from_level_id == 'please_select' || $to_level_id == 'please_select' ) { $errorMsg = SwpmUtils::_( 'Error! Please select a membership level first.' ); } if ( empty( $errorMsg ) ) {//No validation errors so go ahead $member_records = SwpmMemberUtils::get_all_members_of_a_level( $from_level_id ); if ( $member_records ) { foreach ( $member_records as $row ) { $member_id = $row->member_id; SwpmMemberUtils::update_membership_level_and_role( $member_id, $to_level_id ); } } } $message = ''; if ( ! empty( $errorMsg ) ) { $message = $errorMsg; } else { $message = SwpmUtils::_( 'Membership level change operation completed successfully.' ); } echo '

'; echo $message; echo '

'; } if ( isset( $_REQUEST['swpm_bulk_user_start_date_change_process'] ) ) { //Check nonce $swpm_bulk_start_date_nonce = filter_input( INPUT_POST, 'swpm_bulk_start_date_nonce' ); if ( ! wp_verify_nonce( $swpm_bulk_start_date_nonce, 'swpm_bulk_start_date_nonce_action' ) ) { //Nonce check failed. wp_die( SwpmUtils::_( 'Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again.' ) ); } $errorMsg = ''; $level_id = sanitize_text_field( $_REQUEST['swpm_bulk_user_start_date_change_level'] ); $new_date = sanitize_text_field( $_REQUEST['swpm_bulk_user_start_date_change_date'] ); if ( $level_id == 'please_select' ) { $errorMsg = SwpmUtils::_( 'Error! Please select a membership level first.' ); } if ( empty( $errorMsg ) ) {//No validation errors so go ahead $member_records = SwpmMemberUtils::get_all_members_of_a_level( $level_id ); if ( $member_records ) { foreach ( $member_records as $row ) { $member_id = $row->member_id; SwpmMemberUtils::update_access_starts_date( $member_id, $new_date ); } } } $message = ''; if ( ! empty( $errorMsg ) ) { $message = $errorMsg; } else { $message = SwpmUtils::_( 'Access starts date change operation successfully completed.' ); } echo '

'; echo $message; echo '

'; } if ( isset( $_REQUEST['swpm_bulk_account_status_change_process'] ) ) { //Check nonce $swpm_bulk_change_level_nonce = filter_input( INPUT_POST, 'swpm_bulk_account_status_change_nonce' ); if ( ! wp_verify_nonce( $swpm_bulk_change_level_nonce, 'swpm_bulk_account_status_change_nonce_action' ) ) { //Nonce check failed. wp_die( SwpmUtils::_( 'Error! Nonce security verification failed for Bulk Change Account Status action. Clear cache and try again.' ) ); } $errorMsg = ''; $from_level_id = sanitize_text_field( $_POST['swpm_bulk_account_status_change_level_of'] ); $to_account_status = sanitize_text_field( $_POST['swpm_bulk_change_account_status_to'] ); if ( $from_level_id == 'please_select' ) { $errorMsg = __( 'Error! Please select a membership level first.', 'simple-membership' ); }else if($to_account_status == 'please_select' || empty($to_account_status)){ $errorMsg = __( 'Error! Please select a account status.', 'simple-membership' ); } if ( empty( $errorMsg ) ) { //No validation errors so go ahead SwpmLog::log_simple_debug( 'Updating bulk account status value of membership level ID: ' . $from_level_id . ' to the account status of: ' . $to_account_status, true ); $member_records = SwpmMemberUtils::get_all_members_of_a_level( $from_level_id ); if ( $member_records ) { foreach ( $member_records as $row ) { $member_id = $row->member_id; SwpmMemberUtils::update_account_state( $member_id, $to_account_status ); } } } if ( ! empty( $errorMsg ) ) { echo '

'; echo $errorMsg; echo '

'; }else{ echo '

'; _e( 'Account status change operation completed successfully.', 'simple-membership'); echo '

'; } } ?>

'; // } function show_all_members() { ob_start(); $status = filter_input(INPUT_GET, 'status'); include_once SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_members_list.php'; $output = ob_get_clean(); return $output; } public function set_default_editor($r) { $r = 'html'; return $r; } function handle_main_members_admin_menu() { do_action('swpm_members_menu_start'); //Check current_user_can() or die. SwpmMiscUtils::check_user_permission_and_is_admin('Main Members Admin Menu'); $action = filter_input(INPUT_GET, 'member_action'); $action = empty($action) ? filter_input(INPUT_POST, 'action') : $action; $selected = $action; ?>

'; // return; } //Switch case for the various different actions handled by the core plugin. switch ( $action ) { case 'members_list': //Show the members listing echo $this->show_all_members(); break; case 'add': //Process member profile add $this->process_form_request(); break; case 'edit': //Process member profile edit $this->process_form_request(); break; case 'bulk': //Handle the bulk operation menu $this->bulk_operation_menu(); break; case 'send_direct_email': //Handle the send email operation menu include_once(SIMPLE_WP_MEMBERSHIP_PATH . "classes/admin-includes/class.swpm-send-direct-email-menu.php"); $send_direct_email_menu = new SWPM_Send_Direct_Email_Menu(); $send_direct_email_menu->handle_send_direct_email_menu(); break; default: //Show the members listing page by default. echo $this->show_all_members(); break; } echo '
'; // } } classes/class.swpm-membership-levels.php000064400000033121147206617610014437 0ustar00 SwpmUtils::_('Membership Level'), 'plural' => SwpmUtils::_('Membership Levels'), 'ajax' => false )); } function get_columns() { return array( 'cb' => '' , 'id' => SwpmUtils::_('ID') , 'alias' => SwpmUtils::_('Membership Level') , 'role' => SwpmUtils::_('Role') , 'valid_for' => SwpmUtils::_('Access Valid For/Until') ); } function get_sortable_columns() { return array( 'id' => array('id', true), 'alias' => array('alias', true) ); } function get_bulk_actions() { $actions = array( 'bulk_delete' => SwpmUtils::_('Delete') ); return $actions; } function column_default($item, $column_name) { if ($column_name == 'valid_for') { if ($item['subscription_duration_type'] == SwpmMembershipLevel::NO_EXPIRY) { return 'No Expiry'; } if ($item['subscription_duration_type'] == SwpmMembershipLevel::FIXED_DATE) { $formatted_date = SwpmUtils::get_formatted_date_according_to_wp_settings($item['subscription_period']); return $formatted_date; } if ($item['subscription_duration_type'] == SwpmMembershipLevel::DAYS) { return $item['subscription_period'] . " Day(s)"; } if ($item['subscription_duration_type'] == SwpmMembershipLevel::WEEKS) { return $item['subscription_period'] . " Week(s)"; } if ($item['subscription_duration_type'] == SwpmMembershipLevel::MONTHS) { return $item['subscription_period'] . " Month(s)"; } if ($item['subscription_duration_type'] == SwpmMembershipLevel::YEARS) { return $item['subscription_period'] . " Year(s)"; } } if ($column_name == 'role') { return ucfirst($item['role']); } return stripslashes($item[$column_name]); } function column_id($item) { $delete_swpmlevel_nonce = wp_create_nonce( 'nonce_delete_swpmlevel_admin_end' ); $actions = array( 'edit' => sprintf('Edit', $item['id']), 'delete' => sprintf('Delete', $item['id'],$delete_swpmlevel_nonce), ); return $item['id'] . $this->row_actions($actions); } function column_cb($item) { return sprintf( '', $item['id'] ); } function prepare_items() { global $wpdb; $this->process_bulk_action(); $query = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id !=1 "; if (isset($_POST['s'])){ $search_keyword = sanitize_text_field($_POST['s']); $search_keyword = esc_attr ($search_keyword); $query .= " AND alias LIKE '%" . $search_keyword . "%' "; } //Read and sanitize the sort inputs. $orderby = !empty($_GET["orderby"]) ? esc_sql($_GET["orderby"]) : 'id'; $order = !empty($_GET["order"]) ? esc_sql($_GET["order"]) : 'DESC'; $sortable_columns = $this->get_sortable_columns(); $orderby = SwpmUtils::sanitize_value_by_array($orderby, $sortable_columns); $order = SwpmUtils::sanitize_value_by_array($order, array('DESC' => '1', 'ASC' => '1')); if (!empty($orderby) && !empty($order)) { $query.=' ORDER BY ' . $orderby . ' ' . $order; } $totalitems = $wpdb->query($query); //Return the total number of affected rows $perpage = 50; $paged = !empty($_GET["paged"]) ? sanitize_text_field($_GET["paged"]) : ''; if (empty($paged) || !is_numeric($paged) || $paged <= 0) { $paged = 1; } $totalpages = ceil($totalitems / $perpage); if (!empty($paged) && !empty($perpage)) { $offset = ($paged - 1) * $perpage; $query.=' LIMIT ' . (int) $offset . ',' . (int) $perpage; } $this->set_pagination_args(array( "total_items" => $totalitems, "total_pages" => $totalpages, "per_page" => $perpage, )); $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); $this->items = $wpdb->get_results($query, ARRAY_A); } function no_items() { _e('No membership levels found.', 'simple-membership'); } function process_form_request() { if (isset($_REQUEST['id'])) { //This is a level edit action $record_id = sanitize_text_field($_REQUEST['id']); if(!is_numeric($record_id)){ wp_die('Error! ID must be numeric.'); } return $this->edit($record_id); } //Level add action return $this->add(); } function add() { //Level add interface include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_add_level.php'); return false; } function edit($id) { global $wpdb; $query = $wpdb->prepare("SELECT * FROM {$wpdb->prefix}swpm_membership_tbl WHERE id = %d", absint($id)); $membership = $wpdb->get_row($query, ARRAY_A); extract($membership, EXTR_SKIP); $email_activation = get_option('swpm_email_activation_lvl_'.$id); $custom_fields = SwpmMembershipLevelCustom::get_instance_by_id($id); $after_activation_redirect_page = sanitize_url($custom_fields->get('after_activation_redirect_page')); $default_account_status = sanitize_text_field($custom_fields->get('default_account_status')); include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_edit_level.php'); return false; } function process_bulk_action() { //Detect when a bulk action is being triggered... global $wpdb; if ('bulk_delete' === $this->current_action()) { $records_to_delete = array_map( 'sanitize_text_field', $_REQUEST['ids'] ); if (empty($records_to_delete)) { echo '

Error! You need to select multiple records to perform a bulk action!

'; return; } $action = 'bulk-' . $this->_args['plural']; check_admin_referer( $action ); foreach ($records_to_delete as $record_id) { if( !is_numeric( $record_id )){ wp_die('Error! ID must be numeric.'); } $query = $wpdb->prepare("DELETE FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = %d", $record_id); $wpdb->query($query); } echo '

Selected records deleted successfully!

'; } } function delete_level() { global $wpdb; if (isset($_REQUEST['id'])) { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('membership level delete'); //Check nonce if ( !isset($_REQUEST['delete_swpmlevel_nonce']) || !wp_verify_nonce($_REQUEST['delete_swpmlevel_nonce'], 'nonce_delete_swpmlevel_admin_end' )){ //Nonce check failed. wp_die(SwpmUtils::_("Error! Nonce verification failed for membership level delete from admin end.")); } $id = sanitize_text_field($_REQUEST['id']); $id = absint($id); $query = $wpdb->prepare("DELETE FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = %d", $id); $wpdb->query($query); echo '

Selected record deleted successfully!

'; } } function show_levels() { ?>
prepare_items(); ?>
display(); ?>

';// return; } //Switch case for the various different actions handled by the core plugin. switch ($action) { case 'add': case 'edit': $this->process_form_request(); break; case 'manage': $this->manage(); break; case 'category_list': $this->manage_categroy(); break; case 'post_list': $this->manage_post(); break; case 'delete': $this->delete_level(); default: $this->show_levels(); break; } echo '
';// } } classes/class.swpm-installation.php000064400000032216147206617610013521 0ustar00blogid; // Get all blog ids $blogids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs"); foreach ($blogids as $blog_id) { switch_to_blog($blog_id); SwpmInstallation::installer(); SwpmInstallation::initdb(); } switch_to_blog($old_blog); return; } } //Do this if single site standard install SwpmInstallation::installer(); //Set default values for the settings in the DB. SwpmInstallation::initdb(); } public static function installer() { global $wpdb; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); $charset_collate = ''; if (!empty($wpdb->charset)) { $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; } else { $charset_collate = "DEFAULT CHARSET=utf8"; } if (!empty($wpdb->collate)) { $charset_collate .= " COLLATE $wpdb->collate"; } $sql = "CREATE TABLE " . $wpdb->prefix . "swpm_members_tbl ( member_id int(12) NOT NULL PRIMARY KEY AUTO_INCREMENT, user_name varchar(255) NOT NULL, first_name varchar(64) DEFAULT '', last_name varchar(64) DEFAULT '', password varchar(255) NOT NULL, member_since date NOT NULL DEFAULT '0000-00-00', membership_level smallint(6) NOT NULL, more_membership_levels VARCHAR(100) DEFAULT NULL, account_state enum('active','inactive','activation_required','expired','pending','unsubscribed') DEFAULT 'pending', last_accessed datetime NOT NULL DEFAULT '0000-00-00 00:00:00', last_accessed_from_ip varchar(128) NOT NULL, email varchar(255) DEFAULT NULL, phone varchar(64) DEFAULT NULL, address_street varchar(255) DEFAULT NULL, address_city varchar(255) DEFAULT NULL, address_state varchar(255) DEFAULT NULL, address_zipcode varchar(255) DEFAULT NULL, home_page varchar(255) DEFAULT NULL, country varchar(255) DEFAULT NULL, gender enum('male','female','not specified') DEFAULT 'not specified', referrer varchar(255) DEFAULT NULL, extra_info text, reg_code varchar(255) DEFAULT NULL, subscription_starts date DEFAULT NULL, initial_membership_level smallint(6) DEFAULT NULL, txn_id varchar(255) DEFAULT '', subscr_id varchar(255) DEFAULT '', company_name varchar(255) DEFAULT '', notes text DEFAULT NULL, flags int(11) DEFAULT '0', profile_image varchar(255) DEFAULT '' )" . $charset_collate . ";"; dbDelta($sql); $sql = "CREATE TABLE " . $wpdb->prefix . "swpm_membership_tbl ( id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, alias varchar(127) NOT NULL, role varchar(255) NOT NULL DEFAULT 'subscriber', permissions tinyint(4) NOT NULL DEFAULT '0', subscription_period varchar(11) NOT NULL DEFAULT '-1', subscription_duration_type tinyint NOT NULL default 0, subscription_unit VARCHAR(20) NULL, loginredirect_page text NULL, category_list longtext, page_list longtext, post_list longtext, comment_list longtext, attachment_list longtext, custom_post_list longtext, disable_bookmark_list longtext, options longtext, protect_older_posts tinyint(1) NOT NULL DEFAULT '0', campaign_name varchar(255) NOT NULL DEFAULT '' )" . $charset_collate . " AUTO_INCREMENT=1 ;"; dbDelta($sql); $sql = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = 1"; $results = $wpdb->get_row($sql); if (is_null($results)) { $sql = "INSERT INTO " . $wpdb->prefix . "swpm_membership_tbl ( id , alias , role , permissions , subscription_period , subscription_unit, loginredirect_page, category_list , page_list , post_list , comment_list, disable_bookmark_list, options, campaign_name )VALUES (1 , 'Content Protection', 'administrator', '15', '0',NULL,NULL, NULL , NULL , NULL , NULL,NULL,NULL,'');"; $wpdb->query($sql); } $sql = "UPDATE " . $wpdb->prefix . "swpm_membership_tbl SET subscription_duration_type = 1 WHERE subscription_unit='days' AND subscription_duration_type = 0"; $wpdb->query($sql); $sql = "UPDATE " . $wpdb->prefix . "swpm_membership_tbl SET subscription_duration_type = 2 WHERE subscription_unit='weeks' AND subscription_duration_type = 0"; $wpdb->query($sql); $sql = "UPDATE " . $wpdb->prefix . "swpm_membership_tbl SET subscription_duration_type = 3 WHERE subscription_unit='months' AND subscription_duration_type = 0"; $wpdb->query($sql); $sql = "UPDATE " . $wpdb->prefix . "swpm_membership_tbl SET subscription_duration_type = 4 WHERE subscription_unit='years' AND subscription_duration_type = 0"; $wpdb->query($sql); $sql = "CREATE TABLE " . $wpdb->prefix . "swpm_membership_meta_tbl ( id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, level_id int(11) NOT NULL, meta_key varchar(255) NOT NULL, meta_label varchar(255) NULL, meta_value text, meta_type varchar(255) NOT NULL DEFAULT 'text', meta_default text, meta_context varchar(255) NOT NULL DEFAULT 'default', KEY level_id (level_id) )" . $charset_collate . " AUTO_INCREMENT=1;"; dbDelta($sql); $sql = "CREATE TABLE " . $wpdb->prefix . "swpm_payments_tbl ( id int(12) NOT NULL PRIMARY KEY AUTO_INCREMENT, email varchar(255) DEFAULT NULL, first_name varchar(64) DEFAULT '', last_name varchar(64) DEFAULT '', member_id varchar(16) DEFAULT '', membership_level varchar(64) DEFAULT '', txn_date date NOT NULL default '0000-00-00', txn_id varchar(255) NOT NULL default '', subscr_id varchar(255) NOT NULL default '', reference varchar(255) NOT NULL default '', payment_amount varchar(32) NOT NULL default '', gateway varchar(32) DEFAULT '', status varchar(255) DEFAULT '', ip_address varchar(128) default '' )" . $charset_collate . ";"; dbDelta($sql); //Save the current DB version update_option("swpm_db_version", SIMPLE_WP_MEMBERSHIP_DB_VER); } public static function initdb() { $settings = SwpmSettings::get_instance(); $installed_version = $settings->get_value('swpm-active-version'); //Set other default settings values $reg_prompt_email_subject = "Complete your registration"; $reg_prompt_email_body = "Dear {first_name} {last_name}" . "\n\nThank you for joining us!" . "\n\nPlease complete your registration by visiting the following link:" . "\n\n{reg_link}" . "\n\nThank You"; $reg_email_subject = "Your registration is complete"; $reg_email_body = "Dear {first_name} {last_name}\n\n" . "Your registration is now complete!\n\n" . "Registration details:\n" . "Username: {user_name}\n" . "Password: {password}\n\n" . "Please login to the member area at the following URL:\n\n" . "{login_link}\n\n" . "Thank You"; $reg_email_subject_admin = "Notification of New Member Registration"; $reg_email_body_admin = "A new member has completed the registration.\n\n" . "Username: {user_name}\n" . "Email: {email}\n\n" . "Please login to the admin dashboard to view details of this user.\n\n" . "You can customize this email message from the Email Settings menu of the plugin.\n\n" . "Thank You"; $upgrade_email_subject = "Subject for email sent after account upgrade"; $upgrade_email_body = "Dear {first_name} {last_name}" . "\n\nYour Account Has Been Upgraded." . "\n\nThank You"; $reset_email_subject = get_bloginfo('name') . ": New Password"; $reset_email_body = "Dear {first_name} {last_name}" . "\n\nHere is your new password:" . "\n\nUsername: {user_name}" . "\nPassword: {password}" . "\n\nYou can change the password from the edit profile section of the site (after you log into the site)" . "\n\nThank You"; $status_change_email_subject = "Account Updated!"; $status_change_email_body = "Dear {first_name} {last_name}," . "\n\nYour account status has been updated!" . " Please login to the member area at the following URL:" . "\n\n {login_link}" . "\n\nThank You"; $bulk_activate_email_subject = "Account Activated!"; $bulk_activate_email_body = "Hi," . "\n\nYour account has been activated!" . "\n\nYou can now login to the member area." . "\n\nThank You"; $email_activation_mail_subject = "Action Required to Activate Your Account"; $email_activation_mail_body = "Dear {first_name}" . "\n\nThank you for registering. To activate your account, please click on the following link (this will confirm your email address):" . "\n\n{activation_link}" . "\n\nThank You"; $curr_email_act_mail_subj = $settings->get_value('email-activation-mail-subject', false); if ($curr_email_act_mail_subj === false) { $settings->set_value('email-activation-mail-subject', stripslashes($email_activation_mail_subject)); } $curr_email_act_mail_body = $settings->get_value('email-activation-mail-body', false); if ($curr_email_act_mail_body === false) { $settings->set_value('email-activation-mail-body', stripslashes($email_activation_mail_body)); } if (empty($installed_version)) { //Do fresh install tasks //Create the mandatory pages (if they are not there) SwpmMiscUtils::create_mandatory_wp_pages(); //End of page creation $example_from_address = 'hello@' . SwpmMiscUtils::get_home_url_without_http_and_www(); $senders_email_address = get_bloginfo('name') . " <" . $example_from_address . ">"; $settings->set_value('reg-complete-mail-subject', stripslashes($reg_email_subject)) ->set_value('reg-complete-mail-body', stripslashes($reg_email_body)) ->set_value('reg-prompt-complete-mail-subject', stripslashes($reg_prompt_email_subject)) ->set_value('reg-prompt-complete-mail-body', stripslashes($reg_prompt_email_body)) ->set_value('upgrade-complete-mail-subject', stripslashes($upgrade_email_subject)) ->set_value('upgrade-complete-mail-body', stripslashes($upgrade_email_body)) ->set_value('reset-mail-subject', stripslashes($reset_email_subject)) ->set_value('reset-mail-body', stripslashes($reset_email_body)) ->set_value('account-change-email-subject', stripslashes($status_change_email_subject)) ->set_value('account-change-email-body', stripslashes($status_change_email_body)) ->set_value('email-from', $senders_email_address); $settings->set_value('reg-complete-mail-subject-admin', stripslashes($reg_email_subject_admin)); $settings->set_value('reg-complete-mail-body-admin', stripslashes($reg_email_body_admin)); $settings->set_value('bulk-activate-notify-mail-subject', stripslashes($bulk_activate_email_subject)); $settings->set_value('bulk-activate-notify-mail-body', stripslashes($bulk_activate_email_body)); //Preparing it to be enabled by default in the feature. //$settings->set_value("force-wp-user-sync", "checked='checked'"); $settings->set_value("use-new-form-ui", "checked='checked'"); } if (version_compare($installed_version, SIMPLE_WP_MEMBERSHIP_VER) == -1) { //Do upgrade tasks } //save everything. $settings->set_value('swpm-active-version', SIMPLE_WP_MEMBERSHIP_VER)->save(); //Generate and save a swpm private key for this site $unique_id = uniqid('', true); add_option('swpm_private_key_one', $unique_id); } } classes/class.swpm-ajax.php000064400000005106147206617610011741 0ustar00prefix . "swpm_members_tbl"; $query = $wpdb->prepare("SELECT member_id FROM $table WHERE email = %s AND user_name != ''", $field_value); $db_id = $wpdb->get_var($query) ; $exists = ($db_id > 0) && $db_id != $member_id; echo '[ "' . esc_attr($field_id) . (($exists) ? '",false, "χ '.SwpmUtils::_('Already taken').'"]' : '",true, "√ '.SwpmUtils::_('Available'). '"]'); exit; } public static function validate_user_name_ajax() { global $wpdb; $field_value = isset($_GET['fieldValue']) ? sanitize_text_field($_GET['fieldValue']) : ''; $field_id = isset($_GET['fieldId']) ? sanitize_text_field($_GET['fieldId']) : ''; if (!check_ajax_referer( 'swpm-rego-form-ajax-nonce', 'nonce', false )) { echo '[ "' . esc_attr($field_id) . '",false, "'.SwpmUtils::_('Nonce check failed. Please reload the page.').'" ]' ; exit; } if (!SwpmMemberUtils::is_valid_user_name($field_value)){ echo '[ "' . esc_attr($field_id) . '",false,"χ '. SwpmUtils::_('Name contains invalid character'). '"]'; exit; } $table = $wpdb->prefix . "swpm_members_tbl"; $query = $wpdb->prepare("SELECT COUNT(*) FROM $table WHERE user_name = %s", $field_value); $exists = $wpdb->get_var($query) > 0; echo '[ "' . esc_attr($field_id) . (($exists) ? '",false,"χ '. SwpmUtils::_('Already taken'). '"]' : '",true,"√ '.SwpmUtils::_('Available'). '"]'); exit; } } classes/class.swpm-init-time-tasks.php000064400000025435147206617610014047 0ustar00create_post_type(); //Do frontend-only init time tasks if ( ! is_admin() ) { //Trigger an action hook do_action('swpm_do_init_time_tasks_front_end'); SwpmAuth::get_instance(); $this->check_and_handle_auto_login(); $this->verify_and_delete_account(); $swpm_logout = filter_input( INPUT_GET, 'swpm-logout' ); if ( ! empty( $swpm_logout ) ) { SwpmAuth::get_instance()->logout(); $redirect_url = apply_filters( 'swpm_after_logout_redirect_url', SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL ); wp_redirect( trailingslashit( $redirect_url ) ); exit( 0 ); } $this->process_password_reset(); $this->process_password_reset_using_link(); $this->register_member(); $this->check_and_do_email_activation(); $this->edit_profile(); SwpmCommentFormRelated::check_and_restrict_comment_posting_to_members(); } else { //Do admin side init time tasks if ( current_user_can( SWPM_MANAGEMENT_PERMISSION ) ) { //Admin dashboard side stuff $this->admin_init(); } } } public function admin_init() { $createswpmuser = filter_input( INPUT_POST, 'createswpmuser' ); if ( ! empty( $createswpmuser ) ) { SwpmAdminRegistration::get_instance()->register_admin_end(); } $editswpmuser = filter_input( INPUT_POST, 'editswpmuser' ); if ( ! empty( $editswpmuser ) ) { $id = filter_input( INPUT_GET, 'member_id', FILTER_VALIDATE_INT ); SwpmAdminRegistration::get_instance()->edit_admin_end( $id ); } $createswpmlevel = filter_input( INPUT_POST, 'createswpmlevel' ); if ( ! empty( $createswpmlevel ) ) { SwpmMembershipLevel::get_instance()->create_level(); } $editswpmlevel = filter_input( INPUT_POST, 'editswpmlevel' ); if ( ! empty( $editswpmlevel ) ) { $id = filter_input( INPUT_GET, 'id' ); SwpmMembershipLevel::get_instance()->edit_level( $id ); } $update_category_list = filter_input( INPUT_POST, 'update_category_list' ); if ( ! empty( $update_category_list ) ) { include_once 'class.swpm-category-list.php'; SwpmCategoryList::update_category_list(); } $update_post_list = filter_input( INPUT_POST, 'update_post_list' ); if ( ! empty( $update_post_list ) ) { include_once 'class.swpm-post-list.php'; SwpmPostList::update_post_list(); } } public function create_post_type() { //The payment button data for membership levels will be stored using this CPT register_post_type( 'swpm_payment_button', array( 'public' => false, 'publicly_queryable' => false, 'show_ui' => false, 'query_var' => false, 'rewrite' => false, 'capability_type' => 'page', 'has_archive' => false, 'hierarchical' => false, 'supports' => array( 'title', 'editor' ), ) ); //Transactions will be stored using this CPT in parallel with swpm_payments_tbl DB table $args = array( 'supports' => array( '' ), 'hierarchical' => false, 'public' => false, 'show_ui' => false, 'can_export' => false, 'has_archive' => false, 'exclude_from_search' => true, 'publicly_queryable' => false, 'capability_type' => 'post', ); register_post_type( 'swpm_transactions', $args ); } private function verify_and_delete_account() { include_once SIMPLE_WP_MEMBERSHIP_PATH . 'classes/class.swpm-members.php'; $delete_account = filter_input( INPUT_GET, 'swpm_delete_account' ); if ( empty( $delete_account ) ) { return; } $password = filter_input( INPUT_POST, 'account_delete_confirm_pass', FILTER_UNSAFE_RAW ); $auth = SwpmAuth::get_instance(); if ( ! $auth->is_logged_in() ) { return; } if ( empty( $password ) ) { SwpmUtils::account_delete_confirmation_ui(); } $nonce_field = filter_input( INPUT_POST, 'account_delete_confirm_nonce' ); if ( empty( $nonce_field ) || ! wp_verify_nonce( $nonce_field, 'swpm_account_delete_confirm' ) ) { SwpmUtils::account_delete_confirmation_ui( SwpmUtils::_( 'Sorry, Nonce verification failed.' ) ); } if ( $auth->match_password( $password ) ) { $auth->delete(); wp_safe_redirect( get_home_url() ); exit( 0 ); } else { SwpmUtils::account_delete_confirmation_ui( SwpmUtils::_( "Sorry, Password didn't match." ) ); } } public function process_password_reset() { $message = ''; $swpm_reset = filter_input( INPUT_POST, 'swpm-reset' ); $swpm_reset_email = filter_input( INPUT_POST, 'swpm_reset_email', FILTER_UNSAFE_RAW ); if ( ! empty( $swpm_reset ) ) { SwpmFrontRegistration::get_instance()->reset_password( $swpm_reset_email ); } } public function process_password_reset_using_link() { $swpm_reset = filter_input( INPUT_POST, 'swpm-password-reset-using-link' ); if( is_null( $swpm_reset ) ) { return; } $error_message = ''; $user_login = filter_input( INPUT_POST, 'swpm_user_login', FILTER_UNSAFE_RAW ); $user_login = sanitize_user( $user_login ); //Check 'swpm_user_login' matches with $_GET['login'] if( $user_login != $_GET['login'] ) { $error_message = __("Error! Invalid password reset request.", 'simple-membership'); } //Validate password reset key $is_valid_key = check_password_reset_key($_GET['key'], $_GET['login']); if ( is_wp_error( $is_valid_key ) ) { $error_message = __("Error! A password reset request has been submitted but the password reset key is invalid. Please generate a new request.", "simple-membership"); } //Validate password fields match $swpm_new_password = filter_input( INPUT_POST, 'swpm_new_password', FILTER_UNSAFE_RAW ); $swpm_renew_password = filter_input( INPUT_POST, 'swpm_reenter_new_password', FILTER_UNSAFE_RAW ); if( $swpm_new_password != $swpm_renew_password ) { $error_message = __("Error! Password fields do not match. Please try again.", 'simple-membership'); } //Validate user exists $user_data = get_user_by( "login", $_GET['login'] ); if( !$user_data ) { $error_message = __("Error! Invalid password reset request.", 'simple-membership'); } if( strlen( $error_message) > 0 ) { //If any error messsage, save it in the transient for output later. The transient will be deleted after it is displayed. //The error output is displayed in the form's HTML output file. set_transient( "swpm-passsword-reset-error", $error_message ); return; } if ( ! empty( $swpm_reset ) && strlen( $error_message ) == 0 ) { //Valiation passed. Lets try to reset the password. $is_password_reset = SwpmFrontRegistration::get_instance()->reset_password_using_link( $user_data, $swpm_new_password ); if( $is_password_reset ) { $login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' ); // Allow hooks to change the value of login_page_url $login_page_url = apply_filters('swpm_register_front_end_login_page_url', $login_page_url); $after_pwd_reset = '
' . SwpmUtils::_( 'Password Reset Successful. ' ) . SwpmUtils::_( 'Please' ) . ' ' . SwpmUtils::_( 'Log In' ) . '
'; $after_pwd_reset = apply_filters( 'swpm_password_reset_success_msg', $after_pwd_reset ); $message_ary = array( 'succeeded' => true, 'message' => $after_pwd_reset, ); SwpmTransfer::get_instance()->set( 'status', $message_ary ); return; } } } private function register_member() { $registration = filter_input( INPUT_POST, 'swpm_registration_submit' ); if ( ! empty( $registration ) ) { SwpmFrontRegistration::get_instance()->register_front_end(); } } private function check_and_do_email_activation() { $email_activation = filter_input( INPUT_GET, 'swpm_email_activation', FILTER_SANITIZE_NUMBER_INT ); if ( ! empty( $email_activation ) ) { SwpmFrontRegistration::get_instance()->email_activation(); } //also check activation email resend request $email_activation_resend = filter_input( INPUT_GET, 'swpm_resend_activation_email', FILTER_SANITIZE_NUMBER_INT ); if ( ! empty( $email_activation_resend ) ) { SwpmFrontRegistration::get_instance()->resend_activation_email(); } } private function edit_profile() { $swpm_editprofile_submit = filter_input( INPUT_POST, 'swpm_editprofile_submit' ); if ( ! empty( $swpm_editprofile_submit ) ) { SwpmFrontRegistration::get_instance()->edit_profile_front_end(); //TODO - allow an option to do a redirect if successful edit profile form submission? } } public function check_and_handle_auto_login() { if ( isset( $_REQUEST['swpm_auto_login'] ) && $_REQUEST['swpm_auto_login'] == '1' ) { //Handle the auto login SwpmLog::log_simple_debug( 'Handling auto login request. The login related debug log file will contain additional details.', true ); $enable_auto_login = SwpmSettings::get_instance()->get_value( 'auto-login-after-rego' ); if ( empty( $enable_auto_login ) ) { SwpmLog::log_simple_debug( 'Auto login after registration feature is disabled in settings.', true ); return; } //Check auto login nonce value $auto_login_nonce = isset( $_REQUEST['swpm_auto_login_nonce'] ) ? $_REQUEST['swpm_auto_login_nonce'] : ''; if ( ! wp_verify_nonce( $auto_login_nonce, 'swpm-auto-login-nonce' ) ) { SwpmLog::log_simple_debug( 'Error! Auto login nonce verification check failed!', false ); wp_die( 'Auto login nonce verification check failed!' ); } //Perform the login $auth = SwpmAuth::get_instance(); $user = apply_filters( 'swpm_user_name', filter_input( INPUT_GET, 'swpm_user_name' ) ); $user = sanitize_user( $user ); $encoded_pass = filter_input( INPUT_GET, 'swpm_encoded_pw' ); $pass = base64_decode( $encoded_pass ); $auth->login( $user, $pass ); SwpmLog::log_simple_debug( 'Auto login request completed for: ' . $user, true ); } } } classes/class.swpm-admin-registration.php000064400000022460147206617610014620 0ustar00is_valid() ) { $member_info = $form->get_sanitized_member_form_data(); //First, check if email or username belongs to an existing admin user. Bail if it does. SwpmMemberUtils::check_and_die_if_email_belongs_to_admin_user($member_info['email']); SwpmMemberUtils::check_and_die_if_username_belongs_to_admin_user($member_info['user_name']); $account_status = SwpmSettings::get_instance()->get_value( 'default-account-status', 'active' ); $member_info['account_state'] = $account_status; $plain_password = $member_info['plain_password']; unset( $member_info['plain_password'] ); //Create SWPM member entry $wpdb->insert( $wpdb->prefix . 'swpm_members_tbl', $member_info ); //Register to WordPress $query = $wpdb->prepare( 'SELECT role FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id = %d', $member_info['membership_level'] ); $wp_user_info = array(); $wp_user_info['user_nicename'] = implode( '-', explode( ' ', $member_info['user_name'] ) ); $wp_user_info['display_name'] = apply_filters( 'swpm_admin_end_registration_display_name', $member_info['user_name'] ); $wp_user_info['user_email'] = $member_info['email']; $wp_user_info['nickname'] = $member_info['user_name']; if ( isset( $member_info['first_name'] ) ) { $wp_user_info['first_name'] = $member_info['first_name']; } if ( isset( $member_info['last_name'] ) ) { $wp_user_info['last_name'] = $member_info['last_name']; } $wp_user_info['user_login'] = $member_info['user_name']; $wp_user_info['password'] = $plain_password; $wp_user_info['role'] = $wpdb->get_var( $query ); $wp_user_info['user_registered'] = date( 'Y-m-d H:i:s' ); SwpmUtils::create_wp_user( $wp_user_info ); //End register to WordPress //Send notification $send_notification = SwpmSettings::get_instance()->get_value( 'enable-notification-after-manual-user-add' ); $member_info['plain_password'] = $plain_password; $this->member_info = $member_info; if ( ! empty( $send_notification ) ) { $this->send_reg_email(); } //Trigger action hook do_action( 'swpm_admin_end_registration_complete_user_data', $member_info ); //Save success message $message = array( 'succeeded' => true, 'message' => '

' . SwpmUtils::_( 'Member record added successfully.' ) . '

', ); SwpmTransfer::get_instance()->set( 'status', $message ); wp_redirect( 'admin.php?page=simple_wp_membership' ); exit( 0 ); } $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'Please correct the following:' ), 'extra' => $form->get_errors(), ); SwpmTransfer::get_instance()->set( 'status', $message ); } /** * Edit member profile handler of admin side. * * @param $id Member's ID (member_id) in 'swpm_members_tbl' table. * * @return void */ public function edit_admin_end( $id ) { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin( 'member edit by admin' ); //Check nonce if ( ! isset( $_POST['_wpnonce_edit_swpmuser_admin_end'] ) || ! wp_verify_nonce( $_POST['_wpnonce_edit_swpmuser_admin_end'], 'edit_swpmuser_admin_end' ) ) { //Nonce check failed. wp_die( __( 'Error! Nonce verification failed for user edit from admin end.', 'simple-membership' ) ); } $id_of_profile_being_edited = intval( $id ); global $wpdb; $query = $wpdb->prepare( 'SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE member_id = %d', $id ); $member = $wpdb->get_row( $query, ARRAY_A ); // let's get previous membership level $prev_level = false; if ( $member ) { $prev_level = $member['membership_level']; } $email_address = $member['email']; $user_name = $member['user_name']; unset( $member['member_id'] ); unset( $member['user_name'] ); $form = new SwpmForm( $member ); if ( $form->is_valid() ) { $member = $form->get_sanitized_member_form_data(); $plain_password = isset( $member['plain_password'] ) ? $member['plain_password'] : ''; // Important: Get the currently logged in member's ID before calling the update_wp_user() function (since this function can invalidate the auth cookie if password is updated). $currently_logged_in_member_id = SwpmMemberUtils::get_logged_in_members_id(); SwpmUtils::update_wp_user( $user_name, $member ); unset( $member['plain_password'] ); $wpdb->update( $wpdb->prefix . 'swpm_members_tbl', $member, array( 'member_id' => $id ) ); // Check if the password has been updated and the profile being edited is the logged-in user's own profile. // If so, then we need to reset/update the auth cookies to keep the user logged in. if( !empty($plain_password) && ($currently_logged_in_member_id == $id_of_profile_being_edited) ){ //The password has been updated and the profile being edited is the logged-in user's own profile. $auth_object = SwpmAuth::get_instance(); $user_info_params = array( 'member_id' => $id_of_profile_being_edited, 'user_name' => $user_name, 'new_enc_password' => $member['password'], ); $auth_object->reset_auth_cookies_after_pass_change($user_info_params); SwpmLog::log_auth_debug( 'Profile edit from admin dashboard - The authentication cookies have been reset since the password was changed by the user (member_id: '. $id . ').', true ); } // set previous membership level $member['prev_membership_level'] = $prev_level; $member['member_id'] = $id; //Trigger action hook do_action( 'swpm_admin_end_edit_complete_user_data', $member ); if ( $member['prev_membership_level'] != $member['membership_level'] ) { do_action( 'swpm_membership_level_changed', array( 'member_id' => $id, 'from_level' => $member['prev_membership_level'], 'to_level' => $member['membership_level'], ) ); } //Set messages $message = array( 'succeeded' => true, 'message' => '

Member profile updated successfully.

', ); $error = apply_filters( 'swpm_admin_edit_custom_fields', array(), $member + array( 'member_id' => $id ) ); if ( ! empty( $error ) ) { $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'Please correct the following:' ), 'extra' => $error, ); SwpmTransfer::get_instance()->set( 'status', $message ); return; } SwpmTransfer::get_instance()->set( 'status', $message ); $send_notification = filter_input( INPUT_POST, 'account_status_change' ); if ( ! empty( $send_notification ) ) { $settings = SwpmSettings::get_instance(); $from_address = $settings->get_value( 'email-from' ); $headers = 'From: ' . $from_address . "\r\n"; $subject = filter_input( INPUT_POST, 'notificationmailhead' ); $body = filter_input( INPUT_POST, 'notificationmailbody' ); $settings->set_value( 'account-change-email-body', $body )->set_value( 'account-change-email-subject', $subject )->save(); $member['login_link'] = $settings->get_value( 'login-page-url' ); $member['user_name'] = $user_name; $member['password'] = empty( $plain_password ) ? SwpmUtils::_( 'Your current password' ) : $plain_password; $values = array_values( $member ); $keys = array_map( 'swpm_enclose_var', array_keys( $member ) ); $body = html_entity_decode( str_replace( $keys, $values, $body ) ); //Do the standard email merge tag replacement. $body = SwpmMiscUtils::replace_dynamic_tags( $body, $id ); //Trigger the filter hooks $subject = apply_filters( 'swpm_email_account_status_change_subject', $subject ); $body = apply_filters( 'swpm_email_account_status_change_body', $body ); //Send the email SwpmMiscUtils::mail( $email_address, $subject, $body, $headers ); SwpmLog::log_simple_debug( 'Notify email sent (after profile edit from admin side). Email sent to: ' . $email_address, true ); } wp_redirect( 'admin.php?page=simple_wp_membership' ); exit( 0 ); } $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'Please correct the following:' ), 'extra' => $form->get_errors(), ); SwpmTransfer::get_instance()->set( 'status', $message ); } } classes/class.swpm-session.php000064400000000000147206617610012465 0ustar00classes/class.swpm-front-registration.php000064400000110060147206617610014652 0ustar00get_value( 'hide-rego-form-to-logged-users' ); if ( ! empty( $hide_rego_to_logged_users ) ){ //Hide registration form to logged-in users feature is enabled. Check if the form should be hidden. if ( SwpmMemberUtils::is_member_logged_in() ) { $rego_hidden_to_logged_users_msg = '
'; $rego_hidden_to_logged_users_msg .= '
' . SwpmUtils::_( "You are already logged in. You don't need to create another account. So the registration form is hidden." ) . '
'; $rego_hidden_to_logged_users_msg .= '
'; $rego_hidden_to_logged_users_msg = apply_filters('swpm_registration_form_hidden_message', $rego_hidden_to_logged_users_msg); return $rego_hidden_to_logged_users_msg; } } //Check if the registration completion link (if present in the URL) has been already used. Show an appropriate error message to prevent confusion. if( SwpmUtils::is_registration_completion_link_already_used() ){ $already_used_rego_complete_link_msg = ''; $already_used_rego_complete_link_msg = apply_filters('swpm_already_used_registration_link_message', $already_used_rego_complete_link_msg); return $already_used_rego_complete_link_msg; } //Check if the registration completion link (if present in the URL) is invalid. Show an appropriate error message to prevent confusion (when they are clicking an invalid/deleted/old link). if( SwpmUtils::is_registration_completion_link_invalid() ){ $rego_complete_link_invalid_msg = ''; $rego_complete_link_invalid_msg = apply_filters('swpm_registration_completion_link_invalid_message', $rego_complete_link_invalid_msg); return $rego_complete_link_invalid_msg; } //Trigger the filter to override the registration form (the form builder addon uses this filter) $form = apply_filters( 'swpm_registration_form_override', '', $level ); //The $level value could be empty also so the code handling the filter need to check for it. if ( ! empty( $form ) ) { //An addon has overridden the registration form. So use that one. return $form; } $joinuspage_url = $settings_configs->get_value( 'join-us-page-url' ); $membership_level = ''; global $wpdb; if ( SwpmUtils::is_paid_registration() ) { //Lets check if this is a registration for paid membership $member = SwpmUtils::get_paid_member_info(); if ( empty( $member ) ) { _e( 'Error! Invalid Request. Could not find a match for the given security code and the user ID.', 'simple-membership' ); } else { $membership_level = $member->membership_level; } } elseif ( ! empty( $level ) ) { //Membership level is specified in the shortcode (level specific registration form). $member = SwpmTransfer::$default_fields; $membership_level = absint( $level ); } //Check if free membership registration is disalbed on the site if ( empty( $membership_level ) ) { $joinuspage_link = '' . SwpmUtils::_( 'Join Us' ) . ''; $free_rego_disabled_msg = '

'; $free_rego_disabled_msg .= __( 'Free membership is disabled on this site. ', 'simple-membership' ); //Check if the "Hide Join Us Link" feature is enabled. If it is enabled, don't show the link. $hide_join_us_link_enabled = SwpmSettings::get_instance()->get_value('hide-join-us-link'); if (empty($hide_join_us_link_enabled)){ //Show the "Join Us" option. $free_rego_disabled_msg .= __( 'Please make a payment from the ', 'simple-membership' ); $free_rego_disabled_msg .= SwpmUtils::_( $joinuspage_link ); $free_rego_disabled_msg .= SwpmUtils::_( ' page to pay for a premium membership.' ); $free_rego_disabled_msg .= '

'; $free_rego_disabled_msg .= SwpmUtils::_( 'You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.' ); } $free_rego_disabled_msg .= '

'; return $free_rego_disabled_msg; } //Handle the registration form in core plugin $membership_info = SwpmPermission::get_instance( $membership_level ); $membership_level = $membership_info->get( 'id' ); if ( empty( $membership_level ) ) { return 'Error! Failed to retrieve membership level ID from the membership info object.'; } $level_identifier = md5( $membership_level ); $membership_level_alias = $membership_info->get( 'alias' ); $swpm_registration_submit = filter_input( INPUT_POST, 'swpm_registration_submit' ); if ( ! empty( $swpm_registration_submit ) ) { $member = array_map( 'sanitize_text_field', $_POST ); } ob_start(); extract( (array) $member, EXTR_SKIP ); $render_new_form_ui = $settings_configs->get_value('use-new-form-ui'); if (!empty($render_new_form_ui)) { include SIMPLE_WP_MEMBERSHIP_PATH . 'views/add-v2.php'; }else{ include SIMPLE_WP_MEMBERSHIP_PATH . 'views/add.php'; } return ob_get_clean(); } public function register_front_end() { //Registration data update sequence: //1. Save the data in the simple membership member table. //2. Create a corresponding WP user account. //3. Send the registration complete email. //Trigger action hook do_action( 'swpm_front_end_registration_form_submitted' ); //If captcha is present and validation failed, it returns an error string. If validation succeeds, it returns an empty string. $captcha_validation_output = apply_filters( 'swpm_validate_registration_form_submission', '' ); if ( ! empty( $captcha_validation_output ) ) { $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'Security check: captcha validation failed.' ), ); SwpmTransfer::get_instance()->set( 'status', $message ); return; } //Check if Terms and Conditions enabled $terms_enabled = SwpmSettings::get_instance()->get_value( 'enable-terms-and-conditions' ); if ( ! empty( $terms_enabled ) ) { //check if user checked "I accept terms" checkbox if ( empty( $_POST['accept_terms'] ) ) { $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'You must accept the terms and conditions.' ), ); SwpmTransfer::get_instance()->set( 'status', $message ); return; } } //Check if Privacy Policy enabled $pp_enabled = SwpmSettings::get_instance()->get_value( 'enable-privacy-policy' ); if ( ! empty( $pp_enabled ) ) { //check if user checked "I agree with Privacy Policy" checkbox if ( empty( $_POST['accept_pp'] ) ) { $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'You must agree to the privacy policy.' ), ); SwpmTransfer::get_instance()->set( 'status', $message ); return; } } //Validate swpm level hash data. $hash_val_posted = sanitize_text_field( $_POST['swpm_level_hash'] ); $level_value = SwpmForm::get_membership_level_from_request(); $swpm_p_key = get_option( 'swpm_private_key_one' ); $hash_val = md5( $swpm_p_key . '|' . $level_value ); if ( $hash_val != $hash_val_posted ) {//Level hash validation failed. $msg = '

Error! Security check failed for membership level validation.

'; $msg .= '

The submitted membership level data does not seem to be authentic.

'; $msg .= '

If you are using caching please empty the cache data and try again.

'; wp_die( $msg ); } $this->email_activation = get_option( 'swpm_email_activation_lvl_' . $level_value ); //Crete the member profile and send notification if ( $this->create_swpm_user() ) { //SWPM user creation was successful. Now create the corresponding WP user record and send the notification email. if ( $this->prepare_and_create_wp_user_front_end() && $this->send_reg_email() ){ do_action( 'swpm_front_end_registration_complete' ); //Keep this action hook for people who are using it (so their implementation doesn't break). do_action( 'swpm_front_end_registration_complete_user_data', $this->member_info ); //Check if there is after registration redirect (for non-email activation scenario). if ( ! $this->email_activation ) { //This is a non-email activation scenario. $after_rego_url = SwpmSettings::get_instance()->get_value( 'after-rego-redirect-page-url' ); $after_rego_url = apply_filters( 'swpm_after_registration_redirect_url', $after_rego_url ); if ( ! empty( $after_rego_url ) ) { //Yes. Need to redirect to this after registration page SwpmLog::log_simple_debug( 'After registration redirect is configured in settings. Redirecting user to: ' . $after_rego_url, true ); wp_redirect( $after_rego_url ); exit( 0 ); } } //Set the registration complete message if ( $this->email_activation ) { //This is an email activation scenario. $email_act_msg = '
'; $email_act_msg .= SwpmUtils::_( 'You need to confirm your email address. Please check your email and follow instructions to complete your registration.' ); $email_act_msg .= '
'; $email_act_msg = apply_filters( 'swpm_registration_email_activation_msg', $email_act_msg );//Can be added to the custom messages addon. $message = array( 'succeeded' => true, 'message' => $email_act_msg, ); } else { $login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' ); // Allow hooks to change the value of login_page_url $login_page_url = apply_filters('swpm_register_front_end_login_page_url', $login_page_url); $after_rego_msg = '
' . SwpmUtils::_( 'Registration Successful. ' ) . SwpmUtils::_( 'Please' ) . ' ' . SwpmUtils::_( 'Log In' ) . '
'; $after_rego_msg = apply_filters( 'swpm_registration_success_msg', $after_rego_msg ); $message = array( 'succeeded' => true, 'message' => $after_rego_msg, ); } SwpmTransfer::get_instance()->set( 'status', $message ); return; } } } /* * This function creates/updates the SWPM user record in the database. * It returns true if the user creation was successful. Otherwise, it returns false. */ private function create_swpm_user() { /* * Create the $member_info array with the sanitized form data. Then save the data in the members table. */ global $wpdb; $member = SwpmTransfer::$default_fields; $form = new SwpmFrontForm( $member ); if ( ! $form->is_valid() ) { $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'Please correct the following' ), 'extra' => $form->get_errors(), ); SwpmTransfer::get_instance()->set( 'status', $message ); return false; } $member_info = $form->get_sanitized_member_form_data(); //Check if the email belongs to an existing wp user account with admin role. SwpmMemberUtils::check_and_die_if_email_belongs_to_admin_user($member_info['email']); //Go ahead and create the SWPM user record. $free_level = SwpmUtils::get_free_level(); $member_info['last_accessed_from_ip'] = SwpmUtils::get_user_ip_address(); $member_info['member_since'] = SwpmUtils::get_current_date_in_wp_zone(); //date( 'Y-m-d' ); $member_info['subscription_starts'] = SwpmUtils::get_current_date_in_wp_zone(); //date( 'Y-m-d' ); $membership_level_id = filter_input( INPUT_POST, 'swpm_membership_level', FILTER_SANITIZE_NUMBER_INT ); /** * Determine the account status for the new member record. * First, check if email activation is required. If so, assign the 'activation_required' account status. * If not, check if a default account status is set per membership level. * If a membership level default is set, use that setting; otherwise, use the global settings. */ if ( $this->email_activation ) { //Email activation is enabled. Set the account status to 'activation_required'. $account_status = 'activation_required'; } else { //Check if a default account status is set per membership level. $level_custom_fields = SwpmMembershipLevelCustom::get_instance_by_id($membership_level_id); // Get per membership level default account status settings (if any). $account_status = sanitize_text_field($level_custom_fields->get('default_account_status')); if ( !isset( $account_status ) || empty( $account_status ) ){ //Fallback. Use the value from the global settings. $account_status = SwpmSettings::get_instance()->get_value( 'default-account-status', 'active' ); } } $member_info['account_state'] = $account_status; SwpmLog::log_simple_debug("Creating new swpm user. Account status: ". $account_status . ", Membership Level ID: ".$membership_level_id, true); //Save the plain password in temporary variable for use in the later execution steps. $plain_password = $member_info['plain_password']; unset( $member_info['plain_password'] ); if ( SwpmUtils::is_paid_registration() ) { /* Paid membership registration path (the member's record is originally created after the payment). */ //Remove any empty values from the array. This will preserve address information if it was received via the payment gateway. $member_info = array_filter($member_info); //Handle DB insert for paid registration scenario. $member_info['reg_code'] = ''; $member_id = filter_input( INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT ); $code = isset( $_GET['code'] ) ? sanitize_text_field( stripslashes ( $_GET['code'] ) ) : ''; //Trigger the before member data save filter hook. It can be used to customize the member data before it gets saved in the database. $member_info = apply_filters( 'swpm_registration_data_before_save', $member_info ); //Update the member's record in the database. $query_result = $wpdb->update( $wpdb->prefix . 'swpm_members_tbl',/*table*/ $member_info,/*data*/ array(/*where*/ 'member_id' => $member_id, 'reg_code' => $code, ) ); //Verify that the update was successful. Otherwise, set error message and return false so the process stops here. if ( $query_result === false ) { SwpmLog::log_simple_debug( 'Error! Failed to update the member record on registration form submit. Check that the member ID ('.$member_id.') and the reg_code ('.$code.') are correct.', false ); $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'Unexpected Error! Failed to update the member record. Enable the debug log file then try the process again to get more details.' ), ); SwpmTransfer::get_instance()->set( 'status', $message ); return false; } $query = $wpdb->prepare( 'SELECT membership_level FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE member_id=%d', $member_id ); $member_info['membership_level'] = $wpdb->get_var( $query ); $last_insert_id = $member_id; } elseif ( ! empty( $free_level ) ) { /* Free account/membership registration path. */ $member_info['membership_level'] = $free_level; //Trigger the before member data save filter hook. It can be used to customize the member data before it gets saved in the database. $member_info = apply_filters( 'swpm_registration_data_before_save', $member_info ); //Create a new member record in the database for the free account/member registration. $wpdb->insert( $wpdb->prefix . 'swpm_members_tbl', $member_info ); $last_insert_id = $wpdb->insert_id; } else { /* Error condition. Show an error message and return false so the process stops here. */ $message = array( 'succeeded' => false, 'message' => SwpmUtils::_( 'Membership Level Couldn\'t be found.' ), ); SwpmTransfer::get_instance()->set( 'status', $message ); return false; } $member_info['plain_password'] = $plain_password; //Save the updated member info in the class property so it can be used in the later execution steps. $this->member_info = $member_info; return true; } private function prepare_and_create_wp_user_front_end() { global $wpdb; $member_info = $this->member_info; //Retrieve the user role assigned for this level $query = $wpdb->prepare( 'SELECT role FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id = %d', $member_info['membership_level'] ); $user_role = $wpdb->get_var( $query ); //Check to make sure that the user role of this level is not admin. if ( $user_role == 'administrator' ) { //For security reasons we don't allow users with administrator role to be creted from the front-end. That can only be done from the admin dashboard side. $error_msg = '

Error! The user role for this membership level (level ID: ' . $member_info['membership_level'] . ') is set to "Administrator".

'; $error_msg .= '

For security reasons, member registration to this level is not permitted from the front end.

'; $error_msg .= '

An administrator of the site can manually create a member record with this access level from the admin dashboard side.

'; wp_die( $error_msg ); } $wp_user_info = array(); $wp_user_info['user_nicename'] = implode( '-', explode( ' ', $member_info['user_name'] ) ); $wp_user_info['display_name'] = $member_info['user_name']; $wp_user_info['user_email'] = $member_info['email']; $wp_user_info['nickname'] = $member_info['user_name']; $wp_user_info['first_name'] = $member_info['first_name']; $wp_user_info['last_name'] = $member_info['last_name']; $wp_user_info['user_login'] = $member_info['user_name']; $wp_user_info['password'] = $member_info['plain_password']; $wp_user_info['role'] = $user_role; $wp_user_info['user_registered'] = date( 'Y-m-d H:i:s' ); SwpmUtils::create_wp_user( $wp_user_info ); return true; } public function edit_profile_front_end() { global $wpdb; //Check that the member is logged in $auth = SwpmAuth::get_instance(); if ( ! $auth->is_logged_in() ) { return; } //Check nonce if ( ! isset( $_POST['swpm_profile_edit_nonce_val'] ) || ! wp_verify_nonce( $_POST['swpm_profile_edit_nonce_val'], 'swpm_profile_edit_nonce_action' ) ) { //Nonce check failed. wp_die( __( 'Error! Nonce verification failed for front end profile edit.', 'simple-membership' ) ); } //Trigger action hook do_action( 'swpm_front_end_edit_profile_form_submitted' ); $user_data = (array) $auth->userData; unset( $user_data['permitted'] ); $form = new SwpmForm( $user_data ); if ( $form->is_valid() ) { //Successful form submission. Proceed with the profile update. /******************************** //Profile update sequence: 1) Update the WP user entry with the new data. 2) Update the SWPM member entry with the new data. 3) Reload the user data so the profile page reflects the new data. 4) Reset the auth cookies (if the password was updated). *********************************/ global $wpdb; $msg_str = '
' . __( 'Profile updated successfully.', 'simple-membership' ) . '
'; $message = array( 'succeeded' => true, 'message' => $msg_str, ); //Get the sanitized member form data. $member_info = $form->get_sanitized_member_form_data(); //Check if membrship_level value has been posted. if ( isset( $member_info['membership_level'] ) ){ //For edit profile, remove the membership level from the array (because we don't allow level updating in profile edit) unset( $member_info['membership_level'] ); } //Update the corresponding wp user record. SwpmUtils::update_wp_user( $auth->get( 'user_name' ), $member_info ); //Lets check if password was also changed. $password_also_changed = false; if ( isset( $member_info['plain_password'] ) ) { //Password was also changed. $msg_str = '
' . __( 'Profile updated successfully.', 'simple-membership') . '
'; $message = array( 'succeeded' => true, 'message' => $msg_str, ); //unset the plain password from the member info array so it doesn't try to save it in the database. unset( $member_info['plain_password'] ); //Set the password changed flag. $password_also_changed = true; } //Update the data in the swpm database. $swpm_id = $auth->get( 'member_id' ); //SwpmLog::log_simple_debug("Updating member profile data with SWPM ID: " . $swpm_id, true); $member_info = array_filter( $member_info );//Remove any null values. $wpdb->update( $wpdb->prefix . 'swpm_members_tbl', $member_info, array( 'member_id' => $swpm_id ) ); //Reload user data after update so the profile page reflects the new data. $auth->reload_user_data(); //Check if password was also changed. if ( $password_also_changed ) { //Password was also changed. Clear and reset the user's auth cookies so they can stay logged in. SwpmLog::log_simple_debug( 'Member has updated the password from the SWPM profile edit page. Member ID: ' . $swpm_id, true ); $auth_object = SwpmAuth::get_instance(); $swpm_user_name = $auth_object->get( 'user_name' ); $user_info_params = array( 'member_id' => $swpm_id, 'user_name' => $swpm_user_name, 'new_enc_password' => $member_info['password'], ); $auth_object->reset_auth_cookies_after_pass_change($user_info_params); //Trigger action hook do_action( 'swpm_front_end_profile_password_changed', $member_info ); } //This message will be persistent (for this user's session) until the message is displayed. SwpmTransfer::get_instance()->set( 'status', $message ); //Trigger action hook do_action( 'swpm_front_end_profile_edited', $member_info ); //Do a page refresh to reflect the new data. //This is specially useful when the user changes their password which will invalidate the current auth cookies and the nonce values. //A page refresh will generate new nonce values (using the new auth cookies) and the user can submit the profile form again without any issues. $current_page_url = SwpmMiscUtils::get_current_page_url(); SwpmMiscUtils::redirect_to_url( $current_page_url ); //Success. Profile updated. return true; } else { $msg_str = '
' . SwpmUtils::_( 'Please correct the following.' ) . '
'; $message = array( 'succeeded' => false, 'message' => $msg_str, 'extra' => $form->get_errors(), ); SwpmTransfer::get_instance()->set( 'status', $message ); return false; //Error in the form submission. } } public function reset_password( $email ) { //If captcha is present and validation failed, it returns an error string. If validation succeeds, it returns an empty string. $captcha_validation_output = apply_filters( 'swpm_validate_pass_reset_form_submission', '' ); if ( ! empty( $captcha_validation_output ) ) { $message = '
' . SwpmUtils::_( 'Captcha validation failed.' ) . '
'; $message = array( 'succeeded' => false, 'message' => $message, ); SwpmTransfer::get_instance()->set( 'status', $message ); return; } $email = sanitize_email( $email ); if ( ! is_email( $email ) ) { $message = '
' . SwpmUtils::_( 'Email address not valid.' ) . '
'; $message = array( 'succeeded' => false, 'message' => $message, ); SwpmTransfer::get_instance()->set( 'status', $message ); return; } global $wpdb; $query = 'SELECT member_id,user_name,first_name, last_name FROM ' . $wpdb->prefix . 'swpm_members_tbl ' . ' WHERE email = %s'; $user = $wpdb->get_row( $wpdb->prepare( $query, $email ) ); if ( empty( $user ) ) { $message = '
' . SwpmUtils::_( 'No user found with that email address.' ) . '
'; $message .= '
' . SwpmUtils::_( 'Email Address: ' ) . $email . '
'; $message = array( 'succeeded' => false, 'message' => $message, ); SwpmTransfer::get_instance()->set( 'status', $message ); return; } $settings = SwpmSettings::get_instance(); $password_reset_link=''; $additional_args =array(); $message = '
'; $password_reset_using_link = $settings->get_value( 'password-reset-using-link' ); if( $password_reset_using_link ) { $user_data = get_user_by( "email", $email ); if( $user_data ) { $key = get_password_reset_key( $user_data ); $user_login = $user_data->user_login; $password_reset_link = esc_url_raw( $settings->get_value("reset-page-url") . "?action=swpm-reset-using-link&key=$key&login=" . rawurlencode($user_login) ); $additional_args["password_reset_link"] = $password_reset_link; //Skip the {password} tag $additional_args["password"] = "Reset password using link"; SwpmLog::log_simple_debug( 'Reset password using link option is enabled.', true ); $message .= '
' . SwpmUtils::_( 'Password reset link has been sent to your email address.' ) . '
'; } } else { $password = wp_generate_password(); //Trigger a hook $password = apply_filters( 'swpm_password_reset_generated_pass', $password ); $password_hash = SwpmUtils::encrypt_password( trim( $password ) ); $wpdb->update( $wpdb->prefix . 'swpm_members_tbl', array( 'password' => $password_hash ), array( 'member_id' => $user->member_id ) ); //Update wp user password add_filter( 'send_password_change_email', array( &$this, 'dont_send_password_change_email' ), 1, 3 ); //Stop WordPress from sending a reset password email to admin. SwpmUtils::update_wp_user( $user->user_name, array( 'plain_password' => $password ) ); $additional_args["password"] = $password; SwpmLog::log_simple_debug( 'Member password has been reset.', true ); $message .= '
' . SwpmUtils::_( 'New password has been sent to your email address.' ) . '
'; } //Password reset email header and subject. $from = $settings->get_value( 'email-from' ); $headers = 'From: ' . $from . "\r\n"; $subject = $settings->get_value( 'reset-mail-subject' ); //Password reset email body $body = $settings->get_value( 'reset-mail-body' ); $body = html_entity_decode( $body ); //If the tag {password_reset_link} is not present in the email body, add it at the bottom of the email body. if( $password_reset_using_link && ( !SwpmMiscUtils::has_tag( $body, "{password_reset_link}" ) ) ) { $body .= "\n\nPassword Reset Link: {password_reset_link}"; } //Merge tag replacement. $body = SwpmMiscUtils::replace_dynamic_tags( $body, $user->member_id, $additional_args ); //Trigger the filters for password reset email subject and body. $subject = apply_filters( 'swpm_email_password_reset_subject', $subject ); $body = apply_filters( 'swpm_email_password_reset_body', $body ); SwpmMiscUtils::mail( $email, $subject, $body, $headers ); SwpmLog::log_simple_debug( 'Member password reset email sent to: ' . $email, true ); $message .= '
' . SwpmUtils::_( 'Email Address: ' ) . $email . '
'; $message .= '
'; $message_ary = array( 'succeeded' => true, 'message' => $message, 'pass_reset_sent' => true, ); SwpmTransfer::get_instance()->set( 'status', $message_ary ); } public function reset_password_using_link( $user_data, $password ) { $email = $user_data->user_email; global $wpdb; $query = 'SELECT member_id,user_name,first_name, last_name FROM ' . $wpdb->prefix . 'swpm_members_tbl ' . ' WHERE email = %s'; $user = $wpdb->get_row( $wpdb->prepare( $query, $email ) ); if ( empty( $user ) ) { $message = '
' . SwpmUtils::_( 'No user found with that email address.' ) . '
'; $message .= '
' . SwpmUtils::_( 'Email Address: ' ) . $email . '
'; $message = array( 'succeeded' => false, 'message' => $message, ); set_transient("swpm-passsword-reset-error",$message); SwpmLog::log_simple_debug( 'No member is found with email'.$user_data->user_email, true ); return false; } $password_hash = SwpmUtils::encrypt_password( trim( $password ) ); $wpdb->update( $wpdb->prefix . 'swpm_members_tbl', array( 'password' => $password_hash ), array( 'member_id' => $user->member_id ) ); //Update wp user password add_filter( 'send_password_change_email', array( &$this, 'dont_send_password_change_email' ), 1, 3 ); //Stop WordPress from sending a reset password email to admin. SwpmUtils::update_wp_user( $user->user_name, array( 'plain_password' => $password ) ); SwpmLog::log_simple_debug( 'Member password has been reset. Email: ' . $email, true ); //Trigger action hook do_action( 'swpm_front_end_reset_password_using_link_completed', $user_data, $password); return true; } function dont_send_password_change_email( $send = false, $user = '', $userdata = '' ) { //Stop the WordPress's default password change email notification to site admin //Only the simple membership plugin's password reset email will be sent. return false; } /* * This function is called when the user clicks on the activation link in the email. */ public function email_activation() { //The email activation link contains the member ID and the activation code. $login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' ); // Allow hooks to change the value of login_page_url $login_page_url = apply_filters('swpm_email_activation_login_page_url', $login_page_url); $member_id = FILTER_INPUT( INPUT_GET, 'swpm_member_id', FILTER_SANITIZE_NUMBER_INT ); $member = SwpmMemberUtils::get_user_by_id( $member_id ); if ( empty( $member ) ) { //can't find member echo SwpmUtils::_( "Can't find member account." ); wp_die(); } if ( $member->account_state !== 'activation_required' ) { //account already active echo SwpmUtils::_( 'Account already active. ' ) . '' . SwpmUtils::_( 'click here' ) . '' . SwpmUtils::_( ' to log in.' ); wp_die(); } $code = isset( $_GET['swpm_token'] ) ? sanitize_text_field( stripslashes ( $_GET['swpm_token'] ) ) : ''; $act_data = get_option( 'swpm_email_activation_data_usr_' . $member_id ); if ( empty( $code ) || empty( $act_data ) || $act_data['act_code'] !== $code ) { //code mismatch wp_die( SwpmUtils::_( 'Activation code mismatch. Cannot activate this account. Please contact the site admin.' ) ); } //activation code match delete_option( 'swpm_email_activation_data_usr_' . $member_id ); //store rego form id in constant so FB addon could use it if ( ! empty( $act_data['fb_form_id'] ) ) { define( 'SWPM_EMAIL_ACTIVATION_FORM_ID', $act_data['fb_form_id'] ); } $activation_account_status = apply_filters( 'swpm_activation_feature_override_account_status', 'active' ); SwpmMemberUtils::update_account_state( $member_id, $activation_account_status ); $this->member_info = (array) $member; $this->member_info['plain_password'] = SwpmUtils::crypt( $act_data['plain_password'], 'd' ); $this->send_reg_email(); //Setup the success message. $msg = '
' . SwpmUtils::_( 'Success! Your account has been activated successfully.' ) . '
'; // Check and retrieve membership level specific after activation redirect URL data. $membership_level = SwpmUtils::get_membership_level_row_by_id($member->membership_level); $level_custom_data = SwpmMembershipLevelCustom::get_instance_by_id($membership_level->id); $after_activation_redirect_page = sanitize_url($level_custom_data->get('after_activation_redirect_page')); // Check Whether the membership_level has a dedicated after activation redirect URL. if (!empty($after_activation_redirect_page)){ //There is a dedicated after activation redirect URL for this membership level. SwpmLog::log_simple_debug( 'There is a dedicated after email activation redirect URL for this membership level. Setting this as the redirect URL: ' . $after_activation_redirect_page, true ); $after_email_activation_url = $after_activation_redirect_page; }else{ //No dedicated after activation redirect URL for this membership level. //For backwards compatibility - Use the fallback to after registration redirect URL from the settings. $after_email_activation_url = SwpmSettings::get_instance()->get_value( 'after-rego-redirect-page-url' ); } //Trigger hooks to allow other plugins to change the after activation redirect URL. //Keeping this one for backwards compatibility for now. $after_email_activation_url = apply_filters( 'swpm_after_registration_redirect_url', $after_email_activation_url );//TODO - remove later. $after_email_activation_url = apply_filters( 'swpm_after_email_activation_redirect_url', $after_email_activation_url ); if ( ! empty( $after_email_activation_url ) ) { //Yes. Need to redirect to this after registration confirmation page. SwpmLog::log_simple_debug( 'After email activation redirect is configured. Redirecting the user to: ' . $after_email_activation_url, true ); SwpmMiscUtils::show_temporary_message_then_redirect( $msg, $after_email_activation_url ); exit( 0 ); } //No redirection has been configured. show success message and redirect to the standard login page. SwpmMiscUtils::show_temporary_message_then_redirect( $msg, $login_page_url ); exit( 0 ); } public function resend_activation_email() { $login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' ); // Allow hooks to change the value of login_page_url $login_page_url = apply_filters('swpm_resend_activation_email_login_page_url', $login_page_url); $member_id = FILTER_INPUT( INPUT_GET, 'swpm_member_id', FILTER_SANITIZE_NUMBER_INT ); $member = SwpmMemberUtils::get_user_by_id( $member_id ); if ( empty( $member ) ) { //can't find member echo SwpmUtils::_( 'Cannot find member account.' ); wp_die(); } if ( $member->account_state !== 'activation_required' ) { //account already active $acc_active_msg = SwpmUtils::_( 'Account already active. ' ) . '' . SwpmUtils::_( 'click here' ) . '' . SwpmUtils::_( ' to log in.' ); echo $acc_active_msg; wp_die(); } $act_data = get_option( 'swpm_email_activation_data_usr_' . $member_id ); if ( ! empty( $act_data ) ) { //looks like activation data has been removed for some reason. We won't be able to have member's plain password in this case $act_data['plain_password'] = ''; } delete_option( 'swpm_email_activation_data_usr_' . $member_id ); $this->member_info = (array) $member; $this->member_info['plain_password'] = SwpmUtils::crypt( $act_data['plain_password'], 'd' ); $this->email_activation = true; $this->send_reg_email(); $msg = '
' . SwpmUtils::_( 'Activation email has been sent. Please check your email and activate your account.' ) . '
'; SwpmMiscUtils::show_temporary_message_then_redirect( $msg, $login_page_url ); wp_die(); } } classes/class.swpm-permission.php000064400000004160147206617610013205 0ustar00init($level_id); } public static function get_instance($level_id) { if ($level_id === 1 || $level_id === md5(1)) { wp_die('Invalid Membership level!'); } $key = is_numeric($level_id) ? md5($level_id) : $level_id; if (!isset(self::$_this[$key])) { self::$_this[$key] = new SwpmPermission($level_id); } return self::$_this[$key]; } public function is_permitted($id) { return $this->post_in_parent_categories($id) || $this->post_in_categories($id) || $this->in_posts($id) || $this->in_pages($id) || $this->in_attachments($id) || $this->in_custom_posts($id); } public function is_permitted_attachment($id) { return (($this->bitmap & 16) === 16) && $this->in_attachments($id); } public function is_permitted_custom_post($id) { return (($this->bitmap & 32) === 32) && $this->in_custom_posts($id); } public function is_permitted_category($id) { return (($this->bitmap & 1) === 1) && $this->in_categories($id); } public function is_post_in_permitted_category($post_id) { return (($this->bitmap & 1) === 1) && $this->post_in_categories($post_id); } public function is_permitted_post($id) { return (($this->bitmap & 4) === 4) && $this->in_posts($id); } public function is_permitted_page($id) { return (($this->bitmap & 8) === 8) && $this->in_pages($id); } public function is_permitted_comment($id) { return (($this->bitmap & 2) === 2) && $this->in_comments($id); } public function is_post_in_permitted_parent_category($post_id) { return (($this->bitmap & 1) === 1) && $this->post_in_parent_categories($post_id); } public function is_permitted_parent_category($id) { return (($this->bitmap & 1) === 1) && $this->in_parent_categories($id); } } classes/class.swpm-membership-level-custom.php000064400000007213147206617610015567 0ustar00fields = array(); } public static function get_instance_by_id($level_id){ if (!isset(self::$instances[$level_id])){ self::$instances[$level_id] = new SwpmMembershipLevelCustom(); self::$instances[$level_id]->level_id = $level_id; self::$instances[$level_id]->load_by_id($level_id); } return self::$instances[$level_id]; } public function load_by_id($level_id){ global $wpdb; $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_membership_meta_tbl WHERE level_id=%d'; $results = $wpdb->get_results($wpdb->prepare($query, $level_id), ARRAY_A); foreach($results as $result){ $this->fields[$result['meta_key']] = $result; } } public function set($item){ $meta_key = preg_replace('|[^A-Z0-9_]|i', '', $item['meta_key']); $new = array( 'meta_key'=>$meta_key, 'level_id'=>$this->level_id, 'meta_label'=> isset($item['meta_label'])?$item['meta_label']:'', 'meta_value'=>$item['meta_value'], 'meta_type'=> isset($item['meta_type'])?$item['meta_type']:'text', 'meta_default'=> isset($item['meta_default'])?$item['meta_default']:'', 'meta_context'=> $item['meta_context'], ); if (isset($this->fields[$meta_key])){ $new['id'] = $this->fields[$meta_key]['id']; $this->fields[$meta_key] = $new; } else{ $this->fields[$meta_key] = $new; } $this->save($this->fields[$meta_key]); return $this; } public function get($meta_key, $default=''){ $meta_key = preg_replace('|[^A-Z0-9_]|i', '', $meta_key); if (isset($this->fields[$meta_key])){ return maybe_unserialize($this->fields[$meta_key]['meta_value']); } return $default; } public function get_by_context($context){ $result = array(); foreach ($this->fields as $key=>$field){ if ($field['meta_context'] == $context){ $result[$key] = $field; } } return $result; } private function save($field){ global $wpdb; if (!isset($field['meta_key'])){return;} // cannot continue without key field. $meta_key = preg_replace('|[^A-Z0-9_]|i', '', $field['meta_key']); $query = $wpdb->prepare( 'REPLACE INTO ' . $wpdb->prefix. 'swpm_membership_meta_tbl (level_id, meta_key, meta_label, meta_value, meta_type, meta_default, meta_context) VALUES(%d, %s, %s, %s, %s, %s, %s); ', $this->level_id, $meta_key, isset($field['meta_label'])? sanitize_text_field($field['meta_label']): '', isset($field['meta_value'])? sanitize_text_field($field['meta_value']): '', 'text', // at the moment we have only one type '', isset($field['meta_context'])? sanitize_text_field($field['meta_context']): 'default' ); $wpdb->query($query); } public static function get_value_by_key($level_id, $key, $default= ''){ return SwpmMembershipLevelCustom::get_instance_by_id($level_id)->get($key, $default); } public static function get_value_by_context($level_id, $context){ return SwpmMembershipLevelCustom::get_instance_by_id($level_id)->get_by_context($context); } } classes/class.swpm-protection.php000064400000005056147206617610013210 0ustar00msg = ""; $this->init(1); } public static function get_instance() { self::$_this = empty(self::$_this) ? (new SwpmProtection()) : self::$_this; return self::$_this; } public function is_protected($id) { if ($this->post_in_parent_categories($id) || $this->post_in_categories($id)) { $this->msg = '

' . SwpmUtils::_('The category or parent category of this post is protected. You can change the category protection settings from the ') . '' . SwpmUtils::_('category protection menu') . '.

'; return true; } return $this->in_posts($id) || $this->in_pages($id) || $this->in_attachments($id) || $this->in_custom_posts($id); } public function get_last_message() { return $this->msg; } public function is_protected_post($id) { return /* (($this->bitmap&4) != 4) && */ $this->in_posts($id); } public function is_protected_page($id) { return /* (($this->bitmap&4) != 4) && */ $this->in_pages($id); } public function is_protected_attachment($id) { return /* (($this->bitmap&16)!=16) && */ $this->in_attachments($id); } public function is_protected_custom_post($id) { return /* (($this->bitmap&32)!=32) && */ $this->in_custom_posts($id); } public function is_protected_comment($id) { return /* (($this->bitmap&2)!=2) && */ $this->in_comments($id); } public function is_post_in_protected_category($post_id) { return /* (($this->bitmap&1)!=1) && */ $this->post_in_categories($post_id); } public function is_post_in_protected_parent_category($post_id) { return /* (($this->bitmap&1)!=1) && */ $this->post_in_parent_categories($post_id); } public function is_protected_category($id) { return /* (($this->bitmap&1)!=1) && */ $this->in_categories($id); } public function is_protected_parent_category($id) { return /* (($this->bitmap&1)!=1) && */ $this->in_parent_categories($id); } } classes/class.swpm-auth.php000064400000072126147206617610011765 0ustar00lastStatusMsg = $custom_msg; //let's 'unset' the cookie setcookie( 'swpm-login-form-custom-msg', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN ); } $this->isLoggedIn = false; $this->userData = null; $this->protected = SwpmProtection::get_instance(); } /** * Get the singleton instance of this class. */ public static function get_instance() { if ( empty( self::$_this ) ) { self::$_this = new SwpmAuth(); self::$_this->auth_init(); } return self::$_this; } /** * This function is called when the object is initialized. * The singleton pattern is used to make sure that there is only one instance of this object per page load. * So this function is only called once per page load. */ private function auth_init() { //SwpmLog::log_auth_debug("SwpmAuth::auth_init() function.", true); /********************************************************** * Note: This function is run on every page load. * It guarantees the authenticity of the user's login session and permission on every page load. * It is used to perform certain login related validation tasks when the object is initialized. * It calls the validate() function to check if login cookie exists, if the cookie is valid, if the cookie is expired etc. * The validate() function will call the check_constraints() function to check if the user can login. * The check_constraints() function will update the last accessed date and IP address for this member's login session. * The check_constraints() function will also load the membership level's permission object for this member. **********************************************************/ $login_session_valid = $this->validate(); if ( ! $login_session_valid ) { // The user is not logged in, or the login session is invalid due to some other validation. // In this case, we can check if the login form was submitted and process the login request. // Note: We will check if spwm_user_name or swpm_password is set inside the authenticate() function to know if the login form was submitted (keeping things backwards compatible). $authenticate_response = $this->authenticate(); if ( isset( $_POST['swpm-login']) && $authenticate_response === false ) { //SwpmLog::log_auth_debug( 'SwpmAuth::auth_init() - SWPM Login form was submitted and the authenticate function returned false. Triggering the swpm_login_failed action hook.', true ); $this->trigger_swpm_login_failed_hook(); } } } /** * This function is used to process the login authentication request. * It is called on every page load via the auth_init()->authenticate() function. * It checks if the login form was submitted and processes the login request. * It loads the userData variable with the user's data from the database. * It calls the check_password() function to check if the password is correct. * It calls the check_constraints() function to check if the user can login. */ private function authenticate( $user = null, $pass = null ) { // If $user and $pass are not provided, the function was called from auth_init(). // In this case, we will attempt to retrieve the data from the login form's POST data. global $wpdb; $swpm_user_name = empty( $user ) ? apply_filters( 'swpm_user_name', filter_input( INPUT_POST, 'swpm_user_name' ) ) : $user; $swpm_password = empty( $pass ) ? filter_input( INPUT_POST, 'swpm_password' ) : $pass; if ( isset($_POST['swpm_user_name']) && empty ( $swpm_user_name )){ //Login form was submitted but the username field was left empty. $this->isLoggedIn = false; $this->userData = null; $this->lastStatusMsg = ''; $this->trigger_swpm_authenticate_failed_hook($swpm_user_name);//Trigger authenticate failed action hook. return false; } if ( isset($_POST['swpm_password']) && empty ( $swpm_password )){ //Login form was submitted but the password field was left empty. $this->isLoggedIn = false; $this->userData = null; $this->lastStatusMsg = ''; $this->trigger_swpm_authenticate_failed_hook($swpm_user_name);//Trigger authenticate failed action hook. return false; } if ( ! empty( $swpm_user_name ) && ! empty( $swpm_password ) ) { //SWPM member login request. //Trigger action hook that can be used to check stuff before the login request is processed by the plugin. $args = array( 'username' => $swpm_user_name, 'password' => $swpm_password, ); do_action( 'swpm_before_login_request_is_processed', $args ); //First, lets make sure this user is not already logged into the site as an "Admin" user. We don't want to override that admin login session. if ( current_user_can( 'administrator' ) ) { //This user is logged in as ADMIN then trying to do another login as a member. Stop the login request processing (we don't want to override your admin login session). $wp_profile_page = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/wp-admin/profile.php'; $error_msg = ''; $error_msg .= '

' . SwpmUtils::_( 'Warning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.' ) . '

'; $error_msg .= '

' . SwpmUtils::_( 'Click here' ) . '' . SwpmUtils::_( ' to see the profile you are currently logged into in this browser.' ) . '

'; $error_msg .= '

' . SwpmUtils::_( 'You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.' ) . '

'; $error_msg .= '

' . SwpmUtils::_( 'Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.' ) . '

'; $error_msg .= '

' . SwpmUtils::_( 'Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.' ) . '

'; wp_die( $error_msg ); } //If captcha is present and validation failed, it returns an error string. If validation succeeds, it returns an empty string. $captcha_validation_output = apply_filters( 'swpm_validate_login_form_submission', '' ); if ( ! empty( $captcha_validation_output ) ) { $this->lastStatusMsg = ''; return; } if ( is_email( $swpm_user_name ) ) {//User is trying to log-in using an email address $email = sanitize_email( $swpm_user_name ); $query = $wpdb->prepare( 'SELECT user_name FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE email = %s', $email ); $username = $wpdb->get_var( $query ); if ( $username ) {//Found a user record $swpm_user_name = $username; //Grab the usrename value so it can be used in the authentication process. SwpmLog::log_auth_debug( 'Authentication request using email address: ' . $email . ', Found a user record with username: ' . $swpm_user_name, true ); } } //Lets process the request. Check username and password $user = sanitize_user( $swpm_user_name ); $pass = trim( $swpm_password ); SwpmLog::log_auth_debug( 'Authentication request - Username: ' . $swpm_user_name, true ); $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE user_name = %s'; $userData = $wpdb->get_row( $wpdb->prepare( $query, $user ) ); $this->userData = $userData; if ( ! $userData ) { $this->isLoggedIn = false; $this->userData = null; $this->lastStatusMsg = ''; $this->trigger_swpm_authenticate_failed_hook($swpm_user_name);//Trigger authenticate failed action hook. return false; } $check = $this->check_password( $pass, $userData->password ); if ( ! $check ) { $this->isLoggedIn = false; $this->userData = null; $this->lastStatusMsg = ''; $this->trigger_swpm_authenticate_failed_hook($swpm_user_name);//Trigger authenticate failed action hook. return false; } if ( $this->check_constraints() ) { $remember = isset( $_POST['rememberme'] ) ? true : false; $this->set_cookie( $remember ); $this->isLoggedIn = true; $this->lastStatusMsg = 'Logged In.'; SwpmLog::log_auth_debug( 'Authentication successful for username: ' . $user . '. Triggering swpm_after_login_authentication action hook.', true ); do_action( 'swpm_after_login_authentication', $user, $pass, $remember ); return true; } } return false; } /** * This function is used to validate the login cookie. * It is called on every page load via the auth_init()->validate() function. * Checks if the login cookie exists and if it is valid. * It calls the check_constraints() function to check if the user can login which also updates the user's login date and IP. Also loads the permission object. * @return bool */ private function validate() { $auth_cookie_name = is_ssl() ? SIMPLE_WP_MEMBERSHIP_SEC_AUTH : SIMPLE_WP_MEMBERSHIP_AUTH; if ( ! isset( $_COOKIE[ $auth_cookie_name ] ) || empty( $_COOKIE[ $auth_cookie_name ] ) ) { return false; } $cookie_elements = explode( '|', $_COOKIE[ $auth_cookie_name ] ); if ( count( $cookie_elements ) != 3 ) { return false; } //SwpmLog::log_auth_debug("validate() - " . $_COOKIE[$auth_cookie_name], true); list($username, $expiration, $hmac) = $cookie_elements; $expired = $expiration; // Allow a grace period for POST and AJAX requests if ( defined( 'DOING_AJAX' ) || 'POST' == $_SERVER['REQUEST_METHOD'] ) { $expired += HOUR_IN_SECONDS; } // Quick check to see if an honest cookie has expired if ( $expired < time() ) { $this->lastStatusMsg = SwpmUtils::_( 'Session Expired.' ); //do_action('auth_cookie_expired', $cookie_elements); SwpmLog::log_auth_debug( 'validate() - Session Expired', true ); return false; } global $wpdb; $query = ' SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE user_name = %s'; $user = $wpdb->get_row( $wpdb->prepare( $query, $username ) ); if ( empty( $user ) ) { $this->lastStatusMsg = SwpmUtils::_( 'Invalid Username' ); return false; } $pass_frag = substr( $user->password, 8, 4 ); $key = self::b_hash( $username . $pass_frag . '|' . $expiration ); $hash = hash_hmac( 'md5', $username . '|' . $expiration, $key ); if ( $hmac != $hash ) { $this->lastStatusMsg = SwpmUtils::_( 'Please login again.' ); SwpmLog::log_auth_debug( 'Validate() function - Bad hash. Going to clear the auth cookies to clear the bad hash.', true ); SwpmLog::log_auth_debug( 'Validate() function - The user profile with the username: ' . $username . ' will be logged out.', true ); do_action('swpm_validate_login_hash_mismatch'); //Clear the auth cookies of SWPM to clear the bad hash. This will log out the user. $this->swpm_clear_auth_cookies(); //Clear the wp user auth cookies and destroy session as well. $this->clear_wp_user_auth_cookies(); return false; } if ( $expiration < time() ) { $GLOBALS['login_grace_period'] = 1; } $this->userData = $user; return $this->check_constraints(); } /** * Checks if all the constraints are met for the user to be able to login. * Called on every page load via the auth_init()->validate()->check_constraints() function. * It updates the last accessed date and IP address for this member's login session. * It checks the account status to see if the user can login. * It also checks the member's account expiry and sets expiry status accordingly (as a failsafe to expiry cronjob). * It loads the membership level's permission object for this member. * @return bool */ private function check_constraints() { //SwpmLog::log_auth_debug("SwpmAuth::check_constraints() function.", true); if ( empty( $this->userData ) ) { //No user data found. Can't proceed. return false; } global $wpdb; $enable_expired_login = SwpmSettings::get_instance()->get_value( 'enable-expired-account-login', '' ); //Update the last accessed date and IP address for this login attempt. $wpdb->update(table, data, where, format, where format) $last_accessed_date = current_time( 'mysql' ); $last_accessed_ip = SwpmUtils::get_user_ip_address(); $wpdb->update( $wpdb->prefix . 'swpm_members_tbl', array( 'last_accessed' => $last_accessed_date, 'last_accessed_from_ip' => $last_accessed_ip, ), array( 'member_id' => $this->userData->member_id ), array( '%s', '%s' ), array( '%d' ) ); //Check the member's account status. $can_login = true; if ( $this->userData->account_state == 'inactive' && empty( $enable_expired_login ) ) { $this->lastStatusMsg = SwpmUtils::_( 'Account is inactive.' ); $can_login = false; } elseif ( ( $this->userData->account_state == 'expired' ) && empty( $enable_expired_login ) ) { $this->lastStatusMsg = SwpmUtils::_( 'Account has expired.' ); $can_login = false; } elseif ( $this->userData->account_state == 'pending' ) { $this->lastStatusMsg = SwpmUtils::_( 'Account is pending.' ); $can_login = false; } elseif ( $this->userData->account_state == 'activation_required' ) { $resend_email_url = add_query_arg( array( 'swpm_resend_activation_email' => '1', 'swpm_member_id' => $this->userData->member_id, ), get_home_url() ); $msg = sprintf( SwpmUtils::_( 'You need to activate your account. If you didn\'t receive an email then %s to resend the activation email.' ), '' . SwpmUtils::_( 'click here' ) . '' ); $this->lastStatusMsg = ''; $can_login = false; } if ( ! $can_login ) { $this->isLoggedIn = false; $this->userData = null; return false; } //Check if the user's account has expired. if ( SwpmUtils::is_subscription_expired( $this->userData ) ) { //The user's account has expired. if ( $this->userData->account_state == 'active' ) { //This is an additional check at login validation time to ensure the user account gets set to expired state even if the cronjob fails to do it. $wpdb->update( $wpdb->prefix . 'swpm_members_tbl', array( 'account_state' => 'expired' ), array( 'member_id' => $this->userData->member_id ), array( '%s' ), array( '%d' ) ); } if ( empty( $enable_expired_login ) ) { //Account has expired and expired login is not enabled. $this->lastStatusMsg = SwpmUtils::_( 'Account has expired.' ); $this->isLoggedIn = false; $this->userData = null; return false; } } //Load the membership level's permission object. $this->permitted = SwpmPermission::get_instance( $this->userData->membership_level ); $this->lastStatusMsg = SwpmUtils::_( 'You are logged in as:' ) . $this->userData->user_name; $this->isLoggedIn = true; return true; } private function check_password( $plain_password, $hashed_pw ) { global $wp_hasher; if ( empty( $plain_password ) ) { return false; } if ( empty( $wp_hasher ) ) { require_once ABSPATH . 'wp-includes/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } return $wp_hasher->CheckPassword( $plain_password, $hashed_pw ); } public function match_password( $password ) { if ( ! $this->is_logged_in() ) { return false; } return $this->check_password( $password, $this->get( 'password' ) ); } public function login_to_swpm_using_wp_user( $user ) { if ( $this->isLoggedIn ) { return false; } $email = $user->user_email; $member = SwpmMemberUtils::get_user_by_email( $email ); if ( empty( $member ) ) { //There is no swpm profile with this email. return false; } $this->userData = $member; $this->isLoggedIn = true; $this->set_cookie(); SwpmLog::log_auth_debug( 'Member has been logged in using WP User object.', true ); $this->check_constraints(); return true; } /** * Note: This function is NOT called for our plugin's standard login form submission. * This is called for other methods of login authentication (for example, wp_authenticate_handler, auto_login, API addon etc). * Our standard login form submission uses the auth_init() to process the login request. */ public function login( $user, $pass, $remember = '', $secure = '' ) { SwpmLog::log_auth_debug( 'SwpmAuth::login()', true ); if ( $this->isLoggedIn ) { //Already logged in. Nothing to do here. return; } if ( $this->authenticate( $user, $pass ) && $this->validate() ) { //Authentication successful. $this->set_cookie( $remember, $secure ); } else { //Authentication failed. $this->isLoggedIn = false; $this->userData = null; } return $this->lastStatusMsg; } public function logout( $trigger_hook = true) { if ( ! $this->isLoggedIn ) { return; } if ( SwpmUtils::is_multisite_install() ) { //Defines cookie-related WordPress constants on a multi-site setup (if not defined already). wp_cookie_constants(); } //Clear the auth cookies. $this->swpm_clear_auth_cookies(); $this->userData = null; $this->isLoggedIn = false; $this->lastStatusMsg = SwpmUtils::_( 'Logged Out Successfully.' ); if ( $trigger_hook ) { //Trigger action hook unless it is a silent logout. do_action( 'swpm_logout' ); } } /* * This function is used to logout without triggering the action hook. Then redirect to a specific URL (to prevent any logout redirect loop). */ public function logout_silent_and_redirect() { $this->logout( false );//Logout without triggering the action hook. $this->swpm_clear_auth_cookies();//Force clear the auth cookies. $silent_logout_redirect_url = add_query_arg( array( 'swpm_logged_out' => '1', ), SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL ); $redirect_url = apply_filters( 'swpm_logout_silent_and_redirect_url', $silent_logout_redirect_url ); SwpmLog::log_auth_debug( 'Silent logout completed. Redirecting to: ' . $redirect_url, true ); wp_redirect( trailingslashit( $redirect_url ) ); exit( 0 ); } public function swpm_clear_auth_cookies() { do_action( 'swpm_clear_auth_cookies' ); if ( SwpmUtils::is_multisite_install() ) { //Defines cookie-related WordPress constants on a multi-site setup (if not defined already). wp_cookie_constants(); } setcookie( SIMPLE_WP_MEMBERSHIP_AUTH, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN ); setcookie( SIMPLE_WP_MEMBERSHIP_SEC_AUTH, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN ); } public function clear_wp_user_auth_cookies(){ //This is useful in certain circumstances (instead of using the wp_logout). if( function_exists('wp_destroy_current_session') ){ wp_destroy_current_session(); } if( function_exists('wp_clear_auth_cookie') ){ wp_clear_auth_cookie(); } } private function set_cookie( $remember = '', $secure = '' ) { if ( $remember ) { $expiration = time() + 1209600; //14 days $expire = $expiration + 43200; //12 hours grace period } else { $expiration = time() + 259200; //3 days. $expire = $expiration; //The minimum cookie expiration should be at least a few days. $force_wp_user_sync = SwpmSettings::get_instance()->get_value( 'force-wp-user-sync' ); if ( !empty( $force_wp_user_sync ) ) { //Set the expire to 0 to match with WP's cookie expiration (when "remember me" is not checked). SwpmLog::log_auth_debug( 'The force_wp_user_sync option is enabled. Setting the cookie expiration to 0 to match with WP\'s cookie expiration (when "remember me" is not checked).', true ); $expire = 0; } } $expire = apply_filters( 'swpm_auth_cookie_expiry_value', $expire ); if ( SwpmUtils::is_multisite_install() ) { //Defines cookie-related WordPress constants on a multi-site setup (if not defined already). wp_cookie_constants(); } setcookie( 'swpm_in_use', 'swpm_in_use', $expire, COOKIEPATH, COOKIE_DOMAIN );//Switch this to the following one. setcookie( 'wp_swpm_in_use', 'wp_swpm_in_use', $expire, COOKIEPATH, COOKIE_DOMAIN );//Prefix the cookie with 'wp' to exclude Batcache caching. if ( function_exists( 'wp_cache_serve_cache_file' ) ) {//WP Super cache workaround $author_value = isset( $this->userData->user_name ) ? $this->userData->user_name : 'wp_swpm'; $author_value = apply_filters( 'swpm_comment_author_cookie_value', $author_value ); setcookie( "comment_author_", $author_value, $expire, COOKIEPATH, COOKIE_DOMAIN ); } $expiration_timestamp = SwpmUtils::get_expiration_timestamp( $this->userData ); $enable_expired_login = SwpmSettings::get_instance()->get_value( 'enable-expired-account-login', '' ); // make sure cookie doesn't live beyond account expiration date. // but if expired account login is enabled then ignore if account is expired $expiration = empty( $enable_expired_login ) ? min( $expiration, $expiration_timestamp ) : $expiration; $pass_frag = substr( $this->userData->password, 8, 4 ); $scheme = 'auth'; if ( ! $secure ) { $secure = is_ssl(); } $key = self::b_hash( $this->userData->user_name . $pass_frag . '|' . $expiration, $scheme ); $hash = hash_hmac( 'md5', $this->userData->user_name . '|' . $expiration, $key ); $auth_cookie = $this->userData->user_name . '|' . $expiration . '|' . $hash; $auth_cookie_name = $secure ? SIMPLE_WP_MEMBERSHIP_SEC_AUTH : SIMPLE_WP_MEMBERSHIP_AUTH; setcookie( $auth_cookie_name, $auth_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure, true ); } /* * Important: This function should only be used after the users have changed their password. Otherwise it can have unintended consequences. * This function is used to reset the auth cookies after the user changes their password (from our plugin's profile page). */ public function reset_auth_cookies_after_pass_change($user_info, $remember='', $secure=''){ // Clear the old auth cookies for WP user and SWPM. Then set new auth cookies. //Reset the auth cookies for SWPM user only. $this->reset_swpm_auth_cookies_only($user_info, $remember, $secure); //Clear the WP user auth cookies and destroy session. New auth cookies will be generate below. $this->clear_wp_user_auth_cookies(); // Set new auth cookies for WP user $swpm_id = $user_info['member_id']; $wp_user = SwpmMemberUtils::get_wp_user_from_swpm_user_id( $swpm_id ); $wp_user_id = $wp_user->ID; wp_set_auth_cookie( $wp_user_id, true ); // Set new auth cookies (second parameter true means "remember me") wp_set_current_user( $wp_user_id ); // Set the current user object SwpmLog::log_auth_debug( 'Authentication cookies have been reset after the password update.', true ); } /* * This function is used to reset the auth cookies of SWPM user only. * This is typically used after the user's password is updated in the members DB table (for example, after WP profile update hook is triggered). */ public function reset_swpm_auth_cookies_only($user_info, $remember='', $secure=''){ // First clear the old auth cookies for the SWPM user. $this->swpm_clear_auth_cookies(); //Clear the swpm auth cookies. New auth cookies will generate below. // Next, assign new cookies, so the user doesn't have to login again. // Set new auth cookies for SWPM user if ( $remember ) { $expiration = time() + 1209600; //14 days $expire = $expiration + 43200; //12 hours grace period } else { $expiration = time() + 259200; //3 days. $expire = $expiration; //The minimum cookie expiration should be at least a few days. $force_wp_user_sync = SwpmSettings::get_instance()->get_value( 'force-wp-user-sync' ); if ( !empty( $force_wp_user_sync ) ) { //Set the expire to 0 to match with WP's cookie expiration (when "remember me" is not checked). SwpmLog::log_auth_debug( 'The force_wp_user_sync option is enabled. Setting the cookie expiration to 0 to match with WP\'s cookie expiration (when "remember me" is not checked).', true ); $expire = 0; } } $expire = apply_filters( 'swpm_auth_cookie_expiry_value', $expire ); if ( SwpmUtils::is_multisite_install() ) { //Defines cookie-related WordPress constants on a multi-site setup (if not defined already). wp_cookie_constants(); } $expiration_timestamp = SwpmUtils::get_expiration_timestamp( $this->userData ); $enable_expired_login = SwpmSettings::get_instance()->get_value( 'enable-expired-account-login', '' ); // Make sure cookie doesn't live beyond account expiration date. // However, if expired account login is enabled then ignore if account is expired. $expiration = empty( $enable_expired_login ) ? min( $expiration, $expiration_timestamp ) : $expiration; $pass_frag = substr( $user_info['new_enc_password'], 8, 4 ); $scheme = 'auth'; if ( !$secure ) { $secure = is_ssl(); } $swpm_username = $user_info['user_name']; $key = self::b_hash( $swpm_username . $pass_frag . '|' . $expiration, $scheme ); $hash = hash_hmac( 'md5', $swpm_username . '|' . $expiration, $key ); $auth_cookie = $swpm_username . '|' . $expiration . '|' . $hash; $auth_cookie_name = $secure ? SIMPLE_WP_MEMBERSHIP_SEC_AUTH : SIMPLE_WP_MEMBERSHIP_AUTH; setcookie( $auth_cookie_name, $auth_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure, true ); } public static function b_hash( $data, $scheme = 'auth' ) { $salt = wp_salt( $scheme ) . 'j4H!B3TA,J4nIn4.'; return hash_hmac( 'md5', $data, $salt ); } public function is_logged_in() { return $this->isLoggedIn; } public function get( $key, $default = '' ) { if ( isset( $this->userData->$key ) ) { return $this->userData->$key; } if ( isset( $this->permitted->$key ) ) { return $this->permitted->$key; } if ( ! empty( $this->permitted ) ) { return $this->permitted->get( $key, $default ); } return $default; } public function get_message() { return $this->lastStatusMsg; } public function get_expire_date() { if ( $this->isLoggedIn ) { return SwpmUtils::get_formatted_expiry_date( $this->get( 'subscription_starts' ), $this->get( 'subscription_period' ), $this->get( 'subscription_duration_type' ) ); } return ''; } public function delete() { if ( ! $this->is_logged_in() ) { return; } $user_name = $this->get( 'user_name' ); $user_id = $this->get( 'member_id' ); //$subscr_id = $this->get( 'subscr_id' ); //$email = $this->get( 'email' ); SwpmLog::log_simple_debug( 'Deleting member profile with username: ' . $user_name . ' (ID: ' . $user_id . ')', true ); $this->swpm_clear_auth_cookies(); wp_clear_auth_cookie(); SwpmMembers::delete_swpm_user_by_id( $user_id ); SwpmMembers::delete_wp_user( $user_name ); $this->isLoggedIn = false; SwpmLog::log_simple_debug( 'User profile deleted.', true ); } public function reload_user_data() { if ( ! $this->is_logged_in() ) { return; } global $wpdb; $member_id = isset( $this->userData->member_id ) ? $this->userData->member_id : ''; if( empty( $member_id ) ) { return; } $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE member_id = %d'; $this->userData = $wpdb->get_row( $wpdb->prepare( $query, $member_id ) ); } public function is_expired_account() { if ( ! $this->is_logged_in() ) { return null; } $account_status = $this->get( 'account_state' ); if ( $account_status == 'expired' || $account_status == 'inactive' ) { //Expired or Inactive accounts are both considered to be expired. return true; } return false; } public function trigger_swpm_login_failed_hook($username = '') { //Trigger login failed action hook. if( empty( $username ) ){ $username = isset( $_POST['swpm_user_name'] ) ? sanitize_text_field( $_POST['swpm_user_name'] ) : ''; } $error_msg = $this->lastStatusMsg; $wp_error_obj = new WP_Error( 'swpm-login-failed', $error_msg ); do_action( 'swpm_login_failed', $username, $wp_error_obj ); } public function trigger_swpm_authenticate_failed_hook($username) { //Trigger authenticate failed action hook. $error_msg = $this->lastStatusMsg; $wp_error_obj = new WP_Error( 'swpm-authenticate-failed', $error_msg ); do_action( 'swpm_authenticate_failed', $username, $wp_error_obj ); } } classes/class.swpm-permission-collection.php000064400000002525147206617610015341 0ustar00permissions = array(); } public static function get_instance(){ self::$_this = empty(self::$_this)? new SwpmPermissionCollection():self::$_this; return self::$_this; } public function load($level_ids = array()){ if (empty($level_ids)){ global $wpdb; $level_ids = $wpdb->get_col("SELECT id FROM {$wpdb->prefix}swpm_membership_tbl WHERE id != 1"); } foreach($level_ids as $id){ $this->permissions[] = SwpmPermission::get_instance($id); } } public function get_permitted_levels($post_id){ $levels = array(); foreach($this->permissions as $permission){ if ($permission->is_permitted($post_id)){ $levels[$permission->get($id)] = $permission->get('alias'); } } return $levels; } } classes/class.swpm-notification-bus.php000064400000000161147206617610014267 0ustar00get_value( 'log-file-suffix' ); if ( empty( $suffix ) ) { $suffix = uniqid(); $settings->set_value( 'log-file-suffix', $suffix ); $settings->save(); } self::$log_file = "log-{$suffix}.txt"; self::$log_auth_file = "log-auth-{$suffix}.txt"; } /* * This function will output the debug log file to the browser. * $type = 'd' for the standard debug-log-file and 'a' for auth-log-file. */ public static function output_log( $type = 'd' ) { if ( 'd' !== $type && 'a' !== $type ) { //Invalid log file type. return; } self::gen_log_file_names(); $log_file = ('d' === $type) ? self::$log_file : self::$log_auth_file; $log_file_full_path = SIMPLE_WP_MEMBERSHIP_PATH . $log_file; if ( ! file_exists( $log_file_full_path ) ) { //Log file does not exist so we will call the reset log function to create a blank log file. self::reset_swmp_log_files(); } //Check if the log file now exists. if ( ! file_exists( $log_file_full_path ) ) { //Log file still does not exist so we will show an error message. $log_file_missing_msg = '

Could not find the log file. Reset the log file from the settings menu to regenerate it then try again. You can find the Reset Debug Log option in the Debug Settings section.

'; $log_file_missing_msg .= '

If it still fails to open the log file after that, check if the plugin directory (' . SIMPLE_WP_MEMBERSHIP_PATH . ') is writeable on your server.

'; wp_die( $log_file_missing_msg ); } //Open the log file $fp = fopen( $log_file_full_path, 'rb' ); if ( ! $fp ) { wp_die( 'Can\'t open the log file.' ); } header( 'Content-Type: text/plain' ); fpassthru( $fp ); die; } public static function log_simple_debug( $message, $success, $end = false ) { $settings = SwpmSettings::get_instance(); $debug_enabled = $settings->get_value( 'enable-debug' ); if ( empty( $debug_enabled ) ) {//Debug is not enabled return; } //Lets write to the log file self::gen_log_file_names(); $debug_log_file_name = SIMPLE_WP_MEMBERSHIP_PATH . self::$log_file; // Timestamp $log_timestamp = SwpmUtils::get_current_timestamp_for_debug_log(); $text = '[' . $log_timestamp . '] - ' . ( ( $success ) ? 'SUCCESS: ' : 'FAILURE: ' ) . $message . "\n"; if ( $end ) { $text .= "\n------------------------------------------------------------------\n\n"; } // Write to log $fp = fopen( $debug_log_file_name, 'a' ); fwrite( $fp, $text ); fclose( $fp ); // close file } public static function log_array_data_to_debug( $array_to_write, $success, $end = false ) { $settings = SwpmSettings::get_instance(); $debug_enabled = $settings->get_value( 'enable-debug' ); if ( empty( $debug_enabled ) ) {//Debug is not enabled return; } //Lets write to the log file self::gen_log_file_names(); $debug_log_file_name = SIMPLE_WP_MEMBERSHIP_PATH . self::$log_file; // Timestamp $log_timestamp = SwpmUtils::get_current_timestamp_for_debug_log(); $text = '[' . $log_timestamp . '] - ' . ( ( $success ) ? 'SUCCESS: ' : 'FAILURE: ' ) . "\n"; ob_start(); print_r( $array_to_write ); $var = ob_get_contents(); ob_end_clean(); $text .= $var; if ( $end ) { $text .= "\n------------------------------------------------------------------\n\n"; } // Write to log $fp = fopen( $debug_log_file_name, 'a' ); fwrite( $fp, $text ); fclose( $fp ); // close file } public static function log_auth_debug( $message, $success, $end = false ) { $settings = SwpmSettings::get_instance(); $debug_enabled = $settings->get_value( 'enable-debug' ); if ( empty( $debug_enabled ) ) {//Debug is not enabled return; } //Lets write to the log file self::gen_log_file_names(); $debug_log_file_name = SIMPLE_WP_MEMBERSHIP_PATH . self::$log_auth_file; // Timestamp $log_timestamp = SwpmUtils::get_current_timestamp_for_debug_log(); $text = '[' . $log_timestamp . '] - ' . ( ( $success ) ? 'SUCCESS: ' : 'FAILURE: ' ) . $message . "\n"; if ( $end ) { $text .= "\n------------------------------------------------------------------\n\n"; } // Write to log $fp = fopen( $debug_log_file_name, 'a' ); fwrite( $fp, $text ); fclose( $fp ); // close file } public static function log_auth_debug_array_data( $array_to_write, $success, $end = false ) { $settings = SwpmSettings::get_instance(); $debug_enabled = $settings->get_value( 'enable-debug' ); if ( empty( $debug_enabled ) ) {//Debug is not enabled return; } //Lets write to the log file self::gen_log_file_names(); $debug_log_file_name = SIMPLE_WP_MEMBERSHIP_PATH . self::$log_auth_file; // Timestamp $log_timestamp = SwpmUtils::get_current_timestamp_for_debug_log(); $text = '[' . $log_timestamp . '] - ' . ( ( $success ) ? 'SUCCESS: ' : 'FAILURE: ' ) . "\n"; ob_start(); print_r( $array_to_write ); $var = ob_get_contents(); ob_end_clean(); $text .= $var; if ( $end ) { $text .= "\n------------------------------------------------------------------\n\n"; } // Write to log $fp = fopen( $debug_log_file_name, 'a' ); fwrite( $fp, $text ); fclose( $fp ); // close file } public static function handle_reset_log_action(){ if (!check_ajax_referer( 'swpm_reset_log_action', 'nonce', false )) { wp_send_json_error(array( 'message' => __('Error! Nonce verification failed for reset log files action', 'simple-membership'), )); } if ( SwpmLog::reset_swmp_log_files() ) { wp_send_json_success(array( 'message' => __('Log files have been reset.', 'simple-membership'), )); } else { wp_send_json_error(array( 'message' => __("Failed to reset the log files. Ensure the server's file permission is correct.", "simple-membership"), )); } } public static function reset_swmp_log_files() { $log_reset = true; self::gen_log_file_names(); $logfile_list = array( SIMPLE_WP_MEMBERSHIP_PATH . self::$log_file, SIMPLE_WP_MEMBERSHIP_PATH . self::$log_auth_file, ); foreach ( $logfile_list as $logfile ) { if ( empty( $logfile ) ) { continue; } $log_timestamp = SwpmUtils::get_current_timestamp_for_debug_log(); $text = '[' . $log_timestamp . '] - SUCCESS: Log file reset'; $text .= "\n------------------------------------------------------------------\n\n"; $fp = fopen( $logfile, 'w' ); if ( $fp != false ) { @fwrite( $fp, $text ); @fclose( $fp ); } else { $log_reset = false; } } return $log_reset; } } //Initialize the log class (so the constructor runs and the ajax action handler is registered). $swpm_log = new SwpmLog(); classes/class.swpm-utils-subscription.php000064400000050234147206617610014702 0ustar00member_id = $member_id; } /** * Load the types of subscriptions that we want to show in the subscriptions list. * * @return SWPM_Utils_Subscriptions */ public function load_subs_data() { $settings = SwpmSettings::get_instance(); //Get the subscr_id (reference field's value) currently attached to this member's profile. $subscr_id_attached_to_profile = SwpmMemberUtils::get_member_field_by_id($this->member_id, 'subscr_id'); //Get any swpm_transactions CPT posts that are associated with the given member ID OR the given subscr_id. $subscriptions = get_posts(array( 'post_type' => 'swpm_transactions', 'posts_per_page' => -1, 'meta_query' => array( 'relation' => 'AND', array( 'relation' => 'OR',/* We are looking for subscriptions that are associated with the given member ID OR the given subscr_id */ array( 'key' => 'member_id', 'value' => $this->member_id, 'compare' => '=', ), array( 'key' => 'subscr_id', 'value' => $subscr_id_attached_to_profile, 'compare' => '=', ), ), array( 'relation' => 'OR',/* We are looking for subscriptions that are created using Stripe SCA or PayPal PPCP */ array( 'key' => 'gateway', 'value' => 'stripe-sca-subs', 'compare' => '=', ), array( 'key' => 'gateway', 'value' => 'paypal_subscription_checkout', 'compare' => '=', ), ), ), )); //Loop through the found subscriptions and get the details to create a curated list of subscriptions. //It will be used to show the subscriptions list later. foreach ($subscriptions as $subscription) { if ( !is_numeric($subscription->ID) ) { continue; } $sub = array(); $post_id = $subscription->ID; $payment_button_id = get_post_meta($post_id, 'payment_button_id', true); $sub['payment_button_id'] = $payment_button_id; $sub['post_id'] = $post_id; $sub_id = get_post_meta($post_id, 'subscr_id', true); $sub['sub_id'] = $sub_id; //Check if this subscription is the one that is currently attached to the member's profile. if ( $sub_id == $subscr_id_attached_to_profile ) { //This is the subscription that is currently attached to the member's profile. //We will use it to show a msg for the subscription that is currently being used for membership access of this member. $sub['is_attached_to_profile'] = 'yes'; } //Get the environment mode (live or sandbox) of the subscription. $is_live = get_post_meta($post_id, 'is_live', true); //Get the gateway that was used to create this subscription. $sub['gateway'] = get_post_meta($post_id, 'gateway', true); if( !isset($sub['gateway']) || empty($sub['gateway']) ){ //Gateway is not set. This is an invalid subscription. Skip it. continue; } // Check and get the subscription status based on the gateways. $status = ''; switch($sub['gateway']){ case 'stripe-sca-subs': //Check if this is a valid stripe sca subscription created entry. Also check backward compatibility (when the status postmenta used to save as 'completed'). $txn_status = get_post_meta($post_id, 'status', true); $statuses_for_actual_sub_txn = array('subscription created', 'completed'); if( !in_array($txn_status, $statuses_for_actual_sub_txn)){ //This is not a stripe sca subscription created entry. Nothing to do here. Go to the next entry. continue 2; } // In case of Stripe, is_live value is saved as '1' or '' in the post meta. $sub['is_live'] = empty($is_live) ? false : true; $stripe_sca_api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button($sub['payment_button_id'], $sub['is_live']); if (isset($stripe_sca_api_keys['secret']) && !empty($stripe_sca_api_keys['secret'])) { // $status = get_post_meta($post_id, 'subscr_status', true); //This has replaced by api call. // Check if stripe lib loaded once to prevent loading on every iteration. if (!$this->is_stripe_lib_loaded){ SwpmMiscUtils::load_stripe_lib(); $this->is_stripe_lib_loaded = true; } \Stripe\Stripe::setApiKey($stripe_sca_api_keys['secret']); try { $stripe_sub = \Stripe\Subscription::retrieve($sub_id); $status = $stripe_sub['status']; } catch ( \Stripe\Exception\ApiErrorException $e){ $this->stripe_sca_api_key_error = __( 'Error: Subscription details for subscription id: '. $sub_id .' could not be retrieved from Stripe.', 'simple-membership' ); } }else{ $this->stripe_sca_api_key_error = __( 'Error: Stripe API keys are not configured on your site!', 'simple-membership' ); } break; case 'paypal_subscription_checkout': //Check if this is a valid PayPal PPCP subscription created entry. $txn_status = get_post_meta($post_id, 'status', true); if( $txn_status != 'subscription created' ){ //This is not a PPCP subscription created entry. Nothing to do here. Go to the next entry. continue 2; } // In case of PayPal PPCP, is_live value is saved as 'yes' or 'no'. We will use this value to determine the environment mode. if(isset($is_live) && $is_live == 'yes') { $sub['is_live'] = true; } else if (isset($is_live) && $is_live == 'no'){ $sub['is_live'] = false; } else { // In the older version, the 'is_live' postmeta wasn't set. So as a fallback, use the currently set environment mode. $sub['is_live'] = empty($settings->get_value('enable-sandbox-testing')); } //Get the PayPal PPCP API keys based on the environment mode that this subscription was created in. $paypal_ppcp_api_keys = array(); if ( $sub['is_live'] ) { $paypal_ppcp_api_keys['secret'] = $settings->get_value('paypal-live-secret-key'); } else { $paypal_ppcp_api_keys['secret'] = $settings->get_value('paypal-sandbox-secret-key'); } //Get the subscription details from PayPal. $environment_mode = $sub['is_live'] ? 'production': 'sandbox'; if (isset($paypal_ppcp_api_keys['secret']) && !empty($paypal_ppcp_api_keys['secret'])) { $pp_api_injector = new SWPM_PayPal_Request_API_Injector(); $pp_api_injector->set_mode_and_api_creds_based_on_mode( $environment_mode ); $sub_details = $pp_api_injector->get_paypal_subscription_details( $sub_id ); if( !empty($sub_details) ){ $status = strtolower($sub_details->status); } else { $this->paypal_ppcp_api_key_error = __( 'Error: Subscription details for subscription id: '. $sub_id .' could not be retrieved from PayPal.', 'simple-membership' ); } }else{ $this->paypal_ppcp_api_key_error = __( 'Error: PayPal PPCP API credentials are not configured in the settings menu.', 'simple-membership' ); } break; } $sub['status'] = $status; $cancel_token = get_post_meta($post_id, 'subscr_cancel_token', true); if (empty($cancel_token)) { $cancel_token = md5($post_id . $sub_id . uniqid()); update_post_meta($post_id, 'subscr_cancel_token', $cancel_token); } $sub['cancel_token'] = $cancel_token; $sub['plan'] = get_the_title($payment_button_id); if ($this->is_active($status)) { $this->active_subs[$sub_id] = $sub; } $this->subs[$sub_id] = $sub; } } /** * Load stripe subscriptions only. (Old method that is used by the stripe subscription cancel shortcode) * * @return SWPM_Utils_Subscriptions */ public function load_stripe_subscriptions() { $subscr_id = SwpmMemberUtils::get_member_field_by_id($this->member_id, 'subscr_id'); $query_args = array( 'post_type' => 'swpm_transactions', 'meta_query' => array( 'relation' => 'AND', array( 'relation' => 'OR', array( 'key' => 'member_id', 'value' => $this->member_id, 'compare' => '=', ), array( 'key' => 'subscr_id', 'value' => $subscr_id, 'compare' => '=', ), ), array( 'key' => 'gateway', 'value' => 'stripe-sca-subs', 'compare' => '=', ), ), ); $found_subs = new WP_Query($query_args); $this->subs_count = $found_subs->post_count; foreach ($found_subs->posts as $found_sub) { $sub = array(); $post_id = $found_sub->ID; $sub['post_id'] = $post_id; $sub_id = get_post_meta($post_id, 'subscr_id', true); $sub['sub_id'] = $sub_id; $status = get_post_meta($post_id, 'subscr_status', true); $sub['status'] = $status; $cancel_token = get_post_meta($post_id, 'subscr_cancel_token', true); if (empty($cancel_token)) { $cancel_token = md5($post_id . $sub_id . uniqid()); update_post_meta($post_id, 'subscr_cancel_token', $cancel_token); } $sub['cancel_token'] = $cancel_token; $is_live = get_post_meta($post_id, 'is_live', true); $is_live = empty($is_live) ? false : true; $sub['is_live'] = $is_live; $sub['payment_button_id'] = get_post_meta($post_id, 'payment_button_id', true); if ($this->is_active($status)) { $this->active_subs_count++; $this->active_subs[$sub_id] = $sub; } $this->subs[$sub_id] = $sub; } $this->recheck_status_if_needed(); return $this; } /** * Get the lists of active subscriptions' details only. * * @return array */ public function get_active_subscriptions() { return $this->active_subs; } /** * Get the lists of all subscriptions' details. * * @return array */ public function get_all_subscriptions() { return $this->subs; } /** * Get the active subscriptions count. * * @return int */ public function get_active_subs_count() { return count($this->active_subs); } /** * Get subscriptions count. * * @return int */ public function get_all_subs_count() { return count($this->subs); } /** * Checks if subscription status of active. * * @param string $status Subscription status. * * @return boolean True if 'active' or 'trialing', false otherwise. */ public static function is_active($status) { return in_array($status, self::$active_statuses, true); } private function recheck_status_if_needed() { foreach ($this->subs as $sub_id => $sub) { if (!empty($sub['status'])) { continue; } try { $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button($sub['payment_button_id'], $sub['is_live']); SwpmMiscUtils::load_stripe_lib(); \Stripe\Stripe::setApiKey($api_keys['secret']); $stripe_sub = \Stripe\Subscription::retrieve($sub_id); $this->subs[$sub_id]['status'] = $stripe_sub['status']; if ($this->is_active($stripe_sub['status'])) { $this->active_subs_count++; } update_post_meta($sub['post_id'], 'subscr_status', $stripe_sub['status']); } catch (\Exception $e) { return false; } } } /** * Generates HTML form for the 'swpm_stripe_subscription_cancel_link' shortcode. * (Used by the old stripe subscription cancel shortcode). It will be removed in the future. * * @param array $args * @param boolean $sub_id The subscription ID. * * @return string HTML as string for string sca subscription cancel form. */ public function get_stripe_subs_cancel_url($args, $sub_id = false) { if (empty($this->active_subs_count)) { return __('No active subscriptions', 'simple-membership'); } if (false === $sub_id) { $sub_id = array_key_first($this->subs); } $sub = $this->subs[$sub_id]; $token = $sub['cancel_token']; $nonce = wp_nonce_field($token, 'swpm_cancel_sub_nonce', false, false); $anchor_text = isset($args['anchor_text']) ? $args['anchor_text'] : __('Cancel Subscription', 'simple-membership'); $out = '
'; $out .= '%s'; $out .= ''; $out .= ''; $out .= ''; $out .= '
'; $out = sprintf($out, $nonce, $token); return $out; } /** * Searches subscription details by token * * @param string $token Subscription cancel token. * * @return array Subscription details. */ public function find_by_token($token) { foreach ($this->subs as $sub_id => $sub) { if ($sub['cancel_token'] === $token) { return $sub; } } } /** * Handles subscription cancellation task after the subscription cancel from is submitted. * * @return void */ public function handle_cancel_sub() { $token = isset( $_POST['swpm_cancel_sub_token'] ) ? sanitize_text_field( stripslashes ( $_POST['swpm_cancel_sub_token'] ) ) : ''; if ( empty( $token ) ) { //no token self::cancel_msg( __( 'No token provided.', 'simple-membership' ) ); } $nonce = isset( $_POST['swpm_cancel_sub_nonce'] ) ? sanitize_text_field( stripslashes ( $_POST['swpm_cancel_sub_nonce'] ) ) : ''; if ( empty( $nonce ) || ! wp_verify_nonce( $nonce, $token ) ) { // nonce check failed self::cancel_msg( __( 'Nonce check failed.', 'simple-membership' ) ); } $gateway = isset( $_POST['swpm_cancel_sub_gateway'] ) ? sanitize_text_field( stripslashes ( $_POST['swpm_cancel_sub_gateway'] ) ) : ''; if ( empty( $gateway ) ) { //no gateway self::cancel_msg( __( 'No gateway not specified.', 'simple-membership' ) ); } $sub = $this->find_by_token( $token ); if ( empty( $sub ) ) { // no subscription found return false; } switch($gateway){ case 'stripe-sca-subs': $res = $this->cancel_subscription_stripe_sca( $sub['sub_id'] ); break; case 'paypal_subscription_checkout': $res = $this->cancel_subscription_paypal( $sub['sub_id'] ); break; default: $res = false; break; } if ( $res !== true ) { self::cancel_msg( $res ); } $ipn_data = array(); $ipn_data['member_id'] = $this->member_id; do_action( 'swpm_subscription_payment_cancelled', $ipn_data ); // Hook for subscription payment cancelled. self::cancel_msg( __( 'Subscription has been cancelled.', 'simple-membership' ), false ); } /** * Triggers the subscription cancellation api for Stripe SCA. * * @param string $sub_id The subscription ID. * * @return bool|string True on success, Error message string on failure. */ public function cancel_subscription_stripe_sca($sub_id) { $sub = $this->subs[$sub_id]; try { $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button($sub['payment_button_id'], $sub['is_live']); SwpmMiscUtils::load_stripe_lib(); \Stripe\Stripe::setApiKey($api_keys['secret']); $stripe_sub = \Stripe\Subscription::retrieve($sub_id); if ($this->is_active($stripe_sub['status'])) { $stripe_sub->cancel(); } update_post_meta($sub['post_id'], 'subscr_status', $stripe_sub['status']); SwpmLog::log_simple_debug("Stripe SCA subscription cancelled successfully.", true); } catch (\Exception $e) { SwpmLog::log_simple_debug("Stripe SCA subscription cancellation failed.", false); SwpmLog::log_simple_debug($e->getMessage(), false); return $e->getMessage(); } return true; } /** * Triggers the subscription cancellation api for both PayPal PPCP and PayPal Standard. * * @param string $subscription_id The subscription ID. * * @return bool|string True on success, Error message string on failure. */ public function cancel_subscription_paypal($subscription_id){ $api_injector = new SWPM_PayPal_Request_API_Injector(); $sub_details = $api_injector->get_paypal_subscription_details( $subscription_id ); if( $sub_details !== false ){ //Log debug that we found a subscription with the given subscription_id SwpmLog::log_simple_debug("PayPal PPCP subscription details found for subscription ID: " . $subscription_id, true); //Make the API call to cancel the PPCP subscription $cancel_succeeded = $api_injector->cancel_paypal_subscription( $subscription_id ); if( $cancel_succeeded ){ SwpmLog::log_simple_debug("PayPal PPCP subscription cancelled successfully.", true); return true; }else{ SwpmLog::log_simple_debug("PayPal PPCP subscription cancellation failed.", false); return __("PayPal PPCP subscription cancellation failed!", 'simple-membership'); } } //Could not find the subscription details for the given subscription ID $not_found_error_msg = __("Error! PayPal PPCP subscription details could not be found for subscription ID: ", 'simple-membership') . $subscription_id; SwpmLog::log_simple_debug($not_found_error_msg, false); return $not_found_error_msg; } /** * Shows feedback message after subscription cancel request. * * @param string $msg Success or error message. * @param boolean $is_error Whether it is an error message or not. * * @return void */ public static function cancel_msg( $msg, $is_error = true ) { echo $msg; echo '

'; echo __( 'You will be redirected to the previous page in a few seconds. If not, please click here.', 'simple-membership' ); echo ''; if ( ! $is_error ) { wp_die( '', __( 'Success!', 'simple-membership' ), array( 'response' => 200 ) ); } wp_die(); } /** * The HTML form for subscription cancellation of all gateways. * Used by the 'swpm_show_subscriptions_and_cancel_link' shortcode. * * @param array $subscription Subscription Details. * * @return string HTML of cancel form as string. */ public static function get_cancel_subscription_output(&$subscription){ if (self::is_active($subscription['status'])) { // Subscription is active. $token = $subscription['cancel_token']; $cancel_form_output = ''; ob_start(); ?>
stripe_sca_api_key_error; } public function get_any_paypal_ppcp_api_key_error(){ return $this->paypal_ppcp_api_key_error; } } classes/class.swpm-protection-base.php000064400000025065147206617610014122 0ustar00owning_level_id = $level_id; $query = $wpdb->prepare("SELECT * FROM {$wpdb->prefix}swpm_membership_tbl WHERE " . (is_numeric($level_id) ? 'id = %d' : 'md5(id) = %s' ), $level_id); $result = $wpdb->get_row($query); $this->bitmap = isset($result->permissions) ? $result->permissions : 0; $this->posts = isset($result->post_list) ? (array) unserialize($result->post_list) : array(); $this->pages = isset($result->page_list) ? (array) unserialize($result->page_list) : array(); $this->comments = isset($result->comment_list) ? (array) unserialize($result->comment_list) : array(); $this->categories = isset($result->category_list) ? (array) unserialize($result->category_list) : array(); $this->attachments = isset($result->attachment_list) ? (array) unserialize($result->attachment_list) : array(); $this->custom_posts = isset($result->custom_post_list) ? (array) unserialize($result->custom_post_list) : array(); $this->options = isset($result->options) ? (array) unserialize($result->options) : array(); $this->disable_bookmark = isset($result->disable_bookmark_list) ? (array) unserialize($result->disable_bookmark_list) : array(); $this->details = (array) $result; } public function apply($ids, $type) { $post_types = get_post_types(array('public' => true, '_builtin' => false)); if (in_array($type, $post_types)) { $type = 'custom_post'; } return $this->update_perms($ids, true, $type); } public function remove($ids, $type) { $post_types = get_post_types(array('public' => true, '_builtin' => false)); if (in_array($type, $post_types)) { $type = 'custom_post'; } return $this->update_perms($ids, false, $type); } public function get_options() { return $this->options; } public function get_posts() { return $this->posts; } public function get_pages() { return $this->pages; } public function get_comments() { return $this->comments; } public function get_categories() { return $this->categories; } public function get_attachments() { return $this->attachments; } public function get_custom_posts() { return $this->custom_posts; } public function is_bookmark_disabled($id) { $posts = isset($this->disable_bookmark['posts']) ? (array) $this->disable_bookmark['posts'] : array(); $pages = isset($this->disable_bookmark['pages']) ? (array) $this->disable_bookmark['pages'] : array(); return in_array($id, $pages) || in_array($id, $posts); } public function in_posts($id) { return (/* ($this->bitmap&4)===4) && */in_array($id, (array) $this->posts)); } public function in_pages($id) { return (/* ($this->bitmap&8)===8) && */ in_array($id, (array) $this->pages)); } public function in_attachments($id) { return (/* ($this->bitmap&16)===16) && */in_array($id, (array) $this->attachments)); } public function in_custom_posts($id) { return (/* ($this->bitmap&32)===32) && */ in_array($id, (array) $this->custom_posts)); } public function in_comments($id) { return (/* ($this->bitmap&2)===2) && */ in_array($id, (array) $this->comments)); } public function in_categories($id) { if (empty($this->categories)) return false; return (/* ($this->bitmap&1)===1) && */ in_array($id, (array) $this->categories)); } public function post_in_categories($post_id) { if (empty($this->categories)){ return false; } $taxonomies = get_taxonomies(array('public' => true,'_builtin'=>false)); if (!is_array($taxonomies) || empty($taxonomies)) { $taxonomies = 'category'; } else { $taxonomies['category'] = 'category'; } $terms = wp_get_post_terms( $post_id, $taxonomies, array('fields'=>'ids')); if(!is_array($terms)){ return false; } foreach ($terms as $key=>$value){ if (in_array($value, $this->categories)) {return true;} } return false; } public function in_parent_categories($id) { if (empty($this->categories)){ return false; } $taxonomies = get_taxonomies(array('public' => true,'_builtin'=>false)); if (!is_array($taxonomies) || empty($taxonomies)) { $taxonomies = 'category'; } else { $taxonomies['category'] = 'category'; } $terms = get_term($id, $taxonomies); if(!is_array($terms)){ return false; } foreach ($terms as $term){ if ($term->parent == 0) {continue;} if (in_array($term->parent, $this->categories)) {return true;} } return false; } public function post_in_parent_categories($post_id) { if (empty($this->categories)){ return false; } $taxonomies = get_taxonomies(array('public' => true,'_builtin'=>false)); if (!is_array($taxonomies) || empty($taxonomies)) { $taxonomies = 'category'; } else { $taxonomies['category'] = 'category'; } $terms = wp_get_post_terms( $post_id, $taxonomies, array('fields'=>'all')); if(!is_array($terms)){ return false; } foreach ($terms as $term){ if ($term->parent != 0 &&in_array($term->parent, $this->categories)) { return true; } } return false; } public function add_posts($ids) { return $this->update_perms($ids, true, 'post'); } public function add_pages($ids) { return $this->update_perms($ids, true, 'page'); } public function add_attachments($ids) { return $this->update_perms($ids, true, 'attachment'); } public function add_comments($ids) { return $this->update_perms($ids, true, 'comment'); } public function add_categories($ids) { return $this->update_perms($ids, true, 'category'); } public function add_custom_posts($ids) { return $this->update_perms($ids, true, 'custom_post'); } public function remove_posts($ids) { return $this->update_perms($ids, false, 'post'); } public function remove_pages($ids) { return $this->update_perms($ids, false, 'page'); } public function remove_attachments($ids) { return $this->update_perms($ids, false, 'attachment'); } public function remove_comments($ids) { return $this->update_perms($ids, false, 'comment'); } public function remove_categories($ids) { return $this->update_perms($ids, false, 'category'); } public function remove_custom_posts($ids) { return $this->update_perms($ids, false, 'custom_post'); } private function update_perms($ids, $set, $type) { $list = null; $index = ''; if (empty($ids)) { return $this; } $ids = (array) $ids; switch ($type) { case 'page': $list = $this->pages; $index = 'page_list'; break; case 'post': $list = $this->posts; $index = 'post_list'; break; case 'attachment': $list = $this->attachments; $index = 'attachment_list'; break; case 'comment': $list = $this->comments; $index = 'comment_list'; break; case 'category': $list = $this->categories; $index = 'category_list'; break; case 'custom_post': $list = $this->custom_posts; $index = 'custom_post_list'; break; default: break; } if (!empty($index)) { if ($set) { $list = array_merge($list, $ids); $list = array_unique($list); } else { $list = array_diff($list, $ids); } switch ($type) { case 'page': $this->pages = $list; break; case 'post': $this->posts = $list; break; case 'attachment': $this->attachments = $list; break; case 'comment': $this->comments = $list; break; case 'category': $this->categories = $list; break; case 'custom_post': $this->custom_posts = $list; break; default: break; } $this->details[$index] = $list; } return $this; } public function save() { global $wpdb; $data = array(); $list_type = array('page_list', 'post_list', 'attachment_list', 'custom_post_list', 'comment_list', 'category_list'); foreach ($this->details as $key => $value) { if ($key == 'id') continue; if (is_serialized($value) || !in_array($key, $list_type)) $data[$key] = $value; else $data[$key] = serialize($value); } $wpdb->update($wpdb->prefix . "swpm_membership_tbl", $data, array('id' => $this->owning_level_id)); } public function get($key, $default = '') { if (isset($this->details[$key])) { return $this->details[$key]; } return $default; } } classes/class.swpm-block.php000064400000013205147206617610012107 0ustar00deps = array('wp-blocks', 'wp-element', 'wp-components'); if (version_compare(get_bloginfo('version'), '5.8.0', '<')) { $this->deps[] = 'wp-editor'; } // Register all blocks. $this->register_payment_button_block(); } /** * Registers payment button block. */ public function register_payment_button_block() { wp_register_script( 'swpm_payment_button_block', SIMPLE_WP_MEMBERSHIP_URL . '/js/payment-button-block.js', $this->deps, SIMPLE_WP_MEMBERSHIP_VER, true ); $swpm_button_options = 'const swpm_button_options = ' . wp_json_encode($this->get_payment_buttons_array()); $swpm_block_button_str = 'const swpm_block_button_str = ' . wp_json_encode( array( 'title' => 'Simple Membership Payment Button', 'description' => __('Prompt visitors to take action with a simple membership payment button.', 'simple-membership'), 'paymentButton' => __('Payment button', 'simple-membership'), ) ); wp_add_inline_script('swpm_payment_button_block', $swpm_button_options, 'before'); wp_add_inline_script( 'swpm_payment_button_block', $swpm_block_button_str, 'before' ); register_block_type( 'simple-membership/payment-button', array( 'attributes' => array( 'btnId' => array( 'type' => 'string', 'default' => 0, ), ), 'editor_script' => 'swpm_payment_button_block', 'render_callback' => array($this, 'render_payment_button_block'), ) ); } /** * Renders the block ui. * * @param array $atts A specific ID for the panel. * * @return string */ public function render_payment_button_block($atts) { $button_id = !empty($atts['btnId']) ? intval($atts['btnId']) : 0; $is_backend = defined('REST_REQUEST') && REST_REQUEST === true && $_GET['context'] === 'edit'; if ($is_backend) { if (empty($button_id)) { return '

' . __('Select an item to view', 'simple-membership') . '

'; } $button_type = get_post_meta($button_id, 'button_type', true); $output = ""; switch ($button_type) { case 'pp_subscription_new': case 'pp_buy_now_new': $button_placeholder_image = SIMPLE_WP_MEMBERSHIP_URL . '/images/button-images/paypal-button-sample-image.png'; $output = '
'; $output .= '
'.__('This section shows a preview image of a PayPal button to demonstrate where the PayPal button will appear on the front end.', 'simple-membership').'
'; $output .= 'PayPal Button Image'; $output .= '
'; break; // Add placeholder images for other payment gateways (if needed). case 'pp_subscription': case 'pp_buy_now': case 'stripe_sca_buy_now': case 'stripe_sca_subscription': case 'braintree_buy_now': default: $sc_str = 'swpm_payment_button id="%d"'; $sc_str = sprintf($sc_str, $button_id); $output = do_shortcode('[' . $sc_str . ']'); break; } return $output; } $sc_str = 'swpm_payment_button id="%d"'; $sc_str = sprintf($sc_str, $button_id); return do_shortcode('[' . $sc_str . ']'); } /** * Retrieves payment buttons. * * @return array[] */ private function get_payment_buttons_array() { $q = get_posts( array( 'post_type' => 'swpm_payment_button', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', ) ); $buttons_array = array( array( 'label' => __('(Select Item)', 'simple-membership'), 'value' => 0, ), ); foreach ($q as $post) { $title = html_entity_decode($post->post_title); $buttons_array[] = array( 'label' => esc_attr($title), 'value' => $post->ID, ); } wp_reset_postdata(); return $buttons_array; } } new SWPM_Blocks(); classes/class.swpm-membership-level.php000064400000016167147206617610014267 0ustar00is_valid()) { $level_info = $form->get_sanitized(); $wpdb->insert($wpdb->prefix . "swpm_membership_tbl", $level_info); $id = $wpdb->insert_id; //save email_activation option $email_activation=filter_input(INPUT_POST,'email_activation',FILTER_SANITIZE_NUMBER_INT); update_option('swpm_email_activation_lvl_'.$id, $email_activation, false); $after_activation_redirect_page = isset( $_POST['after_activation_redirect_page'] ) && !empty($_POST['after_activation_redirect_page']) ? sanitize_url( $_POST['after_activation_redirect_page'] ) : ""; $after_activation_redirect_page_meta = array( 'meta_key'=>'after_activation_redirect_page', 'level_id'=> $id, 'meta_label'=> 'After email activation redirect page URL', 'meta_value'=> $after_activation_redirect_page, 'meta_type'=> 'url', 'meta_context'=> 'email-activation', ); $default_account_status = isset( $_POST['default_account_status'] ) && !empty($_POST['default_account_status']) ? sanitize_text_field( $_POST['default_account_status'] ) : ""; $default_account_status_meta = array( 'meta_key'=>'default_account_status', 'level_id'=> $id, 'meta_label'=> 'Default Account Status Meta', 'meta_value'=> $default_account_status, 'meta_type'=> 'text', 'meta_context'=> 'account-status', ); $custom = apply_filters('swpm_admin_add_membership_level', array()); $custom[] = $after_activation_redirect_page_meta; $custom[] = $default_account_status_meta; $this->save_custom_fields($id, $custom); $message = array('succeeded' => true, 'message' => '

' . SwpmUtils::_('Membership Level Creation Successful.') . '

'); SwpmTransfer::get_instance()->set('status', $message); wp_redirect('admin.php?page=simple_wp_membership_levels'); exit(0); } $message = array('succeeded' => false, 'message' => SwpmUtils::_('Please correct the following:'), 'extra' => $form->get_errors()); SwpmTransfer::get_instance()->set('status', $message); } public function edit_level($id) { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('membership level edit'); //Check nonce if ( !isset($_POST['_wpnonce_edit_swpmlevel_admin_end']) || !wp_verify_nonce($_POST['_wpnonce_edit_swpmlevel_admin_end'], 'edit_swpmlevel_admin_end' )){ //Nonce check failed. wp_die(SwpmUtils::_("Error! Nonce verification failed for membership level edit from admin end.")); } global $wpdb; $query = $wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = %d", $id); $level = $wpdb->get_row($query, ARRAY_A); $form = new SwpmLevelForm($level); if ($form->is_valid()) { $wpdb->update($wpdb->prefix . "swpm_membership_tbl", $form->get_sanitized(), array('id' => $id)); //@todo meta table and collect all relevant info and pass as argument //save email_activation option $email_activation=filter_input(INPUT_POST,'email_activation',FILTER_SANITIZE_NUMBER_INT); update_option('swpm_email_activation_lvl_'.$id, $email_activation, false); $after_activation_redirect_page = isset( $_POST['after_activation_redirect_page'] ) && !empty($_POST['after_activation_redirect_page']) ? sanitize_url( $_POST['after_activation_redirect_page'] ) : ""; $after_activation_redirect_page_meta = array( 'meta_key'=>'after_activation_redirect_page', 'level_id'=> $id, 'meta_label'=> 'After email activation redirect page URL', 'meta_value'=> $after_activation_redirect_page, 'meta_type'=> 'url', 'meta_context'=> 'email-activation', ); $default_account_status = isset( $_POST['default_account_status'] ) && !empty($_POST['default_account_status']) ? sanitize_text_field( $_POST['default_account_status'] ) : ""; $default_account_status_meta = array( 'meta_key'=>'default_account_status', 'level_id'=> $id, 'meta_label'=> 'Default Account Status Meta', 'meta_value'=> $default_account_status, 'meta_type'=> 'text', 'meta_context'=> 'account-status', ); $custom = apply_filters('swpm_admin_edit_membership_level', array(), $id); $custom[] = $after_activation_redirect_page_meta; $custom[] = $default_account_status_meta; $this->save_custom_fields($id, $custom); $message = array('succeeded' => true, 'message' => '

'. SwpmUtils::_('Membership Level Updated Successfully.') . '

'); SwpmTransfer::get_instance()->set('status', $message); wp_redirect('admin.php?page=simple_wp_membership_levels'); exit(0); } $message = array('succeeded' => false, 'message' => SwpmUtils::_('Please correct the following:'), 'extra' => $form->get_errors()); SwpmTransfer::get_instance()->set('status', $message); } private function save_custom_fields($level_id, $data) { $custom_obj = SwpmMembershipLevelCustom::get_instance_by_id($level_id); foreach ($data as $item) { $custom_obj->set($item); } } } classes/class.swpm-transactions.php000064400000043702147206617610013532 0ustar00insert( $wpdb->prefix . 'swpm_payments_tbl', $txn_data ); $db_row_id = $wpdb->insert_id; /*** Save to the swpm_transactions CPT ***/ $post = array(); $post['post_title'] = ''; $post['post_status'] = 'publish'; $post['content'] = ''; $post['post_type'] = 'swpm_transactions'; $post_id = wp_insert_post( $post ); //The key that connects the 'swpm_transactions' CPT post and the the swpm_payments_tbl row. update_post_meta( $post_id, 'db_row_id', $db_row_id ); //Save additional data based on the checkout gateway. if( isset( $ipn_data['gateway'])) { //Check if this is a PayPal subscription or a Stripe subscription checkout. if ( $ipn_data['gateway'] == 'paypal_subscription_checkout' || $ipn_data['gateway'] == 'stripe-sca-subs' ) { //Save the swpm_transactions CPT post ID of the original checkout in the member's proifle. Useful to retreive some of the original checkout txn data (example: custom_field data). $member_record = SwpmMemberUtils::get_user_by_subsriber_id( $subscr_id ); if( ! $member_record ){ SwpmLog::log_simple_debug( 'Error! Could not find an existing member record for the given subscriber ID: ' . $subscr_id . '. This member profile may have been deleted.', false ); } else { $member_id = $member_record->member_id; $extra_info = SwpmMemberUtils::get_account_extra_info( $member_id ); //Check if the extra_info is an array. If not, initialize it as an array before adding the orig_swpm_txn_cpt_id. if (!is_array($extra_info)) { $extra_info = array(); // Initialize as array if not already } $extra_info['orig_swpm_txn_cpt_id'] = $post_id; //Update the member's extra_info with the orig_swpm_txn_cpt_id. SwpmMemberUtils::update_account_extra_info( $member_id, $extra_info ); } } } //Save the subscr_id to the swpm_transactions CPT as post meta (so it can be used to query the CPT for a specific subscription). if ( isset( $subscr_id ) && ! empty( $subscr_id ) ) { update_post_meta( $post_id, 'subscr_id', $subscr_id ); } //Add the payment_button_id to the txn_data array so it can be saved to the swpm_transactions CPT. if ( isset( $ipn_data['payment_button_id'] ) ) { $txn_data['payment_button_id'] = $ipn_data['payment_button_id']; } //Add the is_live to the txn_data array so it can be saved to the swpm_transactions CPT. if ( isset( $ipn_data['is_live'] ) ) { $txn_data['is_live'] = $ipn_data['is_live']; } //Add the custom value to the txn_data array so it can be saved to the swpm_transactions CPT. if ( isset( $ipn_data['custom'] ) ) { $txn_data['custom'] = $ipn_data['custom']; } //Add the discount_amount value to the txn_data array so it can be saved to the swpm_transactions CPT. if ( isset( $ipn_data['discount_amount'] ) ) { $txn_data['discount_amount'] = $ipn_data['discount_amount']; } //Save the $txn_data to the swpm_transactions CPT as post meta. foreach ( $txn_data as $key => $value ) { update_post_meta( $post_id, $key, $value ); } //Trigger the action hook. do_action( 'swpm_txn_record_saved', $txn_data, $db_row_id, $post_id ); } /* * Use this function to update or set account status of a member easily. */ public static function update_transaction_status( $txn_row_id, $new_status = 'Completed' ) { // TODO: Old Code. Need to remove. // global $wpdb; // $payments_table_name = $wpdb->prefix . 'swpm_payments_tbl'; // SwpmLog::log_simple_debug( 'Updating the payment status value of transaction to: ' . $new_status . '. Row ID: ' . $txn_row_id, true ); // $query = $wpdb->prepare( "UPDATE $payments_table_name SET status=%s WHERE id=%s", $new_status, $txn_row_id ); // $resultset = $wpdb->query( $query ); SwpmLog::log_simple_debug( 'Updating the payment status value of transaction to: ' . $new_status . '. Post ID: ' . $txn_row_id, true ); update_post_meta($txn_row_id, 'status', $new_status); } public static function parse_custom_var( $custom ) { $delimiter = '&'; $customvariables = array(); $namevaluecombos = explode( $delimiter, $custom ); foreach ( $namevaluecombos as $keyval_unparsed ) { $equalsignposition = strpos( $keyval_unparsed, '=' ); if ( $equalsignposition === false ) { $customvariables[ $keyval_unparsed ] = ''; continue; } $key = substr( $keyval_unparsed, 0, $equalsignposition ); $value = substr( $keyval_unparsed, $equalsignposition + 1 ); $customvariables[ $key ] = $value; } return $customvariables; } /** * Get transaction cpt record from posts table by subscription id. * * @param string $subscription_id The subscription id. * @param bool $return_post_metas Whether to also retrieve post meta associated with this post. * * @return object|null */ public static function get_transaction_row_by_subscr_id (string $subscription_id, bool $return_post_metas = false) { $meta_query = array( array( 'key' => 'subscr_id', 'value' => $subscription_id, 'compare' => '=' ) ); if ($return_post_metas){ return self::get_txn_post_using_meta_query_with_metadata( $meta_query ); } return self::get_txn_post_using_meta_query($meta_query); } /** * Get transaction cpt record from posts table by transaction id. * * @param string $txn_id The transaction id. * @param bool $return_post_metas Whether to also retrieve post meta associated with this post. * * @return object|null */ public static function get_transaction_row_by_txn_id (string $txn_id, bool $return_post_metas = false) { $meta_query = array( array( 'key' => 'txn_id', 'value' => $txn_id, 'compare' => '=' ) ); if ($return_post_metas){ return self::get_txn_post_using_meta_query_with_metadata( $meta_query ); } return self::get_txn_post_using_meta_query($meta_query); } /** * Get transaction cpt record from posts table by transaction id and email. * * @param string $txn_id The transaction id. * @param string $email The payer email. * @param bool $return_post_metas Whether to also retrieve post meta associated with this post. * * @return object|null */ public static function get_transaction_row_by_txn_id_and_email(string $txn_id, string $email, bool $return_post_metas = false) { $meta_query = array( 'relation' => 'AND', array( 'key' => 'txn_id', 'value' => $txn_id, 'compare' => '=' ), array( 'key' => 'email', 'value' => $email, 'compare' => '=' ), ); if ($return_post_metas){ return self::get_txn_post_using_meta_query_with_metadata( $meta_query ); } return self::get_txn_post_using_meta_query($meta_query); } /** * Get transaction cpt record from posts table by transaction id and subscription id. * * @param string $txn_id The transaction id. * @param string $subscription_id The subscription id. * @param bool $return_post_metas Whether to also retrieve post meta associated with this post. * * @return object|null */ public static function get_transaction_row_by_txn_id_and_subscription_id(string $txn_id, string $subscription_id, bool $return_post_metas = false) { $meta_query = array( 'relation' => 'AND', array( 'key' => 'txn_id', 'value' => $txn_id, 'compare' => '=' ), array( 'key' => 'subscr_id', 'value' => $subscription_id, 'compare' => '=' ), ); if ($return_post_metas){ return self::get_txn_post_using_meta_query_with_metadata( $meta_query ); } return self::get_txn_post_using_meta_query($meta_query); } /** * Retrieve first transaction post using meta query. * * @param array $meta_query * * @return object|null The retrieved post as WP_Post object. NULL if no posts found. */ public static function get_txn_post_using_meta_query( array $meta_query ) { // Get the transaction posts types. $txn_posts = get_posts( array( 'post_type' => 'swpm_transactions', 'posts_per_page' => -1, 'meta_query' => $meta_query ) ); wp_reset_postdata(); if ( count( $txn_posts ) ){ $the_txn_post = isset($txn_posts[0]) ? $txn_posts[0] : null; return $the_txn_post; } return null; } /** * Retrieve first transaction post using meta query with associated metadata. * * @param array $meta_query * * @return object|null Post data as object. NULL if posts not found. */ public static function get_txn_post_using_meta_query_with_metadata( array $meta_query ) { $txn_post = self::get_txn_post_using_meta_query($meta_query); // Check if a matching transaction post found or not. if (empty($txn_post)) { return null; } return self::get_txn_post_meta_data_in_object_format($txn_post->ID); } /** * Retrieve all the transaction CPT posts by member ID. */ public static function get_all_txn_cpts_with_metadata_by_member_id( $member_id ) { $meta_query = array( array( 'key' => 'member_id', 'value' => $member_id, 'compare' => '=' ) ); $all_txn_cpts = self::get_all_txn_posts_using_meta_query_with_metadata($meta_query); return $all_txn_cpts; } /** * Retrieve all the transaction CPT posts using meta query with metadata. * * @param array $meta_query The standard 'meta_query' array argument that is used in the get_posts() function. * * @return array|null The retrieved posts as array of WP_Post object. NULL if no posts found. */ public static function get_all_txn_posts_using_meta_query_with_metadata( array $meta_query ) { /*** Tip ***/ //Use the following technique to print all post metas of a CPT so we can craft the meta_query parameter as needed. //$all_post_metas_of_a_cpt = get_post_meta( "1234" ); //print_r($all_post_metas_of_a_cpt); // Get the transaction posts types. $txn_posts = get_posts( array( 'post_type' => 'swpm_transactions', 'posts_per_page' => -1, 'meta_query' => $meta_query ) ); wp_reset_postdata(); if (count($txn_posts) < 1){ return null; } $result = array(); foreach ($txn_posts as $txn_post) { $result[] = self::get_txn_post_meta_data_in_array_format($txn_post->ID); } return $result; } /* * Get all the transaction meta data of a transaction in array format. * @param string $post_id The transaction post ID. * @return array */ public static function get_txn_post_meta_data_in_array_format( int $post_id){ $meta_data = array( 'id' => $post_id, 'db_row_id' => get_post_meta($post_id, 'db_row_id', true), 'email' => get_post_meta($post_id, 'email', true), 'first_name' => get_post_meta($post_id, 'first_name', true), 'last_name' => get_post_meta($post_id, 'last_name', true), 'member_id' => get_post_meta($post_id, 'member_id', true), 'membership_level' => get_post_meta($post_id, 'membership_level', true), 'txn_date' => get_post_meta($post_id, 'txn_date', true), 'txn_id' => get_post_meta($post_id, 'txn_id', true), 'subscr_id' => get_post_meta($post_id, 'subscr_id', true), 'reference' => get_post_meta($post_id, 'reference', true), 'payment_amount' => get_post_meta($post_id, 'payment_amount', true), 'gateway' => get_post_meta($post_id, 'gateway', true), 'status' => get_post_meta($post_id, 'status', true), 'ip_address' => get_post_meta($post_id, 'ip_address', true), 'payment_button_id' => get_post_meta($post_id, 'payment_button_id', true), 'is_live' => get_post_meta($post_id, 'is_live', true), 'discount_amount' => get_post_meta($post_id, 'discount_amount', true), 'custom' => get_post_meta($post_id, 'custom', true), ); return $meta_data; } /** * Retrieve all the post metadata for a transaction post type by its id. * * @param int $post_id ID of transaction post * * @return object All associated post metas */ public static function get_txn_post_meta_data_in_object_format( int $post_id){ $meta_data_obj = (object) self::get_txn_post_meta_data_in_array_format($post_id); return $meta_data_obj; } /** * Get the original subscription checkout transaction CPT Post ID by the subscriber ID. * Get's the original transaction CPT Post ID from the member's profile (we save it in the extra_info when the subscription is created). */ public static function get_original_swpm_txn_cpt_id_by_subscr_id ( $subscr_id ) { $extra_info = SwpmMemberUtils::get_account_extra_info_by_subscr_id( $subscr_id ); if( isset( $extra_info['orig_swpm_txn_cpt_id'] ) && !empty( $extra_info['orig_swpm_txn_cpt_id'] )){ $txn_cpt_post_id = $extra_info['orig_swpm_txn_cpt_id']; return $txn_cpt_post_id; } return ''; } /** * Get the custom field data of the original subscription checkout from the user profile (if available). * The Transaction CPT Post ID is saved in the member's profile when the subscription is created. * @param string $subscr_id * @return string */ public static function get_original_custom_value_from_transactions_cpt ( $subscr_id ) { $extra_info = SwpmMemberUtils::get_account_extra_info_by_subscr_id( $subscr_id ); if( isset( $extra_info['orig_swpm_txn_cpt_id'] ) && !empty( $extra_info['orig_swpm_txn_cpt_id'] )){ $txn_cpt_post_id = $extra_info['orig_swpm_txn_cpt_id']; //Example value: subsc_ref=2&orig_swpm_txn_cpt_id=123 $custom = get_post_meta( $txn_cpt_post_id, 'custom', true ); SwpmLog::log_simple_debug('Custom field data from the original subscription checkout: ' . $custom, true); } else{ $custom = ''; SwpmLog::log_simple_debug('Could not find the original subscription checkout custom field data.', true); } return $custom; } public static function get_original_custom_value_for_subscription_payment ( $subscr_id ) { if ( isset ( $subscr_id )){ //Lets check if a proper custom field value is already saved in the CPT for this stripe subscription. $txn_cpt_qry_args = array( 'post_type' => 'swpm_transactions', 'orderby' => 'post_id', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'subscr_id', 'value' => $subscr_id ), ) ); $txn_cpt_qry = new WP_Query( $txn_cpt_qry_args ); $found_posts = $txn_cpt_qry->found_posts; if ( $found_posts ) { //Found a match so this is a subscription payment notification. //Read the posts array. $posts = $txn_cpt_qry->posts; //The fist post entry will be the original stripe webhook notification. $first_entry = array_shift($posts); //Get the ID of the post. $cpt_post_id = $first_entry->ID; //Retrieve the original custom value saved for this post. $orig_custom_value = get_post_meta( $cpt_post_id, 'custom', true ); return $orig_custom_value; } } return ''; } } classes/class.swpm-level-form.php000064400000006610147206617610013067 0ustar00fields = $fields; $this->sanitized = array(); $this->errors = array(); foreach ($fields as $key => $value){ $this->$key(); } } protected function id() { } protected function alias() { $alias = filter_input(INPUT_POST, 'alias'); $this->sanitized['alias'] = sanitize_text_field($alias); } protected function role() { $role = filter_input(INPUT_POST, 'role'); $this->sanitized['role'] = sanitize_text_field($role); } protected function permissions() { $this->sanitized['permissions'] = 63; } protected function subscription_period() { $subscript_duration_type = isset($_POST['subscription_duration_type']) ? sanitize_text_field($_POST['subscription_duration_type']) : ''; if ($subscript_duration_type == SwpmMembershipLevel::NO_EXPIRY) { $this->sanitized['subscription_period'] = ""; return; } $subscription_period = filter_input(INPUT_POST, 'subscription_period_'. $subscript_duration_type); if (($subscript_duration_type == SwpmMembershipLevel::FIXED_DATE)){ $dateinfo = date_parse($subscription_period); if ($dateinfo['warning_count']|| $dateinfo['error_count']){ $this->errors['subscription_period'] = SwpmUtils::_("Date format is not valid."); return; } $this->sanitized['subscription_period'] = sanitize_text_field($subscription_period); return; } if (!is_numeric($subscription_period)) { $this->errors['subscription_period'] = SwpmUtils::_("Access duration must be > 0."); return; } $this->sanitized['subscription_period'] = sanitize_text_field($subscription_period); } protected function subscription_duration_type(){ $subscription_duration_type = isset($_POST['subscription_duration_type']) ? sanitize_text_field($_POST['subscription_duration_type']) : ''; $this->sanitized['subscription_duration_type'] = $subscription_duration_type; return; } protected function subscription_unit(){ } protected function loginredirect_page() { } protected function category_list() { } protected function page_list() { } protected function post_list() { } protected function comment_list() { } protected function attachment_list() { } protected function custom_post_list() { } protected function disable_bookmark_list() { } protected function options() { } protected function campaign_name() { } protected function protect_older_posts() { $checked = isset($_POST['protect_older_posts']) ? sanitize_text_field($_POST['protect_older_posts']) : ''; $this->sanitized['protect_older_posts'] = empty($checked) ? 0 : 1; } public function is_valid() { return count($this->errors) < 1; } public function get_sanitized() { return $this->sanitized; } public function get_errors() { return $this->errors; } } classes/class.swpm-transfer.php000064400000003056147206617610012644 0ustar00 '', 'last_name' => '', 'user_name' => '', 'email' => '', 'password' => '', 'phone' => '', 'account_state' => '', 'member_since' => '', 'subscription_starts' => '', 'address_street' => '', 'address_city' => '', 'address_state' => '', 'address_zipcode' => '', 'company_name' => '', 'country' => '', 'gender' => 'not specified', 'membership_level' => '2', 'notes' => '' ); public static $default_level_fields = array( 'alias' => '', 'role' => '', 'subscription_period' => '', 'subscription_duration_type' => SwpmMembershipLevel::NO_EXPIRY); public $message; public static $admin_messages = array(); private static $_this; private function __construct() { $this->message = get_option('swpm-messages'); } public static function get_instance() { self::$_this = empty(self::$_this) ? new SwpmTransfer() : self::$_this; return self::$_this; } public function get($key) { $messages = new SwpmMessages(); return $messages->get($key); } public function set($key, $value) { $messages = new SwpmMessages(); $messages->set($key, $value); } /*** Deprecated function - exists only for backwards compatibility ***/ public static function get_real_ip_addr() { return SwpmUtils::get_user_ip_address(); } } classes/class.swpm-cronjob.php000064400000007421147206617610012454 0ustar00prepare("SELECT member_id, membership_level, subscription_starts, account_state FROM {$wpdb->prefix}swpm_members_tbl WHERE membership_level NOT IN ( SELECT id FROM {$wpdb->prefix}swpm_membership_tbl WHERE subscription_period = '' OR subscription_period = '0' ) LIMIT %d, 100", $counter); $results = $wpdb->get_results($query); if (empty($results)) { break; } $expired = array(); foreach ($results as $result) { $timestamp = SwpmUtils::get_expiration_timestamp($result); if ($timestamp < time() && $result->account_state == 'active') { $expired[] = $result->member_id; } } if (count($expired) > 0) { $query = "UPDATE {$wpdb->prefix}swpm_members_tbl SET account_state='expired' WHERE member_id IN (" . implode(',', $expired) . ")"; $wpdb->query($query); //Trigger an action hook do_action('swpm_cronjob_account_status_updated_to_expired', $expired); } } } public function delete_pending_account() { global $wpdb; $interval = SwpmSettings::get_instance()->get_value('delete-pending-account'); if (empty($interval)) { return; } for ($counter = 0;; $counter += 100) { $query = $wpdb->prepare("SELECT member_id FROM {$wpdb->prefix}swpm_members_tbl WHERE account_state='pending' AND subscription_starts < DATE_SUB(NOW(), INTERVAL %d MONTH) LIMIT %d, 100", $interval, $counter); $results = $wpdb->get_results($query); if (empty($results)) { break; } $to_delete = array(); foreach ($results as $result) { $to_delete[] = $result->member_id; } if (count($to_delete) > 0) { SwpmLog::log_simple_debug("Auto deleting pending account.", true); $query = "DELETE FROM {$wpdb->prefix}swpm_members_tbl WHERE member_id IN (" . implode(',', $to_delete) . ")"; $wpdb->query($query); } } } public function delete_pending_email_activation_data() { //Delete pending email activation data after 1 day (24 hours). global $wpdb; $q = "SELECT * FROM {$wpdb->prefix}options WHERE option_name LIKE '%swpm_email_activation_data_usr_%'"; $res = $wpdb->get_results($q); if (empty($res)) { return; } foreach ($res as $data) { $value = unserialize($data->option_value); $timestamp = isset($value['timestamp']) ? $value['timestamp'] : 0; $now = time(); if ($now > $timestamp + (60 * 60 * 24) ) { delete_option($data->option_name); } } } } classes/class.swpm-utils-member.php000064400000047415147206617610013434 0ustar00insert( $wpdb->prefix . 'swpm_members_tbl', $fields ); if ( ! $res ) { //DB error occurred $error_msg = 'create_swpm_member_entry_from_array_data() - DB error occurred: ' . json_encode( $wpdb->last_result ); SwpmLog::log_simple_debug( $error_msg, false ); } $member_id = $wpdb->insert_id; SwpmLog::log_simple_debug( 'create_swpm_member_entry_from_array_data() - SWPM member entry created successfully. Member ID: ' . $member_id, true ); return $member_id; } public static function is_member_logged_in() { $auth = SwpmAuth::get_instance(); if ( $auth->is_logged_in() ) { return true; } else { return false; } } public static function get_logged_in_members_id() { $auth = SwpmAuth::get_instance(); if ( ! $auth->is_logged_in() ) { return SwpmUtils::_( 'User is not logged in.' ); } return $auth->get( 'member_id' ); } public static function get_logged_in_members_username() { $auth = SwpmAuth::get_instance(); if ( ! $auth->is_logged_in() ) { return SwpmUtils::_( 'User is not logged in.' ); } return $auth->get( 'user_name' ); } public static function get_logged_in_members_level() { $auth = SwpmAuth::get_instance(); if ( ! $auth->is_logged_in() ) { return SwpmUtils::_( 'User is not logged in.' ); } return $auth->get( 'membership_level' ); } public static function get_logged_in_members_level_name() { $auth = SwpmAuth::get_instance(); if ( $auth->is_logged_in() ) { return $auth->get( 'alias' ); } return SwpmUtils::_( 'User is not logged in.' ); } public static function get_logged_in_members_email() { $auth = SwpmAuth::get_instance(); if ( ! $auth->is_logged_in() ) { return SwpmUtils::_( 'User is not logged in.' ); } return $auth->get( 'email' ); } public static function get_member_field_by_id( $id, $field, $default = '' ) { global $wpdb; $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE member_id = %d'; $userData = $wpdb->get_row( $wpdb->prepare( $query, $id ) ); if ( isset( $userData->$field ) ) { return $userData->$field; } return apply_filters( 'swpm_get_member_field_by_id', $default, $id, $field ); } public static function get_formatted_expiry_date_by_user_id( $swpm_id ) { $expiry_timestamp = self::get_expiry_date_timestamp_by_user_id( $swpm_id ); if ( $expiry_timestamp == PHP_INT_MAX ) { //No Expiry Setting $formatted_expiry_date = SwpmUtils::_( 'No Expiry' ); } else { $expiry_date = date( 'Y-m-d', $expiry_timestamp ); $formatted_expiry_date = SwpmUtils::get_formatted_date_according_to_wp_settings( $expiry_date ); } return $formatted_expiry_date; } public static function get_expiry_date_timestamp_by_user_id( $swpm_id ) { $swpm_user = self::get_user_by_id( $swpm_id ); $expiry_timestamp = SwpmUtils::get_expiration_timestamp( $swpm_user ); return $expiry_timestamp; } public static function member_record_exists( $swpm_id ) { // Checks if the SWPM user record exists for the given member ID. global $wpdb; $query = $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->prefix}swpm_members_tbl WHERE member_id = %d", $swpm_id ); $count = $wpdb->get_var( $query ); return $count > 0; } public static function get_user_by_id( $swpm_id ) { //Retrieves the SWPM user record for the given member ID global $wpdb; $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE member_id = %d", $swpm_id ); $result = $wpdb->get_row( $query ); return $result; } public static function get_user_by_user_name( $swpm_user_name ) { //Retrieves the SWPM user record for the given member username global $wpdb; $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE user_name = %s", $swpm_user_name ); $result = $wpdb->get_row( $query ); return $result; } public static function get_user_by_email( $swpm_email ) { //Retrieves the SWPM user record for the given member email address global $wpdb; $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE email = %s", $swpm_email ); $result = $wpdb->get_row( $query ); return $result; } public static function get_user_by_subsriber_id( $subsc_id ) { //Retrieves the SWPM user record for the given member ID global $wpdb; $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE subscr_id = %s", $subsc_id ); $result = $wpdb->get_row( $query ); return $result; } public static function get_wp_user_from_swpm_user_id( $swpm_id ) { //Retrieves the WP user record for the given SWPM member ID. $swpm_user_row = self::get_user_by_id( $swpm_id ); $username = $swpm_user_row->user_name; $wp_user = get_user_by( 'login', $username ); return $wp_user; } public static function get_membership_level_id_of_a_member( $member_id ) { $user_row = SwpmMemberUtils::get_user_by_id( $member_id ); $level_id = $user_row->membership_level; return $level_id; } public static function get_all_members_of_a_level( $level_id ) { //Retrieves all the SWPM user records for the given membership level global $wpdb; $query = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE membership_level = %s", $level_id ); $result = $wpdb->get_results( $query ); return $result; } /** * Retrieves all members with a given membership level id and a given account state * '-1' as $level_id represents all membership levels. * 'all' as $account_state represents all account states. * * @param int|string $level_id Membership level id. * @param string $account_state Account state. * @return object Members */ public static function get_all_members_of_a_level_and_a_state($level_id, $account_state) { global $wpdb; $query = "SELECT * FROM {$wpdb->prefix}swpm_members_tbl"; // Check if 'WHERE' clause need to be used or not. if($level_id != -1 || $account_state != 'all'){ $placeholders = array(); $where_clauses = array(); if ($level_id != -1) { $where_clauses[] = "membership_level = %d"; $placeholders[] = $level_id; } if ($account_state != 'all') { $where_clauses[] = "account_state = %s"; $placeholders[] = $account_state; } $query .= " WHERE " . implode(" AND ", $where_clauses); // query preparation is not required as there are not placeholders. $query = $wpdb->prepare($query, $placeholders); } $result = $wpdb->get_results( $query ); return $result; } /* * Use this function to update or set membership level of a member easily. */ public static function update_membership_level( $member_id, $target_membership_level ) { global $wpdb; $members_table_name = $wpdb->prefix . 'swpm_members_tbl'; $query = $wpdb->prepare( "UPDATE $members_table_name SET membership_level=%s WHERE member_id=%s", $target_membership_level, $member_id ); $resultset = $wpdb->query( $query ); } /* * Use this function to update or set membership level of a member and also update the role (according to the role specified in the new level). */ public static function update_membership_level_and_role( $member_id, $target_membership_level ) { //Get the old (before update) membership level. $old_membership_level = self::get_membership_level_id_of_a_member( $member_id ); //Update the membership level. self::update_membership_level($member_id, $target_membership_level ); //Trigger the level changed/updated action hook. do_action( 'swpm_membership_level_changed', array( 'member_id' => $member_id, 'from_level' => $old_membership_level, 'to_level' => $target_membership_level, ) ); } /* * Use this function to update or set account status of a member easily. */ public static function update_account_state( $member_id, $new_status = 'active' ) { global $wpdb; $members_table_name = $wpdb->prefix . 'swpm_members_tbl'; SwpmLog::log_simple_debug( 'Updating the account status value of member (ID: ' . $member_id . ') to: ' . $new_status, true ); $query = $wpdb->prepare( "UPDATE $members_table_name SET account_state=%s WHERE member_id=%s", $new_status, $member_id ); $resultset = $wpdb->query( $query ); } /* * Use this function to update or set access starts date of a member easily. */ public static function update_access_starts_date( $member_id, $new_date ) { global $wpdb; $members_table_name = $wpdb->prefix . 'swpm_members_tbl'; $query = $wpdb->prepare( "UPDATE $members_table_name SET subscription_starts=%s WHERE member_id=%s", $new_date, $member_id ); $resultset = $wpdb->query( $query ); } /* * Use this function to update or set extra_info array data of a profile easily. */ public static function update_account_extra_info( $member_id, $extra_info = array() ) { //Example $extra_info value: array('last_webhook_status' => 'expired', 'plan_id' => '1234'); global $wpdb; $members_table_name = $wpdb->prefix . 'swpm_members_tbl'; $extra_info_serialized = serialize( $extra_info ); //SwpmLog::log_simple_debug( 'Updating the extra_info value of member (' . $member_id . ') to: ' . $extra_info_serialized, true ); $query = $wpdb->prepare( "UPDATE $members_table_name SET extra_info=%s WHERE member_id=%s", $extra_info_serialized, $member_id ); $resultset = $wpdb->query( $query ); } /* * Use this function to get extra_info array data of a profile easily. */ public static function get_account_extra_info( $member_id ){ $member_record = self::get_user_by_id( $member_id ); $extra_info = maybe_unserialize( $member_record->extra_info ); return $extra_info; } /* * Use this function to get extra_info array data of a profile using the subscr_id. */ public static function get_account_extra_info_by_subscr_id( $subscr_id ){ $member_record = self::get_user_by_subsriber_id( $subscr_id ); if( !$member_record ){ return false; } $extra_info = maybe_unserialize( $member_record->extra_info ); return $extra_info; } /* * Calculates the Access Starts date value considering the level and current expiry. Useful for after payment member profile update. */ public static function calculate_access_start_date_for_account_update( $args ) { $swpm_id = $args['swpm_id']; $membership_level = $args['membership_level']; $old_membership_level = $args['old_membership_level']; $subscription_starts = SwpmUtils::get_current_date_in_wp_zone();//( date( 'Y-m-d' ) ); if ( $membership_level == $old_membership_level ) { //Payment for the same membership level (renewal). //Algorithm - ONLY set the $subscription_starts date to current expiry date if the current expiry date is in the future. //Otherwise set $subscription_starts to TODAY. $expiry_timestamp = self::get_expiry_date_timestamp_by_user_id( $swpm_id ); if ( $expiry_timestamp > time() ) { //Account is not expired. Expiry date is in the future. $level_row = SwpmUtils::get_membership_level_row_by_id( $membership_level ); $subs_duration_type = $level_row->subscription_duration_type; if ( $subs_duration_type == SwpmMembershipLevel::NO_EXPIRY ) { //No expiry type level. //Use todays date for $subscription_starts date parameter. } elseif ( $subs_duration_type == SwpmMembershipLevel::FIXED_DATE ) { //Fixed date expiry level. //Use todays date for $subscription_starts date parameter. } else { //Duration expiry level. //Set the $subscription_starts date to the current expiry date so the renewal time starts from then. $subscription_starts = date( 'Y-m-d', $expiry_timestamp ); } } else { //Account is already expired. //Use todays date for $subscription_starts date parameter. } } else { //Payment for a NEW membership level (upgrade). //Use todays date for $subscription_starts date parameter. } return $subscription_starts; } public static function is_valid_user_name( $user_name ) { return preg_match( '/^[a-zA-Z0-9.\-_*@]+$/', $user_name ) == 1; } public static function check_and_die_if_email_belongs_to_admin_user( $email_to_check ){ //Check if the email belongs to an existing wp user account. $wp_user_id = email_exists( $email_to_check ); if ( $wp_user_id ) { //A wp user account exist with this email. //Check if the user has admin role. $admin_user = SwpmMemberUtils::wp_user_has_admin_role( $wp_user_id ); if ( $admin_user ) { //This email belongs to an admin user. Cannot use/register using an admin user's email from front-end. Show error message then exit. $error_msg = '

This email address (' . $email_to_check . ') belongs to an admin user. This email cannot be used to register a new account on this site for security reasons. Contact site admin.

'; $error_msg .= '

For testing purpose, you can create another user account that is completely separate from the admin user account of this site.

'; wp_die( $error_msg ); } } } public static function check_and_die_if_username_belongs_to_admin_user( $username_to_check ){ //Check if the username belongs to an existing wp user account. $wp_user_id = username_exists( $username_to_check ); if ( $wp_user_id ) { //A wp user account exists with this username. //Check if the user has admin role. $admin_user = SwpmMemberUtils::wp_user_has_admin_role( $wp_user_id ); if ( $admin_user ) { //This Username belongs to an admin user. Cannot use/register using an existing admin user's username from front-end. Show error message then exit. $error_msg = '

This username (' . $username_to_check . ') belongs to an admin user. It cannot be used to register a new account on this site for security reasons. Contact site admin.

'; $error_msg .= '

For testing purpose, you can create another user account that is completely separate from the admin user account of this site.

'; wp_die( $error_msg ); } } } /** * Get wp user roles by user ID. * * @param int $id * @return array */ public static function get_wp_user_roles_by_id( $wp_user_id ) { $user = new WP_User( $wp_user_id ); if ( empty ( $user->roles ) or ! is_array( $user->roles ) ){ return array (); } $wp_roles = new WP_Roles; $names = $wp_roles->get_names(); $out = array (); foreach ( $user->roles as $role ) { if ( isset ( $names[ $role ] ) ){ $out[ $role ] = $names[ $role ]; } } return $out; } public static function wp_user_has_admin_role( $wp_user_id ) { $caps = get_user_meta( $wp_user_id, 'wp_capabilities', true ); if ( is_array( $caps ) && in_array( 'administrator', array_keys( (array) $caps ) ) ) { //This wp user has "administrator" role. return true; } //Check if $caps was empty (It can happen on sites with customized roles and capbilities). If yes, then perform an additional role check. if ( empty ( $caps ) ){ //Try to retrieve roles from the user object. SwpmLog::log_simple_debug( 'Empty caps. Calling get_wp_user_roles_by_id() to retrieve role.', true ); $roles = self::get_wp_user_roles_by_id($wp_user_id); if ( is_array( $roles ) && in_array( 'administrator', array_keys( (array) $roles ) ) ) { //This wp user has "administrator" role. return true; } } return false; } public static function update_wp_user_role_with_level_id( $wp_user_id, $level_id ) { $level_row = SwpmUtils::get_membership_level_row_by_id( $level_id ); $user_role = $level_row->role; self::update_wp_user_role( $wp_user_id, $user_role ); } public static function update_wp_user_role( $wp_user_id, $role ) { if ( SwpmUtils::is_multisite_install() ) {//MS install return; //TODO - don't do this for MS install } $admin_user = self::wp_user_has_admin_role( $wp_user_id ); if ( $admin_user ) { SwpmLog::log_simple_debug( 'This user has admin role. No role modification will be done.', true ); return; } //wp_update_user() function will trigger the 'set_user_role' hook. wp_update_user( array( 'ID' => $wp_user_id, 'role' => $role, ) ); SwpmLog::log_simple_debug( 'User role updated.', true ); } //if a username is provided, it will return sanitized email of the user //if no username is found, empty is returned public static function get_sanitized_email($username_or_email_address) { if(is_email($username_or_email_address)) { return sanitize_email($username_or_email_address); } else{ $user_row = SwpmMemberUtils::get_user_by_user_name( $username_or_email_address ); if ( $user_row ) { //found a profile return $user_row->email; } } return ""; } /** * Get subscription data by key from the member's extra info column. * * @param $member_id int The ID of the member. * @param $key string The field to retrieve * @param $default string Default value if result not found. * * @return string The value of provided key. */ public static function get_subscription_data_extra_info($member_id, $key, $default = ''){ // Attached subsrc_id to members table. $sub_id = self::get_member_field_by_id( $member_id, 'subscr_id' ); // Check if subscr_id not present. if (empty($sub_id)){ return $default; } // Retrieve the extra_info column. $extra_info = self::get_account_extra_info( $member_id ); // Check if target key value pair exists, then return it. if ( is_array($extra_info) && isset( $extra_info['subscription_details'][$sub_id][$key] ) ) { return $extra_info['subscription_details'][$sub_id][$key]; } // Target key value pair not set, return default value. return $default; } /** * Set subscription data by key in the member's extra info column. * * @param $member_id int The ID of the member. * @param $key string The field to retrieve. * @param $value string The value of the field. * @param $subscr_id string The subscription id to retrieve data of. * * @return void */ public static function set_subscription_data_extra_info($member_id, $key, $value, $subscr_id = ''){ if (!empty($subscr_id)){ $sub_id = $subscr_id; } else { // get attached subs id to members account. $sub_id = SwpmMemberUtils::get_member_field_by_id($member_id, 'subscr_id'); } if (empty($sub_id)){ // No subscription id found, so nothing to set. return; } $extra_info = SwpmMemberUtils::get_account_extra_info( $member_id ); // Initialize an array if not set. if ( ! is_array( $extra_info ) ) { $extra_info = array(); } // Check whether subscription_details array exists. If not, create one first. if ( !array_key_exists('subscription_details', $extra_info) || !is_array($extra_info['subscription_details'])){ $extra_info['subscription_details'] = array(); } // Check whether the array value of subscription_details exists. If not, create one first. if ( ! array_key_exists($sub_id, $extra_info['subscription_details']) ){ $extra_info['subscription_details'][$sub_id] = array(); } $extra_info['subscription_details'][$sub_id][$key] = $value; SwpmMemberUtils::update_account_extra_info( $member_id, $extra_info ); } } classes/class.swpm-front-form.php000064400000000137147206617610013106 0ustar00This page and the content has been automatically generated for you to give you a basic idea of how a "Join Us" page should look like. You can customize this page however you like it by editing this page from your WordPress page editor.

'; $swpm_join_page_content .= '

If you change the URL of this page, make sure to update the URL value in the settings menu of the plugin.

'; $swpm_join_page_content .= '

If you delete any of the essential pages required by the plugin, this documentation will guide you in recreating them.

'; $swpm_join_page_content .= '

Free Membership
You get unlimited access to free membership content
Price: Free!

Link the following image to go to the Registration Page if you want your visitors to be able to create a free membership account

Join Now Button

'; $swpm_join_page_content .= '

You can register for a Free Membership or pay for one of the following membership options

'; $swpm_join_page_content .= '

[ ==> Insert Payment Button For Your Paid Membership Levels Here <== ]

'; $swpm_join_page = array( 'post_title' => 'Join Us', 'post_name' => 'membership-join', 'post_content' => $swpm_join_page_content, 'post_parent' => 0, 'post_status' => 'publish', 'post_type' => 'page', 'comment_status' => 'closed', 'ping_status' => 'closed', ); $join_page_obj = get_page_by_path( 'membership-join' ); if ( ! $join_page_obj ) { $join_page_id = wp_insert_post( $swpm_join_page ); } else { $join_page_id = $join_page_obj->ID; if ( $join_page_obj->post_status == 'trash' ) { //For cases where page may be in trash, bring it out of trash wp_update_post( array( 'ID' => $join_page_obj->ID, 'post_status' => 'publish', ) ); } } $swpm_join_page_permalink = get_permalink( $join_page_id ); $settings->set_value( 'join-us-page-url', $swpm_join_page_permalink ); //Create registration page $swpm_rego_page = array( 'post_title' => SwpmUtils::_( 'Registration' ), 'post_name' => 'membership-registration', 'post_content' => '[swpm_registration_form]', 'post_parent' => $join_page_id, 'post_status' => 'publish', 'post_type' => 'page', 'comment_status' => 'closed', 'ping_status' => 'closed', ); $rego_page_obj = get_page_by_path( 'membership-registration' ); if ( ! $rego_page_obj ) { $rego_page_id = wp_insert_post( $swpm_rego_page ); } else { $rego_page_id = $rego_page_obj->ID; if ( $rego_page_obj->post_status == 'trash' ) { //For cases where page may be in trash, bring it out of trash wp_update_post( array( 'ID' => $rego_page_obj->ID, 'post_status' => 'publish', ) ); } } $swpm_rego_page_permalink = get_permalink( $rego_page_id ); $settings->set_value( 'registration-page-url', $swpm_rego_page_permalink ); //Create login page $swpm_login_page = array( 'post_title' => SwpmUtils::_( 'Member Login' ), 'post_name' => 'membership-login', 'post_content' => '[swpm_login_form]', 'post_parent' => 0, 'post_status' => 'publish', 'post_type' => 'page', 'comment_status' => 'closed', 'ping_status' => 'closed', ); $login_page_obj = get_page_by_path( 'membership-login' ); if ( ! $login_page_obj ) { $login_page_id = wp_insert_post( $swpm_login_page ); } else { $login_page_id = $login_page_obj->ID; if ( $login_page_obj->post_status == 'trash' ) { //For cases where page may be in trash, bring it out of trash wp_update_post( array( 'ID' => $login_page_obj->ID, 'post_status' => 'publish', ) ); } } $swpm_login_page_permalink = get_permalink( $login_page_id ); $settings->set_value( 'login-page-url', $swpm_login_page_permalink ); //Create profile page $swpm_profile_page = array( 'post_title' => SwpmUtils::_( 'Profile' ), 'post_name' => 'membership-profile', 'post_content' => '[swpm_profile_form]', 'post_parent' => $login_page_id, 'post_status' => 'publish', 'post_type' => 'page', 'comment_status' => 'closed', 'ping_status' => 'closed', ); $profile_page_obj = get_page_by_path( 'membership-profile' ); if ( ! $profile_page_obj ) { $profile_page_id = wp_insert_post( $swpm_profile_page ); } else { $profile_page_id = $profile_page_obj->ID; if ( $profile_page_obj->post_status == 'trash' ) { //For cases where page may be in trash, bring it out of trash wp_update_post( array( 'ID' => $profile_page_obj->ID, 'post_status' => 'publish', ) ); } } $swpm_profile_page_permalink = get_permalink( $profile_page_id ); $settings->set_value( 'profile-page-url', $swpm_profile_page_permalink ); //Create password reset page $swpm_reset_page = array( 'post_title' => SwpmUtils::_( 'Password Reset' ), 'post_name' => 'password-reset', 'post_content' => '[swpm_reset_form]', 'post_parent' => $login_page_id, 'post_status' => 'publish', 'post_type' => 'page', 'comment_status' => 'closed', 'ping_status' => 'closed', ); $reset_page_obj = get_page_by_path( 'password-reset' ); if ( ! $reset_page_obj ) { $reset_page_id = wp_insert_post( $swpm_reset_page ); } else { $reset_page_id = $reset_page_obj->ID; if ( $reset_page_obj->post_status == 'trash' ) { //For cases where page may be in trash, bring it out of trash wp_update_post( array( 'ID' => $reset_page_obj->ID, 'post_status' => 'publish', ) ); } } $swpm_reset_page_permalink = get_permalink( $reset_page_id ); $settings->set_value( 'reset-page-url', $swpm_reset_page_permalink ); //Create a default Thank You page $swpm_thank_you_page = array( 'post_title' => SwpmUtils::_( 'Thank You' ), 'post_name' => 'thank-you', 'post_content' => '[swpm_thank_you_page_registration]', 'post_parent' => 0, 'post_status' => 'publish', 'post_type' => 'page', 'comment_status' => 'closed', 'ping_status' => 'closed', ); $thank_you_page_obj = get_page_by_path( 'thank-you' ); if ( ! $thank_you_page_obj ) { $thank_you_page_id = wp_insert_post( $swpm_thank_you_page ); } else { $thank_you_page_id = $thank_you_page_obj->ID; if ( $thank_you_page_obj->post_status == 'trash' ) { //For cases where page may be in trash, bring it out of trash wp_update_post( array( 'ID' => $thank_you_page_obj->ID, 'post_status' => 'publish', ) ); } } $swpm_thank_you_page_permalink = get_permalink( $thank_you_page_id ); $settings->set_value( 'thank-you-page-url', $swpm_thank_you_page_permalink ); //Save all settings object changes $settings->save(); } public static function redirect_to_url( $url ) { if ( empty( $url ) ) { return; } $url = apply_filters( 'swpm_redirect_to_url', $url ); if ( ! preg_match( '/http/', $url ) ) {//URL value is incorrect echo '

Error! The URL value you entered in the plugin configuration is incorrect.

'; echo '

A URL must always have the "http" keyword in it.

'; echo '

The URL value you currently configured is:
' . $url . '

'; echo '

Here are some examples of correctly formatted URL values for your reference:
http://www.example.com
http://example.com
https://www.example.com

'; echo '

Find the field where you entered this incorrect URL value and correct the mistake then try again.

'; exit; } if ( ! headers_sent() ) { header( 'Location: ' . $url ); } else { echo ''; } exit; } public static function show_temporary_message_then_redirect( $msg, $redirect_url, $timeout = 5 ) { $timeout = absint( $timeout ); $redirect_html = sprintf( '', $timeout, $redirect_url ); $redir_msg = SwpmUtils::_( 'You will be automatically redirected in a few seconds. If not, please %s.' ); $redir_msg = sprintf( $redir_msg, '' . SwpmUtils::_( 'click here' ) . '' ); $msg = $msg . '

' . $redir_msg . $redirect_html; $title = SwpmUtils::_( 'Action Status' ); wp_die( $msg, $title ); } public static function get_current_page_url() { $pageURL = 'http'; if ( isset( $_SERVER['SCRIPT_URI'] ) && ! empty( $_SERVER['SCRIPT_URI'] ) ) { $pageURL = $_SERVER['SCRIPT_URI']; $pageURL = str_replace(':443', '', $pageURL);//remove any port number from the URL value (some hosts include the port number with this). $pageURL = apply_filters( 'swpm_get_current_page_url_filter', $pageURL ); return $pageURL; } //Check if 'SERVER_NAME' is set. If not, try get the URL from WP. if( !isset( $_SERVER['SERVER_NAME'] ) ) { global $wp; if( is_object( $wp ) && isset( $wp->request ) ){ //Try to get the URL from WP $pageURL = home_url( add_query_arg( array(), $wp->request ) ); $pageURL = apply_filters( 'swpm_get_current_page_url_filter', $pageURL ); return $pageURL; } } //Construct the URL value from the $_SERVER array values. if ( isset( $_SERVER['HTTPS'] ) && ( $_SERVER['HTTPS'] == 'on' ) ) { $pageURL .= 's'; } $pageURL .= '://'; if ( isset( $_SERVER['SERVER_PORT'] ) && ( $_SERVER['SERVER_PORT'] != '80' ) && ( $_SERVER['SERVER_PORT'] != '443' ) ) { $pageURL .= ltrim( $_SERVER['SERVER_NAME'], '.*' ) . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI']; } else { $pageURL .= ltrim( $_SERVER['SERVER_NAME'], '.*' ) . $_SERVER['REQUEST_URI']; } //Clean any known port numbers from the URL (some hosts may include these port numbers). $pageURL = str_replace(':8080', '', $pageURL); //Trigger filter $pageURL = apply_filters( 'swpm_get_current_page_url_filter', $pageURL ); return $pageURL; } /* * This is an alternative to the get_current_page_url() function. It needs to be tested on many different server conditions before it can be utilized */ public static function get_current_page_url_alt() { $url_parts = array(); $url_parts['proto'] = 'http'; if ( isset( $_SERVER['SCRIPT_URI'] ) && ! empty( $_SERVER['SCRIPT_URI'] ) ) { return $_SERVER['SCRIPT_URI']; } if ( isset( $_SERVER['HTTPS'] ) && ( $_SERVER['HTTPS'] == 'on' ) ) { $url_parts['proto'] = 'https'; } $url_parts['port'] = ''; if ( isset( $_SERVER['SERVER_PORT'] ) && ( $_SERVER['SERVER_PORT'] != '80' ) && ( $_SERVER['SERVER_PORT'] != '443' ) ) { $url_parts['port'] = $_SERVER['SERVER_PORT']; } $url_parts['domain'] = ltrim( $_SERVER['SERVER_NAME'], '.*' ); $url_parts['uri'] = $_SERVER['REQUEST_URI']; $url_parts = apply_filters( 'swpm_get_current_page_url_alt_filter', $url_parts ); $pageURL = sprintf( '%s://%s%s%s', $url_parts['proto'], $url_parts['domain'], ! empty( $url_parts['port'] ) ? ':' . $url_parts['port'] : '', $url_parts['uri'] ); return $pageURL; } /* * Returns just the domain name. Something like example.com */ public static function get_home_url_without_http_and_www() { $site_url = get_site_url(); $parse = parse_url( $site_url ); $site_url = $parse['host']; $site_url = str_replace( 'https://', '', $site_url ); $site_url = str_replace( 'http://', '', $site_url ); if ( preg_match( '/(?P[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $site_url, $regs ) ) { $site_url = $regs['domain']; } return $site_url; } public static function replace_dynamic_tags( $msg_body, $member_id, $additional_args = '' ) { $settings = SwpmSettings::get_instance(); $user_record = SwpmMemberUtils::get_user_by_id( $member_id ); $password = ''; $password_reset_link = ''; $reg_link = ''; if ( ! empty( $additional_args ) ) { $password = isset( $additional_args['password'] ) ? $additional_args['password'] : $password; $reg_link = isset( $additional_args['reg_link'] ) ? $additional_args['reg_link'] : $reg_link; $password_reset_link = isset( $additional_args['password_reset_link'] ) ? $additional_args['password_reset_link'] : $password_reset_link; } $login_link = $settings->get_value( 'login-page-url' ); //Construct the primary address value $primary_address = ''; if ( ! empty( $user_record->address_street ) && ! empty( $user_record->address_city ) ) { //An address value is present. $primary_address .= $user_record->address_street; $primary_address .= "\n" . $user_record->address_city; if ( ! empty( $user_record->address_state ) ) { $primary_address .= ' ' . $user_record->address_state; } if ( ! empty( $user_record->address_zipcode ) ) { $primary_address .= ' ' . $user_record->address_zipcode; } if ( ! empty( $user_record->country ) ) { $primary_address .= "\n" . $user_record->country; } } $membership_level_name = SwpmMembershipLevelUtils::get_membership_level_name_of_a_member( $member_id ); //Format some field values $member_since_formatted = SwpmUtils::get_formatted_date_according_to_wp_settings( $user_record->member_since ); $subsc_starts_formatted = SwpmUtils::get_formatted_date_according_to_wp_settings( $user_record->subscription_starts ); //Define the replacable tags $tags = array( '{member_id}', '{user_name}', '{first_name}', '{last_name}', '{membership_level}', '{membership_level_name}', '{account_state}', '{email}', '{phone}', '{member_since}', '{subscription_starts}', '{company_name}', '{password}', '{login_link}', '{reg_link}', '{primary_address}', '{password_reset_link}' ); //Define the values $vals = array( $member_id, $user_record->user_name, $user_record->first_name, $user_record->last_name, $user_record->membership_level, $membership_level_name, $user_record->account_state, $user_record->email, $user_record->phone, $member_since_formatted, $subsc_starts_formatted, $user_record->company_name, $password, $login_link, $reg_link, $primary_address, $password_reset_link, ); $msg_body = str_replace( $tags, $vals, $msg_body ); return $msg_body; } public static function get_login_link() { $swpm_settings = SwpmSettings::get_instance(); $login_url = $swpm_settings->get_value( 'login-page-url' ); $joinus_url = $swpm_settings->get_value( 'join-us-page-url' ); $hide_join_us_link_enabled = $swpm_settings->get_value('hide-join-us-link'); if ( empty( $login_url ) || empty( $joinus_url ) ) { return 'Simple Membership is not configured correctly. The login page or the join us page URL is missing in the settings configuration. ' . 'Please contact Admin'; } //Create the login/protection message $filtered_login_url = apply_filters( 'swpm_get_login_link_url', $login_url ); //Addons can override the login URL value using this filter. $login_msg = ''; $login_msg .= SwpmUtils::_( 'Please' ) . ' . '; if (empty($hide_join_us_link_enabled)){ //Show the join us option $login_msg .= SwpmUtils::_( 'Not a Member?' ) . ' ' . SwpmUtils::_( 'Join Us' ) . ''; } return $login_msg; } public static function get_renewal_link() { $renewal = SwpmSettings::get_instance()->get_value( 'renewal-page-url' ); if ( empty( $renewal ) ) { //No renewal page is configured so don't show any renewal page link. It is okay to have no renewal page configured. return ''; } return SwpmUtils::_( 'Please' ) . ' ' . SwpmUtils::_( 'renew' ) . ' ' . SwpmUtils::_( ' your account to gain access to this content.' ); } public static function compare_url_without_http( $url1, $url2 ) { $url1 = str_replace( 'http://', '', $url1 ); $url1 = str_replace( 'https://', '', $url1 ); $url2 = str_replace( 'http://', '', $url2 ); $url2 = str_replace( 'https://', '', $url2 ); return self::compare_url( $url1, $url2 ); } public static function compare_url( $url1, $url2 ) { //See also compare_url_without_http() method above. $url1 = trailingslashit( strtolower( $url1 ) ); $url2 = trailingslashit( strtolower( $url2 ) ); if ( $url1 == $url2 ) { return true; } $url1 = parse_url( $url1 ); $url2 = parse_url( $url2 ); $components = array( 'scheme', 'host', 'port', 'path' ); foreach ( $components as $key => $value ) { if ( ! isset( $url1[ $value ] ) && ! isset( $url2[ $value ] ) ) { continue; } if ( ! isset( $url2[ $value ] ) ) { return false; } if ( ! isset( $url1[ $value ] ) ) { return false; } if ( $url1[ $value ] != $url2[ $value ] ) { return false; } } if ( ! isset( $url1['query'] ) && ! isset( $url2['query'] ) ) { return true; } if ( ! isset( $url2['query'] ) ) { return false; } if ( ! isset( $url1['query'] ) ) { return false; } return strpos( $url1['query'], $url2['query'] ) || strpos( $url2['query'], $url1['query'] ); } public static function is_swpm_admin_page() { if ( isset( $_GET['page'] ) && ( stripos( $_GET['page'], 'simple_wp_membership' ) !== false ) ) { //This is an admin page of the SWPM plugin return true; } return false; } public static function check_user_permission_and_is_admin( $action_name ) { //Check we are on the admin end if ( ! is_admin() ) { //Error! This is not on the admin end. This can only be done from the admin side wp_die( SwpmUtils::_( 'Error! This action (' . $action_name . ') can only be done from admin end.' ) ); } //Check user has management permission if ( ! current_user_can( SWPM_MANAGEMENT_PERMISSION ) ) { //Error! Only management users can do this wp_die( SwpmUtils::_( 'Error! This action (' . $action_name . ') can only be done by an user with management permission.' ) ); } } public static function format_raw_content_for_front_end_display( $raw_content ) { $formatted_content = wptexturize( $raw_content ); $formatted_content = convert_smilies( $formatted_content ); $formatted_content = convert_chars( $formatted_content ); $formatted_content = wpautop( $formatted_content ); $formatted_content = shortcode_unautop( $formatted_content ); $formatted_content = prepend_attachment( $formatted_content ); $formatted_content = capital_P_dangit( $formatted_content ); $formatted_content = do_shortcode( $formatted_content ); $formatted_content = do_blocks( $formatted_content ); $formatted_content = apply_filters('swpm_format_raw_content_for_front_end_display', $formatted_content); return $formatted_content; } public static function get_country_name_by_country_code( $country_code ) { $countries = array ( 'AW' => 'Aruba', 'AF' => 'Afghanistan', 'AO' => 'Angola', 'AL' => 'Albania', 'AD' => 'Andorra', 'AE' => 'United Arab Emirates', 'AR' => 'Argentina', 'AM' => 'Armenia', 'AS' => 'American Samoa', 'AG' => 'Antigua and Barbuda', 'AU' => 'Australia', 'AT' => 'Austria', 'AZ' => 'Azerbaijan', 'BI' => 'Burundi', 'BE' => 'Belgium', 'BJ' => 'Benin', 'BF' => 'Burkina Faso', 'BD' => 'Bangladesh', 'BG' => 'Bulgaria', 'BH' => 'Bahrain', 'BS' => 'Bahamas, The', 'BA' => 'Bosnia and Herzegovina', 'BY' => 'Belarus', 'BZ' => 'Belize', 'BM' => 'Bermuda', 'BO' => 'Bolivia', 'BR' => 'Brazil', 'BB' => 'Barbados', 'BN' => 'Brunei Darussalam', 'BT' => 'Bhutan', 'BW' => 'Botswana', 'CF' => 'Central African Republic', 'CA' => 'Canada', 'CH' => 'Switzerland', 'JG' => 'Channel Islands', 'CL' => 'Chile', 'CN' => 'China', 'CI' => 'Cote d\'Ivoire', 'CM' => 'Cameroon', 'CD' => 'Congo, Dem. Rep.', 'CG' => 'Congo, Rep.', 'CO' => 'Colombia', 'KM' => 'Comoros', 'CV' => 'Cabo Verde', 'CR' => 'Costa Rica', 'CU' => 'Cuba', 'CW' => 'Curacao', 'KY' => 'Cayman Islands', 'CY' => 'Cyprus', 'CZ' => 'Czech Republic', 'DE' => 'Germany', 'DJ' => 'Djibouti', 'DM' => 'Dominica', 'DK' => 'Denmark', 'DO' => 'Dominican Republic', 'DZ' => 'Algeria', 'EC' => 'Ecuador', 'EG' => 'Egypt, Arab Rep.', 'ER' => 'Eritrea', 'ES' => 'Spain', 'EE' => 'Estonia', 'ET' => 'Ethiopia', 'FI' => 'Finland', 'FJ' => 'Fiji', 'FR' => 'France', 'FO' => 'Faroe Islands', 'FM' => 'Micronesia, Fed. Sts.', 'GA' => 'Gabon', 'GB' => 'United Kingdom', 'GE' => 'Georgia', 'GH' => 'Ghana', 'GI' => 'Gibraltar', 'GN' => 'Guinea', 'GM' => 'Gambia, The', 'GW' => 'Guinea-Bissau', 'GQ' => 'Equatorial Guinea', 'GR' => 'Greece', 'GD' => 'Grenada', 'GL' => 'Greenland', 'GT' => 'Guatemala', 'GU' => 'Guam', 'GY' => 'Guyana', 'HK' => 'Hong Kong SAR, China', 'HN' => 'Honduras', 'HR' => 'Croatia', 'HT' => 'Haiti', 'HU' => 'Hungary', 'ID' => 'Indonesia', 'IM' => 'Isle of Man', 'IN' => 'India', 'IE' => 'Ireland', 'IR' => 'Iran, Islamic Rep.', 'IQ' => 'Iraq', 'IS' => 'Iceland', 'IL' => 'Israel', 'IT' => 'Italy', 'JM' => 'Jamaica', 'JO' => 'Jordan', 'JP' => 'Japan', 'KZ' => 'Kazakhstan', 'KE' => 'Kenya', 'KG' => 'Kyrgyz Republic', 'KH' => 'Cambodia', 'KI' => 'Kiribati', 'KN' => 'St. Kitts and Nevis', 'KR' => 'Korea, Rep.', 'KW' => 'Kuwait', 'LA' => 'Lao PDR', 'LB' => 'Lebanon', 'LR' => 'Liberia', 'LY' => 'Libya', 'LC' => 'St. Lucia', 'LI' => 'Liechtenstein', 'LK' => 'Sri Lanka', 'LS' => 'Lesotho', 'LT' => 'Lithuania', 'LU' => 'Luxembourg', 'LV' => 'Latvia', 'MO' => 'Macao SAR, China', 'MF' => 'St. Martin (French part)', 'MA' => 'Morocco', 'MC' => 'Monaco', 'MD' => 'Moldova', 'MG' => 'Madagascar', 'MV' => 'Maldives', 'MX' => 'Mexico', 'MH' => 'Marshall Islands', 'MK' => 'Macedonia, FYR', 'ML' => 'Mali', 'MT' => 'Malta', 'MM' => 'Myanmar', 'ME' => 'Montenegro', 'MN' => 'Mongolia', 'MP' => 'Northern Mariana Islands', 'MZ' => 'Mozambique', 'MR' => 'Mauritania', 'MU' => 'Mauritius', 'MW' => 'Malawi', 'MY' => 'Malaysia', 'NA' => 'Namibia', 'NC' => 'New Caledonia', 'NE' => 'Niger', 'NG' => 'Nigeria', 'NI' => 'Nicaragua', 'NL' => 'Netherlands', 'NO' => 'Norway', 'NP' => 'Nepal', 'NR' => 'Nauru', 'NZ' => 'New Zealand', 'OM' => 'Oman', 'PK' => 'Pakistan', 'PA' => 'Panama', 'PE' => 'Peru', 'PH' => 'Philippines', 'PW' => 'Palau', 'PG' => 'Papua New Guinea', 'PL' => 'Poland', 'PR' => 'Puerto Rico', 'KP' => 'Korea, Dem. People’s Rep.', 'PT' => 'Portugal', 'PY' => 'Paraguay', 'PS' => 'West Bank and Gaza', 'PF' => 'French Polynesia', 'QA' => 'Qatar', 'RO' => 'Romania', 'RU' => 'Russian Federation', 'RW' => 'Rwanda', 'SA' => 'Saudi Arabia', 'SD' => 'Sudan', 'SN' => 'Senegal', 'SG' => 'Singapore', 'SB' => 'Solomon Islands', 'SL' => 'Sierra Leone', 'SV' => 'El Salvador', 'SM' => 'San Marino', 'SO' => 'Somalia', 'RS' => 'Serbia', 'SS' => 'South Sudan', 'ST' => 'Sao Tome and Principe', 'SR' => 'Suriname', 'SK' => 'Slovak Republic', 'SI' => 'Slovenia', 'SE' => 'Sweden', 'SZ' => 'Swaziland', 'SX' => 'Sint Maarten (Dutch part)', 'SC' => 'Seychelles', 'SY' => 'Syrian Arab Republic', 'TC' => 'Turks and Caicos Islands', 'TD' => 'Chad', 'TG' => 'Togo', 'TH' => 'Thailand', 'TJ' => 'Tajikistan', 'TM' => 'Turkmenistan', 'TL' => 'Timor-Leste', 'TO' => 'Tonga', 'TT' => 'Trinidad and Tobago', 'TN' => 'Tunisia', 'TR' => 'Turkey', 'TV' => 'Tuvalu', 'TW' => 'Taiwan, China', 'TZ' => 'Tanzania', 'UG' => 'Uganda', 'UA' => 'Ukraine', 'UY' => 'Uruguay', 'US' => 'United States', 'UZ' => 'Uzbekistan', 'VC' => 'St. Vincent and the Grenadines', 'VE' => 'Venezuela, RB', 'VG' => 'British Virgin Islands', 'VI' => 'Virgin Islands (U.S.)', 'VN' => 'Vietnam', 'VU' => 'Vanuatu', 'WS' => 'Samoa', 'XK' => 'Kosovo', 'YE' => 'Yemen, Rep.', 'ZA' => 'South Africa', 'ZM' => 'Zambia', 'ZW' => 'Zimbabwe', ); $country_code = isset( $country_code ) ? strtoupper( $country_code ) : ''; $country = isset($countries[$country_code]) ? $countries[$country_code] : $country_code; return $country; } public static function get_countries_dropdown( $country = '' ) { $countries = array( 'Afghanistan', 'Albania', 'Algeria', 'Andorra', 'Angola', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bhutan', 'Bolivia', 'Bonaire', 'Bosnia and Herzegovina', 'Botswana', 'Brazil', 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burundi', 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Cayman Islands', 'Central African Republic', 'Chad', 'Chile', 'China', 'Colombia', 'Comoros', 'Congo (Brazzaville)', 'Congo', 'Costa Rica', 'Cote d\'Ivoire', 'Croatia', 'Cuba', 'Curacao', 'Cyprus', 'Czech Republic', 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', 'East Timor (Timor Timur)', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Eswatini', 'Ethiopia', 'Fiji', 'Finland', 'France', 'French Polynesia', 'Gabon', 'Gambia, The', 'Georgia', 'Germany', 'Ghana', 'Greece', 'Grenada', 'Guatemala', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Honduras', 'Hong Kong', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Israel', 'Italy', 'Jamaica', 'Japan', 'Jordan', 'Kazakhstan', 'Kenya', 'Kiribati', 'Korea, North', 'Korea, South', 'Kuwait', 'Kyrgyzstan', 'Laos', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Macedonia', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Mauritania', 'Mauritius', 'Mexico', 'Micronesia', 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Morocco', 'Mozambique', 'Myanmar', 'Namibia', 'Nauru', 'Nepa', 'Netherlands', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Palestine', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Poland', 'Portugal', 'Qatar', 'Romania', 'Russia', 'Rwanda', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Vincent', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'Spain', 'Sri Lanka', 'Sudan', 'Suriname', 'Swaziland', 'Sweden', 'Switzerland', 'Syria', 'Taiwan', 'Tajikistan', 'Tanzania', 'Thailand', 'Togo', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States of America', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Vatican City', 'Venezuela', 'Vietnam', 'Yemen', 'Zambia', 'Zimbabwe', ); //let's try to "guess" country name $curr_lev = -1; $guess_country = ''; foreach ( $countries as $country_name ) { similar_text( strtolower( $country ), strtolower( $country_name ), $lev ); if ( $lev >= $curr_lev ) { //this is closest match so far $curr_lev = $lev; $guess_country = $country_name; } if ( $curr_lev == 100 ) { //exact match break; } } if ( $curr_lev <= 80 ) { // probably bad guess $guess_country = ''; } $countries_dropdown = ''; //let's add "(Please select)" option $countries_dropdown .= "\r\n" . ''; if ( $guess_country == '' && $country != '' ) { //since we haven't guessed the country name, let's add current value to the options $countries_dropdown .= "\r\n" . ''; } if ( $guess_country != '' ) { $country = $guess_country; } foreach ( $countries as $country_name ) { $countries_dropdown .= "\r\n" . ''; } return $countries_dropdown; } public static function get_button_type_name( $button_type ) { $btnTypesNames = array( 'pp_buy_now' => SwpmUtils::_( 'PayPal Buy Now' ), 'pp_subscription' => SwpmUtils::_( 'PayPal Subscription' ), 'pp_buy_now_new' => SwpmUtils::_( 'PayPal Buy Now (New API)' ), 'pp_subscription_new' => SwpmUtils::_( 'PayPal Subscription (New API)' ), 'pp_smart_checkout' => SwpmUtils::_( 'PayPal Smart Checkout' ), 'stripe_buy_now' => SwpmUtils::_( 'Stripe Buy Now' ), 'stripe_subscription' => SwpmUtils::_( 'Stripe Subscription' ), 'stripe_sca_buy_now' => SwpmUtils::_( 'Stripe SCA Buy Now' ), 'stripe_sca_subscription' => SwpmUtils::_( 'Stripe SCA Subscription' ), 'braintree_buy_now' => SwpmUtils::_( 'Braintree Buy Now' ), ); $button_type_name = $button_type; if ( array_key_exists( $button_type, $btnTypesNames ) ) { $button_type_name = $btnTypesNames[ $button_type ]; } return $button_type_name; } public static function format_money( $amount, $currency = false ) { $amount = floatval($amount); $formatted = number_format( $amount, 2 ); if ( $currency ) { $formatted .= ' ' . $currency; } return $formatted; } public static function load_stripe_lib() { //this function loads Stripe PHP SDK and ensures only once instance is loaded if ( ! class_exists( '\Stripe\Stripe' ) ) { require_once SIMPLE_WP_MEMBERSHIP_PATH . 'lib/stripe-gateway/init.php'; \Stripe\Stripe::setAppInfo( 'Simple Membership', SIMPLE_WP_MEMBERSHIP_VER, 'https://simple-membership-plugin.com/', 'pp_partner_Fvas9OJ0jQ2oNQ' ); } } public static function get_stripe_api_keys_from_payment_button( $button_id, $live = false ) { $keys = array( 'public' => '', 'secret' => '', ); $button = get_post( $button_id ); if ( $button ) { $opts = get_option( 'swpm-settings' ); $use_global_keys = get_post_meta( $button_id, 'stripe_use_global_keys', true ); if ( $use_global_keys ) { if ( $live ) { $keys['public'] = isset( $opts['stripe-live-public-key'] ) ? $opts['stripe-live-public-key'] : ''; $keys['secret'] = isset( $opts['stripe-live-secret-key'] ) ? $opts['stripe-live-secret-key'] : ''; } else { $keys['public'] = isset( $opts['stripe-test-public-key'] ) ? $opts['stripe-test-public-key'] : ''; $keys['secret'] = isset( $opts['stripe-test-secret-key'] ) ? $opts['stripe-test-secret-key'] : ''; } } else { if ( $live ) { $stripe_live_secret_key = get_post_meta( $button_id, 'stripe_live_secret_key', true ); $stripe_live_publishable_key = get_post_meta( $button_id, 'stripe_live_publishable_key', true ); $keys['public'] = $stripe_live_publishable_key; $keys['secret'] = $stripe_live_secret_key; } else { $stripe_test_secret_key = get_post_meta( $button_id, 'stripe_test_secret_key', true ); $stripe_test_publishable_key = get_post_meta( $button_id, 'stripe_test_publishable_key', true ); $keys['public'] = $stripe_test_publishable_key; $keys['secret'] = $stripe_test_secret_key; } } } return $keys; } public static function mail( $email, $subject, $email_body, $headers ) { $settings = SwpmSettings::get_instance(); $html_enabled = $settings->get_value( 'email-enable-html' ); if ( ! empty( $html_enabled ) ) { $headers .= "Content-Type: text/html; charset=UTF-8\r\n"; $email_body = nl2br( $email_body ); } wp_mail( $email, $subject, $email_body, $headers ); } /** * Outputs Stripe SCA frontend scripts and styles once * @deprecated */ public static function output_stripe_sca_frontend_scripts_once() { trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED); $out = ''; if ( ! self::$stripe_sca_frontend_scripts_printed ) { $out .= ''; $out .= ""; self::$stripe_sca_frontend_scripts_printed = true; } return $out; } public static function has_tag( $body, $tag ) { if( strpos( $body, $tag ) !== false ) { return true; } return false; } } classes/class.swpm-wp-loaded-tasks.php000064400000012177147206617610014023 0ustar00synchronise_swpm_logout_for_wp_users(); //IPN listener $this->swpm_ipn_listener(); //Cancel stripe subscription action listener (Used by the old Stripe subscription cancel shortcode). It will be removed in future. $cancel_stripe_sub_action = filter_input( INPUT_POST, 'swpm_do_cancel_stripe_sub', FILTER_SANITIZE_NUMBER_INT ); if ( ! empty( $cancel_stripe_sub_action ) ) { if ( ! SwpmMemberUtils::is_member_logged_in() ) { //member not logged in SWPM_Utils_Subscriptions::cancel_msg( __( 'You are not logged in.', 'simple-membership' ) ); } $member_id = SwpmMemberUtils::get_logged_in_members_id(); (new SWPM_Utils_Subscriptions( $member_id ))->load_stripe_subscriptions()->handle_cancel_sub(); } //Cancel subscription action listener (Used by the 'swpm_show_subscriptions_and_cancel_link' shortcode) if ( isset($_POST['swpm_do_cancel_sub']) ) { if ( ! SwpmMemberUtils::is_member_logged_in() ) { //member not logged in SWPM_Utils_Subscriptions::cancel_msg( __( 'You are not logged in.', 'simple-membership' ) ); } $member_id = SwpmMemberUtils::get_logged_in_members_id(); $subscriptions_list = new SWPM_Utils_Subscriptions( $member_id ); $subscriptions_list->load_subs_data(); $subscriptions_list->handle_cancel_sub(); } } /* * Logs out the user from the swpm session if they are logged out of the WP user session */ public function synchronise_swpm_logout_for_wp_users() { if ( function_exists('is_user_logged_in') && ! is_user_logged_in() ) { /* WP user is logged out. So logout the SWPM user (if applicable) */ if ( SwpmMemberUtils::is_member_logged_in() ) { //Check if force WP user login sync is enabled or not $force_wp_user_sync = SwpmSettings::get_instance()->get_value( 'force-wp-user-sync' ); if ( empty( $force_wp_user_sync ) ) { return ''; } /* Force WP user login sync is enabled. */ /* SWPM user is logged in the system. Log him out. */ SwpmLog::log_auth_debug( 'synchronise_swpm_logout_for_wp_users() - Force wp user login sync is enabled. ', true ); SwpmLog::log_auth_debug( 'WP user session is logged out for this user. So logging out of the swpm session also.', true ); SwpmAuth::get_instance()->logout_silent_and_redirect(); } } } /* Payment Gateway IPN listener */ public function swpm_ipn_listener() { //Listen and handle PayPal IPN $swpm_process_ipn = filter_input( INPUT_GET, 'swpm_process_ipn' ); if ( $swpm_process_ipn == '1' ) { include SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm_handle_pp_ipn.php'; exit; } //Listen and handle Stripe Buy Now IPN $swpm_process_stripe_buy_now = filter_input( INPUT_GET, 'swpm_process_stripe_buy_now' ); if ( $swpm_process_stripe_buy_now == '1' ) { include SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm-stripe-buy-now-ipn.php'; exit; } //Listen and handle Stripe SCA Buy Now IPN $swpm_process_stripe_sca_buy_now = filter_input( INPUT_GET, 'swpm_process_stripe_sca_buy_now' ); if ( $swpm_process_stripe_sca_buy_now == '1' ) { include SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm-stripe-sca-buy-now-ipn.php'; exit; } //Listen and handle Stripe Subscription IPN $swpm_process_stripe_subscription = filter_input( INPUT_GET, 'swpm_process_stripe_subscription' ); if ( $swpm_process_stripe_subscription == '1' ) { include SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm-stripe-subscription-ipn.php'; exit; } //Listen and handle Stripe SCA Subscription IPN $swpm_process_stripe_sca_subscription = filter_input( INPUT_GET, 'swpm_process_stripe_sca_subscription' ); $hook = filter_input( INPUT_GET, 'hook', FILTER_SANITIZE_NUMBER_INT ); if ( $swpm_process_stripe_sca_subscription == '1' ) { //$hook == 1 means it is a background post via webshooks. Otherwise it is direct post to the script after payment (at the time of payment). if ( $hook ) { include SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm-stripe-subscription-ipn.php'; } else { include SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm-stripe-sca-subscription-ipn.php'; } exit; } //Listen and handle Braintree Buy Now IPN $swpm_process_braintree_buy_now = filter_input( INPUT_GET, 'swpm_process_braintree_buy_now' ); if ( $swpm_process_braintree_buy_now == '1' ) { include SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm-braintree-buy-now-ipn.php'; exit; } if ( wp_doing_ajax() ) { //Listen and handle smart paypal checkout IPN include SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm-smart-checkout-ipn.php'; add_action( 'wp_ajax_swpm_process_pp_smart_checkout', 'swpm_pp_smart_checkout_ajax_hanlder' ); add_action( 'wp_ajax_nopriv_swpm_process_pp_smart_checkout', 'swpm_pp_smart_checkout_ajax_hanlder' ); //Listen and handle Stripe SCA checkout session create requests. //Our Stripe session create request comes via ajax. require_once SIMPLE_WP_MEMBERSHIP_PATH . 'ipn/swpm-stripe-sca-checkout-session-create.php'; } } } classes/class.swpm-category-list.php000064400000012374147206617610013611 0ustar00 SwpmUtils::_('Membership Level'), 'plural' => SwpmUtils::_('Membership Levels'), 'ajax' => false )); $selected = filter_input(INPUT_POST, 'membership_level_id', FILTER_SANITIZE_NUMBER_INT); $this->selected_level_id = empty($selected) ? 1 : $selected; $this->category = ($this->selected_level_id == 1) ? SwpmProtection::get_instance() : SwpmPermission::get_instance($this->selected_level_id); } function get_columns() { return array( 'cb' => '' , 'term_id' => SwpmUtils::_('Category ID') , 'name' => SwpmUtils::_('Category Name') , 'taxonomy' => SwpmUtils::_('Category Type (Taxonomy)') , 'description' => SwpmUtils::_('Description') , 'count' => SwpmUtils::_('Count') ); } function get_sortable_columns() { return array(); } function column_default($item, $column_name) { return stripslashes($item->$column_name); } function column_term_id($item) { return $item->term_id; } function column_taxonomy($item) { $taxonomy = $item->taxonomy; if ($taxonomy == 'category'){ $taxonomy = 'Post Category'; } else { $taxonomy = 'Custom Post Type ('.$taxonomy.')'; } return $taxonomy; } function column_cb($item) { return sprintf( ' ', $item->term_id, $this->category->in_categories($item->term_id) ? "checked" : "", $item->term_id ); } public static function update_category_list() { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('category protection update'); //Check nonce $swpm_category_prot_update_nonce = filter_input(INPUT_POST, 'swpm_category_prot_update_nonce'); if (!wp_verify_nonce($swpm_category_prot_update_nonce, 'swpm_category_prot_update_nonce_action')) { //Nonce check failed. wp_die(SwpmUtils::_("Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again.")); } $selected = filter_input(INPUT_POST, 'membership_level_id', FILTER_SANITIZE_NUMBER_INT); $selected_level_id = empty($selected) ? 1 : $selected; $category = ($selected_level_id == 1) ? SwpmProtection::get_instance() : SwpmPermission::get_instance($selected_level_id); $args = array('ids' => array( 'filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_ARRAY, )); $filtered = filter_input_array(INPUT_POST, $args); $ids = $filtered['ids']; $args = array('ids_in_page' => array( 'filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_ARRAY, )); $filtered = filter_input_array(INPUT_POST, $args); $ids_in_page = $filtered['ids_in_page']; $category->remove($ids_in_page, 'category')->apply($ids, 'category')->save(); $message = array('succeeded' => true, 'message' => '

' . SwpmUtils::_('Category protection updated!') . '

'); SwpmTransfer::get_instance()->set('status', $message); } function prepare_items() { $all_categories = array(); $taxonomies = get_taxonomies($args = array('public' => true,'_builtin'=>false)); $taxonomies['category'] = 'category'; $all_terms = get_terms( $taxonomies, 'orderby=count&hide_empty=0&order=DESC'); $totalitems = count($all_terms); $perpage = 100; $paged = !empty($_GET["paged"]) ? sanitize_text_field($_GET["paged"]) : ''; if (empty($paged) || !is_numeric($paged) || $paged <= 0) { $paged = 1; } $totalpages = ceil($totalitems / $perpage); $offset = 0; if (!empty($paged) && !empty($perpage)) { $offset = ($paged - 1) * $perpage; } for ($i = $offset; $i < ((int) $offset + (int) $perpage) && !empty($all_terms[$i]); $i++) { $all_categories[] = $all_terms[$i]; } $this->set_pagination_args(array( "total_items" => $totalitems, "total_pages" => $totalpages, "per_page" => $perpage, )); $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); $this->items = $all_categories; } function no_items() { _e('No category found.', 'simple-membership'); } } classes/index.html000064400000000000147206617610010176 0ustar00classes/class.swpm-utils-membership-level.php000064400000004451147206617610015416 0ustar00membership_level; $level_row = SwpmUtils::get_membership_level_row_by_id($level_id); $level_name = $level_row->alias; return $level_name; } public static function get_membership_level_name_by_level_id($level_id){ $level_row = SwpmUtils::get_membership_level_row_by_id($level_id); $level_name = $level_row->alias; return $level_name; } public static function get_all_membership_levels_in_array(){ //Creates an array like the following with all the available levels. //Array ( [2] => Free Level, [3] => Silver Level, [4] => Gold Level ) global $wpdb; $levels_array = array(); $query = "SELECT alias, id FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id != 1"; $levels = $wpdb->get_results($query); foreach ($levels as $level) { if(isset($level->id)){ $levels_array[$level->id] = $level->alias; } } return $levels_array; } /** * Check if any membership level configured. * @return bool */ public static function is_membership_level_configured() { $all_levels_array = self::get_all_membership_levels_in_array(); if(!empty($all_levels_array)){ //Membership level has been configured. return true; } return false; } /** * Check if a membership level exists by a membership level id. * @param $membership_lvl_id * @return bool */ public static function check_if_membership_level_exists($membership_lvl_id) { global $wpdb; $query = $wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = %d", $membership_lvl_id); $membership_lvl_resultset = $wpdb->get_row($query); if ( $membership_lvl_resultset ) { //Membership level exists. return true; } //Membership level does not exist. return false; } } classes/class.swpm-comment-form-related.php000064400000005525147206617610015044 0ustar00get_value('members-login-to-comment'); if (empty($allow_comments)){ return; } if (SwpmAuth::get_instance()->is_logged_in()){ return; } //Apply a filter to the message so it can be customized using the custom message plugin $comment_form_msg = apply_filters('swpm_login_to_comment_msg', SwpmUtils::_("Please login to comment.")); $comment_form_msg = ''; ?> get_value('members-login-to-comment'); if (empty($allow_comments)){//Feature is disabled return $fields; } if (SwpmAuth::get_instance()->is_logged_in()){//Member is logged-in. return $fields; } //Member is not logged-in so show the protection message. $fields = array(); $login_link = SwpmUtils::_('Please Login to Comment.'); $fields['comment_field'] = $login_link; $fields['title_reply'] = ''; $fields['cancel_reply_link'] = ''; $fields['comment_notes_before'] = ''; $fields['comment_notes_after'] = ''; $fields['fields'] = ''; $fields['label_submit'] = ''; $fields['title_reply_to'] = ''; $fields['id_submit'] = ''; $fields['id_form'] = ''; return $fields; } /* * This function checks and restricts comment posting (via HTTP POST) to members only (if the feature is enabled) */ public static function check_and_restrict_comment_posting_to_members(){ $allow_comments = SwpmSettings::get_instance()->get_value('members-login-to-comment'); if (empty($allow_comments)){ return; } if (is_admin()) { return; } if (SwpmAuth::get_instance()->is_logged_in()){ return; } $comment_id = isset($_POST['comment_post_ID']) ? sanitize_text_field($_POST['comment_post_ID']) : ''; if (empty($comment_id)) { return; } //Stop this request -> 1)we are on the front-side. 2) Comment posted by a not logged in member. 3) comment_post_ID missing. $_POST = array(); wp_die(SwpmUtils::_('Comments not allowed by a non-member.')); } }ipn/swpm-smart-checkout-ipn.php000064400000041621147206617610012562 0ustar00paypal_url = 'https://www.paypal.com/cgi-bin/webscr'; $this->ipn_log_file = 'ipn_handle_debug_swpm.log'; $this->ipn_response = ''; } public function swpm_validate_and_create_membership() { // Check Product Name , Price , Currency , Receivers email. $error_msg = ''; // Read the IPN and validate. $gross_total = $this->ipn_data['mc_gross']; $transaction_type = $this->ipn_data['txn_type']; $txn_id = $this->ipn_data['txn_id']; $payment_status = $this->ipn_data['payment_status']; // Check payment status. if ( ! empty( $payment_status ) ) { if ( 'Denied' == $payment_status ) { $this->debug_log( 'Payment status for this transaction is DENIED. You denied the transaction... most likely a cancellation of an eCheque. Nothing to do here.', false ); return false; } if ( 'Canceled_Reversal' == $payment_status ) { $this->debug_log( 'This is a dispute closed notification in your favour. The plugin will not do anyting.', false ); return true; } if ( 'Completed' != $payment_status && 'Processed' != $payment_status && 'Refunded' != $payment_status && 'Reversed' != $payment_status ) { $error_msg .= 'Funds have not been cleared yet. Transaction will be processed when the funds clear!'; $this->debug_log( $error_msg, false ); $this->debug_log( wp_json_encode( $this->ipn_data ), false ); return false; } } // Check txn type. if ( 'new_case' == $transaction_type ) { $this->debug_log( 'This is a dispute case. Nothing to do here.', true ); return true; } $custom = urldecode( $this->ipn_data['custom'] ); $this->ipn_data['custom'] = $custom; $customvariables = SwpmTransactions::parse_custom_var( $custom ); // Handle refunds. if ( $gross_total < 0 ) { // This is a refund or reversal. $this->debug_log( 'This is a refund notification. Refund amount: ' . $gross_total, true ); swpm_handle_subsc_cancel_stand_alone( $this->ipn_data, true ); return true; } if ( isset( $this->ipn_data['reason_code'] ) && 'refund' == $this->ipn_data['reason_code'] ) { $this->debug_log( 'This is a refund notification. Refund amount: ' . $gross_total, true ); swpm_handle_subsc_cancel_stand_alone( $this->ipn_data, true ); return true; } if ( ( 'subscr_signup' == $transaction_type ) ) { $this->debug_log( 'Subscription signup IPN received... (handled by the subscription IPN handler)', true ); // Code to handle the signup IPN for subscription. $subsc_ref = $customvariables['subsc_ref']; if ( ! empty( $subsc_ref ) ) { $this->debug_log( 'Found a membership level ID. Creating member account...', true ); $swpm_id = $customvariables['swpm_id']; swpm_handle_subsc_signup_stand_alone( $this->ipn_data, $subsc_ref, $this->ipn_data['subscr_id'], $swpm_id ); // Handle customized subscription signup. } return true; } elseif ( ( 'subscr_cancel' == $transaction_type ) || ( 'subscr_eot' == $transaction_type ) || ( 'subscr_failed' == $transaction_type ) ) { // Code to handle the IPN for subscription cancellation. $this->debug_log( 'Subscription cancellation IPN received... (handled by the subscription IPN handler)', true ); swpm_handle_subsc_cancel_stand_alone( $this->ipn_data ); return true; } else { $cart_items = array(); $this->debug_log( 'Transaction Type: Buy Now/Subscribe', true ); $item_number = $this->ipn_data['item_number']; $item_name = $this->ipn_data['item_name']; $quantity = $this->ipn_data['quantity']; $mc_gross = $this->ipn_data['mc_gross']; $mc_currency = $this->ipn_data['mc_currency']; $current_item = array( 'item_number' => $item_number, 'item_name' => $item_name, 'quantity' => $quantity, 'mc_gross' => $mc_gross, 'mc_currency' => $mc_currency, ); array_push( $cart_items, $current_item ); } $counter = 0; foreach ( $cart_items as $current_cart_item ) { $cart_item_data_num = $current_cart_item['item_number']; $cart_item_data_name = trim( $current_cart_item['item_name'] ); $cart_item_data_quantity = $current_cart_item['quantity']; $cart_item_data_total = $current_cart_item['mc_gross']; $cart_item_data_currency = $current_cart_item['mc_currency']; if ( empty( $cart_item_data_quantity ) ) { $cart_item_data_quantity = 1; } $this->debug_log( 'Item Number: ' . $cart_item_data_num, true ); $this->debug_log( 'Item Name: ' . $cart_item_data_name, true ); $this->debug_log( 'Item Quantity: ' . $cart_item_data_quantity, true ); $this->debug_log( 'Item Total: ' . $cart_item_data_total, true ); $this->debug_log( 'Item Currency: ' . $cart_item_data_currency, true ); // Get the button id. $pp_hosted_button = false; $button_id = $cart_item_data_num; // Button id is the item number. $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); if ( ! SwpmUtils::membership_level_id_exists( $membership_level_id ) ) { $this->debug_log( 'This payment button was not created in the plugin. This is a paypal hosted button.', true ); $pp_hosted_button = true; } // Price check. $check_price = true; $msg = ''; $msg = apply_filters( 'swpm_before_price_check_filter', $msg, $current_cart_item ); if ( ! empty( $msg ) && 'price-check-override' == $msg ) {// This filter allows an extension to do a customized version of price check (if needed). $check_price = false; $this->debug_log( 'Price and currency check has been overridden by an addon/extension.', true ); } if ( $check_price && ! $pp_hosted_button ) { // Check according to buy now payment or subscription payment. $button_type = get_post_meta( $button_id, 'button_type', true ); if ( 'pp_smart_checkout' == $button_type ) {// This is a PayPal Smart Checkout type button. $expected_amount = ( get_post_meta( $button_id, 'payment_amount', true ) ) * $cart_item_data_quantity; $expected_amount = round( $expected_amount, 2 ); $expected_amount = apply_filters( 'swpm_payment_amount_filter', $expected_amount, $button_id ); $received_amount = $cart_item_data_total; } else { $this->debug_log( 'Error! Unexpected button type: ' . $button_type, false ); return false; } if ( $received_amount < $expected_amount ) { // Error! amount received is less than expected. This is invalid. $this->debug_log( 'Expected amount: ' . $expected_amount, true ); $this->debug_log( 'Received amount: ' . $received_amount, true ); $this->debug_log( 'Price check failed. Amount received is less than the amount expected. This payment will not be processed.', false ); return false; } } // *** Handle Membership Payment *** // -------------------------------------------------------------------------------------- // ========= Need to find the (level ID) in the custom variable ============ $subsc_ref = $customvariables['subsc_ref']; // Membership level ID. $this->debug_log( 'Membership payment paid for membership level ID: ' . $subsc_ref, true ); if ( ! empty( $subsc_ref ) ) { $swpm_id = ''; if ( isset( $customvariables['swpm_id'] ) ) { $swpm_id = $customvariables['swpm_id']; } if ( 'smart_checkout' == $transaction_type ) { $this->debug_log( 'Transaction type: web_accept. Creating member account...', true ); swpm_handle_subsc_signup_stand_alone( $this->ipn_data, $subsc_ref, $this->ipn_data['txn_id'], $swpm_id ); } } else { $this->debug_log( 'Membership level ID is missing in the payment notification! Cannot process this notification.', false ); } // == End of Membership payment handling == $counter++; } /* * * Do Post payment operation and cleanup * * */ // Save the transaction data. $this->debug_log( 'Saving transaction data to the database table.', true ); $this->ipn_data['gateway'] = 'pp_smart_checkout'; $this->ipn_data['status'] = $this->ipn_data['payment_status']; SwpmTransactions::save_txn_record( $this->ipn_data, $cart_items ); $this->debug_log( 'Transaction data saved.', true ); // Trigger the PayPal IPN processed action hook (so other plugins can can listen for this event). do_action( 'swpm_pp_smart_checkout_ipn_processed', $this->ipn_data ); do_action( 'swpm_payment_ipn_processed', $this->ipn_data ); return true; } public function create_ipn_from_smart_checkout( $data ) { $address_street = $data['payer']['payer_info']['shipping_address']['line1']; if ( isset ( $data[ 'payer' ][ 'payer_info' ][ 'shipping_address' ][ 'line2' ] )){ //If address line 2 is present, add it to the address. $address_street .= ", " . $data[ 'payer' ][ 'payer_info' ][ 'shipping_address' ][ 'line2' ]; } $ipn['custom'] = $data['custom_field']; $ipn['item_number'] = $data['button_id']; $ipn['item_name'] = $data['item_name']; $ipn['pay_id'] = $data['id']; $ipn['create_time'] = $data['create_time']; $ipn['txn_id'] = $data['transactions'][0]['related_resources'][0]['sale']['id']; $ipn['reason_code'] = ! empty( $data['transactions'][0]['related_resources'][0]['sale']['reason_code'] ) ? $data['transactions'][0]['related_resources'][0]['sale']['reason_code'] : ''; $ipn['txn_type'] = 'smart_checkout'; $ipn['payment_status'] = ucfirst( $data['transactions'][0]['related_resources'][0]['sale']['state'] ); $ipn['transaction_subject'] = ''; $ipn['mc_currency'] = $data['transactions'][0]['amount']['currency']; $ipn['mc_gross'] = $data['transactions'][0]['amount']['total']; $ipn['quantity'] = 1; $ipn['receiver_email'] = get_option( 'cart_paypal_email' ); // customer info. $ipn['first_name'] = $data['payer']['payer_info']['first_name']; $ipn['last_name'] = $data['payer']['payer_info']['last_name']; $ipn['payer_email'] = $data['payer']['payer_info']['email']; $ipn['address_street'] = $address_street; $ipn['address_city'] = $data['payer']['payer_info']['shipping_address']['city']; $ipn['address_state'] = $data['payer']['payer_info']['shipping_address']['state']; $ipn['address_zip'] = $data['payer']['payer_info']['shipping_address']['postal_code']; $ipn['address_country'] = $data['payer']['payer_info']['shipping_address']['country_code']; $this->ipn_data = $ipn; return true; } public function validate_ipn_smart_checkout() { if ( $this->sandbox_mode ) { $client_id = get_post_meta( $this->ipn_data['item_number'], 'pp_smart_checkout_test_id', true ); $secret = get_post_meta( $this->ipn_data['item_number'], 'pp_smart_checkout_test_sec', true ); $api_base = 'https://api.sandbox.paypal.com'; } else { $client_id = get_post_meta( $this->ipn_data['item_number'], 'pp_smart_checkout_live_id', true ); $secret = get_post_meta( $this->ipn_data['item_number'], 'pp_smart_checkout_live_sec', true ); $api_base = 'https://api.paypal.com'; } $wp_request_headers = array( 'Accept' => 'application/json', // Ignoring base64_encode() PHPCS warning as it's being properly used in this case. 'Authorization' => 'Basic ' . base64_encode( $client_id . ':' . $secret ), // phpcs:ignore ); $res = wp_remote_request( $api_base . '/v1/oauth2/token', array( 'method' => 'POST', 'headers' => $wp_request_headers, 'body' => 'grant_type=client_credentials', ) ); $code = wp_remote_retrieve_response_code( $res ); if ( 200 !== $code ) { // Some error occured. $body = wp_remote_retrieve_body( $res ); // translators: %1$d is error code; %2$s is error message. return sprintf( __( 'Error occured during payment verification. Error code: %1$d. Message: %2$s', 'simple-membership' ), $code, $body ); } $body = wp_remote_retrieve_body( $res ); $body = json_decode( $body ); $token = $body->access_token; $wp_request_headers = array( 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token, ); $res = wp_remote_request( $api_base . '/v1/payments/payment/' . $this->ipn_data['pay_id'], array( 'method' => 'GET', 'headers' => $wp_request_headers, ) ); $code = wp_remote_retrieve_response_code( $res ); if ( 200 !== $code ) { // Some error occured. $body = wp_remote_retrieve_body( $res ); // translators: %1$d is error code; %2$s is error message. return sprintf( __( 'Error occured during payment verification. Error code: %1$d. Message: %2$s', 'simple-membership' ), $code, $body ); } $body = wp_remote_retrieve_body( $res ); $body = json_decode( $body ); // check payment details. if ( $body->transactions[0]->amount->total === $this->ipn_data['mc_gross'] && $body->transactions[0]->amount->currency === $this->ipn_data['mc_currency'] ) { // payment is valid. return true; } else { // payment is invalid. // translators: %1$s is expected amount, %2$s is expected currency. return sprintf( __( 'Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s.', 'simple-membership' ), $this->ipn_data['mc_gross'], $this->ipn_data['mc_currency'], $body->transactions[0]->amount->total, $body->transactions[0]->amount->currency ); } } public function debug_log( $message, $success, $end = false ) { SwpmLog::log_simple_debug( $message, $success, $end ); } } function swpm_pp_smart_checkout_ajax_hanlder() { // Start of IPN handling (script execution). // check nonce. $uniqid = isset( $_POST['uniqid'] ) ? sanitize_text_field( stripslashes ( $_POST['uniqid'] ) ) : ''; if ( ! check_ajax_referer( 'swpm-pp-smart-checkout-ajax-nonce-' . $uniqid, 'nonce', false ) ) { wp_send_json( array( 'success' => false, 'errMsg' => __( 'Nonce check failed. Please reload the page.', 'simple-membership' ), ) ); exit; } $data = filter_input( INPUT_POST, 'swpm_pp_smart_checkout_payment_data', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ); if ( empty( $data ) ) { wp_send_json( array( 'success' => false, 'errMsg' => __( 'Empty payment data received.', 'simple-membership' ), ) ); } $ipn_handler_instance = new swpm_smart_checkout_ipn_handler(); $ipn_data_success = $ipn_handler_instance->create_ipn_from_smart_checkout( $data ); if ( true !== $ipn_data_success ) { // error occured during IPN array creation. wp_send_json( array( 'success' => false, 'errMsg' => $ipn_data_success, ) ); } $settings = SwpmSettings::get_instance(); $debug_enabled = $settings->get_value( 'enable-debug' ); if ( ! empty( $debug_enabled ) ) {// debug is enabled in the system. $debug_log = 'log.txt'; // Debug log file name. $ipn_handler_instance->ipn_log = true; $ipn_handler_instance->ipn_log_file = $debug_log; } $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); if ( ! empty( $sandbox_enabled ) ) { // Sandbox testing enabled. $ipn_handler_instance->paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr'; $ipn_handler_instance->sandbox_mode = true; } $ip = filter_input( INPUT_SERVER, 'REMOTE_ADDR', FILTER_UNSAFE_RAW ); $ip = sanitize_text_field( $ip ); $ipn_handler_instance->debug_log( 'Paypal Smart Checkout Class Initiated by ' . $ip, true ); // Validate the IPN. $res = $ipn_handler_instance->validate_ipn_smart_checkout(); if ( true !== $res ) { wp_send_json( array( 'success' => false, 'errMsg' => $res, ) ); } $ipn_handler_instance->debug_log( 'Creating product Information to send.', true ); if ( ! $ipn_handler_instance->swpm_validate_and_create_membership() ) { $ipn_handler_instance->debug_log( 'IPN product validation failed.', false ); wp_send_json( array( 'success' => false, 'errMsg' => __( 'IPN product validation failed. Check the debug log for more details.', 'simple-membership' ), ) ); } $ipn_handler_instance->debug_log( 'Paypal class finished.', true, true ); wp_send_json( array( 'success' => true ) ); } ipn/swpm_handle_subsc_ipn.php000064400000052660147206617610012434 0ustar00get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE email = %s", $email ), OBJECT ); // db call ok; no-cache ok. if ( ! $query_db ) { // try to retrieve the member details based on the unique_ref. swpm_debug_log_subsc( 'Could not find any record using the given email address (' . $email . '). Attempting to query database using the unique reference: ' . $unique_ref, true ); if ( ! empty( $unique_ref ) ) { $query_db = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE subscr_id = %s", $unique_ref ), OBJECT ); // db call ok; no-cache ok. if ( $query_db ) { $swpm_id = $query_db->member_id; swpm_debug_log_subsc( 'Found a match in the member database using unique reference. Member ID: ' . $swpm_id, true ); } else { swpm_debug_log_subsc( 'Did not find a match for an existing member profile for the given reference. This must be a new payment from a new member.', true ); } } else { swpm_debug_log_subsc( 'Unique reference is missing in the notification so we have to assume that this is not a payment for an existing member.', true ); } } else { $swpm_id = $query_db->member_id; swpm_debug_log_subsc( 'Found a match in the member database. Member ID: ' . $swpm_id, true ); } } if ( ! empty( $swpm_id ) ) { // This is payment from an existing member/user. Update the existing member account. swpm_debug_log_subsc( 'Modifying the existing membership profile... Member ID: ' . $swpm_id, true ); //Add the member ID value to the $ipn_data (pass by reference will ensure that we will have it available in our save transaction function). $ipn_data['member_id'] = $swpm_id; // Upgrade the member account. $account_state = 'active'; // This is renewal or upgrade of a previously active account. So the status should be set to active. $resultset = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE member_id = %d", $swpm_id ), OBJECT ); if ( ! $resultset ) { swpm_debug_log_subsc( 'ERROR! Could not find a member account record for the given Member ID: ' . $swpm_id, false ); return; } $old_membership_level = $resultset->membership_level; $old_account_state = $resultset->account_state; // If the payment is for the same/existing membership level, then this is a renewal. Refresh the start date as appropriate. $args = array( 'swpm_id' => $swpm_id, 'membership_level' => $membership_level, 'old_membership_level' => $old_membership_level, ); $subscription_starts = SwpmMemberUtils::calculate_access_start_date_for_account_update( $args ); $subscription_starts = apply_filters( 'swpm_account_update_subscription_starts', $subscription_starts, $args ); swpm_debug_log_subsc( 'Setting access starts date value to: ' . $subscription_starts, true ); swpm_debug_log_subsc( 'Updating the current membership level (' . $old_membership_level . ') of this member to the newly paid level (' . $membership_level . ')', true ); // Set account status to active, update level to the newly paid level, update access start date, update subsriber ID (if applicable). $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->prefix}swpm_members_tbl SET account_state=%s, membership_level=%d,subscription_starts=%s,subscr_id=%s WHERE member_id=%d", $account_state, $membership_level, $subscription_starts, $subscr_id, $swpm_id ) ); // Trigger level changed/updated action hook. do_action( 'swpm_membership_level_changed', array( 'member_id' => $swpm_id, 'from_level' => $old_membership_level, 'to_level' => $membership_level, ) ); //Trigger the account status refreshed action hook. do_action( 'swpm_account_status_refreshed', array( 'member_id' => $swpm_id, 'from' => $old_account_state, 'to' => $account_state, ) ); // Set Email details for the account upgrade notification. $email = $ipn_data['payer_email']; $subject = $settings->get_value( 'upgrade-complete-mail-subject' ); if ( empty( $subject ) ) { $subject = 'Member Account Upgraded'; } $body = $settings->get_value( 'upgrade-complete-mail-body' ); if ( empty( $body ) ) { $body = 'Your account has been upgraded successfully'; } $from_address = $settings->get_value( 'email-from' ); $additional_args = array(); $email_body = SwpmMiscUtils::replace_dynamic_tags( $body, $swpm_id, $additional_args ); $headers = 'From: ' . $from_address . "\r\n"; $subject = apply_filters( 'swpm_email_upgrade_complete_subject', $subject ); $email_body = apply_filters( 'swpm_email_upgrade_complete_body', $email_body ); if ( $settings->get_value( 'disable-email-after-upgrade' ) ) { swpm_debug_log_subsc( 'The disable upgrade email settings is checked. No account upgrade/update email will be sent.', true ); //Nothing to do. } else { SwpmMiscUtils::mail( $email, $subject, $email_body, $headers ); swpm_debug_log_subsc( 'Member upgrade/update completion email successfully sent to: ' . $email, true ); } // End of existing user account upgrade/update. } else { // create new member account. $default_account_status = $settings->get_value( 'default-account-status-after-payment', 'active' ); $data = array(); $data['user_name'] = ''; $data['password'] = ''; $data['first_name'] = $ipn_data['first_name']; $data['last_name'] = $ipn_data['last_name']; $data['email'] = $ipn_data['payer_email']; $data['membership_level'] = $membership_level; $data['subscr_id'] = $subscr_id; $data['gender'] = 'not specified'; $data['address_street'] = $ipn_data['address_street']; $data['address_city'] = $ipn_data['address_city']; $data['address_state'] = $ipn_data['address_state']; $data['address_zipcode'] = isset( $ipn_data['address_zip'] ) ? $ipn_data['address_zip'] : ''; $data['country'] = isset( $ipn_data['address_country'] ) ? $ipn_data['address_country'] : ''; $data['member_since'] = $data['subscription_starts'] = $data['last_accessed'] = SwpmUtils::get_current_date_in_wp_zone(); $data['account_state'] = $default_account_status; $reg_code = uniqid(); $md5_code = md5( $reg_code ); $data['reg_code'] = $md5_code; $data['referrer'] = $data['txn_id'] = ''; $data['last_accessed_from_ip'] = isset( $custom_vars['user_ip'] ) ? $custom_vars['user_ip'] : ''; // Save the users IP address. swpm_debug_log_subsc( 'Creating new member account. Membership level ID: ' . $membership_level . ', Subscriber ID value: ' . $data['subscr_id'], true ); $data = array_filter( $data ); // Remove any null values. $wpdb->insert( "{$wpdb->prefix}swpm_members_tbl", $data ); // Create the member record. $member_id = $wpdb->insert_id; if ( empty( $member_id ) ) { swpm_debug_log_subsc( 'Error! Failed to insert a new member record to the database. This request will fail.', false ); return; } //Add the member ID value to the $ipn_data (pass by reference will ensure that we will have it available in our save transaction function). $ipn_data['member_id'] = $member_id; //Create the signup/registration complete URL for the paid membership. $rego_page_url = $settings->get_value( 'registration-page-url' ); $reg_url = add_query_arg( array( 'member_id' => $member_id, 'code' => $md5_code, ), $rego_page_url ); swpm_debug_log_subsc( 'Member signup URL: ' . $reg_url, true ); $subject = $settings->get_value( 'reg-prompt-complete-mail-subject' ); if ( empty( $subject ) ) { $subject = 'Please complete your registration'; } $body = $settings->get_value( 'reg-prompt-complete-mail-body' ); if ( empty( $body ) ) { $body = "Please use the following link to complete your registration. \n {reg_link}"; } $from_address = $settings->get_value( 'email-from' ); $body = html_entity_decode( $body ); $additional_args = array( 'reg_link' => $reg_url ); $email_body = SwpmMiscUtils::replace_dynamic_tags( $body, $member_id, $additional_args ); $headers = 'From: ' . $from_address . "\r\n"; $subject = apply_filters( 'swpm_email_complete_registration_subject', $subject ); $email_body = apply_filters( 'swpm_email_complete_registration_body', $email_body ); if ( empty( $email_body ) ) { swpm_debug_log_subsc( 'Notice: Member signup (prompt to complete registration) email body has been set empty via the filter hook. No email will be sent.', true ); } else { SwpmMiscUtils::mail( $email, $subject, $email_body, $headers ); swpm_debug_log_subsc( 'Member signup (prompt to complete registration) email successfully sent to: ' . $email, true ); } } } /* * This function will handle the refund notification from PayPal as long as the parent transction ID is present. * It will deactivate the corresponding member account. * It will also mark the transaction as "Refunded" in the transactions list. */ function swpm_handle_refund_using_parent_txn_id( $ipn_data ){ swpm_debug_log_subsc( 'Refund notification - lets see if a member account needs to be deactivated.', true ); //Find the transaction record that matches the parent transaction ID. $parent_txn_id = isset($ipn_data['parent_txn_id']) ? $ipn_data['parent_txn_id'] : ''; if(empty($parent_txn_id)){ swpm_debug_log_subsc("Parent txn id field is empty. cannot process this request.", true); return; } $txn_db_row = SwpmTransactions::get_transaction_row_by_txn_id( $parent_txn_id, true); if( ! $txn_db_row ){ swpm_debug_log_subsc("No transaction record found for the transaction id: " . $parent_txn_id, true); return; } //Mark the transaction as refunded. $txn_row_id = $txn_db_row->id; // Update the postmeta for the corresponding transaction cpt. SwpmTransactions::update_transaction_status( $txn_row_id, 'Refunded' ); //Get the member's ID associated with this transaction $member_id = isset($txn_db_row->member_id) ? $txn_db_row->member_id : ''; if( empty ( $member_id )){ //Lets try to retrieve the member ID using the subscr_id field. $subscr_id = $txn_db_row->subscr_id;//The member account can be pulled up from this subscr_id value. if(empty($subscr_id)){ //If subscr_id value is empty, try using the transaction id as the subscr_id value. $subscr_id = $parent_txn_id; } $member_db_row = SwpmMemberUtils::get_user_by_subsriber_id( $subscr_id ); $member_id = isset($member_db_row->member_id) ? $member_db_row->member_id : ''; } if( empty ( $member_id )){ swpm_debug_log_subsc("No associated member account found for the transaction id: " . $parent_txn_id. ". The member account may have been deleted.", true); return; } //Deactivate the member account. SwpmMemberUtils::update_account_state( $member_id, 'inactive' ); //Set the account status to inactive. swpm_debug_log_subsc( 'Member account deactivated.', true ); } /* * All in one function that can handle notification for refund, cancellation, end of term */ function swpm_handle_subsc_cancel_stand_alone( $ipn_data, $refund = false ) { swpm_debug_log_subsc( "Refund/Cancellation Check - Let's see if a member's profile needs to be updated or deactivated.", true ); global $wpdb; $swpm_id = ''; if ( isset( $ipn_data['custom'] ) && !empty( $ipn_data['custom'] ) ){ $customvariables = SwpmTransactions::parse_custom_var( $ipn_data['custom'] ); $swpm_id = $customvariables['swpm_id']; } if ( ! empty( $swpm_id ) ) { // This IPN has the SWPM ID. Retrieve the member record using member ID. swpm_debug_log_subsc( 'Member ID is present. Retrieving member account from the database. Member ID: ' . $swpm_id, true ); $resultset = SwpmMemberUtils::get_user_by_id( $swpm_id ); } elseif ( isset( $ipn_data['subscr_id'] ) && ! empty( $ipn_data['subscr_id'] ) ) { // This IPN has the subscriber ID. Retrieve the member record using subscr_id. $subscr_id = $ipn_data['subscr_id']; swpm_debug_log_subsc( 'Subscriber ID is present. Retrieving member account from the database. Subscr_id: ' . $subscr_id, true ); $resultset = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl where subscr_id LIKE %s", '%' . $wpdb->esc_like( $subscr_id ) . '%' ), OBJECT ); } else if ( isset($ipn_data['parent_txn_id']) && !empty($ipn_data['parent_txn_id'] )){ // Refund for a one time transaction. Use the parent transaction ID to retrieve the profile. swpm_debug_log_subsc( 'Parent transaction ID is present. Goign to search for member account that might be associated with it. Parent Transaction ID: ' . $ipn_data['parent_txn_id'], true ); $subscr_id = $ipn_data['parent_txn_id']; $resultset = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl where subscr_id LIKE %s", '%' . $wpdb->esc_like( $subscr_id ) . '%' ), OBJECT ); } else { // No member ID or subscriber ID or parent transaction ID found in the IPN data. Return from here. swpm_debug_log_subsc( 'No member ID or subscriber ID or parent transaction ID found in the IPN data. Nothing to do here.', true ); return; } if ( $resultset ) { // We have found a member profile for this notification. $member_id = $resultset->member_id; // First, check if this is a refund notification. if ( $refund ) { // This is a refund (not just a subscription cancellation or end). So deactivate the account regardless and bail. SwpmMemberUtils::update_account_state( $member_id, 'inactive' ); // Set the account status to inactive. swpm_debug_log_subsc( 'Subscription refund notification received! Member account deactivated.', true ); return; } // This is a cancellation or end of subscription term (no refund). // Lets retrieve the membership level and details. $level_id = $resultset->membership_level; swpm_debug_log_subsc( 'Membership level ID of the member is: ' . $level_id, true ); $level_row = SwpmUtils::get_membership_level_row_by_id( $level_id ); $subs_duration_type = $level_row->subscription_duration_type; swpm_debug_log_subsc( 'Subscription duration type: ' . $subs_duration_type, true ); if ( SwpmMembershipLevel::NO_EXPIRY == $subs_duration_type ) { // This is a level with "no expiry" or "until cancelled" duration. swpm_debug_log_subsc( 'This is a level with "no expiry" or "until cancelled" duration', true ); // Deactivate this account as the membership level is "no expiry" or "until cancelled". $account_state = 'inactive'; SwpmMemberUtils::update_account_state( $member_id, $account_state ); swpm_debug_log_subsc( 'Subscription cancellation or end of term received! Member account deactivated. Member ID: ' . $member_id, true ); } elseif ( SwpmMembershipLevel::FIXED_DATE == $subs_duration_type ) { // This is a level with a "fixed expiry date" duration. swpm_debug_log_subsc( 'This is a level with a "fixed expiry date" duration.', true ); swpm_debug_log_subsc( 'Nothing to do here. The account will expire on the fixed set date.', true ); } else { // This is a level with "duration" type expiry (example: 30 days, 1 year etc). subscription_period has the duration/period. $subs_period = $level_row->subscription_period; $subs_period_unit = SwpmMembershipLevel::get_level_duration_type_string( $level_row->subscription_duration_type ); swpm_debug_log_subsc( 'This is a level with "duration" type expiry. Duration period: ' . $subs_period . ', Unit: ' . $subs_period_unit, true ); swpm_debug_log_subsc( 'Nothing to do here. The account will expire after the duration time is over.', true ); // TODO Later as an improvement. If you wanted to segment the members who have unsubscribed, you can set the account status to "unsubscribed" here. // Make sure the cronjob to do expiry check and deactivate the member accounts treat this status as if it is "active". } //Update the swpm_transactions CPT record to mark the subscription as "Cancelled". $swpm_txn_cpt_id = SwpmTransactions::get_original_swpm_txn_cpt_id_by_subscr_id( $subscr_id ); if ( ! empty( $swpm_txn_cpt_id ) ) { swpm_debug_log_subsc( 'Updating the the swpm_transaction CPT record (Post ID: '.$swpm_txn_cpt_id.') to mark the subscription as "cancelled".', true ); update_post_meta( $swpm_txn_cpt_id, 'subscr_status', 'cancelled' ); } // Update attached subcription status. SwpmMemberUtils::set_subscription_data_extra_info( $member_id, 'subscription_status', 'inactive'); // Trigger hook for subscription payment cancelled. $ipn_data['member_id'] = $member_id; do_action( 'swpm_subscription_payment_cancelled', $ipn_data ); } else { swpm_debug_log_subsc( 'No associated active member record found for this notification. The profile may have been updated/attached to another subscription or transaction.', true ); return; } } function swpm_update_member_subscription_start_date_if_applicable( $ipn_data ) { global $wpdb; $email = isset( $ipn_data['payer_email'] ) ? $ipn_data['payer_email'] : ''; $subscr_id = isset( $ipn_data['subscr_id'] ) ? $ipn_data['subscr_id'] : ''; $account_state = SwpmSettings::get_instance()->get_value( 'default-account-status-after-payment', 'active' ); $account_state = apply_filters( 'swpm_account_status_for_subscription_start_date_update', $account_state ); if( empty( $subscr_id ) ) { swpm_debug_log_subsc( 'Subscription ID is empty in the IPN data. A Subscription ID value is required to update the access start date of a profile.', false ); return; } swpm_debug_log_subsc( 'Updating the access start date if applicable for this subscription payment. Subscriber ID: ' . $subscr_id . ', Email: ' . $email . ', Account status: ' . $account_state, true ); // We can also query using the email address or SWPM ID (if present in custom var). //Try to find the profile with the given subscr_id. It will exact match subscr_id or match subscr_id|123 $query_db = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE subscr_id = %s OR subscr_id LIKE %s", $subscr_id, $subscr_id.'|%' ), OBJECT ); if ( $query_db ) { $swpm_id = $query_db->member_id; $current_primary_level = $query_db->membership_level; swpm_debug_log_subsc( 'Found a record in the member table. The Member ID of the account to check is: ' . $swpm_id . ' Membership Level: ' . $current_primary_level, true ); $ipn_data['member_id'] = $swpm_id; do_action( 'swpm_recurring_payment_received', $ipn_data ); // Hook for recurring payment received. $subscription_starts = SwpmUtils::get_current_date_in_wp_zone(); $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->prefix}swpm_members_tbl SET account_state=%s,subscription_starts=%s WHERE member_id=%d", $account_state, $subscription_starts, $swpm_id ) ); swpm_debug_log_subsc( 'Updated the member profile with current date as the subscription start date.', true ); // Lets check to see if the subscriber ID and the subscription start date value was updated correctly. $member_record = SwpmMemberUtils::get_user_by_id( $swpm_id ); swpm_debug_log_subsc( 'Value after update - Subscriber ID: ' . $member_record->subscr_id . ', Start Date: ' . $member_record->subscription_starts, true ); } else { swpm_debug_log_subsc( 'Did not find an existing record in the members table for subscriber ID: ' . $subscr_id, true ); swpm_debug_log_subsc( 'This could be a new subscription payment for a new subscription agreement.', true ); } } function swpm_is_paypal_recurring_payment($payment_data){ $recurring_payment = false; $transaction_type = $payment_data['txn_type']; if ($transaction_type == "recurring_payment") { $recurring_payment = true; } else if ($transaction_type == "subscr_payment") { $item_number = $payment_data['item_number']; $subscr_id = $payment_data['subscr_id']; swpm_debug_log_subsc('Is recurring payment check debug data: ' . $item_number . "|" . $subscr_id, true); $result = SwpmTransactions::get_transaction_row_by_subscr_id($subscr_id); if (isset($result)) { swpm_debug_log_subsc('This subscr_id exists in the transactions db. Recurring payment check flag value is true.', true); $recurring_payment = true; return $recurring_payment; } } if ($recurring_payment) { swpm_debug_log_subsc('Recurring payment check flag value is true.', true); } return $recurring_payment; } function swpm_debug_log_subsc( $message, $success, $end = false ) { SwpmLog::log_simple_debug( $message, $success, $end); } ipn/swpm-stripe-sca-subscription-ipn.php000064400000021426147206617610014426 0ustar00handle_stripe_ipn(); } public function handle_stripe_ipn() { //This will get executed only for direct post (not webhooks). So it is executed at the time of payment in the browser (via HTTP POST). When the "hook" query arg is not set. //The webhooks are handled by the "swpm-stripe-subscription-ipn.php" script. SwpmLog::log_simple_debug( 'Stripe SCA Subscription IPN (HTTP POST) received. Processing request...', true ); // SwpmLog::log_simple_debug(print_r($_REQUEST, true), true);//Useful for debugging purpose // Read and sanitize the request parameters. $ref_id = isset( $_GET['ref_id'] ) ? sanitize_text_field( stripslashes ( $_GET['ref_id'] ) ) : ''; if ( empty( $ref_id ) ) { //no ref id provided, cannot proceed SwpmLog::log_simple_debug( 'Fatal Error! No ref_id provied.', false ); wp_die( esc_html( 'Fatal Error! No ref_id provied.' ) ); } $trans_info = explode( '|', $ref_id ); $button_id = isset( $trans_info[1] ) ? absint( $trans_info[1] ) : false; // Retrieve the CPT for this button $button_cpt = get_post( $button_id ); if ( ! $button_cpt ) { // Fatal error. Could not find this payment button post object. SwpmLog::log_simple_debug( 'Fatal Error! Failed to retrieve the payment button post object for the given button ID: ' . $button_id, false ); wp_die( esc_html( sprintf( 'Fatal Error! Payment button (ID: %d) does not exist. This request will fail.', $button_id ) ) ); } $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); //API keys $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $button_id, ! $sandbox_enabled ); // Include the Stripe library. SwpmMiscUtils::load_stripe_lib(); try { \Stripe\Stripe::setApiKey( $api_keys['secret'] ); $events = \Stripe\Event::all( array( 'type' => 'checkout.session.completed', 'created' => array( 'gte' => time() - 60 * 60, ), ) ); $sess = false; foreach ( $events->autoPagingIterator() as $event ) { $session = $event->data->object; if ( isset( $session->client_reference_id ) && $session->client_reference_id === $ref_id ) { $sess = $session; break; } } if ( false === $sess ) { // Can't find session. $error_msg = sprintf( "Fatal error! Payment with ref_id %s can't be found", $ref_id ); SwpmLog::log_simple_debug( $error_msg, false ); wp_die( esc_html( $error_msg ) ); return; } $sub_id = isset( $sess->subscription ) ? $sess->subscription : ''; $sub = \Stripe\Subscription::retrieve( $sub_id ); } catch ( Exception $e ) { $error_msg = 'Error occurred: ' . $e->getMessage(); SwpmLog::log_simple_debug( $error_msg, false ); wp_die( esc_html( $error_msg ) ); } $pm = \Stripe\PaymentMethod::retrieve( $sub->default_payment_method ); // Grab the charge ID and set it as the transaction ID. $txn_id = $sub->customer; // The charge ID can be used to retrieve the transaction details using hte following call. // \Stripe\Charge::retrieve($charge->$data[0]->id); //check if this payment has already been processed $payment = get_posts( array( 'meta_key' => 'txn_id', 'meta_value' => $txn_id, 'posts_per_page' => 1, 'offset' => 0, 'post_type' => 'swpm_transactions', ) ); wp_reset_postdata(); if ( $payment ) { //payment has already been processed. Redirecting user to return_url $return_url = get_post_meta( $button_id, 'return_url', true ); if ( empty( $return_url ) ) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } SwpmMiscUtils::redirect_to_url( $return_url ); return; } $price_in_cents = $sub->plan->amount; $currency_code = strtoupper( $sub->plan->currency ); $zero_cents = unserialize( SIMPLE_WP_MEMBERSHIP_STRIPE_ZERO_CENTS ); if ( in_array( $currency_code, $zero_cents, true ) ) { $payment_amount = $price_in_cents; } else { $payment_amount = $price_in_cents / 100;// The amount (in cents). This value is used in Stripe API. } $payment_amount = floatval( $payment_amount ); $payment_amount = apply_filters( 'swpm_payment_amount_filter', $payment_amount, $button_id ); $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); // Everything went ahead smoothly with the charge. SwpmLog::log_simple_debug( 'Stripe SCA Subscription charge successful.', true ); $customer = \Stripe\Customer::retrieve( $txn_id ); $stripe_email = $customer->email; $user_ip = SwpmUtils::get_user_ip_address(); //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if ( SwpmMemberUtils::is_member_logged_in() ) { $custom_field_value .= '&swpm_id=' . SwpmMemberUtils::get_logged_in_members_id(); } $custom_field_value = apply_filters( 'swpm_custom_field_value_filter', $custom_field_value ); $custom = $custom_field_value; //Override custom value if necessary (for subscription webhooks) if ( isset ( $sub_id )){ //This is a subscription payment notificataion. Lets check if the original custom field value is already saved in the CPT for this stripe subscription. $orig_custom_value = SwpmTransactions::get_original_custom_value_for_subscription_payment($sub_id); if ( !empty ($orig_custom_value)){ //Override the custom field value with the original transactions value that can contain additional cookie and session info. $custom = $orig_custom_value; SwpmLog::log_simple_debug( 'Custom field value overriden with original value. Custom: ' . $custom, true ); } } $custom_var = SwpmTransactions::parse_custom_var( $custom ); $swpm_id = isset( $custom_var['swpm_id'] ) ? $custom_var['swpm_id'] : ''; // Let's try to get first_name and last_name from full name $name = $pm->billing_details->name; $last_name = ( strpos( $name, ' ' ) === false ) ? '' : preg_replace( '#.*\s([\w-]*)$#', '$1', $name ); $first_name = trim( preg_replace( '#' . $last_name . '#', '', $name ) ); // Create the $ipn_data array. $ipn_data = array(); $ipn_data['mc_gross'] = $payment_amount; $ipn_data['first_name'] = $first_name; $ipn_data['last_name'] = $last_name; $ipn_data['payer_email'] = $stripe_email; $ipn_data['membership_level'] = $membership_level_id; $ipn_data['txn_id'] = $txn_id; $ipn_data['subscr_id'] = $sub_id; $ipn_data['swpm_id'] = $swpm_id; $ipn_data['ip'] = $custom_var['user_ip']; $ipn_data['custom'] = $custom; $ipn_data['gateway'] = 'stripe-sca-subs'; $ipn_data['status'] = 'subscription created'; $bd_addr = $pm->billing_details->address; $ipn_data['address_street'] = isset( $bd_addr->line1 ) ? $bd_addr->line1 : ''; $ipn_data['address_city'] = isset( $bd_addr->city ) ? $bd_addr->city : ''; $ipn_data['address_state'] = isset( $bd_addr->state ) ? $bd_addr->state : ''; $ipn_data['address_zipcode'] = isset( $bd_addr->postal_code ) ? $bd_addr->postal_code : ''; //Get country value from the Stripe response. It can be a country code or a country name. $country = isset( $bd_addr->country ) ? $bd_addr->country : ''; if( strlen($country) == 2 ){//We have a country code. Let's convert it to country name. $ipn_data['address_country'] = SwpmMiscUtils::get_country_name_by_country_code($country); } else { $ipn_data['address_country'] = $country; } $ipn_data['payment_button_id'] = $button_id; $ipn_data['is_live'] = ! $sandbox_enabled; // Handle the membership signup related tasks. swpm_handle_subsc_signup_stand_alone( $ipn_data, $membership_level_id, $txn_id, $swpm_id ); // Save the transaction record SwpmTransactions::save_txn_record( $ipn_data ); SwpmLog::log_simple_debug( 'Transaction data saved.', true ); // Trigger the stripe IPN processed action hook (so other plugins can can listen for this event). do_action( 'swpm_stripe_sca_ipn_processed', $ipn_data ); do_action( 'swpm_payment_ipn_processed', $ipn_data ); // Redirect the user to the return URL (or to the homepage if a return URL is not specified for this payment button). $return_url = get_post_meta( $button_id, 'return_url', true ); if ( empty( $return_url ) ) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } SwpmLog::log_simple_debug( 'Redirecting customer to: ' . $return_url, true ); SwpmLog::log_simple_debug( 'End of Stripe SCA Subscription IPN processing.', true, true ); SwpmMiscUtils::redirect_to_url( $return_url ); } } new SwpmStripeSCASubscriptionIpnHandler(); ipn/swpm-stripe-buy-now-ipn.php000064400000016400147206617610012532 0ustar00handle_stripe_ipn(); } public function handle_stripe_ipn() { SwpmLog::log_simple_debug( 'Stripe Buy Now IPN received. Processing request...', true ); // SwpmLog::log_simple_debug(print_r($_REQUEST, true), true);//Useful for debugging purpose if( !isset($_REQUEST['item_number']) || !isset($_REQUEST['item_price']) ){ SwpmLog::log_simple_debug( 'The Stripe Buy Now IPN request URL was accessed, but it is missing some required parameters. Aborting...', false ); wp_die( esc_html( 'The Stripe Buy Now IPN request URL was accessed, but it is missing some required parameters. Aborting...' ) ); } // Include the Stripe library. SwpmMiscUtils::load_stripe_lib(); // Read and sanitize the request parameters. $button_id = sanitize_text_field( $_REQUEST['item_number'] ); $button_id = absint( $button_id ); $button_title = sanitize_text_field( $_REQUEST['item_name'] ); $payment_amount = sanitize_text_field( $_REQUEST['item_price'] ); $currency_code = sanitize_text_field( $_REQUEST['currency_code'] ); $zero_cents = unserialize( SIMPLE_WP_MEMBERSHIP_STRIPE_ZERO_CENTS ); if ( in_array( $currency_code, $zero_cents ) ) { $price_in_cents = $payment_amount; } else { $price_in_cents = $payment_amount * 100;// The amount (in cents). This value is used in Stripe API. } $stripe_token = isset( $_POST['stripeToken'] ) ? sanitize_text_field( stripslashes ( $_POST['stripeToken'] ) ) : ''; $stripe_token_type = isset( $_POST['stripeTokenType'] ) ? sanitize_text_field( stripslashes ( $_POST['stripeTokenType'] ) ) : ''; $stripe_email = filter_input( INPUT_POST, 'stripeEmail', FILTER_SANITIZE_EMAIL ); // Retrieve the CPT for this button $button_cpt = get_post( $button_id ); if ( ! $button_cpt ) { // Fatal error. Could not find this payment button post object. SwpmLog::log_simple_debug( 'Fatal Error! Failed to retrieve the payment button post object for the given button ID: ' . $button_id, false ); wp_die( esc_html( sprintf( 'Fatal Error! Payment button (ID: %d) does not exist. This request will fail.', $button_id ) ) ); } $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); // Validate and verify some of the main values. $true_payment_amount = get_post_meta( $button_id, 'payment_amount', true ); $true_payment_amount = apply_filters( 'swpm_payment_amount_filter', $true_payment_amount, $button_id ); if ( $payment_amount != $true_payment_amount ) { // Fatal error. Payment amount may have been tampered with. $error_msg = 'Fatal Error! Received payment amount (' . $payment_amount . ') does not match with the original amount (' . $true_payment_amount . ')'; SwpmLog::log_simple_debug( $error_msg, false ); wp_die( esc_html( $error_msg ) ); } $true_currency_code = get_post_meta( $button_id, 'payment_currency', true ); if ( $currency_code != $true_currency_code ) { // Fatal error. Currency code may have been tampered with. $error_msg = 'Fatal Error! Received currency code (' . $currency_code . ') does not match with the original code (' . $true_currency_code . ')'; SwpmLog::log_simple_debug( $error_msg, false ); wp_die( esc_html( $error_msg ) ); } // Validation passed. Go ahead with the charge. // Sandbox and other settings $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); //API keys $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $button_id, ! $sandbox_enabled ); // Set secret API key in the Stripe library \Stripe\Stripe::setApiKey( $api_keys['secret'] ); // Get the credit card details submitted by the form $token = $stripe_token; // Create the charge on Stripe's servers - this will charge the user's card try { $charge = \Stripe\Charge::create( array( 'amount' => $price_in_cents, // Amount in cents 'currency' => strtolower( $currency_code ), 'source' => $token, 'description' => $button_title, 'receipt_email' => $stripe_email, ) ); } catch ( \Stripe\Error\Card $e ) { // The card has been declined SwpmLog::log_simple_debug( 'Stripe Charge Error! The card has been declined. ' . $e->getMessage(), false ); $body = $e->getJsonBody(); $error = $body['error']; $error_string = print_r( $error, true ); SwpmLog::log_simple_debug( 'Error details: ' . $error_string, false ); wp_die( esc_html( 'Stripe Charge Error! Card charge has been declined. ' . $e->getMessage() . $error_string ) ); } // Everything went ahead smoothly with the charge. SwpmLog::log_simple_debug( 'Stripe Buy Now charge successful.', true ); // Grab the charge ID and set it as the transaction ID. $txn_id = $charge->id;// $charge->balance_transaction; // The charge ID can be used to retrieve the transaction details using hte following call. // \Stripe\Charge::retrieve($charge->id); $custom = sanitize_text_field( $_REQUEST['custom'] ); $custom_var = SwpmTransactions::parse_custom_var( $custom ); $swpm_id = isset( $custom_var['swpm_id'] ) ? $custom_var['swpm_id'] : ''; // Create the $ipn_data array. $ipn_data = array(); $ipn_data['mc_gross'] = $payment_amount; $ipn_data['first_name'] = ''; $ipn_data['last_name'] = ''; $ipn_data['payer_email'] = $stripe_email; $ipn_data['membership_level'] = $membership_level_id; $ipn_data['txn_id'] = $txn_id; $ipn_data['subscr_id'] = $txn_id;/* Set the txn_id as subscriber_id so it is similar to PayPal buy now. Also, it can connect to the profile in the "payments" menu. */ $ipn_data['swpm_id'] = $swpm_id; $ipn_data['ip'] = $custom_var['user_ip']; $ipn_data['custom'] = $custom; $ipn_data['gateway'] = 'stripe'; $ipn_data['status'] = 'completed'; $ipn_data['address_street'] = ''; $ipn_data['address_city'] = ''; $ipn_data['address_state'] = ''; $ipn_data['address_zipcode'] = ''; $ipn_data['country'] = ''; // Handle the membership signup related tasks. swpm_handle_subsc_signup_stand_alone( $ipn_data, $membership_level_id, $txn_id, $swpm_id ); // Save the transaction record SwpmTransactions::save_txn_record( $ipn_data ); SwpmLog::log_simple_debug( 'Transaction data saved.', true ); // Trigger the stripe IPN processed action hook (so other plugins can can listen for this event). do_action( 'swpm_stripe_ipn_processed', $ipn_data ); do_action( 'swpm_payment_ipn_processed', $ipn_data ); // Redirect the user to the return URL (or to the homepage if a return URL is not specified for this payment button). $return_url = get_post_meta( $button_id, 'return_url', true ); if ( empty( $return_url ) ) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } SwpmLog::log_simple_debug( 'Redirecting customer to: ' . $return_url, true ); SwpmLog::log_simple_debug( 'End of Stripe Buy Now IPN processing.', true, true ); SwpmMiscUtils::redirect_to_url( $return_url ); } } $swpm_stripe_buy_ipn = new SwpmStripeBuyNowIpnHandler(); ipn/swpm-stripe-sca-buy-now-ipn.php000064400000031253147206617610013301 0ustar00handle_stripe_ipn(); } public function handle_stripe_ipn() { //Stripe API upgrade change log - https://stripe.com/docs/upgrades SwpmLog::log_simple_debug( 'Stripe SCA Buy Now IPN received. Processing request...', true ); //SwpmLog::log_simple_debug(print_r($_REQUEST, true), true);//Useful for debugging purpose // Read and sanitize the request parameters. $ref_id = isset( $_GET['ref_id'] ) ? sanitize_text_field( stripslashes ( $_GET['ref_id'] ) ) : ''; if ( empty( $ref_id ) ) { //no ref id provided, cannot proceed SwpmLog::log_simple_debug( 'Fatal Error! No ref_id provied.', false ); wp_die( esc_html( 'Fatal Error! No ref_id provied.' ) ); } $trans_info = explode( '|', $ref_id ); $button_id = isset( $trans_info[1] ) ? absint( $trans_info[1] ) : false; // Retrieve the CPT for this button $button_cpt = get_post( $button_id ); if ( ! $button_cpt ) { // Fatal error. Could not find this payment button post object. SwpmLog::log_simple_debug( 'Fatal Error! Failed to retrieve the payment button post object for the given button ID: ' . $button_id, false ); wp_die( esc_html( sprintf( 'Fatal Error! Payment button (ID: %d) does not exist. This request will fail.', $button_id ) ) ); } //Initialize the discount amount variables to 0. These will be used to set and calculate values (if discount was applied to this transaction). $discount_amount = 0; $discount_amount_in_cents = 0; // Check if the sandbox mode is enabled $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); //API keys $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $button_id, ! $sandbox_enabled ); // Include the Stripe library. SwpmMiscUtils::load_stripe_lib(); try { \Stripe\Stripe::setApiKey( $api_keys['secret'] ); $events = \Stripe\Event::all( array( 'type' => 'checkout.session.completed', 'created' => array( 'gte' => time() - 60 * 60, ), ) ); $sess = false; foreach ( $events->autoPagingIterator() as $event ) { $session = $event->data->object; if ( isset( $session->client_reference_id ) && $session->client_reference_id === $ref_id ) { $sess = $session; break; } } if ( false === $sess ) { // Can't find session. $error_msg = sprintf( "Fatal error! Payment with ref_id %s can't be found", $ref_id ); SwpmLog::log_simple_debug( $error_msg, false ); wp_die( esc_html( $error_msg ) ); } $pi_id = $sess->payment_intent; $pi = \Stripe\PaymentIntent::retrieve( $pi_id ); // Check if any coupon/promo code was applied if ($sess instanceof \Stripe\Checkout\Session && isset($sess->allow_promotion_codes) && $sess->allow_promotion_codes == '1') { if (isset($sess->total_details) && isset($sess->total_details->amount_discount)) { $discount_amount_in_cents = floatval($sess->total_details->amount_discount); SwpmLog::log_simple_debug( 'Discount amount (in cents) applied to this Stripe checkout session is: ' . $discount_amount_in_cents . ' (amount in cents).', true ); } } } catch ( Exception $e ) { $error_msg = 'Error occurred: ' . $e->getMessage(); SwpmLog::log_simple_debug( $error_msg, false ); wp_die( esc_html( $error_msg ) ); } //Get the charge object based on the Stripe API version used in the payment intents object. if( isset ( $pi->latest_charge ) ){ //Using the new Stripe API version 2022-11-15 or later SwpmLog::log_simple_debug( 'Using the Stripe API version 2022-11-15 or later for Payment Intents object. Need to retrieve the charge object.', true ); $charge_id = $pi->latest_charge; //For Stripe API version 2022-11-15 or later, the charge object is not included in the payment intents object. It needs to be retrieved using the charge ID. try { //Retrieve the charge object using the charge ID $charge = \Stripe\Charge::retrieve($charge_id); } catch (\Stripe\Exception\ApiErrorException $e) { // Handle the error SwpmLog::log_simple_debug( 'Stripe error occurred trying to retrieve the charge object using the charge ID. ' . $e->getMessage(), false ); exit; } } else { //Using the old Stripe API version 2022-08-01 or earlier $charge = $pi->charges; $charge = $pi->charges->data[0]; $charge_id = $charge->id; //The old method that is not needed anymore as we will read it from the charge object below. // $stripe_email = $charge->data[0]->billing_details->email; // $name = trim( $charge->data[0]->billing_details->name ); // $bd_addr = $charge->data[0]->billing_details->address; } //Get the email, name and address from the charge object. $stripe_email = $charge->billing_details->email; $name = trim( $charge->billing_details->name ); $bd_addr = $charge->billing_details->address; SwpmLog::log_simple_debug( "Email: " . $stripe_email . ", Name: " . $name . ", Charge ID: " . $charge_id, true ); // Grab the charge ID and set it as the transaction ID. $txn_id = $charge_id;//The charge ID. //check if this payment has already been processed $payment = get_posts( array( 'meta_key' => 'txn_id', 'meta_value' => $txn_id, 'posts_per_page' => 1, 'offset' => 0, 'post_type' => 'swpm_transactions', ) ); wp_reset_postdata(); if ( $payment ) { //payment has already been processed. Redirecting user to return_url $return_url = get_post_meta( $button_id, 'return_url', true ); if ( empty( $return_url ) ) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } SwpmMiscUtils::redirect_to_url( $return_url ); return; } $price_in_cents = floatval( $pi->amount_received ); $currency_code = strtoupper( $pi->currency ); //Check and convert the amounts to dollars or equivalent (if needed). $zero_cents_currency = unserialize( SIMPLE_WP_MEMBERSHIP_STRIPE_ZERO_CENTS ); if ( in_array( $currency_code, $zero_cents_currency, true ) ) { // No decimal (zero cents) currency. Use the amount as is. $payment_amount = $price_in_cents; $discount_amount = $discount_amount_in_cents; } else { // Currency has decimal. Convert the amount to dollars or equivalent. $payment_amount = $price_in_cents / 100; $discount_amount = $discount_amount_in_cents / 100; } //Round to 2 decimal places. Round should be used when math operations are involved. We will compare the payment amount with the expected amount. $payment_amount = floatval( $payment_amount ); $payment_amount = round( $payment_amount, 2 ); $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); // === Validate and verify some of the main values === $expected_amount = get_post_meta( $button_id, 'payment_amount', true ); // Check if this button has Stripe promo code enabled $allow_promotion_codes = get_post_meta( $button_id, 'allow_promotion_codes', true ); if ( !empty($allow_promotion_codes) && $allow_promotion_codes == '1' ) { // Promo code option is enabled for this button. Let's decuct any discount (if it was applied in the transation). $expected_amount = $expected_amount - $discount_amount; SwpmLog::log_simple_debug( 'Promo code is enabled for this button. Setting expected payment amount to: ' . $expected_amount . '. Discount amount: ' . $discount_amount, true ); } $expected_amount = apply_filters( 'swpm_payment_amount_filter', $expected_amount, $button_id ); //Round to 2 decimal places. Round should be used when math operations are involved. We will use this amount for comparison. $expected_amount = floatval( $expected_amount );//Convert to float (in case it is a string) $expected_amount = round( $expected_amount, 2 ); SwpmLog::log_simple_debug( 'Expected payment amount for this transaction: ' . $expected_amount, true ); // Check if the payment amount matches the expected amount //Since floating-point numbers are not always stored exactly as they appear due to their binary representation, we will use a precision tolerance. $precision = 0.01;//our precision tolerance. if (abs($expected_amount - $payment_amount) >= $precision) { //The difference is greater than the precision value. //Fatal error. Payment amount may have been tampered with. //Alternatively, we can also use ($payment_amount < $expected_amount) expression. $error_msg = 'Fatal Error! Received payment amount (' . $payment_amount . ') does not match with the expected amount (' . $expected_amount . ')'; SwpmLog::log_simple_debug( $error_msg, false ); wp_die( esc_html( $error_msg ) ); } $expected_currency_code = get_post_meta( $button_id, 'payment_currency', true ); if ( $currency_code !== $expected_currency_code ) { // Fatal error. Currency code may have been tampered with. $error_msg = 'Fatal Error! Received currency code (' . $currency_code . ') does not match with the expected currency code (' . $expected_currency_code . ')'; SwpmLog::log_simple_debug( $error_msg, false ); wp_die( esc_html( $error_msg ) ); } //=== End of validation and verification === // Everything went ahead smoothly with the charge. SwpmLog::log_simple_debug( 'Stripe SCA Buy Now charge successful.', true ); $user_ip = SwpmUtils::get_user_ip_address(); //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if ( SwpmMemberUtils::is_member_logged_in() ) { $custom_field_value .= '&swpm_id=' . SwpmMemberUtils::get_logged_in_members_id(); } $custom_field_value = apply_filters( 'swpm_custom_field_value_filter', $custom_field_value ); $custom = $custom_field_value; $custom_var = SwpmTransactions::parse_custom_var( $custom ); $swpm_id = isset( $custom_var['swpm_id'] ) ? $custom_var['swpm_id'] : ''; // Let's try to get first_name and last_name from full name $last_name = ( strpos( $name, ' ' ) === false ) ? '' : preg_replace( '#.*\s([\w-]*)$#', '$1', $name ); $first_name = trim( preg_replace( '#' . $last_name . '#', '', $name ) ); // Create the $ipn_data array. $ipn_data = array(); $ipn_data['mc_gross'] = $payment_amount; $ipn_data['first_name'] = $first_name; $ipn_data['last_name'] = $last_name; $ipn_data['payer_email'] = $stripe_email; $ipn_data['membership_level'] = $membership_level_id; $ipn_data['txn_id'] = $txn_id; $ipn_data['subscr_id'] = $txn_id;/* Set the txn_id as subscriber_id so it is similar to PayPal buy now. Also, it can connect to the profile in the "payments" menu. */ $ipn_data['swpm_id'] = $swpm_id; $ipn_data['ip'] = $custom_var['user_ip']; $ipn_data['custom'] = $custom; $ipn_data['gateway'] = 'stripe-sca'; $ipn_data['status'] = 'completed'; $ipn_data['address_street'] = isset( $bd_addr->line1 ) ? $bd_addr->line1 : ''; $ipn_data['address_city'] = isset( $bd_addr->city ) ? $bd_addr->city : ''; $ipn_data['address_state'] = isset( $bd_addr->state ) ? $bd_addr->state : ''; $ipn_data['address_zipcode'] = isset( $bd_addr->postal_code ) ? $bd_addr->postal_code : ''; //Get country value from the Stripe response. It can be a country code or a country name. $country = isset( $bd_addr->country ) ? $bd_addr->country : ''; if( strlen($country) == 2 ){//We have a country code. Let's convert it to country name. $ipn_data['address_country'] = SwpmMiscUtils::get_country_name_by_country_code($country); } else { $ipn_data['address_country'] = $country; } $ipn_data['payment_button_id'] = $button_id; $ipn_data['is_live'] = ! $sandbox_enabled; $ipn_data['discount_amount'] = $discount_amount;//Discount amount applied to the payment. // Handle the membership signup related tasks. swpm_handle_subsc_signup_stand_alone( $ipn_data, $membership_level_id, $txn_id, $swpm_id ); // Save the transaction record SwpmTransactions::save_txn_record( $ipn_data ); SwpmLog::log_simple_debug( 'Transaction data saved.', true ); // Trigger the stripe IPN processed action hook (so other plugins can can listen for this event). do_action( 'swpm_stripe_sca_ipn_processed', $ipn_data ); do_action( 'swpm_payment_ipn_processed', $ipn_data ); // Redirect the user to the return URL (or to the homepage if a return URL is not specified for this payment button). $return_url = get_post_meta( $button_id, 'return_url', true ); if ( empty( $return_url ) ) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } SwpmLog::log_simple_debug( 'Redirecting customer to: ' . $return_url, true ); SwpmLog::log_simple_debug( 'End of Stripe SCA Buy Now IPN processing.', true, true ); SwpmMiscUtils::redirect_to_url( $return_url ); } } new SwpmStripeSCABuyNowIpnHandler(); ipn/swpm-stripe-sca-checkout-session-create.php000064400000020703147206617610015642 0ustar00 'No button ID provided' ) ); } SwpmLog::log_simple_debug( 'Stripe SCA checkout session create request received. Processing request...', true ); //Check if payment_method_types is being used in the shortcode. $payment_method_types = isset( $_POST['payment_method_types'] ) ? sanitize_text_field( stripslashes ( $_POST['payment_method_types'] ) ) : ''; if ( empty( $payment_method_types ) ) { //Use the empty value so it can be managed from the seller's Stripe account settings. $payment_method_types_array = array(); //$payment_method_types_array = array( 'card' );//Legacy value } else { //Use the payment_method_types specified in the shortcode (example value: card,us_bank_account $payment_method_types_array = array_map( 'trim', explode (",", $payment_method_types) ); } $uniqid = isset( $_POST['swpm_uniqid'] ) ? sanitize_text_field( stripslashes ( $_POST['swpm_uniqid'] ) ) : ''; $uniqid = ! empty( $uniqid ) ? $uniqid : ''; $settings = SwpmSettings::get_instance(); $button_cpt = get_post( $button_id ); //Retrieve the CPT for this button $item_name = htmlspecialchars( $button_cpt->post_title ); $plan_id = get_post_meta( $button_id, 'stripe_plan_id', true ); if ( empty( $plan_id ) ) { //Payment amount and currency $payment_amount = get_post_meta( $button_id, 'payment_amount', true ); if ( ! is_numeric( $payment_amount ) ) { wp_send_json( array( 'error' => 'Error! The payment amount value of the button must be a numeric number. Example: 49.50' ) ); } $payment_currency = get_post_meta( $button_id, 'payment_currency', true ); $payment_amount = round( $payment_amount, 2 ); //round the amount to 2 decimal place. $payment_amount = apply_filters( 'swpm_payment_amount_filter', $payment_amount, $button_id ); $zero_cents = unserialize( SIMPLE_WP_MEMBERSHIP_STRIPE_ZERO_CENTS ); if ( in_array( $payment_currency, $zero_cents ) ) { //this is zero-cents currency, amount shouldn't be multiplied by 100 $price_in_cents = $payment_amount; } else { $price_in_cents = $payment_amount * 100; //The amount (in cents). This value is passed to Stripe API. } $payment_amount_formatted = SwpmMiscUtils::format_money( $payment_amount, $payment_currency ); } //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout. //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); $_SESSION['swpm_payment_button_interaction'] = $user_ip; //Get the button's level ID $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if ( SwpmMemberUtils::is_member_logged_in() ) { $custom_field_value .= '&swpm_id=' . SwpmMemberUtils::get_logged_in_members_id(); } $custom_field_value = apply_filters( 'swpm_custom_field_value_filter', $custom_field_value ); //Sandbox settings $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); //API keys $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $button_id, ! $sandbox_enabled ); //Billing address $billing_address = isset( $args['billing_address'] ) ? '1' : ''; //By default don't show the billing address in the checkout form. //if billing_address parameter is not present in the shortcode, let's check button option if ( $billing_address === '' ) { $collect_address = get_post_meta( $button_id, 'stripe_collect_address', true ); if ( $collect_address === '1' ) { //Collect Address enabled in button settings $billing_address = 1; } } $automatic_tax = false; $automatic_tax_opt = get_post_meta( $button_id, 'stripe_automatic_tax', true ); if ( $automatic_tax_opt === '1' ) { $automatic_tax = true; } $ref_id = 'swpm_' . $uniqid . '|' . $button_id; //Return, cancel, notifiy URLs if ( empty( $plan_id ) ) { $notify_url = sprintf( SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_sca_buy_now=1&ref_id=%s', $ref_id ); } else { $notify_url = sprintf( SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_sca_subscription=1&ref_id=%s', $ref_id ); } // The url to redirect to when user clicks on the back button in the stripe sca buy now button checkout page. If no url set, there will be no back button. $cancel_url = get_post_meta( $button_id, 'cancel_url', true ); $cancel_url = ! empty( $cancel_url ) ? sanitize_text_field($cancel_url) : SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; //prefill member email $prefill_member_email = $settings->get_value( 'stripe-prefill-member-email' ); if ( $prefill_member_email ) { $auth = SwpmAuth::get_instance(); $member_email = $auth->get( 'email' ); } SwpmMiscUtils::load_stripe_lib(); try { \Stripe\Stripe::setApiKey( $api_keys['secret'] ); \Stripe\Stripe::setApiVersion("2022-08-01"); if ( empty( $plan_id ) ) { //this is one-off payment $opts = array( 'client_reference_id' => $ref_id, 'billing_address_collection' => $billing_address ? 'required' : 'auto', 'line_items' => array( array( 'price_data' => array( 'currency' => $payment_currency, 'unit_amount' => $price_in_cents, 'product_data' => array( 'name' => $item_name, 'description' => $payment_amount_formatted, ), ), 'quantity' => 1 ) ), 'mode' => 'payment', 'success_url' => $notify_url, 'cancel_url' => $cancel_url, ); } else { //this is subscription payment $opts = array( 'client_reference_id' => $ref_id, 'billing_address_collection' => $billing_address ? 'required' : 'auto', 'line_items' => array( array( 'price' => $plan_id, 'quantity' => 1 ), ), 'mode' => 'subscription', 'success_url' => $notify_url, 'cancel_url' => $cancel_url, ); $trial_period = get_post_meta( $button_id, 'stripe_trial_period', true ); $trial_period = absint( $trial_period ); if ( $trial_period ) { $opts['subscription_data']['trial_period_days'] = $trial_period; } } //Set payment method types (if used in the shortcode). Otherwise, let Stripe use the default value. if( !empty( $payment_method_types_array ) ) { $opts['payment_method_types'] = $payment_method_types_array; } //Set the logo for the line item. if ( ! empty( $item_logo ) ) { $opts['line_items'][0]["product_data"]['images'] = array( $item_logo ); } //Set the customer email. if ( ! empty( $member_email ) ) { $opts['customer_email'] = $member_email; } //Set the automatic tax feature. if( $automatic_tax == true ) { $opts["automatic_tax"] = array( "enabled" => true ); } $allow_promotion_codes = get_post_meta( $button_id, 'allow_promotion_codes', true ); if ( !empty($allow_promotion_codes) && $allow_promotion_codes == '1' ) { $opts["allow_promotion_codes"] = true; } $opts = apply_filters( 'swpm_stripe_sca_session_opts', $opts, $button_id ); $session = \Stripe\Checkout\Session::create( $opts ); } catch ( Exception $e ) { $err = $e->getMessage(); wp_send_json( array( 'error' => 'Error occurred: ' . $err ) ); } SwpmLog::log_simple_debug( 'Stripe SCA checkout session created successfully.', true ); wp_send_json( array( 'session_id' => $session->id ) ); } } new SwpmStripeCheckoutSessionCreate(); ipn/swpm-stripe-subscription-ipn.php000064400000032330147206617610013656 0ustar00handle_stripe_ipn(); } public function handle_stripe_ipn() { /* * [Important] This comment explains how this script handles both the first time HTTP Post after payment and the webhooks. * If the "hook" query arg is set then that means it is a webhook notification. It will be used for certain actions like (update, cancel, refund, etc). Others will be ignored. * The first time payment in browser is handled via HTTP POST (when the "hook" query arg is not set). */ if ( isset( $_GET['hook'] ) ) { // This is Webhook notification from Stripe. // This webhook is used for all recurring payment notification (Legacy and SCA ones). // TODO: add Webhook Signing Secret verification // To do this, we need to get customer ID, retreive its details from Stripe, get button_id from metadata // and see if the button has Signing Secret option set. If it is - we need to check signatures // More details here: https://stripe.com/docs/webhooks#signatures $input = @file_get_contents( 'php://input' ); if ( empty( $input ) ) { SwpmLog::log_simple_debug( 'Stripe subscription webhook sent empty data or page was accessed directly. Aborting.', false ); echo 'Empty Webhook data received.'; die; } // SwpmLog::log_simple_debug($input, true); $event_json = json_decode( $input ); $type = $event_json->type; SwpmLog::log_simple_debug( sprintf( 'Stripe subscription webhook received: %s. Checking if we need to handle this webhook.', $type ), true ); if ( 'customer.subscription.deleted' === $type || 'charge.refunded' === $type ) { // Subscription expired or refunded event //SwpmLog::log_simple_debug( sprintf( 'Stripe Subscription Webhook %s received. Processing request...', $type ), true ); // Let's form minimal ipn_data array for swpm_handle_subsc_cancel_stand_alone $customer = $event_json->data->object->customer; $subscr_id = $event_json->data->object->id; $ipn_data = array(); $ipn_data['subscr_id'] = $subscr_id; $ipn_data['parent_txn_id'] = $customer; swpm_handle_subsc_cancel_stand_alone( $ipn_data ); } if ( $type == 'customer.subscription.updated' ) { // Subscription updated webhook // Check that the status is "active" or "trialing". That way we don't process the webhook for "canceled" or "past_due" status. $status = isset($event_json->data->object->status)? $event_json->data->object->status : ''; SwpmLog::log_simple_debug( 'Stripe customer.subscription.updated webhook status: ' . $status, true ); if( $status != 'active' && $status != 'trialing' ) { SwpmLog::log_simple_debug( 'Stripe customer.subscription.updated webhook status is not "active" or "trialing". Ignoring this webhook.', true ); http_response_code( 200 ); // Tells Stripe we received this notification return; } // Let's form minimal ipn_data array $customer = $event_json->data->object->customer; $subscr_id = $event_json->data->object->id; $ipn_data = array(); $ipn_data['subscr_id'] = $subscr_id; $ipn_data['parent_txn_id'] = $customer; swpm_update_member_subscription_start_date_if_applicable( $ipn_data ); } if ( $type === 'invoice.payment_succeeded' ) { $billing_reason = isset( $event_json->data->object->billing_reason ) ? $event_json->data->object->billing_reason : ''; if ( $billing_reason == 'subscription_cycle' ) { //This is recurring/subscription payment invoice SwpmLog::log_simple_debug( sprintf( 'Stripe invoice.payment_succeeded webhook for subscription_cycle. This is a successful subscription charge. Capturing payment data.' ), true ); $sub_id = $event_json->data->object->subscription; //$cust_id = $event_json->data->object->billing_reason; //$date = $event_json->data->object->date; $price_in_cents = $event_json->data->object->amount_paid; //amount in cents $currency_code = $event_json->data->object->currency; $zero_cents = unserialize( SIMPLE_WP_MEMBERSHIP_STRIPE_ZERO_CENTS ); if ( in_array( $currency_code, $zero_cents, true ) ) { $payment_amount = $price_in_cents; } else { $payment_amount = $price_in_cents / 100;// The amount (in cents). This value is used in Stripe API. } $payment_amount = floatval( $payment_amount ); // Let's try to get first_name and last_name from full name $full_name = $event_json->data->object->customer_name; $name_pieces = explode( ' ', $full_name, 2 ); $first_name = $name_pieces[0]; if ( ! empty( $name_pieces[1] ) ) { $last_name = $name_pieces[1]; } //Retrieve the member record for this subscription $member_record = SwpmMemberUtils::get_user_by_subsriber_id( $sub_id ); if ( $member_record ) { // Found a member record $member_id = $member_record->member_id; $membership_level_id = $member_record->membership_level; if ( empty( $first_name ) ) { $first_name = $member_record->first_name; } if ( empty( $last_name ) ) { $last_name = $member_record->last_name; } } else { SwpmLog::log_simple_debug( 'Could not find an existing member record for the given subscriber ID: ' . $sub_id . '. This user profile may have been deleted.', false ); $member_id = ''; $membership_level_id = ''; } //Create the custom field $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&swpm_id=' . $member_id; // Create the $ipn_data array. $ipn_data = array(); $ipn_data['mc_gross'] = $payment_amount; $ipn_data['first_name'] = $first_name; $ipn_data['last_name'] = $last_name; $ipn_data['payer_email'] = $event_json->data->object->customer_email; $ipn_data['membership_level'] = $membership_level_id; $ipn_data['txn_id'] = $event_json->data->object->charge; $ipn_data['subscr_id'] = $sub_id; $ipn_data['swpm_id'] = $member_id; $ipn_data['ip'] = ''; $ipn_data['custom'] = $custom_field_value; $ipn_data['gateway'] = 'stripe-sca-subs'; $ipn_data['status'] = 'subscription'; //TODO - Maybe handle the user access start date updating here (instead of "customer.subscription.updated" hook). //swpm_update_member_subscription_start_date_if_applicable( $ipn_data ); // Save the transaction record SwpmTransactions::save_txn_record( $ipn_data ); SwpmLog::log_simple_debug( 'Transaction data saved for Stripe subscription notification.', true ); } } //End of the webhook notification execution. //Give 200 status then exit out. SwpmLog::log_simple_debug( 'End of Stripe subscription webhook processing. Webhook type: ' . $type, true); http_response_code( 200 ); // Tells Stripe we received this notification return; } //The following will get executed only for DIRECT post (not webhooks). So it is executed at the time of payment in the browser (via HTTP POST). When the "hook" query arg is not set. SwpmLog::log_simple_debug( 'Stripe subscription IPN received. Processing request...', true ); // SwpmLog::log_simple_debug(print_r($_REQUEST, true), true);//Useful for debugging purpose // Include the Stripe library. SwpmMiscUtils::load_stripe_lib(); // Read and sanitize the request parameters. $button_id = sanitize_text_field( $_REQUEST['item_number'] ); $button_id = absint( $button_id ); $button_title = sanitize_text_field( $_REQUEST['item_name'] ); $stripe_token = isset( $_POST['stripeToken'] ) ? sanitize_text_field( stripslashes ( $_POST['stripeToken'] ) ) : ''; $stripe_token_type = isset( $_POST['stripeTokenType'] ) ? sanitize_text_field( stripslashes ( $_POST['stripeTokenType'] ) ) : ''; $stripe_email = filter_input( INPUT_POST, 'stripeEmail', FILTER_SANITIZE_EMAIL ); // Retrieve the CPT for this button $button_cpt = get_post( $button_id ); if ( ! $button_cpt ) { // Fatal error. Could not find this payment button post object. SwpmLog::log_simple_debug( 'Fatal Error! Failed to retrieve the payment button post object for the given button ID: ' . $button_id, false ); wp_die( esc_html( sprintf( 'Fatal Error! Payment button (ID: %d) does not exist. This request will fail.', $button_id ) ) ); } $plan_id = get_post_meta( $button_id, 'stripe_plan_id', true ); $descr = 'Subscription to "' . $plan_id . '" plan'; $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); // Validate and verify some of the main values. // Validation passed. Go ahead with the charge. // Sandbox and other settings $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); //API keys $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $button_id, ! $sandbox_enabled ); // Set secret API key in the Stripe library \Stripe\Stripe::setApiKey( $api_keys['secret'] ); // Get the credit card details submitted by the form $token = $stripe_token; // Create the charge on Stripe's servers - this will charge the user's card try { $customer = \Stripe\Customer::create( array( 'description' => $descr, 'email' => $stripe_email, 'source' => $token, 'plan' => $plan_id, 'trial_from_plan' => 'true', ) ); } catch ( Exception $e ) { SwpmLog::log_simple_debug( 'Error occurred during Stripe Subscribe. ' . $e->getMessage(), false ); $body = $e->getJsonBody(); $error = $body['error']; $error_string = wp_json_encode( $error ); SwpmLog::log_simple_debug( 'Error details: ' . $error_string, false ); wp_die( esc_html( 'Stripe subscription Error! ' . $e->getMessage() . $error_string ) ); } // Everything went ahead smoothly with the charge. SwpmLog::log_simple_debug( 'Stripe subscription successful.', true ); // let's add button_id to metadata $customer->metadata = array( 'button_id' => $button_id ); try { $customer->save(); } catch ( Exception $e ) { SwpmLog::log_simple_debug( 'Error occurred during Stripe customer metadata update. ' . $e->getMessage(), false ); $body = $e->getJsonBody(); SwpmLog::log_simple_debug( 'Error details: ' . $error_string, false ); } // Grab customer ID and set it as the transaction ID. $txn_id = $customer->id; // $charge->balance_transaction; // Grab subscription ID $subscr_id = $customer->subscriptions->data[0]->id; $custom = sanitize_text_field( $_REQUEST['custom'] ); $custom_var = SwpmTransactions::parse_custom_var( $custom ); $swpm_id = isset( $custom_var['swpm_id'] ) ? $custom_var['swpm_id'] : ''; $payment_amount = $customer->subscriptions->data[0]->plan->amount / 100; // Create the $ipn_data array. $ipn_data = array(); $ipn_data['mc_gross'] = $payment_amount; $ipn_data['first_name'] = ''; $ipn_data['last_name'] = ''; $ipn_data['payer_email'] = $stripe_email; $ipn_data['membership_level'] = $membership_level_id; $ipn_data['txn_id'] = $txn_id; $ipn_data['subscr_id'] = $subscr_id; $ipn_data['swpm_id'] = $swpm_id; $ipn_data['ip'] = $custom_var['user_ip']; $ipn_data['custom'] = $custom; $ipn_data['gateway'] = 'stripe'; $ipn_data['status'] = 'completed'; $ipn_data['address_street'] = ''; $ipn_data['address_city'] = ''; $ipn_data['address_state'] = ''; $ipn_data['address_zipcode'] = ''; $ipn_data['country'] = ''; $ipn_data['payment_button_id'] = $button_id; $ipn_data['is_live'] = ! $sandbox_enabled; // Handle the membership signup related tasks. swpm_handle_subsc_signup_stand_alone( $ipn_data, $membership_level_id, $txn_id, $swpm_id ); // Save the transaction record SwpmTransactions::save_txn_record( $ipn_data ); SwpmLog::log_simple_debug( 'Transaction data saved.', true ); // Trigger the stripe IPN processed action hook (so other plugins can can listen for this event). do_action( 'swpm_stripe_ipn_processed', $ipn_data ); do_action( 'swpm_payment_ipn_processed', $ipn_data ); // Redirect the user to the return URL (or to the homepage if a return URL is not specified for this payment button). $return_url = get_post_meta( $button_id, 'return_url', true ); if ( empty( $return_url ) ) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } SwpmLog::log_simple_debug( 'Redirecting customer to: ' . $return_url, true ); SwpmLog::log_simple_debug( 'End of Stripe subscription IPN processing.', true, true ); SwpmMiscUtils::redirect_to_url( $return_url ); } } $swpm_stripe_subscription_ipn = new SwpmStripeSubscriptionIpnHandler(); ipn/swpm_handle_pp_ipn.php000064400000040242147206617610011725 0ustar00paypal_url = 'https://www.paypal.com/cgi-bin/webscr'; $this->ipn_log_file = 'ipn_handle_debug_swpm.log'; $this->ipn_response = ''; } public function swpm_validate_and_create_membership() { // Check Product Name , Price , Currency , Receivers email , $error_msg = ''; // Read the IPN and validate $gross_total = $this->ipn_data['mc_gross']; $transaction_type = $this->ipn_data['txn_type']; $txn_id = $this->ipn_data['txn_id']; $payment_status = $this->ipn_data['payment_status']; // Check payment status if ( ! empty( $payment_status ) ) { if ( 'Denied' == $payment_status ) { $this->debug_log( 'Payment status for this transaction is DENIED. You denied the transaction... most likely a cancellation of an eCheque. Nothing to do here.', false ); return false; } if ( 'Canceled_Reversal' === $payment_status ) { $this->debug_log( 'This is a dispute closed notification in your favour. The plugin will not do anyting.', false ); return true; } if ( 'Completed' !== $payment_status && 'Processed' !== $payment_status && 'Refunded' !== $payment_status && 'Reversed' !== $payment_status ) { $error_msg .= 'Funds have not been cleared yet. Transaction will be processed when the funds clear!'; $this->debug_log( $error_msg, false ); return false; } } // Check txn type if ( 'new_case' === $transaction_type ) { $this->debug_log( 'This is a dispute case. Nothing to do here.', true ); return true; } $custom = urldecode( $this->ipn_data['custom'] ); $this->ipn_data['custom'] = $custom; $customvariables = SwpmTransactions::parse_custom_var( $custom ); // Handle refunds if ( $gross_total < 0 ) { // This is a refund or reversal $this->debug_log( 'This is a refund notification. Refund amount: ' . $gross_total, true ); swpm_handle_subsc_cancel_stand_alone( $this->ipn_data, true ); return true; } if ( isset( $this->ipn_data['reason_code'] ) && 'refund' === $this->ipn_data['reason_code'] ) { $this->debug_log( 'This is a refund notification. Refund amount: ' . $gross_total, true ); swpm_handle_subsc_cancel_stand_alone( $this->ipn_data, true ); return true; } if ( ( 'subscr_signup' === $transaction_type ) ) { $this->debug_log( 'Subscription signup IPN received... (handled by the subscription IPN handler)', true ); // Code to handle the signup IPN for subscription $subsc_ref = $customvariables['subsc_ref']; if ( ! empty( $subsc_ref ) ) { $this->debug_log( 'Found a membership level ID. Creating member account...', true ); $swpm_id = $customvariables['swpm_id']; swpm_handle_subsc_signup_stand_alone( $this->ipn_data, $subsc_ref, $this->ipn_data['subscr_id'], $swpm_id ); // Handle customized subscription signup } return true; } elseif ( ( $transaction_type == 'subscr_cancel' ) || ( $transaction_type == 'subscr_eot' ) || ( $transaction_type == 'subscr_failed' ) ) { // Code to handle the IPN for subscription cancellation $this->debug_log( 'Subscription cancellation IPN received... (handled by the subscription IPN handler)', true ); swpm_handle_subsc_cancel_stand_alone( $this->ipn_data ); return true; } else { $cart_items = array(); $this->debug_log( 'Transaction Type: Buy Now/Subscribe', true ); $item_number = $this->ipn_data['item_number']; $item_name = $this->ipn_data['item_name']; $quantity = $this->ipn_data['quantity']; $mc_gross = $this->ipn_data['mc_gross']; $mc_currency = $this->ipn_data['mc_currency']; $current_item = array( 'item_number' => $item_number, 'item_name' => $item_name, 'quantity' => $quantity, 'mc_gross' => $mc_gross, 'mc_currency' => $mc_currency, ); array_push( $cart_items, $current_item ); } /*** Duplicate IPN check ***/ // Query the DB to check if we have already processed this transaction or not $txn_row = SwpmTransactions::get_transaction_row_by_txn_id($txn_id); // And if we have already processed it, do nothing and return true if (!empty($txn_row)) { $this->debug_log( "This transaction has already been processed (".$txn_id."). Nothing to do here.", true ); return true; } /*** End of duplicate IPN check ***/ $counter = 0; foreach ( $cart_items as $current_cart_item ) { $cart_item_data_num = $current_cart_item['item_number']; $cart_item_data_name = trim( $current_cart_item['item_name'] ); $cart_item_data_quantity = $current_cart_item['quantity']; $cart_item_data_total = $current_cart_item['mc_gross']; $cart_item_data_currency = $current_cart_item['mc_currency']; if ( empty( $cart_item_data_quantity ) ) { $cart_item_data_quantity = 1; } $this->debug_log( 'Item Number: ' . $cart_item_data_num, true ); $this->debug_log( 'Item Name: ' . $cart_item_data_name, true ); $this->debug_log( 'Item Quantity: ' . $cart_item_data_quantity, true ); $this->debug_log( 'Item Total: ' . $cart_item_data_total, true ); $this->debug_log( 'Item Currency: ' . $cart_item_data_currency, true ); // Get the button id $pp_hosted_button = false; $button_id = $cart_item_data_num;// Button id is the item number. $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); if ( ! SwpmUtils::membership_level_id_exists( $membership_level_id ) ) { $this->debug_log( 'This payment button was not created in the plugin. This is a paypal hosted button.', true ); $pp_hosted_button = true; } // Price check $check_price = true; $msg = ''; $msg = apply_filters( 'swpm_before_price_check_filter', $msg, $current_cart_item ); if ( ! empty( $msg ) && $msg == 'price-check-override' ) {// This filter allows an extension to do a customized version of price check (if needed) $check_price = false; $this->debug_log( 'Price and currency check has been overridden by an addon/extension.', true ); } if ( $check_price && ! $pp_hosted_button ) { // Check according to buy now payment or subscription payment. $button_type = get_post_meta( $button_id, 'button_type', true ); if ( $button_type == 'pp_buy_now' ) {// This is a PayPal buy now type button $expected_amount = ( get_post_meta( $button_id, 'payment_amount', true ) ) * $cart_item_data_quantity; $expected_amount = round( $expected_amount, 2 ); $expected_amount = apply_filters( 'swpm_payment_amount_filter', $expected_amount, $button_id ); $received_amount = $cart_item_data_total; if ( $received_amount < $expected_amount ) { // Error! amount received is less than expected. This is invalid. $this->debug_log( 'Expected amount: ' . $expected_amount, true ); $this->debug_log( 'Received amount: ' . $received_amount, true ); $this->debug_log( 'Price check failed. Amount received is less than the amount expected. This payment will not be processed.', false ); return false; } } elseif ( $button_type == 'pp_subscription' ) {// This is a PayPal subscription type button //This is a "subscr_payment" type payment notification. The "subscr_signup" type gets handled before. $trial_billing_cycle = get_post_meta( $button_id, 'trial_billing_cycle', true ); $trial_billing_amount = get_post_meta( $button_id, 'trial_billing_amount', true ); $billing_amount = get_post_meta( $button_id, 'billing_amount', true ); if ( empty( $trial_billing_cycle ) ){ //No trial billing. Check main billing amount. Only need to check "mc_gross" which should cointain the "amount3" value. $this->debug_log( 'Trial billing is not enabled for this button.', true ); $expected_amount = round( $billing_amount, 2 ); } else { //Trial billing is specified for this button $this->debug_log( 'Trial billing is enabled for this button.', true ); if ( swpm_is_paypal_recurring_payment($this->ipn_data) ){ //This is a recurring payment of a subscription. $expected_amount = round( $billing_amount, 2 ); } else { //This is a trial payment of a subscription $expected_amount = round( $trial_billing_amount, 2 ); } } $received_amount = $cart_item_data_total; if ( $received_amount < $expected_amount ) { // Error! amount received is less than expected. This is invalid. $this->debug_log( 'Expected amount: ' . $expected_amount, true ); $this->debug_log( 'Received amount: ' . $received_amount, true ); $this->debug_log( 'Price check failed. Amount received is less than the amount expected. This payment will not be processed.', false ); return false; } } else { $this->debug_log( 'Error! Unexpected button type: ' . $button_type, false ); return false; } } // *** Handle Membership Payment *** // -------------------------------------------------------------------------------------- // ========= Need to find the (level ID) in the custom variable ============ $subsc_ref = $customvariables['subsc_ref'];// Membership level ID $this->debug_log( 'Membership payment paid for membership level ID: ' . $subsc_ref, true ); if ( ! empty( $subsc_ref ) ) { $swpm_id = ''; if ( isset( $customvariables['swpm_id'] ) ) { $swpm_id = $customvariables['swpm_id']; } if ( $transaction_type == 'web_accept' ) { $this->debug_log( 'Transaction type: web_accept. Creating member account...', true ); swpm_handle_subsc_signup_stand_alone( $this->ipn_data, $subsc_ref, $this->ipn_data['txn_id'], $swpm_id ); } elseif ( $transaction_type == 'subscr_payment' ) { $this->debug_log( 'Transaction type: subscr_payment. Checking if the member profile needed to be updated', true ); swpm_update_member_subscription_start_date_if_applicable( $this->ipn_data ); } } else { $this->debug_log( 'Membership level ID is missing in the payment notification! Cannot process this notification.', false ); } // == End of Membership payment handling == $counter++; } /*** Do Post payment operation and cleanup */ // Save the transaction data $this->debug_log( 'Saving transaction data to the database table.', true ); $this->ipn_data['gateway'] = 'paypal'; $this->ipn_data['payment_button_id'] = $button_id; $this->ipn_data['status'] = $this->ipn_data['payment_status']; // If the value ipn_data['ip'] is empty, try to detect the customer IP address using the variable custom['user_ip'] if (empty($this->ipn_data['ip']) && filter_var($customvariables['user_ip'], FILTER_VALIDATE_IP)) { $this->ipn_data['ip'] = $customvariables['user_ip']; } SwpmTransactions::save_txn_record( $this->ipn_data, $cart_items ); $this->debug_log( 'Transaction data saved.', true ); // Trigger the PayPal IPN processed action hook (so other plugins can can listen for this event). do_action( 'swpm_paypal_ipn_processed', $this->ipn_data ); do_action( 'swpm_payment_ipn_processed', $this->ipn_data ); return true; } public function swpm_validate_ipn() { // Generate the post string from the _POST vars aswell as load the _POST vars into an arry $post_string = ''; foreach ( $_POST as $field => $value ) { $this->ipn_data[ "$field" ] = $value; $post_string .= $field . '=' . urlencode( stripslashes( $value ) ) . '&'; } $this->post_string = $post_string; $this->debug_log( 'Post string : ' . $this->post_string, true ); // IPN validation check if ( $this->validate_ipn_using_remote_post() ) { // We can also use an alternative validation using the validate_ipn_using_curl() function return true; } else { return false; } } public function validate_ipn_using_remote_post() { $this->debug_log( 'Checking if PayPal IPN response is valid', true ); // Get received values from post data $validate_ipn = array( 'cmd' => '_notify-validate' ); $validate_ipn += wp_unslash( $_POST ); // Send back post vars to paypal $params = array( 'body' => $validate_ipn, 'timeout' => 60, 'httpversion' => '1.1', 'compress' => false, 'decompress' => false, 'user-agent' => 'Simple Membership Plugin', ); // Post back to get a response. $connection_url = $this->sandbox_mode ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr'; $this->debug_log( 'Connecting to: ' . $connection_url, true ); $response = wp_safe_remote_post( $connection_url, $params ); // The following two lines can be used for debugging // $this->debug_log( 'IPN Request: ' . print_r( $params, true ) , true); // $this->debug_log( 'IPN Response: ' . print_r( $response, true ), true); // Check to see if the request was valid. if ( ! is_wp_error( $response ) && strstr( $response['body'], 'VERIFIED' ) ) { $this->debug_log( 'IPN successfully verified.', true ); return true; } // Invalid IPN transaction. Check the log for details. $this->debug_log( 'IPN validation failed.', false ); if ( is_wp_error( $response ) ) { $this->debug_log( 'Error response: ' . $response->get_error_message(), false ); } return false; } public function debug_log( $message, $success, $end = false ) { SwpmLog::log_simple_debug( $message, $success, $end ); } } // Start of IPN handling (script execution) $ipn_handler_instance = new swpm_paypal_ipn_handler(); $settings = SwpmSettings::get_instance(); $debug_enabled = $settings->get_value( 'enable-debug' ); if ( ! empty( $debug_enabled ) ) { $debug_log = 'log.txt'; // Debug log file name echo esc_html( sprintf( 'Debug logging is enabled. Check the %s file for debug output.', $debug_log ) ); $ipn_handler_instance->ipn_log = true; $ipn_handler_instance->ipn_log_file = $debug_log; if ( empty( $_POST ) ) { $ipn_handler_instance->debug_log( 'This debug line was generated because you entered the URL of the ipn handling script in the browser.', true, true ); exit; } } $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); if ( ! empty( $sandbox_enabled ) ) { $ipn_handler_instance->paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr'; $ipn_handler_instance->sandbox_mode = true; } $ipn_handler_instance->debug_log( 'Paypal Class Initiated by ' . $_SERVER['REMOTE_ADDR'], true ); // Validate the IPN if ( $ipn_handler_instance->swpm_validate_ipn() ) { $ipn_handler_instance->debug_log( 'Creating product Information to send.', true ); if ( ! $ipn_handler_instance->swpm_validate_and_create_membership() ) { $ipn_handler_instance->debug_log( 'IPN product validation failed.', false ); } } $ipn_handler_instance->debug_log( 'Paypal class finished.', true, true ); ipn/swpm-braintree-buy-now-ipn.php000064400000016720147206617610013204 0ustar00handle_braintree_ipn(); } public function handle_braintree_ipn() { SwpmLog::log_simple_debug("Braintree Buy Now IPN received. Processing request...", true); //SwpmLog::log_simple_debug(print_r($_REQUEST, true), true);//Useful for debugging purpose //Include the Braintree library. require_once(SIMPLE_WP_MEMBERSHIP_PATH . 'lib/braintree/lib/autoload.php'); //Read and sanitize the request parameters. $button_id = filter_input(INPUT_POST, 'item_number', FILTER_SANITIZE_NUMBER_INT); $button_title = sanitize_text_field($_POST['item_name']); $payment_amount = sanitize_text_field($_POST['item_price']); //Retrieve the CPT for this button $button_cpt = get_post($button_id); if (!$button_cpt) { //Fatal error. Could not find this payment button post object. SwpmLog::log_simple_debug("Fatal Error! Failed to retrieve the payment button post object for the given button ID: " . $button_id, false); wp_die("Fatal Error! Payment button (ID: " . $button_id . ") does not exist. This request will fail."); } $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); //Validate and verify some of the main values. $true_payment_amount = get_post_meta($button_id, 'payment_amount', true); $true_payment_amount = apply_filters('swpm_payment_amount_filter',$true_payment_amount,$button_id); if ($payment_amount != $true_payment_amount) { //Fatal error. Payment amount may have been tampered with. $error_msg = 'Fatal Error! Received payment amount (' . $payment_amount . ') does not match with the original amount (' . $true_payment_amount . ')'; SwpmLog::log_simple_debug($error_msg, false); wp_die($error_msg); } //Validation passed. Go ahead with the charge. //Sandbox and other settings $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); if ($sandbox_enabled) { SwpmLog::log_simple_debug("Sandbox payment mode is enabled. Using sandbox enviroment.", true); $braintree_env = "sandbox"; //Use sandbox environment } else { $braintree_env = "production"; //Use production environment } //Set Braintree library environment and keys try { Braintree_Configuration::environment($braintree_env); Braintree_Configuration::merchantId(get_post_meta($button_id, 'braintree_merchant_acc_id', true)); Braintree_Configuration::publicKey(get_post_meta($button_id, 'braintree_public_key', true)); Braintree_Configuration::privateKey(get_post_meta($button_id, 'braintree_private_key', true)); $braintree_merc_acc_name = get_post_meta($button_id, 'braintree_merchant_acc_name', true); // Create the charge on Braintree's servers - this will charge the user's card $nonce = sanitize_text_field($_POST['payment_method_nonce']); $first_name= sanitize_text_field( $_POST['first_name'] ); $last_name= sanitize_text_field( $_POST['last_name'] ); $email= sanitize_text_field( $_POST['member_email'] ); $customer = array( 'firstName' => $first_name, 'lastName' => $last_name, 'email' => $email ); $result = Braintree_Transaction::sale([ 'amount' => $payment_amount, 'paymentMethodNonce' => $nonce, 'channel' => 'TipsandTricks_SP', 'customer' => $customer, 'options' => [ 'submitForSettlement' => True ], 'merchantAccountId' => $braintree_merc_acc_name, ]); } catch (Exception $e) { SwpmLog::log_simple_debug("Braintree library error occurred: " . get_class($e) . ", button ID: " . $button_id, false); wp_die('Braintree library error occurred: ' . get_class($e)); } if (!$result->success) { SwpmLog::log_simple_debug("Braintree transaction error occurred: " . $result->transaction->status . ", message: ".$result->message." , button ID: " . $button_id, false); wp_die("Braintree transaction error occurred: " . $result->transaction->status); } else { //Everything went ahead smoothly with the charge. SwpmLog::log_simple_debug("Braintree Buy Now charge successful.", true); //Grab the transaction ID. $txn_id = $result->transaction->id; //$charge->balance_transaction; $custom = sanitize_text_field($_POST['custom']); $custom_var = SwpmTransactions::parse_custom_var($custom); $swpm_id = isset($custom_var['swpm_id']) ? $custom_var['swpm_id'] : ''; //Create the $ipn_data array. $ipn_data = array(); $ipn_data['mc_gross'] = $payment_amount; $ipn_data['first_name'] = sanitize_text_field($_POST['first_name']); $ipn_data['last_name'] = sanitize_text_field($_POST['last_name']); $ipn_data['payer_email'] = filter_input(INPUT_POST, 'member_email', FILTER_SANITIZE_EMAIL); $ipn_data['membership_level'] = $membership_level_id; $ipn_data['txn_id'] = $txn_id; $ipn_data['subscr_id'] = $txn_id; $ipn_data['swpm_id'] = $swpm_id; $ipn_data['ip'] = $custom_var['user_ip']; $ipn_data['custom'] = $custom; $ipn_data['gateway'] = 'braintree'; $ipn_data['status'] = 'completed'; $ipn_data['address_street'] = ''; $ipn_data['address_city'] = ''; $ipn_data['address_state'] = ''; $ipn_data['address_zipcode'] = ''; $ipn_data['country'] = ''; //Handle the membership signup related tasks. swpm_handle_subsc_signup_stand_alone($ipn_data, $membership_level_id, $txn_id, $swpm_id); //Save the transaction record SwpmTransactions::save_txn_record($ipn_data); SwpmLog::log_simple_debug('Transaction data saved.', true); //Trigger the stripe IPN processed action hook (so other plugins can can listen for this event). do_action('swpm_braintree_ipn_processed', $ipn_data); do_action('swpm_payment_ipn_processed', $ipn_data); //Redirect the user to the return URL (or to the homepage if a return URL is not specified for this payment button). $return_url = get_post_meta($button_id, 'return_url', true); if (empty($return_url)) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } SwpmLog::log_simple_debug("Redirecting customer to: " . $return_url, true); SwpmLog::log_simple_debug("End of Braintree Buy Now IPN processing.", true, true); SwpmMiscUtils::redirect_to_url($return_url); } } } $swpm_braintree_buy_ipn = new SwpmBraintreeBuyNowIpnHandler(); ipn/index.html000064400000000000147206617610007327 0ustar00views/add.php000064400000015076147206617610007165 0ustar00 array('extraData' => '&action=swpm_validate_email&member_id=' . filter_input(INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT)))); $settings = SwpmSettings::get_instance(); $force_strong_pass = $settings->get_value('force-strong-passwords'); if (!empty($force_strong_pass)) { $pass_class = apply_filters( "swpm_registration_strong_pass_validation", "validate[required,custom[strongPass],minSize[8]]" ); } else { $pass_class = ""; } // Filter allowing to change the default value of user_name $user_name = apply_filters('swpm_registration_form_set_username', $user_name); ?>
> > > > get_value('enable-terms-and-conditions'); if (!empty($terms_enabled)) { $terms_page_url = $settings->get_value('terms-and-conditions-page-url'); ?> get_value('enable-privacy-policy'); if (!empty($pp_enabled)) { $pp_page_url = $settings->get_value('privacy-policy-page-url'); ?>
/>
'; //Add the level input verification data. $swpm_p_key = get_option('swpm_private_key_one'); if (empty($swpm_p_key)) { $swpm_p_key = uniqid('', true); update_option('swpm_private_key_one', $swpm_p_key); } $swpm_level_hash = md5($swpm_p_key . '|' . $membership_level); //level hash echo ''; ?>
views/forgot_password.php000064400000003373147206617610011654 0ustar00get_value('use-new-form-ui'); if ( !empty( $render_new_form_ui ) ){ $pass_reset_submit_class .= ' swpm-submit-btn-default-style'; } ?>
views/admin_add.php000064400000010101147206617610010315 0ustar00
>



'createswpmusersub')); ?>
views/admin_membership_manage.php000064400000003044147206617610013240 0ustar00


Content protection example usage
views/edit-v2.php000064400000031141147206617610007676 0ustar00userData; $user_data['membership_level_alias'] = $auth->get('alias'); extract($user_data, EXTR_SKIP); $settings = SwpmSettings::get_instance(); $force_strong_pass = $settings->get_value('force-strong-passwords'); $custom_pass_pattern_validator = ""; $custom_pass_pattern_validator_msg = ""; $custom_pass_min_length_validator = null; $custom_pass_min_length_validator_msg = ""; if (!empty($force_strong_pass)) { // Leaving the value empty will take the default strong password validation rule and its message. // filters for password pattern customization. $custom_pass_pattern_validator = apply_filters( "swpm_profile_pass_pattern_validation", "" ); $custom_pass_pattern_validator_msg = apply_filters( "swpm_profile_pass_pattern_validation_msg", "" ); // filters for password min length customization. $custom_pass_min_length_validator = apply_filters( "swpm_profile_pass_min_length_validation", null ); $custom_pass_min_length_validator_msg = apply_filters( "swpm_profile_pass_min_length_validation_msg", "" ); } $form_id = "swpm-profile-form"; $is_strong_password_enabled = empty($force_strong_pass) ? 'false' : 'true'; SimpleWpMembership::enqueue_validation_scripts_v2( "swpm-profile-form-validator", array( 'query_args' => array( 'member_id' => filter_input(INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT), 'nonce' => wp_create_nonce('swpm-rego-form-ajax-nonce'), ), 'form_id' => $form_id, 'is_strong_password_enabled' => $is_strong_password_enabled, 'custom_pass_pattern_validator' => $custom_pass_pattern_validator, 'custom_pass_pattern_validator_msg' => $custom_pass_pattern_validator_msg, 'custom_pass_min_length_validator' => $custom_pass_min_length_validator, 'custom_pass_min_length_validator_msg' => $custom_pass_min_length_validator_msg, ) ); ?>
>
>
>
>
>
>
>
>
>
>
>
views/admin_member_form_common_part.php000064400000007524147206617610014474 0ustar00

views/admin_edit_v2.php000064400000037536147206617610011146 0ustar00 array( 'member_id' => $member_id, 'nonce' => wp_create_nonce('swpm-rego-form-ajax-nonce'), ), 'form_id' => $form_id, ) ); $is_attached_subscription_canceled = SwpmMemberUtils::get_subscription_data_extra_info($member_id, 'subscription_status') === 'inactive'; //Get the current expiry date based on the membership level of this member. $member_current_expiry_date = SwpmMemberUtils::get_formatted_expiry_date_by_user_id($member_id); ?>
>

This user account registration is not complete yet. The member needs to click on the unique registration completion link (sent to his email) and complete the registration by choosing a username and password.


You can go to the Tools Interface and generate another unique "Registration Completion" link then send the link to the user. Alternatively, you can use that link yourself and complete the registration on behalf of the user.


If you suspect that this user has lost interest in becoming a member then you can delete this member record.

'; echo '

' . 'Error! This user\'s membership level is not set. Please select a membership level and save the record.' . '

'; echo '

'; echo 'If member accounts are created without a level, that indicates a problem in your setup. Please review your '; echo 'registration setup.'; echo '

'; echo ''; } ?>

.

this documentation.', 'simple-membership'); ?>

'; print_r($unserialized_extra_info); echo ''; //echo esc_attr($extra_info); ?>

'createswpmusersub')); ?> '; echo '' . __('Delete User Profile', 'simple-membership') . ''; echo '
'; ?>
views/join_us.php000064400000000000147206617610010060 0ustar00views/admin_addon_settings.php000064400000001040147206617610012574 0ustar00

views/edit.php000064400000015656147206617610007366 0ustar00userData; $user_data['membership_level_alias'] = $auth->get('alias'); extract($user_data, EXTR_SKIP); $settings=SwpmSettings::get_instance(); $force_strong_pass=$settings->get_value('force-strong-passwords'); if (!empty($force_strong_pass)) { $pass_class = apply_filters( "swpm_profile_strong_pass_validation", "validate[custom[strongPass],minSize[8]]" ); } else { $pass_class=""; } SimpleWpMembership::enqueue_validation_scripts(); //The admin ajax causes an issue with the JS validation if done on form submission. The edit profile doesn't need JS validation on email. There is PHP validation which will catch any email error. //SimpleWpMembership::enqueue_validation_scripts(array('ajaxEmailCall' => array('extraData'=>'&action=swpm_validate_email&member_id='.SwpmAuth::get_instance()->get('member_id')))); ?>
> > > > > > > > > > >

views/admin_edit_level.php000064400000022717147206617610011721 0ustar00get_value( 'default-account-status' ) == 'pending' && checked($email_activation, true, false) ? true : false; ?>
>

' . __('this documentation', 'simple-membership') . ''; echo __(' to learn how a membership level works.', 'simple-membership'); ?>

'; echo __('You are currently editing: ', 'simple-membership'); echo esc_attr(stripslashes($alias)); echo __(' (Level ID: ', 'simple-membership') . esc_attr($id) . ')'; echo '

'; ?>

value="" name="subscription_duration_type" />

value="" name="subscription_duration_type" /> " name="subscription_period_">

value="" name="subscription_duration_type" /> " name="subscription_period_">

value="" name="subscription_duration_type" /> " name="subscription_period_">

value="" name="subscription_duration_type" /> " name="subscription_period_">

value="" name="subscription_duration_type" /> " name="subscription_period_" id="subscription_period_">

' . __('View Documentation', 'simple-membership') . '.'; ?>

>

' . SwpmUtils::_('View Documentation') . '.'; ?> '.SwpmUtils::_('Note:').' '.SwpmUtils::_('If enabled, decryptable member password is temporarily stored in the database until the account is activated.'); ?>


'editswpmlevelsub' ) ); ?>
views/admin_members_list.php000064400000012140147206617610012257 0ustar00delete(); $success_msg = '

'; $success_msg .= SwpmUtils::_('The selected entry was deleted!'); $success_msg .= '

'; echo $success_msg; } $this->prepare_items(); $count = $this->get_user_count_by_account_state(); global $wpdb; $query = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id !=1 "; $levels = $wpdb->get_results($query, ARRAY_A); $account_state = isset($_GET['status']) ? sanitize_text_field($_GET['status']) : ''; $membership_level = filter_input(INPUT_GET, 'membership_level', FILTER_SANITIZE_NUMBER_INT); ?>
display(); ?>

views/account_delete_warning.php000064400000001717147206617610013135 0ustar00 ' . $msg . '

'; ?>

views/admin_add_level.php000064400000015246147206617610011523 0ustar00

' . __('this documentation', 'simple-membership') . ''; echo __(' to learn how a membership level works.', 'simple-membership'); ?>

)

' . __('View Documentation', 'simple-membership') . '.'; ?>

' . SwpmUtils::_('View Documentation') . '.'; ?> '.SwpmUtils::_('Note:').' '.SwpmUtils::_('If enabled, the member\'s decryptable password is temporarily stored in the database until the account is activated.'); ?>


'createswpmlevelsub' ) ); ?>
views/admin_add_v2.php000064400000013326147206617610010740 0ustar00 array( 'member_id' => filter_input(INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT), 'nonce' => wp_create_nonce('swpm-rego-form-ajax-nonce'), ), 'form_id' => $form_id, ) ); ?>
>

'createswpmusersub')); ?>
views/add-v2.php000064400000025621147206617610007507 0ustar00get_value('force-strong-passwords'); $custom_pass_pattern_validator = ""; $custom_pass_pattern_validator_msg = ""; $custom_pass_min_length_validator = null; $custom_pass_min_length_validator_msg = ""; if (!empty($force_strong_pass)) { // Leaving the value empty will take the default strong password validation rule and its message. // filters for password pattern customization. $custom_pass_pattern_validator = apply_filters( "swpm_reg_pass_pattern_validation", "" ); $custom_pass_pattern_validator_msg = apply_filters( "swpm_reg_pass_pattern_validation_msg", "" ); // filters for password min length customization. $custom_pass_min_length_validator = apply_filters( "swpm_reg_pass_min_length_validation", null ); $custom_pass_min_length_validator_msg = apply_filters( "swpm_reg_pass_min_length_validation_msg", "" ); } $terms_enabled = $settings->get_value('enable-terms-and-conditions'); $pp_enabled = $settings->get_value('enable-privacy-policy'); // Filter allowing to change the default value of user_name. $user_name = apply_filters('swpm_registration_form_set_username', $user_name); // $form_id = uniqid("swpm-registration-form-"); $form_id = "swpm-registration-form"; // Let javascript know that the fields are enabled and need to be validated. $is_terms_enabled = empty($terms_enabled) ? 'false' : 'true'; $is_pp_enabled = empty($pp_enabled) ? 'false' : 'true'; $is_strong_password_enabled = empty($force_strong_pass) ? 'false' : 'true'; SimpleWpMembership::enqueue_validation_scripts_v2( 'swpm-reg-form-validator', array( 'query_args' => array( 'member_id' => filter_input(INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT), 'nonce' => wp_create_nonce('swpm-rego-form-ajax-nonce'), ), 'form_id' => $form_id, 'is_terms_enabled' => $is_terms_enabled, 'is_pp_enabled' => $is_pp_enabled, 'is_strong_password_enabled' => $is_strong_password_enabled, 'custom_pass_pattern_validator' => $custom_pass_pattern_validator, 'custom_pass_pattern_validator_msg' => $custom_pass_pattern_validator_msg, 'custom_pass_min_length_validator' => $custom_pass_min_length_validator, 'custom_pass_min_length_validator_msg' => $custom_pass_min_length_validator_msg, ) ); ?>
>
/>
>
>
>
'; //Add the level input verification data. $swpm_p_key = get_option('swpm_private_key_one'); if (empty($swpm_p_key)) { $swpm_p_key = uniqid('', true); update_option('swpm_private_key_one', $swpm_p_key); } $swpm_level_hash = md5($swpm_p_key . '|' . $membership_level); //level hash echo ''; ?>
get_value('terms-and-conditions-page-url'); ?>
get_value('privacy-policy-page-url'); ?>
views/admin_edit.php000064400000031514147206617610010525 0ustar00 array('extraData'=>'&action=swpm_validate_email&member_id='.$member_id))); $is_attached_subscription_canceled = SwpmMemberUtils::get_subscription_data_extra_info($member_id, 'subscription_status') === 'inactive'; //Get the current expiry date based on the membership level of this member. $member_current_expiry_date = SwpmMemberUtils::get_formatted_expiry_date_by_user_id($member_id); ?>
>

This user account registration is not complete yet. The member needs to click on the unique registration completion link (sent to his email) and complete the registration by choosing a username and password.


You can go to the Tools Interface and generate another unique "Registration Completion" link then send the link to the user. Alternatively, you can use that link yourself and complete the registration on behalf of the user.


If you suspect that this user has lost interest in becoming a member then you can delete this member record.



'; echo '

' . 'Error! This user\'s membership level is not set. Please select a membership level and save the record.' . '

'; echo '

'; echo 'If member accounts are created without a level, that indicates a problem in your setup. Please review your '; echo 'registration setup.'; echo '

'; echo ''; } ?>

.

this documentation.', 'simple-membership'); ?>

'createswpmusersub' ) ); ?> '; echo ''.SwpmUtils::_('Delete User Profile').''; echo '
'; ?>
views/admin_post_list.php000064400000005777147206617610011634 0ustar00


prepare_items(); ?> display(); ?>
views/admin_settings.php000064400000001551147206617610011436 0ustar00
views/payments/admin_payment_buttons.php000064400000002007147206617610014666 0ustar00
prepare_items(); ?>
display(); ?>

views/payments/admin_all_payment_transactions.php000064400000005057147206617610016540 0ustar00



delete_record($post_id); if ($result) { $success_msg = '

'; $success_msg .= __('The selected entry was deleted!', 'simple-membership'); $success_msg .= '

'; echo $success_msg; } break; default: break; } } //Fetch, prepare, sort, and filter our data... $payments_list_table->prepare_items(); ?>
display(); ?>

views/payments/admin_edit_transaction.php000064400000025430147206617610014772 0ustar00ID, 'first_name', $first_name); } if (isset($_POST['swpm_txn_last_name']) && $_POST['swpm_txn_last_name'] != '') { $last_name = sanitize_text_field($_POST['swpm_txn_last_name']); update_post_meta($post->ID, 'last_name', $last_name); } if (isset($_POST['swpm_txn_email_address']) && $_POST['swpm_txn_email_address'] != '') { $email_address = sanitize_text_field($_POST['swpm_txn_email_address']); update_post_meta($post->ID, 'email', $email_address); } if (isset($_POST['swpm_txn_ipaddress']) && $_POST['swpm_txn_ipaddress'] != '') { $ip_address = sanitize_text_field($_POST['swpm_txn_ipaddress']); update_post_meta($post->ID, 'ip_address', $ip_address); } if (isset($_POST['swpm_txn_payment_amount']) && !empty($_POST['swpm_txn_payment_amount'])) { $payment_amount = sanitize_text_field($_POST['swpm_txn_payment_amount']); // Validate if value is a float if (!empty(floatval($payment_amount))) { update_post_meta($post->ID, 'payment_amount', $payment_amount); } } if (isset($_POST['swpm_txn_discount_amount']) && !empty($_POST['swpm_txn_discount_amount'])) { $discount_amount = sanitize_text_field($_POST['swpm_txn_discount_amount']); // Validate if value is a float if (!empty(floatval($discount_amount))) { update_post_meta($post->ID, 'discount_amount', $discount_amount); } } if (isset($_POST['swpm_txn_reference']) && $_POST['swpm_txn_reference'] != '') { $reference = sanitize_text_field($_POST['swpm_txn_reference']); update_post_meta($post->ID, 'reference', $reference); } echo '

'; _e('Transaction data updated successfully. ', 'simple-membership'); echo ''. __('View all transactions', 'simple-membership') .''; echo '

'; SwpmLog::log_simple_debug("Transaction data updated successfully.", true); // $redirect_to = admin_url(). "/admin.php?page=simple_wp_membership_payments"; // SwpmMiscUtils::redirect_to_url($redirect_to); } //Show the transaction edit from. swpm_show_edit_txn_form($post); } function swpm_show_edit_txn_form($post) { $post_id = $post->ID; $txn_date = get_post_meta($post_id, 'txn_date', true); $txn_id = get_post_meta($post_id, 'txn_id', true); $subscr_id = get_post_meta($post_id, 'subscr_id', true); if (empty($subscr_id)) { $subscr_id = '-'; } $email = get_post_meta($post_id, 'email', true); $first_name = get_post_meta($post_id, 'first_name', true); $last_name = get_post_meta($post_id, 'last_name', true); //Get the member ID that maybe associated with this transaction. $member_id = get_post_meta($post_id, 'member_id', true); if (empty($member_id) && !empty($subscr_id)){ //Try to get the member ID from the subscriber ID reference. $member_record = SwpmMemberUtils::get_user_by_subsriber_id( $subscr_id ); if ( $member_record ) { $member_id = $member_record->member_id; } } $profile_link_output = ''; if ( empty( $member_id ) ) { //If we still can't find the member ID, set it to a dash. The corresponding member profile may have been deleted. $member_id = '-'; } else { if( !SwpmMemberUtils::member_record_exists( $member_id ) ) { //Looks like the profile may have been deleted. Add a note to the profile link. $profile_link_output = ' ' . __('(Profile Deleted)', 'simple-membership') . ''; } else { //Generate the corresponding member profile view/edit link $profile_url = 'admin.php?page=simple_wp_membership&member_action=edit&member_id=' . esc_attr($member_id); $profile_link_output = '' . __('(View Profile)', 'simple-membership') . ''; } } $membership_level_link_output = ''; $membership_level_id = get_post_meta($post_id, 'membership_level', true); if (!empty($membership_level_id)) { //Get the membership level name. $membership_level_name = SwpmMembershipLevelUtils::get_membership_level_name_by_level_id($membership_level_id); //Generate the corresponding membership level view/edit link. $membership_level_url = 'admin.php?page=simple_wp_membership_levels&level_action=edit&id=' . esc_attr($membership_level_id); $membership_level_link_output = '' . __('(View Membership Level)', 'simple-membership') . ''; } else { $membership_level_name = '-'; } //We will use this field to save any additional note or reference for the transaction. $reference = get_post_meta($post_id, 'reference', true); $payment_amount = get_post_meta($post_id, 'payment_amount', true); $gateway = get_post_meta($post_id, 'gateway', true); if (!empty($gateway)) { $gateway = SwpmUtils::get_formatted_payment_gateway_name($gateway); } else { $gateway = '-'; } $status = get_post_meta($post_id, 'status', true); $ip_address = get_post_meta($post_id, 'ip_address', true); $payment_button_link_output = ''; $payment_button_id = get_post_meta($post_id, 'payment_button_id', true); if (empty($payment_button_id)) { $payment_button_id = '-'; } else { //Get the payment button type so we can link to the correct edit page for it to view the button configuration. $button_type = get_post_meta($payment_button_id, 'button_type', true); $payment_button_src = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=edit_button&button_id=' . esc_attr($payment_button_id) . '&button_type=' . esc_attr($button_type); $payment_button_link_output = '' . __('(View Button Configuration)', 'simple-membership') . ''; } $is_live = get_post_meta($post_id, 'is_live', true); if (!empty($is_live)) { $is_live = __("Yes", 'simple-membership'); } else { $is_live = __("No", 'simple-membership'); } $discount_amount = get_post_meta($post_id, 'discount_amount', true); if (empty($discount_amount)) { $discount_amount = floatval(0); } $custom = get_post_meta($post_id, 'custom', true); if (empty($custom)) { $custom = '-'; } ?>

0 ) { ?>


Payment Settings tab in the Payments menu. Click the link below to navigate to the new location.','simple-membership');?>

'; _e( 'You can add a new transaction record manually using this interface. It can be useful if you manually accept cash payment for your memberships.', 'simple-membership' ); echo '
'; if( isset( $_POST['swpm_add_new_txn_save_submit'] ) ){ //Check nonce first check_admin_referer( 'swpm_admin_add_new_txn_form_action', 'swpm_admin_add_new_txn_form_field' ); //let's also store transactions data in swpm_transactions CPT $post = array(); $post['post_title'] = ''; $post['post_status'] = 'publish'; $post['content'] = ''; $post['post_type'] = 'swpm_transactions'; $post_id = wp_insert_post( $post ); $current_date = SwpmUtils::get_current_date_in_wp_zone(); if (isset($_POST['email_address']) && $_POST['email_address'] != '') { $email_address = sanitize_text_field($_POST['email_address']); update_post_meta( $post_id, 'email', $email_address); } if (isset($_POST['first_name']) && $_POST['first_name'] != '') { $first_name = sanitize_text_field($_POST['first_name']); update_post_meta( $post_id, 'first_name', $first_name); } if (isset($_POST['last_name']) && $_POST['last_name'] != '') { $last_name = sanitize_text_field($_POST['last_name']); update_post_meta( $post_id, 'last_name', $last_name); } if (isset($_POST['member_id']) && $_POST['member_id'] != '') { $member_id = intval(sanitize_text_field($_POST['member_id'])); update_post_meta( $post_id, 'member_id', $member_id); } if (isset($_POST['membership_level_id']) && $_POST['membership_level_id'] != '') { $membership_level_id = intval(sanitize_text_field($_POST['membership_level_id'])); update_post_meta( $post_id, 'membership_level', $membership_level_id); } if (isset($_POST['payment_amount']) && !empty($_POST['payment_amount'])) { $payment_amount = sanitize_text_field($_POST['payment_amount']); // Validate if value is a float if (!empty(floatval($payment_amount))) { update_post_meta( $post_id, 'payment_amount', $payment_amount); } } if (isset($_POST['discount_amount']) && !empty($_POST['discount_amount'])) { $discount_amount = sanitize_text_field($_POST['discount_amount']); // Validate if value is a float if (!empty(floatval($discount_amount))) { update_post_meta( $post_id, 'discount_amount', $discount_amount); } } $txn_date = isset ( $_POST['txn_date'] ) ? sanitize_text_field( $_POST['txn_date' ] ) : $current_date; update_post_meta( $post_id, 'txn_date', $txn_date); $txn_id = isset ( $_POST['txn_id'] ) ? sanitize_text_field( $_POST['txn_id' ] ) : ''; update_post_meta( $post_id, 'txn_id', $txn_id); $subscr_id = isset ( $_POST['subscriber_id'] ) ? sanitize_text_field( $_POST['subscriber_id' ] ) : ''; update_post_meta( $post_id, 'subscr_id', $subscr_id); $txn_status = isset ( $_POST['txn_status'] ) ? sanitize_text_field( $_POST['txn_status' ] ) : ''; update_post_meta( $post_id, 'status', $txn_status); update_post_meta( $post_id, 'reference', ''); update_post_meta( $post_id, 'ip_address', ''); update_post_meta( $post_id, 'gateway', 'manual'); SwpmLog::log_simple_debug("Manual transaction added successfully.", true); echo '
'; _e('Manual transaction added successfully. ', 'simple-membership'); echo ''.__('View all transactions', 'wp-express-checkout').''; echo '
'; } else { //Show the form to add manual txn record swpm_show_add_new_txn_form(); } } function swpm_show_add_new_txn_form(){ ?>

'.__('Error! swpm_render_pp_buy_now_new_button_sc_output() function requires the button ID value to be passed to it.', 'simple-membership').'

'; } //Membership level for this button $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if (!SwpmUtils::membership_level_id_exists($membership_level_id)) { return '

'.__('Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.', 'simple-membership').'

'; } //Payment amount $payment_amount = get_post_meta($button_id, 'payment_amount', true); //Get the Item name for this button. This will be used as the item name in the IPN. $button_cpt = get_post($button_id); //Retrieve the CPT for this button $item_name = htmlspecialchars($button_cpt->post_title); $item_name = substr($item_name, 0, 127);//Limit the item name to 127 characters (PayPal limit) //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if (SwpmMemberUtils::is_member_logged_in()) { $member_id = SwpmMemberUtils::get_logged_in_members_id(); $custom_field_value .= '&swpm_id=' . $member_id; //$member_first_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'first_name'); //$member_last_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'last_name'); //$member_email = SwpmMemberUtils::get_member_field_by_id($member_id, 'email'); } $custom_field_value = apply_filters('swpm_custom_field_value_filter', $custom_field_value); /***************************************** * Settings and Button Specific Configuration *****************************************/ $settings = SwpmSettings::get_instance(); $live_client_id = $settings->get_value('paypal-live-client-id'); $sandbox_client_id = $settings->get_value('paypal-sandbox-client-id'); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); $is_live_mode = $sandbox_enabled ? 0 : 1; $currency = get_post_meta( $button_id, 'payment_currency', true ); $disable_funding_card = get_post_meta( $button_id, 'pp_buy_now_new_disable_funding_card', true ); $disable_funding_credit = get_post_meta( $button_id, 'pp_buy_now_new_disable_funding_credit', true ); $disable_funding_venmo = get_post_meta( $button_id, 'pp_buy_now_new_disable_funding_venmo', true ); $disable_funding = array(); if( !empty($disable_funding_card)){ $disable_funding[] = 'card'; } if( !empty($disable_funding_credit)){ $disable_funding[] = 'credit'; } if( !empty($disable_funding_venmo)){ $disable_funding[] = 'venmo'; } $btn_type = get_post_meta($button_id, 'pp_buy_now_new_btn_type', true); $btn_shape = get_post_meta($button_id, 'pp_buy_now_new_btn_shape', true); $btn_layout = get_post_meta($button_id, 'pp_buy_now_new_btn_layout', true); $btn_color = get_post_meta($button_id, 'pp_buy_now_new_btn_color', true); $btn_width = get_post_meta($button_id, 'pp_buy_now_new_btn_width', true); $btn_height = get_post_meta($button_id, 'pp_buy_now_new_btn_height', true); $btn_sizes = array( 'small' => 25, 'medium' => 35, 'large' => 45, 'xlarge' => 55 ); $btn_height = isset( $btn_sizes[ $btn_height ] ) ? $btn_sizes[ $btn_height ] : 35; $return_url = get_post_meta($button_id, 'return_url', true); $txn_success_message = __('Transaction completed successfully!', 'simple-membership'); /********************** * PayPal SDK Settings **********************/ //Configure the paypal SDK settings and enqueue the code for SDK loading. $settings_args = array( 'is_live_mode' => $is_live_mode, 'live_client_id' => $live_client_id, 'sandbox_client_id' => $sandbox_client_id, 'currency' => $currency, 'disable-funding' => $disable_funding, /*array('card', 'credit', 'venmo'),*/ 'intent' => 'capture', /* It is used to set the "intent" parameter in the JS SDK */ 'is_subscription' => 0, /* It is used to set the "vault" parameter in the JS SDK */ ); //Initialize and set the settings args that will be used to load the JS SDK. $pp_js_button = SWPM_PayPal_JS_Button_Embed::get_instance(); $pp_js_button->set_settings_args( $settings_args ); //Load the JS SDK on footer (so it only loads once per page) add_action( 'wp_footer', array($pp_js_button, 'load_paypal_sdk') ); //The on page embed button id is used to identify the button on the page. Useful when there are multiple buttons (of the same item/product) on the same page. $on_page_embed_button_id = $pp_js_button->get_next_button_id(); //Create nonce for this button. $wp_nonce = wp_create_nonce($on_page_embed_button_id); $swpm_button_wrapper_id = 'swpm-button-wrapper-'.$button_id; $output = ''; ob_start(); ?>
 

sanitize_text_field($_REQUEST['button_type']), ); render_save_edit_pp_smart_checkout_button_interface($bt_opts); } /* * *************************************************************** * Render edit PayPal Smart Checkout payment button interface * ************************************************************** */ add_action('swpm_edit_payment_button_for_pp_smart_checkout', 'swpm_edit_pp_smart_checkout_button'); function swpm_edit_pp_smart_checkout_button() { //Retrieve the payment button data and present it for editing. $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button = get_post($button_id); //Retrieve the CPT for this button //$button_image_url = get_post_meta($button_id, 'button_image_url', true); $bt_opts = array( 'button_id' => $button_id, 'button_type' => sanitize_text_field($_REQUEST['button_type']), 'button_name' => $button->post_title, 'membership_level_id' => get_post_meta($button_id, 'membership_level_id', true), 'payment_amount' => get_post_meta($button_id, 'payment_amount', true), 'payment_currency' => get_post_meta($button_id, 'payment_currency', true), 'pp_smart_checkout_live_id' => get_post_meta($button_id, 'pp_smart_checkout_live_id', true), 'pp_smart_checkout_live_sec' => get_post_meta($button_id, 'pp_smart_checkout_live_sec', true), 'pp_smart_checkout_test_id' => get_post_meta($button_id, 'pp_smart_checkout_test_id', true), 'pp_smart_checkout_test_sec' => get_post_meta($button_id, 'pp_smart_checkout_test_sec', true), 'pp_smart_checkout_btn_size' => get_post_meta($button_id, 'pp_smart_checkout_btn_size', true), 'pp_smart_checkout_btn_color' => get_post_meta($button_id, 'pp_smart_checkout_btn_color', true), 'pp_smart_checkout_btn_shape' => get_post_meta($button_id, 'pp_smart_checkout_btn_shape', true), 'pp_smart_checkout_btn_layout' => get_post_meta($button_id, 'pp_smart_checkout_btn_layout', true), 'pp_smart_checkout_payment_method_credit' => get_post_meta($button_id, 'pp_smart_checkout_payment_method_credit', true), 'pp_smart_checkout_payment_method_elv' => get_post_meta($button_id, 'pp_smart_checkout_payment_method_elv', true), 'return_url' => get_post_meta($button_id, 'return_url', true), ); render_save_edit_pp_smart_checkout_button_interface($bt_opts, true); } /* * Process submission and save the new or edit PayPal Smart Checkout payment button data */ add_action('swpm_create_new_button_process_submission', 'swpm_save_edit_pp_smart_checkout_button_data'); add_action('swpm_edit_payment_button_process_submission', 'swpm_save_edit_pp_smart_checkout_button_data'); //I've merged two (save and edit events) into one function swpm_save_edit_pp_smart_checkout_button_data() { $btn_size = isset($_POST['pp_smart_checkout_btn_size']) ? sanitize_text_field($_POST['pp_smart_checkout_btn_size']) : ''; $btn_color = isset($_POST['pp_smart_checkout_btn_color']) ? sanitize_text_field($_POST['pp_smart_checkout_btn_color']) : ''; $btn_shape = isset($_POST['pp_smart_checkout_btn_shape']) ? sanitize_text_field($_POST['pp_smart_checkout_btn_shape']) : ''; $btn_layout = isset($_POST['pp_smart_checkout_btn_layout']) ? sanitize_text_field($_POST['pp_smart_checkout_btn_layout']) : ''; $pm_credit = isset($_POST['pp_smart_checkout_payment_method_credit']) ? sanitize_text_field($_POST['pp_smart_checkout_payment_method_credit']) : ''; $pm_elv = isset($_POST['pp_smart_checkout_payment_method_elv']) ? sanitize_text_field($_POST['pp_smart_checkout_payment_method_elv']) : ''; if (isset($_REQUEST['swpm_pp_smart_checkout_save_submit'])) { //This is a PayPal Smart Checkout button save event. check_admin_referer( 'swpm_admin_add_edit_pp_smart_checkout_btn', 'swpm_admin_add_edit_pp_smart_checkout_btn' ); $button_id = wp_insert_post( array( 'post_title' => sanitize_text_field($_REQUEST['button_name']), 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish' ) ); $button_type = sanitize_text_field($_REQUEST['button_type']); add_post_meta($button_id, 'button_type', $button_type); add_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); add_post_meta($button_id, 'payment_amount', trim(sanitize_text_field($_REQUEST['payment_amount']))); add_post_meta($button_id, 'payment_currency', trim(sanitize_text_field($_REQUEST['payment_currency']))); add_post_meta($button_id, 'pp_smart_checkout_live_id', trim(sanitize_text_field($_REQUEST['pp_smart_checkout_live_id']))); add_post_meta($button_id, 'pp_smart_checkout_live_sec', trim(sanitize_text_field($_REQUEST['pp_smart_checkout_live_sec']))); add_post_meta($button_id, 'pp_smart_checkout_test_id', trim(sanitize_text_field($_REQUEST['pp_smart_checkout_test_id']))); add_post_meta($button_id, 'pp_smart_checkout_test_sec', trim(sanitize_text_field($_REQUEST['pp_smart_checkout_test_sec']))); add_post_meta($button_id, 'pp_smart_checkout_btn_size', $btn_size); add_post_meta($button_id, 'pp_smart_checkout_btn_color', $btn_color); add_post_meta($button_id, 'pp_smart_checkout_btn_shape', $btn_shape); add_post_meta($button_id, 'pp_smart_checkout_btn_layout', $btn_layout); add_post_meta($button_id, 'pp_smart_checkout_payment_method_credit', $pm_credit); add_post_meta($button_id, 'pp_smart_checkout_payment_method_elv', $pm_elv); add_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); //Redirect to the manage payment buttons interface $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=payment_buttons'; SwpmMiscUtils::redirect_to_url($url); } if (isset($_REQUEST['swpm_pp_smart_checkout_edit_submit'])) { //This is a PayPal Smart Checkout button edit event. check_admin_referer( 'swpm_admin_add_edit_pp_smart_checkout_btn', 'swpm_admin_add_edit_pp_smart_checkout_btn' ); $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button_type = sanitize_text_field($_REQUEST['button_type']); $button_name = sanitize_text_field($_REQUEST['button_name']); $button_post = array( 'ID' => $button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post($button_post); update_post_meta($button_id, 'button_type', $button_type); update_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); update_post_meta($button_id, 'payment_amount', trim(sanitize_text_field($_REQUEST['payment_amount']))); update_post_meta($button_id, 'payment_currency', trim(sanitize_text_field($_REQUEST['payment_currency']))); update_post_meta($button_id, 'pp_smart_checkout_live_id', trim(sanitize_text_field($_REQUEST['pp_smart_checkout_live_id']))); update_post_meta($button_id, 'pp_smart_checkout_live_sec', trim(sanitize_text_field($_REQUEST['pp_smart_checkout_live_sec']))); update_post_meta($button_id, 'pp_smart_checkout_test_id', trim(sanitize_text_field($_REQUEST['pp_smart_checkout_test_id']))); update_post_meta($button_id, 'pp_smart_checkout_test_sec', trim(sanitize_text_field($_REQUEST['pp_smart_checkout_test_sec']))); update_post_meta($button_id, 'pp_smart_checkout_btn_size', $btn_size); update_post_meta($button_id, 'pp_smart_checkout_btn_color', $btn_color); update_post_meta($button_id, 'pp_smart_checkout_btn_shape', $btn_shape); update_post_meta($button_id, 'pp_smart_checkout_btn_layout', $btn_layout); update_post_meta($button_id, 'pp_smart_checkout_payment_method_credit', $pm_credit); update_post_meta($button_id, 'pp_smart_checkout_payment_method_elv', $pm_elv); update_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); echo '

'. __('Payment button data successfully updated!', 'simple-membership'). '

'; } } views/payments/payment-gateway/admin_stripe_buy_now_button.php000064400000067617147206617610021234 0ustar00'; echo '

'.__('The Stripe payment gateway libary requires at least PHP 5.6.0. Your server is using a very old version of PHP that Stripe does not support.', 'simple-membership').'

'; echo '

'. __('Request your hosting provider to upgrade your PHP to a more recent version then you will be able to use the Stripe gateway.', 'simple-membership').'

'; echo ''; return; } ?>

  ', 'simple-membership') ?>

Payment Settings tab.' , 'simple-membership'); ?>

sanitize_text_field( $_REQUEST['button_name'] ), 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish', ) ); $button_type = sanitize_text_field( $_REQUEST['button_type'] ); add_post_meta( $button_id, 'button_type', $button_type ); add_post_meta( $button_id, 'membership_level_id', sanitize_text_field( $_REQUEST['membership_level_id'] ) ); add_post_meta( $button_id, 'payment_amount', trim( sanitize_text_field( $_REQUEST['payment_amount'] ) ) ); add_post_meta( $button_id, 'payment_currency', sanitize_text_field( $_REQUEST['payment_currency'] ) ); $stripe_test_secret_key = isset( $_POST['stripe_test_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_secret_key'] ) ) : ''; $stripe_test_publishable_key = isset( $_POST['stripe_test_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_publishable_key'] ) ) : ''; if ( ! is_null( $stripe_test_secret_key ) ) { update_post_meta( $button_id, 'stripe_test_secret_key', trim( $stripe_test_secret_key ) ); } if ( ! is_null( $stripe_test_publishable_key ) ) { update_post_meta( $button_id, 'stripe_test_publishable_key', trim( $stripe_test_publishable_key ) ); } $stripe_live_secret_key = isset( $_POST['stripe_live_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_secret_key'] ) ) : ''; $stripe_live_publishable_key = isset( $_POST['stripe_live_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_publishable_key'] ) ) : ''; if ( ! is_null( $stripe_live_secret_key ) ) { update_post_meta( $button_id, 'stripe_live_secret_key', trim( $stripe_live_secret_key ) ); } if ( ! is_null( $stripe_live_publishable_key ) ) { update_post_meta( $button_id, 'stripe_live_publishable_key', trim( $stripe_live_publishable_key ) ); } $stripe_use_global_keys = filter_input( INPUT_POST, 'stripe_use_global_keys', FILTER_SANITIZE_NUMBER_INT ); $stripe_use_global_keys = $stripe_use_global_keys ? true : false; update_post_meta( $button_id, 'stripe_use_global_keys', $stripe_use_global_keys ); add_post_meta( $button_id, 'stripe_collect_address', isset( $_POST['collect_address'] ) ? '1' : '' ); add_post_meta( $button_id, 'return_url', trim( sanitize_text_field( $_REQUEST['return_url'] ) ) ); add_post_meta( $button_id, 'button_image_url', esc_url( $_REQUEST['button_image_url'] ) ); //Redirect to the edit interface of this button with $button_id //$url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=edit_button&button_id=' . $button_id . '&button_type=' . $button_type; //Redirect to the manage payment buttons interface $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=payment_buttons'; SwpmMiscUtils::redirect_to_url( $url ); } } /* * ********************************************************************** * End of new Stripe Buy now payment button stuff * ********************************************************************** */ /* * *************************************************************** * Render edit Stripe Buy now payment button interface * ************************************************************** */ add_action( 'swpm_edit_payment_button_for_stripe_buy_now', 'swpm_edit_stripe_buy_now_button' ); function swpm_edit_stripe_buy_now_button() { //Retrieve the payment button data and present it for editing. $button_id = sanitize_text_field( $_REQUEST['button_id'] ); $button_id = absint( $button_id ); $button_type = sanitize_text_field( $_REQUEST['button_type'] ); $button = get_post( $button_id ); //Retrieve the CPT for this button $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); $payment_amount = get_post_meta( $button_id, 'payment_amount', true ); $payment_currency = get_post_meta( $button_id, 'payment_currency', true ); $stripe_test_secret_key = get_post_meta( $button_id, 'stripe_test_secret_key', true ); $stripe_test_publishable_key = get_post_meta( $button_id, 'stripe_test_publishable_key', true ); $stripe_live_secret_key = get_post_meta( $button_id, 'stripe_live_secret_key', true ); $stripe_live_publishable_key = get_post_meta( $button_id, 'stripe_live_publishable_key', true ); $collect_address = get_post_meta( $button_id, 'stripe_collect_address', true ); if ( $collect_address == '1' ) { $collect_address = ' checked'; } else { $collect_address = ''; } $use_global_keys = get_post_meta( $button_id, 'stripe_use_global_keys', true ); $use_global_keys = empty( $use_global_keys ) ? false : true; $return_url = get_post_meta( $button_id, 'return_url', true ); $button_image_url = get_post_meta( $button_id, 'button_image_url', true ); ?>

/>

Payment Settings tab.' , 'simple-membership'); ?>

/>

$button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post( $button_post ); update_post_meta( $button_id, 'button_type', $button_type ); update_post_meta( $button_id, 'membership_level_id', sanitize_text_field( $_REQUEST['membership_level_id'] ) ); update_post_meta( $button_id, 'payment_amount', trim( sanitize_text_field( $_REQUEST['payment_amount'] ) ) ); update_post_meta( $button_id, 'payment_currency', sanitize_text_field( $_REQUEST['payment_currency'] ) ); $stripe_test_secret_key = isset( $_POST['stripe_test_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_secret_key'] ) ) : ''; $stripe_test_publishable_key = isset( $_POST['stripe_test_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_publishable_key'] ) ) : ''; if ( ! is_null( $stripe_test_secret_key ) ) { update_post_meta( $button_id, 'stripe_test_secret_key', trim( $stripe_test_secret_key ) ); } if ( ! is_null( $stripe_test_publishable_key ) ) { update_post_meta( $button_id, 'stripe_test_publishable_key', trim( $stripe_test_publishable_key ) ); } $stripe_live_secret_key = isset( $_POST['stripe_live_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_secret_key'] ) ) : ''; $stripe_live_publishable_key = isset( $_POST['stripe_live_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_publishable_key'] ) ) : ''; if ( ! is_null( $stripe_live_secret_key ) ) { update_post_meta( $button_id, 'stripe_live_secret_key', trim( $stripe_live_secret_key ) ); } if ( ! is_null( $stripe_live_publishable_key ) ) { update_post_meta( $button_id, 'stripe_live_publishable_key', trim( $stripe_live_publishable_key ) ); } update_post_meta( $button_id, 'stripe_collect_address', isset( $_POST['collect_address'] ) ? '1' : '' ); $stripe_use_global_keys = filter_input( INPUT_POST, 'stripe_use_global_keys', FILTER_SANITIZE_NUMBER_INT ); $stripe_use_global_keys = $stripe_use_global_keys ? true : false; update_post_meta( $button_id, 'stripe_use_global_keys', $stripe_use_global_keys ); update_post_meta( $button_id, 'stripe_collect_address', isset( $_POST['collect_address'] ) ? '1' : '' ); update_post_meta( $button_id, 'return_url', trim( sanitize_text_field( $_REQUEST['return_url'] ) ) ); update_post_meta( $button_id, 'button_image_url', esc_url( $_REQUEST['button_image_url'] ) ); echo '

'.__('Payment button data successfully updated!', 'simple-membership').'

'; } } /************************************************************************ * End of edit Stripe Buy now payment button stuff ************************************************************************/ views/payments/payment-gateway/admin_stripe_subscription_button.php000064400000041346147206617610022265 0ustar00'; echo '

The Stripe payment gateway libary requires at least PHP 5.6.0. Your server is using a very old version of PHP that Stripe does not support.

'; echo '

Request your hosting provider to upgrade your PHP to a more recent version then you will be able to use the Stripe gateway.

'; echo '

'; return; } if ( isset( $opts['stripe_use_global_keys'][0] ) ) { $use_global_keys = $opts['stripe_use_global_keys'][0]; } else { $use_global_keys = $edit ? false : true; } $stripe_test_publishable_key = isset( $opts['stripe_test_publishable_key'][0] ) ? $opts['stripe_test_publishable_key'][0] : ''; $stripe_test_secret_key = isset( $opts['stripe_test_secret_key'][0] ) ? $opts['stripe_test_secret_key'][0] : ''; $stripe_live_publishable_key = isset( $opts['stripe_live_publishable_key'][0] ) ? $opts['stripe_live_publishable_key'][0] : ''; $stripe_live_secret_key = isset( $opts['stripe_live_secret_key'][0] ) ? $opts['stripe_live_secret_key'][0] : ''; function swpm_stripe_subscr_gen_curr_opts( $selected = false ) { $curr_arr = array( 'USD' => 'US Dollars ($)', 'EUR' => 'Euros (€)', 'GBP' => 'Pounds Sterling (£)', 'AUD' => 'Australian Dollars ($)', 'BRL' => 'Brazilian Real (R$)', 'CAD' => 'Canadian Dollars ($)', 'CNY' => 'Chinese Yuan', 'CZK' => 'Czech Koruna', 'DKK' => 'Danish Krone', 'HKD' => 'Hong Kong Dollar ($)', 'HUF' => 'Hungarian Forint', 'INR' => 'Indian Rupee', 'IDR' => 'Indonesia Rupiah', 'ILS' => 'Israeli Shekel', 'JPY' => 'Japanese Yen (¥)', 'MYR' => 'Malaysian Ringgits', 'MXN' => 'Mexican Peso ($)', 'NZD' => 'New Zealand Dollar ($)', 'NOK' => 'Norwegian Krone', 'PHP' => 'Philippine Pesos', 'PLN' => 'Polish Zloty', 'SGD' => 'Singapore Dollar ($)', 'ZAR' => 'South African Rand (R)', 'KRW' => 'South Korean Won', 'SEK' => 'Swedish Krona', 'CHF' => 'Swiss Franc', 'TWD' => 'Taiwan New Dollars', 'THB' => 'Thai Baht', 'TRY' => 'Turkish Lira', 'VND' => 'Vietnamese Dong', ); $out = ''; foreach ( $curr_arr as $key => $value ) { if ( $selected !== false && $selected == $key ) { $sel = ' selected'; } else { $sel = ''; } $out .= ''; } return $out; } ?>
View the documentation  to learn how to create a Stripe Subscription payment button and use it.

This is the ID of this payment button. It is automatically generated for you and it cannot be changed.

Give this membership payment button a name. Example: Gold membership payment

Select the membership level this payment button is for.

ID of the plan that you want subscribers to be assigned to. You can get more details in the documentation.

/>

Payment Settings tab.' ); ?>

Enter your Stripe test publishable key.

Enter your Stripe test secret key.

Enter your Stripe live publishable key.

Enter your Stripe live secret key.

You should create a new Webhook in your Stripe account and put this URL there if you want the plugin to handle subscription expiration automatically.
You can get more info in the documentation.

/>

Enable this option if you want to collect customer address during Stripe checkout.

This is the URL the user will be redirected to after a successful payment. Enter the URL of your Thank You page here.

If you want to customize the look of the button using an image then enter the URL of the image.

post_title; $post_meta['button_id'] = $button_id; swpm_render_new_edit_stripe_subscription_button_interface( $post_meta, true ); } /* * Process submission and save the new PayPal Subscription payment button data */ add_action( 'swpm_create_new_button_process_submission', 'swpm_save_edit_stripe_subscription_button_data' ); add_action( 'swpm_edit_payment_button_process_submission', 'swpm_save_edit_stripe_subscription_button_data' ); function swpm_save_edit_stripe_subscription_button_data() { if ( isset( $_REQUEST['swpm_stripe_subscription_save_submit'] ) ) { $edit = false; } if ( isset( $_REQUEST['swpm_stripe_subscription_edit_submit'] ) ) { $edit = true; } if ( isset( $edit ) ) { //This is a Stripe subscription button save or edit event. Process the submission. check_admin_referer( 'swpm_admin_add_edit_stripe_subs_btn', 'swpm_admin_add_edit_stripe_subs_btn' ); if ( $edit ) { $button_id = sanitize_text_field( $_REQUEST['button_id'] ); $button_id = absint( $button_id ); $button_type = sanitize_text_field( $_REQUEST['button_type'] ); $button_name = sanitize_text_field( $_REQUEST['button_name'] ); $button_post = array( 'ID' => $button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post( $button_post ); } else { $button_id = wp_insert_post( array( 'post_title' => sanitize_text_field( $_REQUEST['button_name'] ), 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish', ) ); $button_type = sanitize_text_field( $_REQUEST['button_type'] ); } update_post_meta( $button_id, 'button_type', $button_type ); update_post_meta( $button_id, 'membership_level_id', sanitize_text_field( $_REQUEST['membership_level_id'] ) ); update_post_meta( $button_id, 'return_url', trim( sanitize_text_field( $_REQUEST['return_url'] ) ) ); update_post_meta( $button_id, 'button_image_url', trim( sanitize_text_field( $_REQUEST['button_image_url'] ) ) ); update_post_meta( $button_id, 'stripe_collect_address', isset( $_POST['collect_address'] ) ? '1' : '' ); //API details $stripe_test_secret_key = isset( $_POST['stripe_test_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_secret_key'] ) ) : ''; $stripe_test_publishable_key = isset( $_POST['stripe_test_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_publishable_key'] ) ) : ''; $stripe_live_secret_key = isset( $_POST['stripe_live_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_secret_key'] ) ) : ''; $stripe_live_publishable_key = isset( $_POST['stripe_live_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_publishable_key'] ) ) : ''; if ( isset( $stripe_test_secret_key ) ) { update_post_meta( $button_id, 'stripe_test_secret_key', sanitize_text_field( $stripe_test_secret_key ) ); } if ( isset( $stripe_test_publishable_key ) ) { update_post_meta( $button_id, 'stripe_test_publishable_key', sanitize_text_field( $stripe_test_publishable_key ) ); } if ( isset( $stripe_live_secret_key ) ) { update_post_meta( $button_id, 'stripe_live_secret_key', sanitize_text_field( $stripe_live_secret_key ) ); } if ( isset( $stripe_live_publishable_key ) ) { update_post_meta( $button_id, 'stripe_live_publishable_key', sanitize_text_field( $stripe_live_publishable_key ) ); } $stripe_use_global_keys = filter_input( INPUT_POST, 'stripe_use_global_keys', FILTER_SANITIZE_NUMBER_INT ); $stripe_use_global_keys = $stripe_use_global_keys ? true : false; update_post_meta( $button_id, 'stripe_use_global_keys', $stripe_use_global_keys ); if ( $edit ) { // let's see if Stripe details (plan ID and Secret Key) are valid $stripe_error_msg = ''; $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); if ( $sandbox_enabled ) { $secret_key = $stripe_test_secret_key ? $stripe_test_secret_key : $settings->get_value( 'stripe-test-secret-key' ); } else { $secret_key = $stripe_live_secret_key ? $stripe_live_secret_key : $settings->get_value( 'stripe-live-secret-key' ); } require_once SIMPLE_WP_MEMBERSHIP_PATH . 'lib/stripe-util-functions.php'; $result = StripeUtilFunctions::get_stripe_plan_info( $secret_key, sanitize_text_field( $_REQUEST['stripe_plan_id'] ) ); if ( $result['success'] ) { $plan_data = $result['plan_data']; } else { $stripe_error_msg = $result['error_msg']; } } //Subscription billing details update_post_meta( $button_id, 'stripe_plan_id', sanitize_text_field( $_REQUEST['stripe_plan_id'] ) ); update_post_meta( $button_id, 'stripe_plan_data', ( isset( $plan_data ) ? $plan_data : false ) ); if ( $edit ) { if ( empty( $stripe_error_msg ) ) { echo '

Payment button data successfully updated!

'; } else { echo '

' . $stripe_error_msg . '

'; } } else { //Redirect to the edit interface of this button with $button_id $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=edit_button&button_id=' . $button_id . '&button_type=' . $button_type; SwpmMiscUtils::redirect_to_url( $url ); } } } views/payments/payment-gateway/admin_paypal_buy_now_button.php000064400000060676147206617610021212 0ustar00
 

sanitize_text_field($_REQUEST['button_name']), 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish' ) ); $button_type = sanitize_text_field($_REQUEST['button_type']); add_post_meta($button_id, 'button_type', $button_type); add_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); add_post_meta($button_id, 'payment_amount', trim(sanitize_text_field($_REQUEST['payment_amount']))); add_post_meta($button_id, 'payment_currency', sanitize_text_field($_REQUEST['payment_currency'])); add_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); add_post_meta($button_id, 'paypal_email', trim(sanitize_email($_REQUEST['paypal_email']))); add_post_meta($button_id, 'button_image_url', trim(sanitize_text_field($_REQUEST['button_image_url']))); add_post_meta($button_id, 'checkout_logo_image_url', trim(sanitize_text_field($_REQUEST['checkout_logo_image_url']))); //Redirect to the edit interface of this button with $button_id //$url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=edit_button&button_id=' . $button_id . '&button_type=' . $button_type; //Redirect to the manage payment buttons interface $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=payment_buttons'; SwpmMiscUtils::redirect_to_url($url); } } /* * ********************************************************************** * End of new PayPal Buy now payment button stuff * ********************************************************************** */ /* * *************************************************************** * Render edit PayPal Buy now payment button interface * ************************************************************** */ add_action('swpm_edit_payment_button_for_pp_buy_now', 'swpm_edit_pp_buy_now_button'); function swpm_edit_pp_buy_now_button() { //Retrieve the payment button data and present it for editing. $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button_type = sanitize_text_field($_REQUEST['button_type']); $button = get_post($button_id); //Retrieve the CPT for this button $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); $payment_amount = get_post_meta($button_id, 'payment_amount', true); $payment_currency = get_post_meta($button_id, 'payment_currency', true); $return_url = get_post_meta($button_id, 'return_url', true); $paypal_email = get_post_meta($button_id, 'paypal_email', true); $button_image_url = get_post_meta($button_id, 'button_image_url', true); $checkout_logo_image_url = get_post_meta($button_id, 'checkout_logo_image_url', true); ?>

$button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post($button_post); update_post_meta($button_id, 'button_type', $button_type); update_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); update_post_meta($button_id, 'payment_amount', trim(sanitize_text_field($_REQUEST['payment_amount']))); update_post_meta($button_id, 'payment_currency', sanitize_text_field($_REQUEST['payment_currency'])); update_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); update_post_meta($button_id, 'paypal_email', trim(sanitize_email($_REQUEST['paypal_email']))); update_post_meta($button_id, 'button_image_url', trim(sanitize_text_field($_REQUEST['button_image_url']))); update_post_meta($button_id, 'checkout_logo_image_url', trim(sanitize_text_field($_REQUEST['checkout_logo_image_url']))); echo '

'. __('Payment button data successfully updated!', 'simple-membership'). '

'; } } /************************************************************************ * End of edit PayPal Buy now payment button stuff ************************************************************************/views/payments/payment-gateway/stripe_button_shortcode_view.php000064400000036727147206617610021424 0ustar00Error! swpm_render_stripe_buy_now_button_sc_output() function requires the button ID value to be passed to it.

'; } //Get class option for button styling, set Stripe's default if none specified $class = isset( $args['class'] ) ? sanitize_html_class($args['class']) : 'stripe-button-el'; //Check new_window parameter $window_target = isset( $args['new_window'] ) ? 'target="_blank"' : ''; $button_text = ( isset( $args['button_text'] ) ) ? esc_attr( $args['button_text'] ) : __( 'Buy Now', 'simple-membership' ); $item_logo = ''; //Can be used to show an item logo or thumbnail in the checkout form. $settings = SwpmSettings::get_instance(); $button_cpt = get_post( $button_id ); //Retrieve the CPT for this button $item_name = htmlspecialchars( $button_cpt->post_title ); $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if ( ! SwpmUtils::membership_level_id_exists( $membership_level_id ) ) { return '

Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.

'; } //Payment amount and currency $payment_amount = get_post_meta( $button_id, 'payment_amount', true ); if ( ! is_numeric( $payment_amount ) ) { return '

Error! The payment amount value of the button must be a numeric number. Example: 49.50

'; } $payment_currency = get_post_meta( $button_id, 'payment_currency', true ); $payment_amount = round( $payment_amount, 2 ); //round the amount to 2 decimal place. $zeroCents = unserialize( SIMPLE_WP_MEMBERSHIP_STRIPE_ZERO_CENTS ); if ( in_array( $payment_currency, $zeroCents ) ) { //this is zero-cents currency, amount shouldn't be multiplied by 100 $price_in_cents = $payment_amount; } else { $price_in_cents = $payment_amount * 100; //The amount (in cents). This value is passed to Stripe API. } $payment_amount_formatted = SwpmMiscUtils::format_money( $payment_amount, $payment_currency ); //Return, cancel, notifiy URLs $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_buy_now=1'; //We are going to use it to do post payment processing. //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout. //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); $_SESSION['swpm_payment_button_interaction'] = $user_ip; //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if ( SwpmMemberUtils::is_member_logged_in() ) { $custom_field_value .= '&swpm_id=' . SwpmMemberUtils::get_logged_in_members_id(); } $custom_field_value = apply_filters( 'swpm_custom_field_value_filter', $custom_field_value ); //Sandbox settings $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); //API keys $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $button_id, ! $sandbox_enabled ); //prefill member email $prefill_member_email = $settings->get_value( 'stripe-prefill-member-email' ); if ( $prefill_member_email ) { $auth = SwpmAuth::get_instance(); $member_email = $auth->get( 'email' ); } //Billing address $billing_address = isset( $args['billing_address'] ) ? '1' : ''; //By default don't show the billing address in the checkout form. //if billing_address parameter is not present in the shortcode, let's check button option if ( $billing_address === '' ) { $collect_address = get_post_meta( $button_id, 'stripe_collect_address', true ); if ( $collect_address === '1' ) { //Collect Address enabled in button settings $billing_address = 1; } } $uniqid = uniqid(); /* === Stripe Buy Now Button Form === */ $output = ''; $output .= '
'; $output .= "
"; $output .= "
"; $output .= "'; $output .= '
'; $button_image_url = get_post_meta( $button_id, 'button_image_url', true ); if ( ! empty( $button_image_url ) ) { $output .= ''; } else { $output .= ""; } $output .= wp_nonce_field( 'stripe_payments', '_wpnonce', true, false ); $output .= ''; $output .= ""; $output .= ""; $output .= ""; $output .= ""; //Filter to add additional payment input fields to the form. $output .= apply_filters( 'swpm_stripe_payment_form_additional_fields', '' ); $output .= '
'; $output .= '
'; //End .swpm_button_wrapper return $output; } views/payments/payment-gateway/admin_stripe_sca_subscription_button.php000064400000046225147206617610023114 0ustar00'; echo '

'.__('The Stripe payment gateway libary requires at least PHP 5.6.0. Your server is using a very old version of PHP that Stripe does not support.', 'simple-membership').'

'; echo '

'.__('Request your hosting provider to upgrade your PHP to a more recent version then you will be able to use the Stripe gateway.', 'simple-membership').'

'; echo ''; return; } if ( isset( $opts['stripe_use_global_keys'][0] ) ) { $use_global_keys = $opts['stripe_use_global_keys'][0]; } else { $use_global_keys = $edit ? false : true; } $stripe_test_publishable_key = isset( $opts['stripe_test_publishable_key'][0] ) ? $opts['stripe_test_publishable_key'][0] : ''; $stripe_test_secret_key = isset( $opts['stripe_test_secret_key'][0] ) ? $opts['stripe_test_secret_key'][0] : ''; $stripe_live_publishable_key = isset( $opts['stripe_live_publishable_key'][0] ) ? $opts['stripe_live_publishable_key'][0] : ''; $stripe_live_secret_key = isset( $opts['stripe_live_secret_key'][0] ) ? $opts['stripe_live_secret_key'][0] : ''; function swpm_stripe_sca_subscr_gen_curr_opts( $selected = false ) { $curr_arr = array( 'USD' => 'US Dollars ($)', 'EUR' => 'Euros (€)', 'GBP' => 'Pounds Sterling (£)', 'AUD' => 'Australian Dollars ($)', 'BRL' => 'Brazilian Real (R$)', 'CAD' => 'Canadian Dollars ($)', 'CNY' => 'Chinese Yuan', 'CZK' => 'Czech Koruna', 'DKK' => 'Danish Krone', 'HKD' => 'Hong Kong Dollar ($)', 'HUF' => 'Hungarian Forint', 'INR' => 'Indian Rupee', 'IDR' => 'Indonesia Rupiah', 'ILS' => 'Israeli Shekel', 'JPY' => 'Japanese Yen (¥)', 'MYR' => 'Malaysian Ringgits', 'MXN' => 'Mexican Peso ($)', 'NZD' => 'New Zealand Dollar ($)', 'NOK' => 'Norwegian Krone', 'PHP' => 'Philippine Pesos', 'PLN' => 'Polish Zloty', 'SGD' => 'Singapore Dollar ($)', 'ZAR' => 'South African Rand (R)', 'KRW' => 'South Korean Won', 'SEK' => 'Swedish Krona', 'CHF' => 'Swiss Franc', 'TWD' => 'Taiwan New Dollars', 'THB' => 'Thai Baht', 'TRY' => 'Turkish Lira', 'VND' => 'Vietnamese Dong', ); $out = ''; foreach ( $curr_arr as $key => $value ) { if ( $selected !== false && $selected == $key ) { $sel = ' selected'; } else { $sel = ''; } $out .= ''; } return $out; } ?>

 

.

/>

Payment Settings tab.', 'simple-membership' ); ?>

.

/>

/>

post_title; $post_meta['button_id'] = $button_id; swpm_render_new_edit_stripe_sca_subscription_button_interface( $post_meta, true ); } /* * Process submission and save the new PayPal Subscription payment button data */ add_action( 'swpm_create_new_button_process_submission', 'swpm_save_edit_stripe_sca_subscription_button_data' ); add_action( 'swpm_edit_payment_button_process_submission', 'swpm_save_edit_stripe_sca_subscription_button_data' ); function swpm_save_edit_stripe_sca_subscription_button_data() { if ( isset( $_REQUEST['swpm_stripe_sca_subscription_save_submit'] ) ) { $edit = false; } if ( isset( $_REQUEST['swpm_stripe_sca_subscription_edit_submit'] ) ) { $edit = true; } if ( isset( $edit ) ) { //This is a Stripe subscription button save or edit event. Process the submission. check_admin_referer( 'swpm_admin_add_edit_stripe_sca_subs_btn', 'swpm_admin_add_edit_stripe_sca_subs_btn' ); if ( $edit ) { $button_id = sanitize_text_field( $_REQUEST['button_id'] ); $button_id = absint( $button_id ); $button_type = sanitize_text_field( $_REQUEST['button_type'] ); $button_name = sanitize_text_field( $_REQUEST['button_name'] ); $button_post = array( 'ID' => $button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post( $button_post ); } else { $button_id = wp_insert_post( array( 'post_title' => sanitize_text_field( $_REQUEST['button_name'] ), 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish', ) ); $button_type = sanitize_text_field( $_REQUEST['button_type'] ); } update_post_meta( $button_id, 'button_type', $button_type ); update_post_meta( $button_id, 'membership_level_id', sanitize_text_field( $_REQUEST['membership_level_id'] ) ); update_post_meta( $button_id, 'return_url', trim( sanitize_text_field( $_REQUEST['return_url'] ) ) ); $cancel_url = isset($_POST['cancel_url']) && !empty($_POST['cancel_url']) ? trim(sanitize_text_field($_POST['cancel_url'])) : ''; update_post_meta( $button_id, 'cancel_url', $cancel_url ); update_post_meta( $button_id, 'button_image_url', trim( sanitize_text_field( $_REQUEST['button_image_url'] ) ) ); update_post_meta( $button_id, 'stripe_collect_address', isset( $_POST['collect_address'] ) ? '1' : '' ); update_post_meta( $button_id, 'stripe_automatic_tax', isset( $_POST['automatic_tax'] ) ? '1' : '' ); //API details $stripe_test_secret_key = isset( $_POST['stripe_test_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_secret_key'] ) ) : ''; $stripe_test_publishable_key = isset( $_POST['stripe_test_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_publishable_key'] ) ) : ''; $stripe_live_secret_key = isset( $_POST['stripe_live_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_secret_key'] ) ) : ''; $stripe_live_publishable_key = isset( $_POST['stripe_live_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_publishable_key'] ) ) : ''; if ( isset( $stripe_test_secret_key ) ) { update_post_meta( $button_id, 'stripe_test_secret_key', sanitize_text_field( $stripe_test_secret_key ) ); } if ( isset( $stripe_test_publishable_key ) ) { update_post_meta( $button_id, 'stripe_test_publishable_key', sanitize_text_field( $stripe_test_publishable_key ) ); } if ( isset( $stripe_live_secret_key ) ) { update_post_meta( $button_id, 'stripe_live_secret_key', sanitize_text_field( $stripe_live_secret_key ) ); } if ( isset( $stripe_live_publishable_key ) ) { update_post_meta( $button_id, 'stripe_live_publishable_key', sanitize_text_field( $stripe_live_publishable_key ) ); } $stripe_use_global_keys = filter_input( INPUT_POST, 'stripe_use_global_keys', FILTER_SANITIZE_NUMBER_INT ); $stripe_use_global_keys = $stripe_use_global_keys ? true : false; update_post_meta( $button_id, 'stripe_use_global_keys', $stripe_use_global_keys ); if ( $edit ) { // let's see if Stripe details (plan ID and Secret Key) are valid $stripe_error_msg = ''; $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); if ( $sandbox_enabled ) { $secret_key = $stripe_test_secret_key ? $stripe_test_secret_key : $settings->get_value( 'stripe-test-secret-key' ); } else { $secret_key = $stripe_live_secret_key ? $stripe_live_secret_key : $settings->get_value( 'stripe-live-secret-key' ); } require_once SIMPLE_WP_MEMBERSHIP_PATH . 'lib/stripe-util-functions.php'; $result = StripeUtilFunctions::get_stripe_plan_info( $secret_key, sanitize_text_field( $_REQUEST['stripe_plan_id'] ) ); if ( $result['success'] ) { $plan_data = $result['plan_data']; } else { $stripe_error_msg = $result['error_msg']; } } //Subscription billing details update_post_meta( $button_id, 'stripe_plan_id', sanitize_text_field( $_REQUEST['stripe_plan_id'] ) ); update_post_meta( $button_id, 'stripe_trial_period', sanitize_text_field( $_REQUEST['stripe_trial_period'] ) ); update_post_meta( $button_id, 'stripe_plan_data', ( isset( $plan_data ) ? $plan_data : false ) ); if ( $edit ) { if ( empty( $stripe_error_msg ) ) { echo '

'.__('Payment button data successfully updated!', 'simple-membership').'

'; } else { echo '

' . $stripe_error_msg . '

'; } } else { //Redirect to the manage payment buttons interface $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=payment_buttons'; SwpmMiscUtils::redirect_to_url( $url ); } } } views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php000064400000036716147206617610025057 0ustar00'.__('Error! swpm_render_pp_subscription_new_button_sc_output() function requires the button ID value to be passed to it.', 'simple-membership').'

'; } //Membership level for this button $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if (!SwpmUtils::membership_level_id_exists($membership_level_id)) { return '

'.__('Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.', 'simple-membership').'

'; } //Get the Item name for this button. This will be used as the item name in the IPN. $button_cpt = get_post($button_id); //Retrieve the CPT for this button $item_name = htmlspecialchars($button_cpt->post_title); //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if (SwpmMemberUtils::is_member_logged_in()) { $member_id = SwpmMemberUtils::get_logged_in_members_id(); $custom_field_value .= '&swpm_id=' . $member_id; //$member_first_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'first_name'); //$member_last_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'last_name'); //$member_email = SwpmMemberUtils::get_member_field_by_id($member_id, 'email'); } $custom_field_value = apply_filters('swpm_custom_field_value_filter', $custom_field_value); /***************************************** * Settings and Button Specific Configuration *****************************************/ $settings = SwpmSettings::get_instance(); $live_client_id = $settings->get_value('paypal-live-client-id'); $sandbox_client_id = $settings->get_value('paypal-sandbox-client-id'); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); $is_live_mode = $sandbox_enabled ? 0 : 1; $currency = get_post_meta( $button_id, 'payment_currency', true ); $disable_funding_card = get_post_meta( $button_id, 'pp_subscription_new_disable_funding_card', true ); $disable_funding_credit = get_post_meta( $button_id, 'pp_subscription_new_disable_funding_credit', true ); $disable_funding_venmo = get_post_meta( $button_id, 'pp_subscription_new_disable_funding_venmo', true ); $disable_funding = array(); if( !empty($disable_funding_card)){ $disable_funding[] = 'card'; } if( !empty($disable_funding_credit)){ $disable_funding[] = 'credit'; } if( !empty($disable_funding_venmo)){ $disable_funding[] = 'venmo'; } $btn_type = get_post_meta($button_id, 'pp_subscription_new_btn_type', true); $btn_shape = get_post_meta($button_id, 'pp_subscription_new_btn_shape', true); $btn_layout = get_post_meta($button_id, 'pp_subscription_new_btn_layout', true); $btn_color = get_post_meta($button_id, 'pp_subscription_new_btn_color', true); $btn_width = get_post_meta($button_id, 'pp_subscription_new_btn_width', true); $btn_height = get_post_meta($button_id, 'pp_subscription_new_btn_height', true); $btn_sizes = array( 'small' => 25, 'medium' => 35, 'large' => 45, 'xlarge' => 55 ); $btn_height = isset( $btn_sizes[ $btn_height ] ) ? $btn_sizes[ $btn_height ] : 35; $return_url = get_post_meta($button_id, 'return_url', true); $txn_success_message = __('Transaction completed successfully!', 'simple-membership'); /********************** * PayPal SDK Settings **********************/ //Configure the paypal SDK settings and enqueue the code for SDK loading. $settings_args_sub = array( 'is_live_mode' => $is_live_mode, 'live_client_id' => $live_client_id, 'sandbox_client_id' => $sandbox_client_id, 'currency' => $currency, 'disable-funding' => $disable_funding, /*array('card', 'credit', 'venmo'),*/ 'intent' => 'subscription', /* It is used to set the "intent" parameter in the JS SDK */ 'is_subscription' => 1, /* It is used to set the "vault" parameter in the JS SDK */ ); //Initialize and set the settings args that will be used to load the JS SDK for subscription buttons. $pp_js_button_subscription = SWPM_PayPal_JS_Button_Embed::get_instance(); $pp_js_button_subscription->set_settings_args_for_subscriptions( $settings_args_sub ); //Load the JS SDK for Subscriptions on footer (so it only loads once per page) add_action( 'wp_footer', array($pp_js_button_subscription, 'load_paypal_sdk_for_subscriptions') ); //The on page embed button id is used to identify the button on the page. Useful when there are multiple buttons (of the same item/product) on the same page. $on_page_embed_button_id = $pp_js_button_subscription->get_next_button_id(); //Create nonce for this button. $nonce = wp_create_nonce($on_page_embed_button_id); $swpm_button_wrapper_id = 'swpm-button-wrapper-'.$button_id; $output = ''; ob_start(); ?>
Error! swpm_render_pp_buy_now_button_sc_output() function requires the button ID value to be passed to it.

'; } //Check new_window parameter $window_target = isset($args['new_window']) ? 'target="_blank"' : ''; $settings = SwpmSettings::get_instance(); $button_cpt = get_post($button_id); //Retrieve the CPT for this button $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if(!SwpmUtils::membership_level_id_exists($membership_level_id)){ return '

Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.

'; } $paypal_email = get_post_meta($button_id, 'paypal_email', true); $payment_amount = get_post_meta($button_id, 'payment_amount', true); if (!is_numeric($payment_amount)) { return '

Error! The payment amount value of the button must be a numeric number. Example: 49.50

'; } $payment_amount = round($payment_amount, 2); //round the amount to 2 decimal place. $payment_currency = get_post_meta($button_id, 'payment_currency', true); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_ipn=1'; $return_url = get_post_meta($button_id, 'return_url', true); if (empty($return_url)) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } $cancel_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; $user_ip = SwpmUtils::get_user_ip_address(); $_SESSION['swpm_payment_button_interaction'] = $user_ip; //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if (SwpmMemberUtils::is_member_logged_in()) { $custom_field_value .= '&swpm_id=' . SwpmMemberUtils::get_logged_in_members_id(); } $custom_field_value = apply_filters('swpm_custom_field_value_filter', $custom_field_value); /* === PayPal Buy Now Button Form === */ $output = ''; $output .= '
'; $uniqid=uniqid(); //apply filter to output additional form fields $coupon_input=''; $coupon_input = apply_filters('swpm_payment_form_additional_fields',$coupon_input,$button_id,$uniqid); if (!empty($coupon_input)) { $output.=$coupon_input; } if ($sandbox_enabled) { $action_url='https://www.sandbox.paypal.com/cgi-bin/webscr'; } else { $action_url='https://www.paypal.com/cgi-bin/webscr'; } $output.= '
'; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; //Do not prompt for an address $output .= ''; $output .= ''; $output .= ''; $custom_field_value = urlencode($custom_field_value);//URL encode the custom field value so nothing gets lost when it is passed around. $output .= ''; $checkout_logo_image_url = get_post_meta($button_id, 'checkout_logo_image_url', true); if (!empty($checkout_logo_image_url)) { $output .= ''; } //Filter to add additional payment input fields to the form (example: langauge code or country code etc). $output .= apply_filters('swpm_pp_payment_form_additional_fields', ''); $button_image_url = get_post_meta($button_id, 'button_image_url', true); if (!empty($button_image_url)) { $output .= ''; } else { $button_text = (isset($args['button_text'])) ? $args['button_text'] : __('Buy Now', 'simple-membership'); $output .= ''; } $output .= '
'; //End .form $output .= '
'; //End .swpm_button_wrapper return $output; } /* * ************************************************ * PayPal subscription button shortcode handler * *********************************************** */ add_filter('swpm_payment_button_shortcode_for_pp_subscription', 'swpm_render_pp_subscription_button_sc_output', 10, 2); function swpm_render_pp_subscription_button_sc_output($button_code, $args) { $button_id = isset($args['id']) ? $args['id'] : ''; if (empty($button_id)) { return '

Error! swpm_render_pp_subscription_button_sc_output() function requires the button ID value to be passed to it.

'; } //Check new_window parameter $window_target = isset($args['new_window']) ? 'target="_blank"' : ''; $settings = SwpmSettings::get_instance(); $button_cpt = get_post($button_id); //Retrieve the CPT for this button $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if(!SwpmUtils::membership_level_id_exists($membership_level_id)){ return '

Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.

'; } $paypal_email = get_post_meta($button_id, 'paypal_email', true); $payment_currency = get_post_meta($button_id, 'payment_currency', true); //Subscription payment details $billing_amount = get_post_meta($button_id, 'billing_amount', true); if (!is_numeric($billing_amount)) { return '

Error! The billing amount value of the button must be a numeric number. Example: 49.50

'; } $billing_amount = round($billing_amount, 2); //round the amount to 2 decimal place. $billing_cycle = get_post_meta($button_id, 'billing_cycle', true); $billing_cycle_term = get_post_meta($button_id, 'billing_cycle_term', true); $billing_cycle_count = get_post_meta($button_id, 'billing_cycle_count', true); $billing_reattempt = get_post_meta($button_id, 'billing_reattempt', true); //Trial billing details $trial_billing_amount = get_post_meta($button_id, 'trial_billing_amount', true); if (!empty($trial_billing_amount)) { if(!is_numeric($trial_billing_amount)){ return '

Error! The trial billing amount value of the button must be a numeric number. Example: 19.50

'; } } $trial_billing_cycle = get_post_meta($button_id, 'trial_billing_cycle', true); $trial_billing_cycle_term = get_post_meta($button_id, 'trial_billing_cycle_term', true); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_ipn=1'; $return_url = get_post_meta($button_id, 'return_url', true); if (empty($return_url)) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } $cancel_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; $user_ip = SwpmUtils::get_user_ip_address(); $_SESSION['swpm_payment_button_interaction'] = $user_ip; //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if (SwpmMemberUtils::is_member_logged_in()) { $custom_field_value .= '&swpm_id=' . SwpmMemberUtils::get_logged_in_members_id(); } $custom_field_value = apply_filters('swpm_custom_field_value_filter', $custom_field_value); /* === PayPal Subscription Button Form === */ $output = ''; $output .= '
'; if ($sandbox_enabled) { $output .= '
'; } else { $output .= ''; } $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; //Check trial billing if (!empty($trial_billing_cycle)) { $output .= ''; } //Main subscription billing if (!empty($billing_cycle)) { $output .= ''; } //Re-attempt on failure if ($billing_reattempt != '') { $output .= ''; } //Reccurring times if ($billing_cycle_count > 1) { //do not include srt value if billing cycle count set to 1 or a negetive number. $output .= ''; } else if (empty($billing_cycle_count)) { $output .= ''; } //Other required data $output .= ''; //Do not prompt for an address $output .= ''; $output .= ''; $output .= ''; $custom_field_value = urlencode($custom_field_value);//URL encode the custom field value so nothing gets lost when it is passed around. $output .= ''; $checkout_logo_image_url = get_post_meta($button_id, 'checkout_logo_image_url', true); if (!empty($checkout_logo_image_url)) { $output .= ''; } //Filter to add additional payment input fields to the form (example: langauge code or country code etc). $output .= apply_filters('swpm_pp_payment_form_additional_fields', ''); //Submit button $button_image_url = get_post_meta($button_id, 'button_image_url', true); if (!empty($button_image_url)) { $output .= ''; } else { $button_text = (isset($args['button_text'])) ? $args['button_text'] : __('Subscribe Now', 'simple-membership'); $output .= ''; } $output .= '
'; //End .form $output .= '
'; //End .swpm_button_wrapper return $output; } views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php000064400000026675147206617610024500 0ustar00'.__('Error! swpm_render_pp_smart_checkout_button_sc_output() function requires the button ID value to be passed to it.', 'simple-membership').'

'; } //Check new_window parameter $button_text = (isset($args['button_text'])) ? sanitize_text_field($args['button_text']) : __('Buy Now', 'simple-membership'); $billing_address = isset($args['billing_address']) ? '1' : ''; ; //By default don't show the billing address in the checkout form. $item_logo = ''; //Can be used to show an item logo or thumbnail in the checkout form. $settings = SwpmSettings::get_instance(); $button_cpt = get_post($button_id); //Retrieve the CPT for this button $item_name = htmlspecialchars($button_cpt->post_title); $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if (!SwpmUtils::membership_level_id_exists($membership_level_id)) { return '

'.__('Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.', 'simple-membership').'

'; } //Payment amount and currency $payment_amount = get_post_meta($button_id, 'payment_amount', true); if (!is_numeric($payment_amount)) { return '

'.__('Error! The payment amount value of the button must be a numeric number. Example: 49.50 ', 'simple-membership').'

'; } $payment_amount = round($payment_amount, 2); //round the amount to 2 decimal place. $payment_amount_formatted = number_format($payment_amount, 2, '.', ''); $payment_currency = get_post_meta($button_id, 'payment_currency', true); //Create the items_list for passing to PayPal API $items_list = "{name: '".esc_attr($item_name)."', quantity: '1', price: '".esc_attr($payment_amount)."', currency: '".esc_attr($payment_currency)."'}"; //Return, cancel, notifiy URLs $return_url = get_post_meta($button_id, 'return_url', true); if (empty($return_url)) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); $_SESSION['swpm_payment_button_interaction'] = $user_ip; //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if (SwpmMemberUtils::is_member_logged_in()) { $member_id = SwpmMemberUtils::get_logged_in_members_id(); $custom_field_value .= '&swpm_id=' . $member_id; $member_first_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'first_name'); $member_last_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'last_name'); $member_email = SwpmMemberUtils::get_member_field_by_id($member_id, 'email'); } $custom_field_value = apply_filters('swpm_custom_field_value_filter', $custom_field_value); //Sandbox settings $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); if ($sandbox_enabled) { $mode = "sandbox"; } else { $mode = "production"; } $btn_layout = get_post_meta($button_id, 'pp_smart_checkout_btn_layout', true); $btn_layout = empty($btn_layout) ? 'vertical' : sanitize_text_field($btn_layout); $btn_size = get_post_meta($button_id, 'pp_smart_checkout_btn_size', true); $btn_size = empty($btn_size) ? 'medium' : sanitize_text_field($btn_size); $btn_shape = get_post_meta($button_id, 'pp_smart_checkout_btn_shape', true); $btn_shape = empty($btn_shape) ? 'rect' : sanitize_text_field($btn_shape); $btn_color = get_post_meta($button_id, 'pp_smart_checkout_btn_color', true); $btn_color = empty($btn_color) ? 'gold' : sanitize_text_field($btn_color); $pm_str = ''; $pm_credit = get_post_meta($button_id, 'pp_smart_checkout_payment_method_credit', true); $pm_str .= empty($pm_credit) ? '' : ', paypal.FUNDING.CREDIT'; $pm_elv = get_post_meta($button_id, 'pp_smart_checkout_payment_method_elv', true); $pm_str .= empty($pm_elv) ? '' : ', paypal.FUNDING.ELV'; $uniqid = uniqid(); // Get unique ID to ensure several buttons can be added to one page without conflicts $output = ''; ob_start(); $ppCheckoutJs = ''; //check if checkout.js was already included //including it several times on one page causes JS fatal error if (!defined('SWPM-PP-SMART-CHECKOUT-SCRIPT-INCLUDED')) { //it wasn't. Let's include it and define an indicator that it is included now define('SWPM-PP-SMART-CHECKOUT-SCRIPT-INCLUDED', 1); echo $ppCheckoutJs; } ?>
'; echo '

The Stripe payment gateway libary requires at least PHP 5.6.0. Your server is using a very old version of PHP that Stripe does not support.

'; echo '

Request your hosting provider to upgrade your PHP to a more recent version then you will be able to use the Stripe gateway.

'; echo ''; return; } ?>

 

Select the currency for this payment button.

Payment Settings tab.', 'simple-membership' ); ?>

sanitize_text_field( $_REQUEST['button_name'] ), 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish', ) ); $button_type = sanitize_text_field( $_REQUEST['button_type'] ); add_post_meta( $button_id, 'button_type', $button_type ); add_post_meta( $button_id, 'membership_level_id', sanitize_text_field( $_REQUEST['membership_level_id'] ) ); add_post_meta( $button_id, 'payment_amount', trim( sanitize_text_field( $_REQUEST['payment_amount'] ) ) ); add_post_meta( $button_id, 'payment_currency', sanitize_text_field( $_REQUEST['payment_currency'] ) ); //Stripe API Keys related data $stripe_test_secret_key = isset($_REQUEST['stripe_test_secret_key']) ? trim(sanitize_text_field( $_REQUEST['stripe_test_secret_key'] )) : ''; add_post_meta( $button_id, 'stripe_test_secret_key', $stripe_test_secret_key ); $stripe_test_publishable_key = isset($_REQUEST['stripe_test_publishable_key']) ? trim(sanitize_text_field( $_REQUEST['stripe_test_publishable_key'] )) : ''; add_post_meta( $button_id, 'stripe_test_publishable_key', $stripe_test_publishable_key ); $stripe_live_secret_key = isset($_REQUEST['stripe_live_secret_key']) ? trim(sanitize_text_field( $_REQUEST['stripe_live_secret_key'] )) : ''; add_post_meta( $button_id, 'stripe_live_secret_key', $stripe_live_secret_key ); $stripe_live_publishable_key = isset($_REQUEST['stripe_live_publishable_key']) ? trim(sanitize_text_field( $_REQUEST['stripe_live_publishable_key'] )) : ''; add_post_meta( $button_id, 'stripe_live_publishable_key', $stripe_live_publishable_key ); $allow_promotion_codes = isset($_REQUEST['allow_promotion_codes']) ? sanitize_text_field( $_REQUEST['allow_promotion_codes'] ) : ''; add_post_meta( $button_id, 'allow_promotion_codes', $allow_promotion_codes ); add_post_meta( $button_id, 'stripe_collect_address', isset( $_POST['collect_address'] ) ? '1' : '' ); add_post_meta( $button_id, 'stripe_automatic_tax', isset( $_POST['automatic_tax'] ) ? '1' : '' ); $stripe_use_global_keys = filter_input( INPUT_POST, 'stripe_use_global_keys', FILTER_SANITIZE_NUMBER_INT ); $stripe_use_global_keys = $stripe_use_global_keys ? true : false; add_post_meta( $button_id, 'stripe_use_global_keys', $stripe_use_global_keys ); add_post_meta( $button_id, 'return_url', trim( sanitize_text_field( $_REQUEST['return_url'] ) ) ); add_post_meta( $button_id, 'cancel_url', trim( sanitize_text_field( $_REQUEST['cancel_url'] ) ) ); add_post_meta( $button_id, 'button_image_url', esc_url( $_REQUEST['button_image_url'] ) ); //Redirect to the edit interface of this button with $button_id //$url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=edit_button&button_id=' . $button_id . '&button_type=' . $button_type; //Redirect to the manage payment buttons interface $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=payment_buttons'; SwpmMiscUtils::redirect_to_url( $url ); } } /* * ********************************************************************** * End of new Stripe Buy now payment button stuff * ********************************************************************** */ /* * *************************************************************** * Render edit Stripe Buy now payment button interface * ************************************************************** */ add_action( 'swpm_edit_payment_button_for_stripe_sca_buy_now', 'swpm_edit_stripe_sca_buy_now_button' ); function swpm_edit_stripe_sca_buy_now_button() { //Retrieve the payment button data and present it for editing. $button_id = sanitize_text_field( $_REQUEST['button_id'] ); $button_id = absint( $button_id ); $button_type = sanitize_text_field( $_REQUEST['button_type'] ); $button = get_post( $button_id ); //Retrieve the CPT for this button $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); $payment_amount = get_post_meta( $button_id, 'payment_amount', true ); $payment_currency = get_post_meta( $button_id, 'payment_currency', true ); $allow_promotion_codes = get_post_meta( $button_id, 'allow_promotion_codes', true ); if ( $allow_promotion_codes == '1' ) { $allow_promotion_codes = 'checked'; } else { $allow_promotion_codes = ''; } $stripe_test_secret_key = get_post_meta( $button_id, 'stripe_test_secret_key', true ); $stripe_test_publishable_key = get_post_meta( $button_id, 'stripe_test_publishable_key', true ); $stripe_live_secret_key = get_post_meta( $button_id, 'stripe_live_secret_key', true ); $stripe_live_publishable_key = get_post_meta( $button_id, 'stripe_live_publishable_key', true ); $collect_address = get_post_meta( $button_id, 'stripe_collect_address', true ); if ( $collect_address == '1' ) { $collect_address = ' checked'; } else { $collect_address = ''; } $automatic_tax = get_post_meta( $button_id, 'stripe_automatic_tax', true ); if ( $automatic_tax == '1' ) { $automatic_tax = ' checked'; } else { $automatic_tax = ''; } $use_global_keys = get_post_meta( $button_id, 'stripe_use_global_keys', true ); $use_global_keys = empty( $use_global_keys ) ? false : true; $return_url = get_post_meta( $button_id, 'return_url', true ); $cancel_url = get_post_meta( $button_id, 'cancel_url', true ); $button_image_url = get_post_meta( $button_id, 'button_image_url', true ); ?>

/>

Payment Settings tab.','simple-membership' ); ?>

/>

/>

/>

$button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post( $button_post ); update_post_meta( $button_id, 'button_type', $button_type ); update_post_meta( $button_id, 'membership_level_id', sanitize_text_field( $_REQUEST['membership_level_id'] ) ); update_post_meta( $button_id, 'payment_amount', trim( sanitize_text_field( $_REQUEST['payment_amount'] ) ) ); update_post_meta( $button_id, 'payment_currency', sanitize_text_field( $_REQUEST['payment_currency'] ) ); update_post_meta( $button_id, 'allow_promotion_codes', isset( $_POST['allow_promotion_codes'] ) ? '1' : '' ); $stripe_test_secret_key = isset( $_POST['stripe_test_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_secret_key'] ) ) : ''; $stripe_test_publishable_key = isset( $_POST['stripe_test_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_test_publishable_key'] ) ) : ''; if ( ! is_null( $stripe_test_secret_key ) ) { update_post_meta( $button_id, 'stripe_test_secret_key', trim( $stripe_test_secret_key ) ); } if ( ! is_null( $stripe_test_publishable_key ) ) { update_post_meta( $button_id, 'stripe_test_publishable_key', trim( $stripe_test_publishable_key ) ); } $stripe_live_secret_key = isset( $_POST['stripe_live_secret_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_secret_key'] ) ) : ''; $stripe_live_publishable_key = isset( $_POST['stripe_live_publishable_key'] ) ? sanitize_text_field( stripslashes ( $_POST['stripe_live_publishable_key'] ) ) : ''; if ( ! is_null( $stripe_live_secret_key ) ) { update_post_meta( $button_id, 'stripe_live_secret_key', trim( $stripe_live_secret_key ) ); } if ( ! is_null( $stripe_live_publishable_key ) ) { update_post_meta( $button_id, 'stripe_live_publishable_key', trim( $stripe_live_publishable_key ) ); } update_post_meta( $button_id, 'stripe_collect_address', isset( $_POST['collect_address'] ) ? '1' : '' ); update_post_meta( $button_id, 'stripe_automatic_tax', isset( $_POST['automatic_tax'] ) ? '1' : '' ); $stripe_use_global_keys = filter_input( INPUT_POST, 'stripe_use_global_keys', FILTER_SANITIZE_NUMBER_INT ); $stripe_use_global_keys = $stripe_use_global_keys ? true : false; update_post_meta( $button_id, 'stripe_use_global_keys', $stripe_use_global_keys ); update_post_meta( $button_id, 'return_url', trim( sanitize_text_field( $_REQUEST['return_url'] ) ) ); update_post_meta( $button_id, 'cancel_url', trim( sanitize_text_field( $_REQUEST['cancel_url'] ) ) ); update_post_meta( $button_id, 'button_image_url', esc_url( $_REQUEST['button_image_url'] ) ); echo '

'.__('Payment button data successfully updated!', 'simple-membership').'

'; } } /************************************************************************ * End of edit Stripe Buy now payment button stuff ************************************************************************/ views/payments/payment-gateway/admin_paypal_subscription_button.php000064400000107147147206617610022247 0ustar00
 

sanitize_text_field($_REQUEST['button_name']), 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish' ) ); $button_type = sanitize_text_field($_REQUEST['button_type']); add_post_meta($button_id, 'button_type', $button_type); add_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); add_post_meta($button_id, 'payment_currency', sanitize_text_field($_REQUEST['payment_currency'])); add_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); add_post_meta($button_id, 'paypal_email', trim(sanitize_email($_REQUEST['paypal_email']))); add_post_meta($button_id, 'button_image_url', trim(sanitize_text_field($_REQUEST['button_image_url']))); add_post_meta($button_id, 'checkout_logo_image_url', trim(sanitize_text_field($_REQUEST['checkout_logo_image_url']))); //Subscription billing details add_post_meta($button_id, 'billing_amount', sanitize_text_field($_REQUEST['billing_amount'])); add_post_meta($button_id, 'billing_cycle', sanitize_text_field($_REQUEST['billing_cycle'])); add_post_meta($button_id, 'billing_cycle_term', sanitize_text_field($_REQUEST['billing_cycle_term'])); add_post_meta($button_id, 'billing_cycle_count', sanitize_text_field($_REQUEST['billing_cycle_count'])); add_post_meta($button_id, 'billing_reattempt', isset($_REQUEST['billing_reattempt']) ? '1' : ''); //Trial billing details add_post_meta($button_id, 'trial_billing_amount', sanitize_text_field($_REQUEST['trial_billing_amount'])); add_post_meta($button_id, 'trial_billing_cycle', sanitize_text_field($_REQUEST['trial_billing_cycle'])); add_post_meta($button_id, 'trial_billing_cycle_term', sanitize_text_field($_REQUEST['trial_billing_cycle_term'])); //Redirect to the edit interface of this button with $button_id $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=edit_button&button_id=' . $button_id . '&button_type=' . $button_type; SwpmMiscUtils::redirect_to_url($url); } } /* * ********************************************************************** * End of new PayPal subscription payment button stuff * ********************************************************************** */ /* * *************************************************************** * Render edit PayPal Subscription payment button interface * ************************************************************** */ add_action('swpm_edit_payment_button_for_pp_subscription', 'swpm_edit_pp_subscription_button'); function swpm_edit_pp_subscription_button() { //Retrieve the payment button data and present it for editing. $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button_type = sanitize_text_field($_REQUEST['button_type']); $button = get_post($button_id); //Retrieve the CPT for this button $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); //$payment_amount = get_post_meta($button_id, 'payment_amount', true); $payment_currency = get_post_meta($button_id, 'payment_currency', true); $return_url = get_post_meta($button_id, 'return_url', true); $paypal_email = get_post_meta($button_id, 'paypal_email', true); $button_image_url = get_post_meta($button_id, 'button_image_url', true); $checkout_logo_image_url = get_post_meta($button_id, 'checkout_logo_image_url', true); //Subscription billing details $billing_amount = get_post_meta($button_id, 'billing_amount', true); $billing_cycle = get_post_meta($button_id, 'billing_cycle', true); $billing_cycle_term = get_post_meta($button_id, 'billing_cycle_term', true); $billing_cycle_count = get_post_meta($button_id, 'billing_cycle_count', true); $billing_reattempt = get_post_meta($button_id, 'billing_reattempt', true); //Trial billing details $trial_billing_amount = get_post_meta($button_id, 'trial_billing_amount', true); $trial_billing_cycle = get_post_meta($button_id, 'trial_billing_cycle', true); $trial_billing_cycle_term = get_post_meta($button_id, 'trial_billing_cycle_term', true); ?>

/>

.

$button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post($button_post); update_post_meta($button_id, 'button_type', $button_type); update_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); update_post_meta($button_id, 'payment_currency', sanitize_text_field($_REQUEST['payment_currency'])); update_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); update_post_meta($button_id, 'paypal_email', trim(sanitize_email($_REQUEST['paypal_email']))); update_post_meta($button_id, 'button_image_url', trim(sanitize_text_field($_REQUEST['button_image_url']))); update_post_meta($button_id, 'checkout_logo_image_url', trim(sanitize_text_field($_REQUEST['checkout_logo_image_url']))); //Subscription billing details update_post_meta($button_id, 'billing_amount', sanitize_text_field($_REQUEST['billing_amount'])); update_post_meta($button_id, 'billing_cycle', sanitize_text_field($_REQUEST['billing_cycle'])); update_post_meta($button_id, 'billing_cycle_term', sanitize_text_field($_REQUEST['billing_cycle_term'])); update_post_meta($button_id, 'billing_cycle_count', sanitize_text_field($_REQUEST['billing_cycle_count'])); update_post_meta($button_id, 'billing_reattempt', isset($_REQUEST['billing_reattempt']) ? '1' : ''); //Trial billing details update_post_meta($button_id, 'trial_billing_amount', sanitize_text_field($_REQUEST['trial_billing_amount'])); update_post_meta($button_id, 'trial_billing_cycle', sanitize_text_field($_REQUEST['trial_billing_cycle'])); update_post_meta($button_id, 'trial_billing_cycle_term', sanitize_text_field($_REQUEST['trial_billing_cycle_term'])); echo '

'.__('Payment button data successfully updated!', 'simple-membership').'

'; } } /************************************************************************ * End of edit PayPal Subscription payment button stuff ************************************************************************/views/payments/payment-gateway/admin_paypal_buy_now_new_button.php000064400000076271147206617610022061 0ustar00 $button_name, 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish' ) ); add_post_meta($button_id, 'button_type', sanitize_text_field($_REQUEST['button_type'])); add_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); add_post_meta($button_id, 'payment_currency', trim(sanitize_text_field($_REQUEST['payment_currency']))); add_post_meta($button_id, 'payment_amount', trim(sanitize_text_field($_REQUEST['payment_amount']))); add_post_meta($button_id, 'pp_buy_now_new_btn_type', $btn_type); add_post_meta($button_id, 'pp_buy_now_new_btn_shape', $btn_shape); add_post_meta($button_id, 'pp_buy_now_new_btn_layout', $btn_layout); add_post_meta($button_id, 'pp_buy_now_new_btn_height', $btn_height); add_post_meta($button_id, 'pp_buy_now_new_btn_width', $btn_width); add_post_meta($button_id, 'pp_buy_now_new_btn_color', $btn_color); add_post_meta($button_id, 'pp_buy_now_new_disable_funding_card', $disable_funding_card); add_post_meta($button_id, 'pp_buy_now_new_disable_funding_credit', $disable_funding_credit); add_post_meta($button_id, 'pp_buy_now_new_disable_funding_venmo', $disable_funding_venmo); add_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); //Check if webhooks already configured for this site. If not, create necessary webhooks. SWPM_PayPal_Utility_Functions::check_and_create_webhooks_for_this_site(); //Redirect to the manage payment buttons interface $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=payment_buttons'; SwpmMiscUtils::redirect_to_url($url); } if (isset($_REQUEST['swpm_pp_buy_now_new_edit_submit'])) { //This is a PayPal Buy Now (New) button edit event. check_admin_referer( 'swpm_admin_add_edit_pp_buy_now_new_btn', 'swpm_admin_add_edit_pp_buy_now_new_btn' ); $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button_post = array( 'ID' => $button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post($button_post); update_post_meta($button_id, 'button_type', sanitize_text_field($_REQUEST['button_type'])); update_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); update_post_meta($button_id, 'payment_currency', trim(sanitize_text_field($_REQUEST['payment_currency']))); update_post_meta($button_id, 'payment_amount', trim(sanitize_text_field($_REQUEST['payment_amount']))); update_post_meta($button_id, 'pp_buy_now_new_btn_type', $btn_type); update_post_meta($button_id, 'pp_buy_now_new_btn_shape', $btn_shape); update_post_meta($button_id, 'pp_buy_now_new_btn_layout', $btn_layout); update_post_meta($button_id, 'pp_buy_now_new_btn_height', $btn_height); update_post_meta($button_id, 'pp_buy_now_new_btn_width', $btn_width); update_post_meta($button_id, 'pp_buy_now_new_btn_color', $btn_color); update_post_meta($button_id, 'pp_buy_now_new_disable_funding_card', $disable_funding_card); update_post_meta($button_id, 'pp_buy_now_new_disable_funding_credit', $disable_funding_credit); update_post_meta($button_id, 'pp_buy_now_new_disable_funding_venmo', $disable_funding_venmo); update_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); echo '

Payment button data successfully updated!

'; } } //I've merged two (save and edit events) into one add_action('swpm_create_new_button_process_submission', 'swpm_save_edit_pp_buy_now_new_button_data'); add_action('swpm_edit_payment_button_process_submission', 'swpm_save_edit_pp_buy_now_new_button_data'); /************************************************************************************* * END of Process submission *************************************************************************************/ /***************************************************************************** * Start of render the PayPal Buy Now (New) payment button creation interface *****************************************************************************/ function render_save_edit_pp_buy_now_new_button_interface($bt_opts, $is_edit_mode = false) { $settings = SwpmSettings::get_instance(); $live_client_id = $settings->get_value('paypal-live-client-id'); $sandbox_client_id = $settings->get_value('paypal-sandbox-client-id'); if ( empty($live_client_id) && empty($sandbox_client_id) ) { //API credentials are not configured. Show a warning message and return. echo '
'; echo __('You need to configure your PayPal API credentials first. ', 'simple-membership'); echo ''.__('Click here', 'simple-membership').' '. __('to configure your PayPal API credentials in the payment settings menu.', 'simple-membership'); echo '
'; return; } ?>
 

sanitize_text_field($_REQUEST['button_type']), 'pp_buy_now_new_btn_type' => 'buynow', /* set default button type */ 'pp_buy_now_new_btn_height' => 'medium', /* set default button height */ 'pp_buy_now_new_btn_color' => 'blue', /* set default button color */ 'pp_buy_now_new_disable_funding_credit' => '1', /* set credit option to be disabled by default */ ); render_save_edit_pp_buy_now_new_button_interface($bt_opts); } add_action('swpm_create_new_button_for_pp_buy_now_new', 'swpm_create_new_pp_buy_now_new_button'); /***************************************************************** * Render the edit new PayPal buy now payment button interface *************************************************************** */ function swpm_edit_pp_buy_now_new_button() { //Retrieve the payment button data and present it for editing. $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button = get_post($button_id); //Retrieve the CPT for this button //$button_image_url = get_post_meta($button_id, 'button_image_url', true); $bt_opts = array( 'button_id' => $button_id, 'button_type' => sanitize_text_field($_REQUEST['button_type']), 'button_name' => $button->post_title, 'membership_level_id' => get_post_meta($button_id, 'membership_level_id', true), 'payment_currency' => get_post_meta($button_id, 'payment_currency', true), 'payment_amount' => get_post_meta($button_id, 'payment_amount', true), 'pp_buy_now_new_btn_type' => get_post_meta($button_id, 'pp_buy_now_new_btn_type', true), 'pp_buy_now_new_btn_shape' => get_post_meta($button_id, 'pp_buy_now_new_btn_shape', true), 'pp_buy_now_new_btn_layout' => get_post_meta($button_id, 'pp_buy_now_new_btn_layout', true), 'pp_buy_now_new_btn_height' => get_post_meta($button_id, 'pp_buy_now_new_btn_height', true), 'pp_buy_now_new_btn_width' => get_post_meta($button_id, 'pp_buy_now_new_btn_width', true), 'pp_buy_now_new_btn_color' => get_post_meta($button_id, 'pp_buy_now_new_btn_color', true), 'pp_buy_now_new_disable_funding_card' => get_post_meta($button_id, 'pp_buy_now_new_disable_funding_card', true), 'pp_buy_now_new_disable_funding_credit' => get_post_meta($button_id, 'pp_buy_now_new_disable_funding_credit', true), 'pp_buy_now_new_disable_funding_venmo' => get_post_meta($button_id, 'pp_buy_now_new_disable_funding_venmo', true), 'return_url' => get_post_meta($button_id, 'return_url', true), ); render_save_edit_pp_buy_now_new_button_interface($bt_opts, true); } add_action('swpm_edit_payment_button_for_pp_buy_now_new', 'swpm_edit_pp_buy_now_new_button'); /************************************************************************************* * END of render button configuration HTML *************************************************************************************/views/payments/payment-gateway/braintree_button_shortcode_view.php000064400000035274147206617610022065 0ustar00'.__('Error! swpm_render_braintree_buy_now_button_sc_output() function requires the button ID value to be passed to it.', 'simple-membership').'

'; } //Get class option for button styling, set Stripe's default if none specified $class = isset($args['class']) ? sanitize_html_class($args['class']) : ''; //Check new_window parameter $window_target = isset($args['new_window']) ? 'target="_blank"' : ''; $button_text = (isset($args['button_text'])) ? sanitize_text_field($args['button_text']) : __('Buy Now', 'simple-membership'); $billing_address = isset($args['billing_address']) ? '1' : '';; //By default don't show the billing address in the checkout form. $item_logo = ''; //Can be used to show an item logo or thumbnail in the checkout form. $settings = SwpmSettings::get_instance(); $button_cpt = get_post($button_id); //Retrieve the CPT for this button $item_name = htmlspecialchars($button_cpt->post_title); $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if (!SwpmUtils::membership_level_id_exists($membership_level_id)) { return '

'.__('Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.', 'simple-membership').'

'; } //Payment amount and currency $payment_amount = get_post_meta($button_id, 'payment_amount', true); if (!is_numeric($payment_amount)) { return '

'.__('Error! The payment amount value of the button must be a numeric number. Example: 49.50 ', 'simple-membership').'

'; } $payment_amount = round($payment_amount, 2); //round the amount to 2 decimal place. $payment_currency = get_post_meta($button_id, 'currency_code', true); $payment_amount_formatted = SwpmMiscUtils::format_money($payment_amount, $payment_currency); //Return, cancel, notifiy URLs $return_url = get_post_meta($button_id, 'return_url', true); if (empty($return_url)) { $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL; } $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_braintree_buy_now=1'; //We are going to use it to do post payment processing. //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout. //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); $_SESSION['swpm_payment_button_interaction'] = $user_ip; //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if (SwpmMemberUtils::is_member_logged_in()) { $member_id = SwpmMemberUtils::get_logged_in_members_id(); $custom_field_value .= '&swpm_id=' . $member_id; $member_first_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'first_name'); $member_last_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'last_name'); $member_email = SwpmMemberUtils::get_member_field_by_id($member_id, 'email'); } $custom_field_value = apply_filters('swpm_custom_field_value_filter', $custom_field_value); //Sandbox settings $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); if ($sandbox_enabled) { $braintree_env = "sandbox"; } else { $braintree_env = "production"; } require_once(SIMPLE_WP_MEMBERSHIP_PATH . 'lib/braintree/lib/autoload.php'); try { Braintree_Configuration::environment($braintree_env); Braintree_Configuration::merchantId(get_post_meta($button_id, 'braintree_merchant_acc_id', true)); Braintree_Configuration::publicKey(get_post_meta($button_id, 'braintree_public_key', true)); Braintree_Configuration::privateKey(get_post_meta($button_id, 'braintree_private_key', true)); $clientToken = Braintree_ClientToken::generate(); } catch (Exception $e) { $e_class = get_class($e); $ret = __('Braintree Pay Now button error: ', 'simple-membership') . $e_class; if ($e_class == "Braintree\Exception\Authentication") $ret .= "
" . __("API keys are incorrect. Double-check that you haven't accidentally tried to use your sandbox keys in production or vice-versa.", 'simple-membership'); return $ret; } $uniqid = uniqid(); // Get unique ID to ensure several buttons can be added to one page without conflicts /* === Braintree Buy Now Button Form === */ $output = ''; $output .= '
'; $output .= "
"; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; ob_start(); ?> '; $output .= ''; $output .= ""; $output .= ""; $output .= ""; $output .= ""; //Filter to add additional payment input fields to the form. $output .= apply_filters('swpm_braintree_payment_form_additional_fields', ''); $output .= "
"; $output .= '
'; //End .swpm_button_wrapper return $output; } views/payments/payment-gateway/admin_paypal_subscription_new_button.php000064400000122772147206617610023121 0ustar00 $button_name, 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish' ) ); add_post_meta($button_id, 'button_type', sanitize_text_field($_REQUEST['button_type'])); add_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); add_post_meta($button_id, 'payment_currency', trim(sanitize_text_field($_REQUEST['payment_currency']))); add_post_meta($button_id, 'recurring_billing_amount', trim(sanitize_text_field($_REQUEST['recurring_billing_amount']))); add_post_meta($button_id, 'recurring_billing_cycle', trim(sanitize_text_field($_REQUEST['recurring_billing_cycle']))); add_post_meta($button_id, 'recurring_billing_cycle_term', trim(sanitize_text_field($_REQUEST['recurring_billing_cycle_term']))); add_post_meta($button_id, 'recurring_billing_cycle_count', trim(sanitize_text_field($_REQUEST['recurring_billing_cycle_count']))); add_post_meta($button_id, 'recurring_billing_reattempt', isset($_REQUEST['recurring_billing_reattempt']) ? '1' : ''); add_post_meta($button_id, 'trial_billing_amount', trim(sanitize_text_field($_REQUEST['trial_billing_amount']))); add_post_meta($button_id, 'trial_billing_cycle', trim(sanitize_text_field($_REQUEST['trial_billing_cycle']))); add_post_meta($button_id, 'trial_billing_cycle_term', trim(sanitize_text_field($_REQUEST['trial_billing_cycle_term']))); add_post_meta($button_id, 'pp_subscription_new_btn_type', $btn_type); add_post_meta($button_id, 'pp_subscription_new_btn_shape', $btn_shape); add_post_meta($button_id, 'pp_subscription_new_btn_layout', $btn_layout); add_post_meta($button_id, 'pp_subscription_new_btn_height', $btn_height); add_post_meta($button_id, 'pp_subscription_new_btn_width', $btn_width); add_post_meta($button_id, 'pp_subscription_new_btn_color', $btn_color); add_post_meta($button_id, 'pp_subscription_new_disable_funding_card', $disable_funding_card); add_post_meta($button_id, 'pp_subscription_new_disable_funding_credit', $disable_funding_credit); add_post_meta($button_id, 'pp_subscription_new_disable_funding_venmo', $disable_funding_venmo); add_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); //Check if webhooks already configured for this site. If not, create necessary webhooks. SWPM_PayPal_Utility_Functions::check_and_create_webhooks_for_this_site(); //Redirect to the manage payment buttons interface $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=payment_buttons'; SwpmMiscUtils::redirect_to_url($url); } if (isset($_REQUEST['swpm_pp_subscription_new_edit_submit'])) { //This is a PayPal Subscription (New) button edit event. check_admin_referer( 'swpm_admin_add_edit_pp_subscription_new_btn', 'swpm_admin_add_edit_pp_subscription_new_btn' ); $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button_post = array( 'ID' => $button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post($button_post); update_post_meta($button_id, 'button_type', sanitize_text_field($_REQUEST['button_type'])); update_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); if( SWPM_PayPal_Utility_Functions::has_plan_details_changed_for_button($button_id) ){ //Plan details have changed. Delete any existing plan (so a new one can be created next time this button is used). SwpmLog::log_simple_debug("PayPal Subscription button edit - billing plan details have been updated.", true); delete_post_meta( $button_id, 'pp_subscription_plan_id' ); } update_post_meta($button_id, 'payment_currency', trim(sanitize_text_field($_REQUEST['payment_currency']))); update_post_meta($button_id, 'recurring_billing_amount', trim(sanitize_text_field($_REQUEST['recurring_billing_amount']))); update_post_meta($button_id, 'recurring_billing_cycle', trim(sanitize_text_field($_REQUEST['recurring_billing_cycle']))); update_post_meta($button_id, 'recurring_billing_cycle_term', trim(sanitize_text_field($_REQUEST['recurring_billing_cycle_term']))); update_post_meta($button_id, 'recurring_billing_cycle_count', trim(sanitize_text_field($_REQUEST['recurring_billing_cycle_count']))); update_post_meta($button_id, 'recurring_billing_reattempt', isset($_REQUEST['recurring_billing_reattempt']) ? '1' : ''); update_post_meta($button_id, 'trial_billing_amount', trim(sanitize_text_field($_REQUEST['trial_billing_amount']))); update_post_meta($button_id, 'trial_billing_cycle', trim(sanitize_text_field($_REQUEST['trial_billing_cycle']))); update_post_meta($button_id, 'trial_billing_cycle_term', trim(sanitize_text_field($_REQUEST['trial_billing_cycle_term']))); update_post_meta($button_id, 'pp_subscription_new_btn_type', $btn_type); update_post_meta($button_id, 'pp_subscription_new_btn_shape', $btn_shape); update_post_meta($button_id, 'pp_subscription_new_btn_layout', $btn_layout); update_post_meta($button_id, 'pp_subscription_new_btn_height', $btn_height); update_post_meta($button_id, 'pp_subscription_new_btn_width', $btn_width); update_post_meta($button_id, 'pp_subscription_new_btn_color', $btn_color); update_post_meta($button_id, 'pp_subscription_new_disable_funding_card', $disable_funding_card); update_post_meta($button_id, 'pp_subscription_new_disable_funding_credit', $disable_funding_credit); update_post_meta($button_id, 'pp_subscription_new_disable_funding_venmo', $disable_funding_venmo); update_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); echo '

Payment button data successfully updated!

'; } } //I've merged two (save and edit events) into one add_action('swpm_create_new_button_process_submission', 'swpm_save_edit_pp_subscription_new_button_data'); add_action('swpm_edit_payment_button_process_submission', 'swpm_save_edit_pp_subscription_new_button_data'); /************************************************************************************* * END of Process submission *************************************************************************************/ /***************************************************************************** * Start of render the PayPal Subscription (New) payment button creation interface *****************************************************************************/ function render_save_edit_pp_subscription_new_button_interface($bt_opts, $is_edit_mode = false) { $settings = SwpmSettings::get_instance(); $live_client_id = $settings->get_value('paypal-live-client-id'); $sandbox_client_id = $settings->get_value('paypal-sandbox-client-id'); if ( empty($live_client_id) && empty($sandbox_client_id) ) { //API credentials are not configured. Show a warning message and return. echo '
'; echo __('You need to configure your PayPal API credentials first. ', 'simple-membership'); echo ''.__('Click here', 'simple-membership').' ' . __('to configure your PayPal API credentials in the payment settings menu.', 'simple-membership'); echo '
'; return; } ?>
 

/>

sanitize_text_field($_REQUEST['button_type']), 'pp_subscription_new_btn_height' => 'medium', /* set default button height */ 'pp_subscription_new_btn_color' => 'blue', /* set default button color */ 'pp_subscription_new_disable_funding_credit' => '1', /* set credit option to be disabled by default */ ); render_save_edit_pp_subscription_new_button_interface($bt_opts); } add_action('swpm_create_new_button_for_pp_subscription_new', 'swpm_create_new_pp_subscription_new_button'); /***************************************************************** * Render the edit new PayPal subscription payment button interface *************************************************************** */ function swpm_edit_pp_subscription_new_button() { //Retrieve the payment button data and present it for editing. $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button = get_post($button_id); //Retrieve the CPT for this button //$button_image_url = get_post_meta($button_id, 'button_image_url', true); $bt_opts = array( 'button_id' => $button_id, 'button_type' => sanitize_text_field($_REQUEST['button_type']), 'button_name' => $button->post_title, 'membership_level_id' => get_post_meta($button_id, 'membership_level_id', true), 'payment_currency' => get_post_meta($button_id, 'payment_currency', true), 'recurring_billing_amount' => get_post_meta($button_id, 'recurring_billing_amount', true), 'recurring_billing_cycle' => get_post_meta($button_id, 'recurring_billing_cycle', true), 'recurring_billing_cycle_term' => get_post_meta($button_id, 'recurring_billing_cycle_term', true), 'recurring_billing_cycle_count' => get_post_meta($button_id, 'recurring_billing_cycle_count', true), 'recurring_billing_reattempt' => get_post_meta($button_id, 'recurring_billing_reattempt', true), 'trial_billing_amount' => get_post_meta($button_id, 'trial_billing_amount', true), 'trial_billing_cycle' => get_post_meta($button_id, 'trial_billing_cycle', true), 'trial_billing_cycle_term' => get_post_meta($button_id, 'trial_billing_cycle_term', true), 'pp_subscription_new_btn_type' => get_post_meta($button_id, 'pp_subscription_new_btn_type', true), 'pp_subscription_new_btn_shape' => get_post_meta($button_id, 'pp_subscription_new_btn_shape', true), 'pp_subscription_new_btn_layout' => get_post_meta($button_id, 'pp_subscription_new_btn_layout', true), 'pp_subscription_new_btn_height' => get_post_meta($button_id, 'pp_subscription_new_btn_height', true), 'pp_subscription_new_btn_width' => get_post_meta($button_id, 'pp_subscription_new_btn_width', true), 'pp_subscription_new_btn_color' => get_post_meta($button_id, 'pp_subscription_new_btn_color', true), 'pp_subscription_new_disable_funding_card' => get_post_meta($button_id, 'pp_subscription_new_disable_funding_card', true), 'pp_subscription_new_disable_funding_credit' => get_post_meta($button_id, 'pp_subscription_new_disable_funding_credit', true), 'pp_subscription_new_disable_funding_venmo' => get_post_meta($button_id, 'pp_subscription_new_disable_funding_venmo', true), 'return_url' => get_post_meta($button_id, 'return_url', true), 'pp_subscription_plan_id' => get_post_meta($button_id, 'pp_subscription_plan_id', true), 'pp_subscription_plan_mode' => get_post_meta($button_id, 'pp_subscription_plan_mode', true), ); render_save_edit_pp_subscription_new_button_interface($bt_opts, true); } add_action('swpm_edit_payment_button_for_pp_subscription_new', 'swpm_edit_pp_subscription_new_button'); /************************************************************************************* * END of render button configuration HTML *************************************************************************************/views/payments/payment-gateway/stripe_sca_button_shortcode_view.php000064400000033063147206617610022240 0ustar00Error! swpm_render_stripe_sca_buy_now_button_sc_output() function requires the button ID value to be passed to it.

'; } //Get class option for button styling, set Stripe's default if none specified $class = isset( $args['class'] ) ? sanitize_html_class($args['class']) : 'stripe-button-el'; //Check new_window parameter $window_target = isset( $args['new_window'] ) ? 'target="_blank"' : ''; $button_text = ( isset( $args['button_text'] ) ) ? sanitize_text_field( $args['button_text'] ) : __( 'Buy Now', 'simple-membership' ); //Check the optional 'payment_method_types' paramter to see if it is set. Example value: payment_method_types="card,us_bank_account". //It can be used to enable ACH payment option. $payment_method_types = isset( $args['payment_method_types'] ) ? $args['payment_method_types'] : ''; $item_logo = ''; //Can be used to show an item logo or thumbnail in the checkout form. $settings = SwpmSettings::get_instance(); $button_cpt = get_post( $button_id ); //Retrieve the CPT for this button $item_name = htmlspecialchars( $button_cpt->post_title ); $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if ( ! \SwpmUtils::membership_level_id_exists( $membership_level_id ) ) { return '

'.__('Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.', 'simple-membership').'

'; } //Payment amount and currency $payment_amount = get_post_meta( $button_id, 'payment_amount', true ); if ( ! is_numeric( $payment_amount ) ) { return '

'.__('Error! The payment amount value of the button must be a numeric number. Example: 49.50 ', 'simple-membership').'

'; } $payment_currency = get_post_meta( $button_id, 'payment_currency', true ); $payment_amount = round( $payment_amount, 2 ); //round the amount to 2 decimal place. $zero_cents = unserialize( SIMPLE_WP_MEMBERSHIP_STRIPE_ZERO_CENTS ); if ( in_array( $payment_currency, $zero_cents ) ) { //this is zero-cents currency, amount shouldn't be multiplied by 100 $price_in_cents = $payment_amount; } else { $price_in_cents = $payment_amount * 100; //The amount (in cents). This value is passed to Stripe API. } $payment_amount_formatted = SwpmMiscUtils::format_money( $payment_amount, $payment_currency ); //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout. //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); $_SESSION['swpm_payment_button_interaction'] = $user_ip; //Sandbox settings $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); //API keys $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $button_id, ! $sandbox_enabled ); $uniqid = md5( uniqid() ); $ref_id = 'swpm_' . $uniqid . '|' . $button_id; //Return, cancel, notifiy URLs $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_sca_buy_now=1&ref_id=' . $ref_id; //We are going to use it to do post payment processing. $current_url = SwpmMiscUtils::get_current_page_url(); /* === Stripe Buy Now Button Form === */ $output = ''; $output .= '
'; $output .= "
"; $output .= "
"; //Handle script and style loading for the button if ( ! wp_script_is( 'swpm.stripe', 'registered' ) ) { //In some themes (block themes) this may not have been registered yet since that process can be delayed. So register it now before doing inline script to it. wp_register_script("swpm.stripe", "https://js.stripe.com/v3/", array("jquery"), SIMPLE_WP_MEMBERSHIP_VER); } wp_enqueue_script("swpm.stripe"); wp_enqueue_style("swpm.stripe.style"); //initializing stripe for each button, right after loading stripe script $stripe_js_obj="stripe_".$button_id; wp_add_inline_script("swpm.stripe","var ".$stripe_js_obj." = Stripe('".esc_js( $api_keys['public'] )."');"); ob_start(); ?> '; //apply filter to output additional form fields $coupon_input = ''; $coupon_input = apply_filters( 'swpm_payment_form_additional_fields', $coupon_input, $button_id, $uniqid ); if ( ! empty( $coupon_input ) ) { $output .= $coupon_input; } $button_image_url = get_post_meta( $button_id, 'button_image_url', true ); if ( ! empty( $button_image_url ) ) { $output .= ''; } else { $output .= ""; } //Filter to add additional payment input fields to the form. $output .= apply_filters( 'swpm_stripe_payment_form_additional_fields', '' ); $output .= ''; $output .= '
'; //End .swpm_button_wrapper return $output; } add_filter( 'swpm_payment_button_shortcode_for_stripe_sca_subscription', 'swpm_render_stripe_sca_subscription_button_sc_output', 10, 2 ); function swpm_render_stripe_sca_subscription_button_sc_output( $button_code, $args ) { $button_id = isset( $args['id'] ) ? sanitize_html_class($args['id']) : ''; if ( empty( $button_id ) ) { return '

'.__('Error! swpm_render_stripe_sca_buy_now_button_sc_output() function requires the button ID value to be passed to it.', 'simple-membership').'

'; } //Get class option for button styling, set Stripe's default if none specified $class = isset( $args['class'] ) ? sanitize_html_class($args['class']) : 'stripe-button-el'; //Check new_window parameter $window_target = isset( $args['new_window'] ) ? 'target="_blank"' : ''; $button_text = ( isset( $args['button_text'] ) ) ? esc_attr( $args['button_text'] ) : __( 'Buy Now' , 'simple-membership'); //Check the optional 'payment_method_types' paramter to see if it is set. Example value: payment_method_types="card,us_bank_account". //It can be used to enable ACH payment option. $payment_method_types = isset( $args['payment_method_types'] ) ? $args['payment_method_types'] : ''; $item_logo = ''; //Can be used to show an item logo or thumbnail in the checkout form. $settings = SwpmSettings::get_instance(); $button_cpt = get_post( $button_id ); //Retrieve the CPT for this button $item_name = htmlspecialchars( $button_cpt->post_title ); $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if ( ! \SwpmUtils::membership_level_id_exists( $membership_level_id ) ) { return '

'.__('Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.', 'simple-membership').'

'; } //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout. //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); $_SESSION['swpm_payment_button_interaction'] = $user_ip; //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if ( SwpmMemberUtils::is_member_logged_in() ) { $custom_field_value .= '&swpm_id=' . SwpmMemberUtils::get_logged_in_members_id(); } $custom_field_value = apply_filters( 'swpm_custom_field_value_filter', $custom_field_value ); //Sandbox settings $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); //API keys $api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $button_id, ! $sandbox_enabled ); //Billing address $billing_address = isset( $args['billing_address'] ) ? '1' : ''; //By default don't show the billing address in the checkout form. //if billing_address parameter is not present in the shortcode, let's check button option if ( $billing_address === '' ) { $collect_address = get_post_meta( $button_id, 'stripe_collect_address', true ); if ( $collect_address === '1' ) { //Collect Address enabled in button settings $billing_address = 1; } } $uniqid = md5( uniqid() ); $ref_id = 'swpm_' . $uniqid . '|' . $button_id; //Return, cancel, notifiy URLs $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_sca_subscription=1&ref_id=' . $ref_id; //We are going to use it to do post payment processing. $current_url = SwpmMiscUtils::get_current_page_url(); $plan_id = get_post_meta( $button_id, 'stripe_plan_id', true ); /* === Stripe SCA Subscription Button Form === */ $output = ''; $output .= '
'; $output .= "
"; $output .= "
"; //Handle script and style loading for the button if ( ! wp_script_is( 'swpm.stripe', 'registered' ) ) { //In some themes (block themes) this may not have been registered yet since that process can be delayed. So register it now before doing inline script to it. wp_register_script("swpm.stripe", "https://js.stripe.com/v3/", array("jquery"), SIMPLE_WP_MEMBERSHIP_VER); } wp_enqueue_script("swpm.stripe"); wp_enqueue_style("swpm.stripe.style"); //initializing stripe for each button, right after loading stripe script $stripe_js_obj="stripe_".$button_id; wp_add_inline_script("swpm.stripe","var ".$stripe_js_obj." = Stripe('".esc_js( $api_keys['public'] )."');"); ob_start(); ?> '; //apply filter to output additional form fields $coupon_input = ''; $coupon_input = apply_filters( 'swpm_payment_form_additional_fields', $coupon_input, $button_id, $uniqid ); if ( ! empty( $coupon_input ) ) { $output .= $coupon_input; } $button_image_url = get_post_meta( $button_id, 'button_image_url', true ); if ( ! empty( $button_image_url ) ) { $output .= ''; } else { $output .= ""; } //Filter to add additional payment input fields to the form. $output .= apply_filters( 'swpm_stripe_payment_form_additional_fields', '' ); $output .= ''; $output .= '
'; //End .swpm_button_wrapper return $output;} views/payments/payment-gateway/admin_braintree_buy_now_button.php000064400000042645147206617610021673 0ustar00
View the documentation  to learn how to create and use a Braintree Buy Now payment button.

This is the ID of this payment button. It is automatically generated for you and it cannot be changed.

Give this membership payment button a name. Example: Gold membership payment

Select the membership level this payment button is for.

Enter payment amount. Example values: 10.00 or 19.50 or 299.95 etc (do not put currency symbol).

Enter you Braintree Merchant ID.

Enter your Braintree public key.

Enter your Braintree private key.

Enter your Braintree Merchant Account ID (This is different than the Merchant ID you specified above). Please note currency depends on the Merchant Account ID you specify. Leave empty to use the default one.
The currency for this button is set to:

This is the URL the user will be redirected to after a successful payment. Enter the URL of your Thank You page here.

= 0) { //The server is using at least PHP version 5.4.0 //Can use Braintree gateway library } else { //This server can't handle Braintree library echo '
'; echo '

The Braintree payment gateway library requires at least PHP 5.4.0. Your server is using a very old version of PHP that Braintree does not support.

'; echo '

Request your hosting provider to upgrade your PHP to a more recent version then you will be able to use the Braintree gateway.

'; echo '

'; return; } $bt_opts = array( 'button_type' => sanitize_text_field($_REQUEST['button_type']), ); render_save_edit_braintree_button_interface($bt_opts); } /* * *************************************************************** * Render edit Braintree Buy now payment button interface * ************************************************************** */ add_action('swpm_edit_payment_button_for_braintree_buy_now', 'swpm_edit_braintree_buy_now_button'); function swpm_edit_braintree_buy_now_button() { //Retrieve the payment button data and present it for editing. $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button = get_post($button_id); //Retrieve the CPT for this button //$button_image_url = get_post_meta($button_id, 'button_image_url', true); $bt_opts = array( 'button_id' => $button_id, 'button_type' => sanitize_text_field($_REQUEST['button_type']), 'button_name' => $button->post_title, 'membership_level_id' => get_post_meta($button_id, 'membership_level_id', true), 'payment_amount' => get_post_meta($button_id, 'payment_amount', true), 'braintree_merchant_acc_id' => get_post_meta($button_id, 'braintree_merchant_acc_id', true), 'braintree_merchant_acc_name' => get_post_meta($button_id, 'braintree_merchant_acc_name', true), 'braintree_public_key' => get_post_meta($button_id, 'braintree_public_key', true), 'braintree_private_key' => get_post_meta($button_id, 'braintree_private_key', true), 'return_url' => get_post_meta($button_id, 'return_url', true), 'currency_code' => get_post_meta($button_id, 'currency_code', true), ); render_save_edit_braintree_button_interface($bt_opts, true); } /* * Process submission and save the new or edit Braintree Buy now payment button data */ // This function tries to get Merchant Account currency function swpm_get_braintree_default_currency($params) { $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); if ($sandbox_enabled) { $braintree_env = "sandbox"; } else { $braintree_env = "production"; } require_once(SIMPLE_WP_MEMBERSHIP_PATH . 'lib/braintree/lib/autoload.php'); try { Braintree_Configuration::environment($braintree_env); Braintree_Configuration::merchantId($params['merc_id']); Braintree_Configuration::publicKey($params['public_key']); Braintree_Configuration::privateKey($params['private_key']); $merchantAccount = Braintree_MerchantAccount::find($params['merc_name']); } catch (Exception $e) { // Something went wrong. We actually don't care what exactly happened, so we just return '' return ''; } return $merchantAccount->currencyIsoCode; } add_action('swpm_create_new_button_process_submission', 'swpm_save_edit_braintree_buy_now_button_data'); add_action('swpm_edit_payment_button_process_submission', 'swpm_save_edit_braintree_buy_now_button_data'); //I've merged two (save and edit events) into one function swpm_save_edit_braintree_buy_now_button_data() { if (isset($_REQUEST['swpm_braintree_buy_now_save_submit'])) { //This is a Braintree buy now button save event. check_admin_referer( 'swpm_admin_add_edit_braintree_buy_now_btn', 'swpm_admin_add_edit_braintree_buy_now_btn' ); $button_id = wp_insert_post( array( 'post_title' => sanitize_text_field($_REQUEST['button_name']), 'post_type' => 'swpm_payment_button', 'post_content' => '', 'post_status' => 'publish' ) ); $button_type = sanitize_text_field($_REQUEST['button_type']); add_post_meta($button_id, 'button_type', $button_type); add_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); add_post_meta($button_id, 'payment_amount', trim(sanitize_text_field($_REQUEST['payment_amount']))); add_post_meta($button_id, 'braintree_merchant_acc_name', trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_name']))); add_post_meta($button_id, 'braintree_merchant_acc_id', trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_id']))); add_post_meta($button_id, 'braintree_public_key', trim(sanitize_text_field($_REQUEST['braintree_public_key']))); add_post_meta($button_id, 'braintree_private_key', trim(sanitize_text_field($_REQUEST['braintree_private_key']))); add_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); //add_post_meta($button_id, 'button_image_url', trim(sanitize_text_field($_REQUEST['button_image_url']))); //Let's try to get currency code for current Merchant Account $params = array( 'merc_name' => trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_name'])), 'merc_id' => trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_id'])), 'public_key' => trim(sanitize_text_field($_REQUEST['braintree_public_key'])), 'private_key' => trim(sanitize_text_field($_REQUEST['braintree_private_key'])), ); $currency_code = swpm_get_braintree_default_currency($params); add_post_meta($button_id, 'currency_code', $currency_code); //Redirect to the manage payment buttons interface $url = admin_url() . 'admin.php?page=simple_wp_membership_payments&tab=payment_buttons'; SwpmMiscUtils::redirect_to_url($url); } if (isset($_REQUEST['swpm_braintree_buy_now_edit_submit'])) { //This is a Braintree buy now button edit event. check_admin_referer( 'swpm_admin_add_edit_braintree_buy_now_btn', 'swpm_admin_add_edit_braintree_buy_now_btn' ); $button_id = sanitize_text_field($_REQUEST['button_id']); $button_id = absint($button_id); $button_type = sanitize_text_field($_REQUEST['button_type']); $button_name = sanitize_text_field($_REQUEST['button_name']); $button_post = array( 'ID' => $button_id, 'post_title' => $button_name, 'post_type' => 'swpm_payment_button', ); wp_update_post($button_post); $prev_merc_acc_name = get_post_meta($button_id, 'braintree_merchant_acc_name', true); $new_merc_acc_name = trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_name'])); update_post_meta($button_id, 'button_type', $button_type); update_post_meta($button_id, 'membership_level_id', sanitize_text_field($_REQUEST['membership_level_id'])); update_post_meta($button_id, 'payment_amount', trim(sanitize_text_field($_REQUEST['payment_amount']))); update_post_meta($button_id, 'braintree_merchant_acc_name', trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_name']))); update_post_meta($button_id, 'braintree_merchant_acc_id', trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_id']))); update_post_meta($button_id, 'braintree_public_key', trim(sanitize_text_field($_REQUEST['braintree_public_key']))); update_post_meta($button_id, 'braintree_private_key', trim(sanitize_text_field($_REQUEST['braintree_private_key']))); update_post_meta($button_id, 'return_url', trim(sanitize_text_field($_REQUEST['return_url']))); //update_post_meta($button_id, 'button_image_url', trim(sanitize_text_field($_REQUEST['button_image_url']))); if ($prev_merc_acc_name != $new_merc_acc_name) { //Looks like Merchant Account Name was modified, so let's try to request new currency code $params = array( 'merc_name' => trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_name'])), 'merc_id' => trim(sanitize_text_field($_REQUEST['braintree_merchant_acc_id'])), 'public_key' => trim(sanitize_text_field($_REQUEST['braintree_public_key'])), 'private_key' => trim(sanitize_text_field($_REQUEST['braintree_private_key'])), ); $currency_code = swpm_get_braintree_default_currency($params); update_post_meta($button_id, 'currency_code', $currency_code); } echo '

Payment button data successfully updated!

'; } }views/payments/payment-gateway/paypal_advanced_buy_now_button_shortcode_view.php000064400000040736147206617610024766 0ustar00Error! swpm_render_pp_buy_now_new_button_sc_output() function requires the button ID value to be passed to it.

'; // } $button_id = '4638'; //Membership level for this button $membership_level_id = get_post_meta( $button_id, 'membership_level_id', true ); //Verify that this membership level exists (to prevent user paying for a level that has been deleted) if (! SwpmUtils::membership_level_id_exists( $membership_level_id )) { return '

Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.

'; } //Payment amount $payment_amount = get_post_meta( $button_id, 'payment_amount', true ); //Get the Item name for this button. This will be used as the item name in the IPN. $button_cpt = get_post( $button_id ); //Retrieve the CPT for this button $item_name = htmlspecialchars( $button_cpt->post_title ); $item_name = substr($item_name, 0, 127);//Limit the item name to 127 characters (PayPal limit) //User's IP address $user_ip = SwpmUtils::get_user_ip_address(); //Custom field data $custom_field_value = 'subsc_ref=' . $membership_level_id; $custom_field_value .= '&user_ip=' . $user_ip; if (SwpmMemberUtils::is_member_logged_in()) { $member_id = SwpmMemberUtils::get_logged_in_members_id(); $custom_field_value .= '&swpm_id=' . $member_id; //$member_first_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'first_name'); //$member_last_name = SwpmMemberUtils::get_member_field_by_id($member_id, 'last_name'); //$member_email = SwpmMemberUtils::get_member_field_by_id($member_id, 'email'); } $custom_field_value = apply_filters( 'swpm_custom_field_value_filter', $custom_field_value ); /***************************************** * Settings and Button Specific Configuration *****************************************/ $settings = SwpmSettings::get_instance(); $live_client_id = $settings->get_value( 'paypal-live-client-id' ); $sandbox_client_id = $settings->get_value( 'paypal-sandbox-client-id' ); $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); $is_live_mode = $sandbox_enabled ? 0 : 1; $environment_mode = $sandbox_enabled ? 'sandbox' : 'production'; $currency = get_post_meta( $button_id, 'payment_currency', true ); $disable_funding_card = get_post_meta( $button_id, 'pp_buy_now_new_disable_funding_card', true ); $disable_funding_credit = get_post_meta( $button_id, 'pp_buy_now_new_disable_funding_credit', true ); $disable_funding_venmo = get_post_meta( $button_id, 'pp_buy_now_new_disable_funding_venmo', true ); $disable_funding = array(); if (! empty( $disable_funding_card )) { $disable_funding[] = 'card'; } if (! empty( $disable_funding_credit )) { $disable_funding[] = 'credit'; } if (! empty( $disable_funding_venmo )) { $disable_funding[] = 'venmo'; } $btn_type = get_post_meta( $button_id, 'pp_buy_now_new_btn_type', true ); $btn_shape = get_post_meta( $button_id, 'pp_buy_now_new_btn_shape', true ); $btn_layout = get_post_meta( $button_id, 'pp_buy_now_new_btn_layout', true ); $btn_color = get_post_meta( $button_id, 'pp_buy_now_new_btn_color', true ); $btn_width = get_post_meta( $button_id, 'pp_buy_now_new_btn_width', true ); $btn_height = get_post_meta( $button_id, 'pp_buy_now_new_btn_height', true ); $btn_sizes = array( 'small' => 25, 'medium' => 35, 'large' => 45, 'xlarge' => 55 ); $btn_height = isset( $btn_sizes[ $btn_height ] ) ? $btn_sizes[ $btn_height ] : 35; $return_url = get_post_meta( $button_id, 'return_url', true ); $txn_success_message = __( 'Transaction completed successfully!', 'simple-membership' ); /********************** * PayPal SDK Settings **********************/ //Configure the paypal SDK settings and enqueue the code for SDK loading. $settings_args = array( 'is_live_mode' => $is_live_mode, 'live_client_id' => $live_client_id, 'sandbox_client_id' => $sandbox_client_id, 'currency' => $currency, 'disable-funding' => $disable_funding, /*array('card', 'credit', 'venmo'),*/ 'intent' => 'capture', /* It is used to set the "intent" parameter in the JS SDK */ 'is_subscription' => 0, /* It is used to set the "vault" parameter in the JS SDK */ ); //Initialize and set the settings args that will be used to load the JS SDK. $pp_js_button = SWPM_PayPal_JS_Button_Embed::get_instance(); $pp_js_button->set_settings_args( $settings_args ); //Load the JS SDK on footer (so it only loads once per page) //Do not load this version of the JS SDK for ACDC buttons. //add_action( 'wp_footer', array( $pp_js_button, 'load_paypal_sdk' ) ); //The on page embed button id is used to identify the button on the page. Useful when there are multiple buttons (of the same item/product) on the same page. $on_page_embed_button_id = $pp_js_button->get_next_button_id(); //Create nonce for this button. $wp_nonce = wp_create_nonce( $on_page_embed_button_id ); //TODO - Remove this later. This is just for testing. //Force Cache Delete on page load. Delete the bearer token from cache to make sure it generates a new one. //SWPM_PayPal_Bearer::delete_cached_token();//Testing purpose only. $pp_acdc = new SWPM_PayPal_ACDC_Related(); $client_token = $pp_acdc->generate_client_token( $environment_mode ); $currency = isset( $currency ) ? $currency : 'USD'; $sdk_src_url = SWPM_PayPal_ACDC_Related::get_sdk_src_url_for_acdc( $environment_mode, $currency ); //return "";//TODO - remove later. //TODO - Remove this later. This is just for testing. //Force Cache Delete on page load. Delete the bearer token from cache to make sure it generates a new one. //$paypal_cache = SWPM_PayPal_Cache::get_instance(); //$paypal_cache->delete( SWPM_PayPal_Bearer::BEARER_CACHE_KEY );//Delete to reset the cache to make sure it generates a new one. // $merchant_id = SWPM_PayPal_Utility_Functions::get_seller_merchant_id_by_environment_mode( $environment_mode ); // echo '
------------Debug data Start------------
'; // echo '
PayPal Button Container ID: ' . $on_page_embed_button_id; // echo '
Client ID: ' . $sandbox_client_id; // echo '
Merchant ID: ' . $merchant_id; // echo '
------------Debug data End------------
'; //TODO - Hardcoding the SDK SRC URL for testing purpose. //$sdk_src_url = 'https://www.paypal.com/sdk/js?components=buttons,card-fields&client-id=AWhSWfRz8trG53XGB_NojvmgFCJErbtqfyKsggUIK4N2of5c9pktXmgOksLM0pztnnmaGxXgYBg4Qatq';//Vidya's client-ID //$sdk_src_url = 'https://www.paypal.com/sdk/js?components=buttons,card-fields&client-id=AXXepw7uhkLrtey3bJFpNZQIigy15JsCfSBbZEno-lJiNs5Fqf2-_uqxGH6i8U-1Zc6k6QjSKVm48Wrg';//New account client-ID //$sdk_src_url = 'https://www.paypal.com/sdk/js?components=buttons,hosted-fields&client-id=AQ1G2q1dWrcPZzrioplED3qB0forkMUhS12VPcVoEvxSCHce7iNpAGgI12nUPNVgcQY7AuGp8iL6jAQQ'; //$sdk_src_url = 'https://www.paypal.com/sdk/js?components=buttons,hosted-fields&client-id=AeO65uHbDsjjFBdx3DO6wffuH2wIHHRDNiF5jmNgXOC8o3rRKkmCJnpmuGzvURwqpyIv-CUYH9cwiuhX'; //$sdk_src_url = 'https://www.paypal.com/sdk/js?components=buttons,hosted-fields&client-id=AeO65uHbDsjjFBdx3DO6wffuH2wIHHRDNiF5jmNgXOC8o3rRKkmCJnpmuGzvURwqpyIv-CUYH9cwiuhX¤cy=USD&intent=capture'; //$sdk_src_url = 'https://www.paypal.com/sdk/js?components=buttons,hosted-fields&client-id=AQ1G2q1dWrcPZzrioplED3qB0forkMUhS12VPcVoEvxSCHce7iNpAGgI12nUPNVgcQY7AuGp8iL6jAQQ&merchant-id=6P8SX89ESHD56¤cy=USD&intent=capture'; //echo '

SDK Source URL: ' . $sdk_src_url . '

'; //Get the bearer/access token. // $bearer = SWPM_PayPal_Bearer::get_instance(); // $bearer_access_token = $bearer->get_bearer_token( $environment_mode ); // echo '

Bearer Access Token: ' . $bearer_access_token . '

'; //$client_token = $bearer_access_token;//Testing with bearer access token //Commented code /* * * $sdk_src_url = 'https://www.paypal.com/sdk/js?components=buttons,hosted-fields&client-id=AQ1G2q1dWrcPZzrioplED3qB0forkMUhS12VPcVoEvxSCHce7iNpAGgI12nUPNVgcQY7AuGp8iL6jAQQ&merchant-id=6P8SX89ESHD56¤cy=USD&intent=capture'; */ $output = ''; ob_start(); ?>
'; echo $error_message; echo '
'; return; } SimpleWpMembership::enqueue_validation_scripts(); $settings = SwpmSettings::get_instance(); $force_strong_pass = $settings->get_value('force-strong-passwords'); if (!empty($force_strong_pass)) { $pass_class = apply_filters("swpm_registration_strong_pass_validation", "validate[required,custom[strongPass],minSize[8]]"); } else { $pass_class = ""; } //CSS class for the pass reset submit button $pass_reset_submit_class = 'swpm-pw-reset-submit'; $render_new_form_ui = SwpmSettings::get_instance()->get_value('use-new-form-ui'); if ( !empty( $render_new_form_ui ) ){ $pass_reset_submit_class .= ' swpm-submit-btn-default-style'; } ?> views/admin_add_ons_page.php000064400000040104147206617610012176 0ustar00' . "\n"; ?>

'After Login Redirection', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-login-redirection.png', 'description' => 'Allows you to configure after login redirection to a specific page based on the member\'s level', 'page_url' => 'https://simple-membership-plugin.com/configure-login-redirection-members/', ); array_push($addons_data, $addon_1); $addon_2 = array( 'name' => 'MailChimp Integration', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/mailchimp-integration.png', 'description' => 'Allows you to signup the member to your MailChimp list after registration', 'page_url' => 'https://simple-membership-plugin.com/signup-members-mailchimp-list/', ); array_push($addons_data, $addon_2); $addon_3 = array( 'name' => 'Form Shortcode', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/form-shortcode-generator.png', 'description' => 'Simple Membership Addon to generate form shortcode for specific membership level.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-registration-form-shortcode-generator/', ); array_push($addons_data, $addon_3); $addon_4 = array( 'name' => 'Member Directory Listing', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-member-directory-listing-addon.png', 'description' => 'Allows you to create a list of all the users on your site, with pagination and search option.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-member-directory-listing-addon/', ); array_push($addons_data, $addon_4); $addon_5 = array( 'name' => 'Form Builder', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-form-builder.png', 'description' => 'Allows you to fully customize the fields that appear on the registration and edit profile forms of your membership site', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-form-builder-addon/', ); array_push($addons_data, $addon_5); $addon_6 = array( 'name' => 'Custom Messages', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-custom-messages.png', 'description' => 'Custom Messages addon allows you to customize the content protection message that gets output from the membership plugin', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-custom-messages-addon/', ); array_push($addons_data, $addon_6); $addon_7 = array( 'name' => 'WooCommerce Payments', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-woocommerce-addon.png', 'description' => 'This addon can be used to accept membership payment via the WooCommerce plugin', 'page_url' => 'https://simple-membership-plugin.com/woocommerce-simple-membership-plugin-integration/', ); array_push($addons_data, $addon_7); $addon_8 = array( 'name' => 'WP Express Checkout', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/wp-express-checkout-integration.png', 'description' => 'Allows you to integrate with the Express Checkout plugin to accept membership payments.', 'page_url' => 'https://simple-membership-plugin.com/wp-express-checkout-plugin-integration-for-membership-payment/', ); array_push($addons_data, $addon_8); $addon_9 = array( 'name' => 'Affiliates Manager', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/affiliates-manager-integration.png', 'description' => 'Allows you to integrate with the Affiliates Manager plugin so you can reward affiliates for sending paid members your way.', 'page_url' => 'https://wpaffiliatemanager.com/affiliates-manager-and-simple-membership-integration/', ); array_push($addons_data, $addon_9); $addon_10 = array( 'name' => 'Affiliate Platform', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/affiliate-platform-integration.png', 'description' => 'Allows you to integrate with the Affiliate Platform plugin so you can reward affiliates for sending paid members your way.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-and-wp-affiliate-platform-integration/', ); array_push($addons_data, $addon_10); $addon_11 = array( 'name' => 'bbPress Integration', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-bbpress-integration.png', 'description' => 'Adds bbPress forum integration with the simple membership plugin to offer members only forum functionality.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-bbpress-forum-integration-addon/', ); array_push($addons_data, $addon_11); $addon_12 = array( 'name' => 'Google reCAPTCHA', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/google-recaptcha-addon.png', 'description' => 'Allows you to add Google reCAPTCHA to your membership registration form/page.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-and-google-recaptcha-integration/', ); array_push($addons_data, $addon_12); $addon_13 = array( 'name' => 'Full Page Protection', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/full-page-protection-addon.png', 'description' => 'Allows you to protect the full post or page (header to footer).', 'page_url' => 'https://simple-membership-plugin.com/full-page-protection-addon-simple-membership/', ); array_push($addons_data, $addon_13); $addon_14 = array( 'name' => 'Protect Older Posts', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-older-posts-protection.png', 'description' => 'The protect older posts addon allows you to control protection of posts that were published before a member\'s access start date.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-protect-older-posts-addon/', ); array_push($addons_data, $addon_14); $addon_15 = array( 'name' => 'Custom Post Protection', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/custom-post-type-protection-enhanced.png', 'description' => 'Offers a better solution for protecting custom post type posts.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-addon-better-custom-post-type-protection/', ); array_push($addons_data, $addon_15); $addon_16 = array( 'name' => 'Partial Protection', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-partial-protection-addon.png', 'description' => 'Allows you to apply partial or section protection to posts and pages.', 'page_url' => 'https://simple-membership-plugin.com/apply-partial-section-protection/', ); array_push($addons_data, $addon_16); $addon_17 = array( 'name' => 'Member Data Exporter', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-data-exporter-addon.png', 'description' => 'Allows you to export all the members profile data and payments data to a CSV file.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-member-data-exporter-addon/', ); array_push($addons_data, $addon_17); $addon_18 = array( 'name' => 'Bulk Member Importer', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-bulk-member-importer-from-csv-addon.png', 'description' => 'Allows you to bulk import all your members info from a CSV file.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-bulk-import-member-data-csv-file/', ); array_push($addons_data, $addon_18); $addon_19 = array( 'name' => 'Display Member Payments', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-member-payments-addon.png', 'description' => 'This addon allows you to display the member payments on a page using a shortcode.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-member-payments-listing-addon/', ); array_push($addons_data, $addon_19); $addon_20 = array( 'name' => 'AWeber Integration', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-aweber-integration-addon.png', 'description' => 'You can automatically signup your members to a specific list in your AWeber account when they register.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-aweber-integration-addon/', ); array_push($addons_data, $addon_20); $addon_21 = array( 'name' => 'WP User Import', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/wp-user-import.png', 'description' => 'Addon for importing existing Wordpress users to Simple Membership plugin', 'page_url' => 'https://simple-membership-plugin.com/import-existing-wordpress-users-simple-membership-plugin/', ); array_push($addons_data, $addon_21); $addon_22 = array( 'name' => 'ConvertKit Integration', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-convertkit-integration-addon.png', 'description' => 'Allows you to automatically signup your members to a sequence in your ConvertKit account', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-convertkit-integration-addon/', ); array_push($addons_data, $addon_22); $addon_23 = array( 'name' => 'Google First Click Free', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/google-first-click-free-addon.png', 'description' => 'Allows you to integrate with the Google First Click Free feature.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-google-first-click-free-integration-addon', ); array_push($addons_data, $addon_23); $addon_24 = array( 'name' => 'Miscellaneous Shortcodes', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-misc-shortcodes-addon.png', 'description' => 'This addon has a collection of miscellaneous shortcodes', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-miscellaneous-shortcodes-addon/', ); array_push($addons_data, $addon_24); $addon_25 = array( 'name' => 'Show Member Info', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/show-member-info.png', 'description' => 'Allows you to show various member info using shortcodes.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-addon-show-member-info/', ); array_push($addons_data, $addon_25); $addon_26 = array( 'name' => 'iDevAffiliate', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/idevaffiliate-integration.png', 'description' => 'Allows you to integrate with iDevAffiliates so you can reward affiliates for sending paid members your way.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-and-idevaffiliate-integration/', ); array_push($addons_data, $addon_26); $addon_27 = array( 'name' => 'Expiry Email Notification', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/email-notification-and-broadcast-addon.png', 'description' => 'Allows you to configure and send various expiry email notifications for members.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-email-notification-broadcast-addon/', ); array_push($addons_data, $addon_27); $addon_28 = array( 'name' => '2 Factor Authentication', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/2fa-addon-icon.png', 'description' => 'This addon adds the 2 factor authentication for member login to increase login security.', 'page_url' => 'https://simple-membership-plugin.com/swpm-two-factor-authentication-addon/', ); array_push($addons_data, $addon_28); $addon_29 = array( 'name' => 'MailerLite Integration', 'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-mailerlite-integration.png', 'description' => 'Allows you to automatically signup your members to a group in your MailerLite account.', 'page_url' => 'https://simple-membership-plugin.com/simple-membership-mailerlite-integration-addon/', ); array_push($addons_data, $addon_29); /*** Show the addons list ***/ foreach ($addons_data as $addon) { $output .= '
'; $output .= '
'; $img_src = $addon['thumbnail']; $output .= '' . $addon['name'] . ''; $output .= '
'; //end thumbnail $output .='
'; $output .='
'; $output .= '' . $addon['name'] . ''; $output .='
'; //end name $output .='
'; $output .= $addon['description']; $output .='
'; //end description $output .=''; //end detils link $output .='
'; //end body $output .= '
'; //end canvas } echo $output; ?>
views/login.php000064400000010407147206617610007536 0ustar00get_value('reset-page-url'); $join_url = $setting->get_value('join-us-page-url'); // Filter that allows changing of the default value of the username label on login form. $label_username_or_email = __( 'Username or Email', 'simple-membership' ); $swpm_username_label = apply_filters('swpm_login_form_set_username_label', $label_username_or_email); $display_password_toggle = $setting->get_value('password-visibility-login-form'); if ( empty( $display_password_toggle ) ){ $display_password_toggle = false; } else{ $display_password_toggle = true; } //CSS class for the login submit button $login_submit_class = 'swpm-login-form-submit'; $render_new_form_ui = SwpmSettings::get_instance()->get_value('use-new-form-ui'); if ( !empty( $render_new_form_ui ) ){ $login_submit_class .= ' swpm-submit-btn-default-style'; } $hide_join_us_link_enabled = SwpmSettings::get_instance()->get_value('hide-join-us-link'); ?> views/admin_category_list.php000064400000004005147206617610012443 0ustar00

prepare_items(); ?> display(); ?>
views/admin_member_form_common_js.php000064400000001040147206617610014125 0ustar00 views/loggedin.php000064400000005371147206617610010222 0ustar00get('member_id'), 'subscription_status') === 'inactive'; ?> '; //Show the edit profile link $edit_profile_page_url = SwpmSettings::get_instance()->get_value('profile-page-url'); if (!empty($edit_profile_page_url)) { //Show the edit profile link echo ''; } //Show the logout link ?>
views/index.html000064400000000000147206617610007676 0ustar00views/admin_tools_settings.php000064400000013153147206617610012657 0ustar00' . SwpmUtils::_('The required pages have been re-created.') . ''; } ?>




' . SwpmUtils::_('Link(s) generated successfully. The following link(s) can be used to complete the registration.') . ''; } else { echo '
' . SwpmUtils::_('Registration completion links will appear below') . '
'; } ?>
$link) { ?>
' . SwpmUtils::_('A prompt to complete registration email was also sent.') . ''; } ?>

languages/simple-membership-el_GR.mo000064400000023574147206617610013504 0ustar00kt D! f +q      ! 5 @ P ] g 9l         % < M _ j z # & < N X q ~    #  1   *. Y \ e         X8   !"DbhoC8  # -7G ^h$MMbxL3(S9L[l "!D*a*.8+Ki= ODY+2+A,m 3 T:+=*i. +A"T>w D%T?z374F){::/?o9  1 72 j v ( 9 : *! @!J!Z!hr![!7"$K"p""("#""3#X;#1###p$! %#B%f%hv%h%H&,$'$Q'v'FCP6)"# j&c*9K'QRWaJ]1X IkZd 4 MU05 3-7ND;iOG>A%!L(=T8.Y ^,V$S2:+beHg`/@_\f<h?[BE The rest of the content is not permitted for your membership level.(required)(twice, leave empty to retain old password)(twice, required)Access StartsAccess duration must be > 0.Account StateAccount StatusAccount has expired.Account is inactive.Account is pending.Add MemberAdd New Member Aready takenAvailableCityClick on the following link to complete the registration.CountCountryDate format is not valid.DeleteDescriptionE-mailEmailEmail AddressEmail Address: Email address not valid.Email is already used.Email is invalidEmail is requiredFirst NameForgot PasswordGenderHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInvalid Email AddressInvalid User NameLast NameLogged Out Successfully.Logged in asLoginLogoutMemberMember LoginMember SinceMembership LevelMembership Level Couldn't be found.NameNew password has been sent to your email address.NextNo Member found.No user not found with that email address.ORPasswordPassword Empty or Invalid.Password ResetPassword is requiredPassword mismatchPhonePleasePlease correct the followingPlease correct the following:Please login again.ProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.RegisterRegistrationRegistration Successful.Registration Successful. Remember MeRepeat PasswordReset PasswordRoleSearchSession Expired.Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitThis content can only be viewed by members who joined on or before This content is not permitted for your membership level.UpdateUpdated Successfully.Updated! User NameUser Not Found.User is not logged in.User nameUser name already exists.User name contains invalid characterUser name is requiredUsernameWordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.You are logged in as:You are not logged in.You can create new payment button for your memberships using this interface.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour profile username: ZipcodeProject-Id-Version: POT-Creation-Date: 2015-08-22 13:31+0300 PO-Revision-Date: 2015-08-22 19:25+0300 Last-Translator: Language-Team: Language: el_GR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.4 X-Poedit-Basepath: . Plural-Forms: nplurals=2; plural=(n != 1); Δεν έχετε πρόσβαση στο συγκεκριμένο περιεχόμενο (απαιτείται)(Δυο φορές, αφήστε κενό το πεδίο για να κρατήσετε τον παλιό κωδικό χρήστη) (απαιτείται)Επίπεδο πρόσβασης Access duration must be > 0.Κατάσταση λογαριασμούΚατάσταση λογαριασμούΟ λογαριασμός έχει λήξει.Ο λογαριασμός είναι ανενεργός.Ο λογαριασμός εκκρεμεί.Προσθέστε μέλοςΠροσθέστε μέλοςΜη Διαθέσιμο Διαθέσιμο ΠόληΚάντε κλικ στο παρακάτω σύνδεσμο για να ολοκληρώσετε την εγγραφή σας Αρίθμηση Χωρα Η Μορφή ημερομηνίας δεν είναι έγκυρη.Διαγράψτε Περιγραφή E-mailEmailEmail Email: Μη έγκυρη διεύθυνση e-mailΤο E-mail χρησιμοποιείται ήδη.Μη έγκυρη διεύθυνση e-mailΤο Email είναι υποχρεωτικόΌνομαΞεχάσατε τον κωδικό χρήστη? Φύλλο Ο κωδικός χρήστη πρέπει να είναι τουλάχιστον εφτά λατινικούς χαρακτήρες. Για να το καταστήσετε ισχυρότερο χρησιμοποιήστε πεζούς και κεφαλαίους χαρακτήρες και σύμβολα όπως ! " ? $ % ^ & ).IDΜη έγκυρη διεύθυνση e-mailΜη έγκυρο όνομα χρήστη Επώνυμο Αποσυνδεθήκατε Επιτυχώς.Συνδεόμενος ωςΣυνδεθείτε ΑποσυνδεθείτεΜέλοςΣυνδεθείτε Μέλος από Επίπεδο πρόσβασης Το Επίπεδο πρόσβασης δεν βρέθηκε ΌνομαΝέος κωδικός χρήστη σας έχει αποσταλεί στην ηλεκτρονική σας διεύθυνση.Επόμενο Δεν βρέθηκε Χρήστης Δεν βρέθηκε Χρήστης με αυτό το E-mail ήΚωδικός Χρήστη Κενό ή λάθος κωδικός χρήστη Αντικατάσταση κωδικού χρήστη Ο κωδικός χρήστη απαιτείται Αναντιστοιχία ΚωδικούΤηλέφωνο Παρακαλώ Παρακαλώ διορθώστε τα παρακάτω:Παρακαλώ διορθώστε τα παρακάτω:Παρακαλώ ξανά συνδεθείτε Το προφίλ Το προφίλ ενημερώθηκε επιτυχώςΤο προφίλ ενημερώθηκε επιτυχώς, Θα πρέπει να συνδεθείτε ξανά αφού έχετε αλλάξει τον κωδικό πρόσβασής σας.Εγγραφείτε Εγγραφή Επιτυχής Εγγραφή Επιτυχής Εγγραφή Να με ΘυμάσαιΕπαναλάβατε κωδικό χρήστη Αντικατάσταση κωδικού χρήστη Ρόλος Αναζητήστε Η Συνεδρία έχει λήξει.Δυστυχώς, η επαλήθευση απέτυχε.Ο κωδικός χρήστη δεν ταιριάζει Περιφέρεια Οδός Ισχύεις Καταχωρήστε Το περιεχόμενο αυτό μπορεί να προβληθεί μόνο από τα μέλη Δεν έχετε πρόσβαση στο συγκεκριμένο περιεχόμενο Ενημέρωση Επιτυχής Ενημέρωση Ενημερώθηκε Όνομα χρήστη Δεν βρέθηκε ο Χρήστης Δεν έχετε συνδεθεί.Όνομα χρήστη Το όνομα χρήστη υπάρχει ήδη.Το όνομα χρήστη περιέχει μη έγκυρους χαρακτήρεςΤο όνομα χρήστη απαιτείταιΌνομα χρήστη Υπάρχει λογαριασμός με την συγκεκριμένη διεύθυνση ηλεκτρονικού ταχυδρομείου. Αλλά με διαφορετικό όνομα χρήστη.Υπάρχει λογαριασμός με το ίδιο όνομα χρήστη. Αλλά με άλλο email.Έχετε συνδεθεί ως:Δεν έχετε εισέλθει.Επόμενο Θα πρέπει να συνδεθείτε για να δείτε αυτό το περιεχόμενο.Θα πρέπει να συνδεθείτε για να δείτε αυτό το περιεχόμενο.Ο λογαριασμός σας έχει λήξει. Παρακαλώ ανανεώσετε τον λογαριασμό σας για να αποκτήσετε πρόσβαση σε αυτό το περιεχόμενο.Ο ισχίων κωδικός χρήστη Το όνομα χρήστη σαςΤ.Κlanguages/simple-membership-zh_Hans.po000064400000044126147206617610014105 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "POT-Creation-Date: 2014-07-30 17:30+0800\n" "PO-Revision-Date: 2014-07-30 23:09+0800\n" "Last-Translator: \n" "Language-Team: \n" "Language: zh_Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.6.7\n" "X-Poedit-Basepath: .\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.bAdminRegistration.php:48 #: classes/class.bFrontRegistration.php:61 msgid "Registration Successful." msgstr "注册成功" #: classes/class.bAdminRegistration.php:53 #: classes/class.bAdminRegistration.php:72 #: classes/class.bMembershipLevel.php:36 classes/class.bMembershipLevel.php:54 msgid "Please correct the following:" msgstr "请更改以下信息" #: classes/class.bAjax.php:16 classes/class.bAjax.php:28 msgid "Aready taken" msgstr "已被占用" #: classes/class.bAjax.php:29 msgid "Available" msgstr "可以使用" #: classes/class.bAuth.php:47 classes/class.bFrontRegistration.php:176 msgid "User Not Found." msgstr "找不到用户" #: classes/class.bAuth.php:54 msgid "Password Empty or Invalid." msgstr "密码空或者无效" #: classes/class.bAuth.php:78 msgid "Account is inactive." msgstr "账户未激活" #: classes/class.bAuth.php:88 msgid "You are logged in as:" msgstr "您已使用以下身份登陆" #: classes/class.bAuth.php:127 msgid "Logged Out Successfully." msgstr "成功退出登陆" #: classes/class.bAuth.php:169 msgid "Session Expired." msgstr "登陆超时" #: classes/class.bAuth.php:178 msgid "Invalid User Name" msgstr "无效的用户名" #: classes/class.bAuth.php:186 msgid "Bad Cookie Hash" msgstr "坏的Cookie" #: classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "用户名正确,但邮箱错误" #: classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "邮箱正确,但用户名错误" #: classes/class.bForm.php:40 msgid "User name is required" msgstr "请输入用户名" #: classes/class.bForm.php:49 msgid "User name already exists." msgstr "用户名已经存在" #: classes/class.bForm.php:72 msgid "Password is required" msgstr "请输入密码" #: classes/class.bForm.php:79 msgid "Password mismatch" msgstr "密码不符" #: classes/class.bForm.php:95 msgid "Email is required" msgstr "请输入邮箱地址" #: classes/class.bForm.php:99 msgid "Email is invalid" msgstr "邮箱无效" #: classes/class.bForm.php:112 msgid "Email is already used." msgstr "邮箱已经存在" #: classes/class.bForm.php:128 msgid "Phone number is invalid" msgstr "电话号码无效" #: classes/class.bForm.php:174 msgid "Member since field is invalid" msgstr "号码段无效" #: classes/class.bForm.php:185 msgid "Subscription starts field is invalid" msgstr "开始时间字段无效" #: classes/class.bForm.php:195 msgid "Gender field is invalid" msgstr "性别填写无效" #: classes/class.bForm.php:206 msgid "Account state field is invalid" msgstr "账户描述无效" #: classes/class.bFrontRegistration.php:61 msgid "Please" msgstr "请" #: classes/class.bFrontRegistration.php:61 views/login.php:21 msgid "Login" msgstr "登陆" #: classes/class.bFrontRegistration.php:76 #: classes/class.bFrontRegistration.php:155 msgid "Please correct the following" msgstr "请修改以下信息" #: classes/class.bFrontRegistration.php:89 msgid "Membership Level Couldn't be found." msgstr "会员等级不存在" #: classes/class.bFrontRegistration.php:165 msgid "Email Address Not Valid." msgstr "Email地址无效" #: classes/class.bFrontRegistration.php:196 msgid "New password has been sent to your email address." msgstr "新的密码已经发送到您的邮箱" #: classes/class.bLevelForm.php:31 msgid "Subscriptoin duration must be > 0." msgstr "过程必须大于0" #: classes/class.bMembers.php:7 msgid "Member" msgstr "会员" #: classes/class.bMembers.php:8 classes/class.simple-wp-membership.php:439 msgid "Members" msgstr "会员" #: classes/class.bMembers.php:16 classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "ID" #: classes/class.bMembers.php:17 views/add.php:5 views/edit.php:4 #: views/login.php:5 msgid "User Name" msgstr "用户名" #: classes/class.bMembers.php:18 views/add.php:21 #: views/admin_member_form_common_part.php:2 views/edit.php:20 msgid "First Name" msgstr "名" #: classes/class.bMembers.php:19 views/add.php:25 #: views/admin_member_form_common_part.php:6 views/edit.php:24 msgid "Last Name" msgstr "姓" #: classes/class.bMembers.php:20 views/add.php:9 views/edit.php:8 msgid "Email" msgstr "Email" #: classes/class.bMembers.php:21 classes/class.bMembershipLevels.php:8 #: classes/class.bMembershipLevels.php:17 views/add.php:64 #: views/admin_member_form_common_part.php:55 views/edit.php:52 msgid "Membership Level" msgstr "会员等级" #: classes/class.bMembers.php:22 views/admin_member_form_common_part.php:78 msgid "Subscription Starts" msgstr "订阅开始于" #: classes/class.bMembers.php:23 msgid "Account State" msgstr "账户描述" #: classes/class.bMembers.php:35 classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "删除" #: classes/class.bMembers.php:98 msgid "No Member found." msgstr "会员不存在" #: classes/class.bMembershipLevel.php:31 msgid "Membership Level Creation Successful." msgstr "会员等级创建成功" #: classes/class.bMembershipLevel.php:50 msgid "Updated Successfully." msgstr "更新成功" #: classes/class.bMembershipLevels.php:9 #: classes/class.simple-wp-membership.php:441 msgid "Membership Levels" msgstr "会员等级" #: classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "角色" #: classes/class.bMembershipLevels.php:19 msgid "Subscription Valid For" msgstr "订阅有效于" #: classes/class.bSettings.php:28 msgid "Plugin Documentation" msgstr "插件文件" #: classes/class.bSettings.php:30 msgid "General Settings" msgstr "总体设置" #: classes/class.bSettings.php:32 msgid "Enable Free Membership" msgstr "启用免费会员" #: classes/class.bSettings.php:35 msgid "Enable/disable registration for free membership level" msgstr "启用/不启用免费会员注册" #: classes/class.bSettings.php:36 msgid "Free Membership Level ID" msgstr "免费会员等级ID" #: classes/class.bSettings.php:39 msgid "Assign free membership level ID" msgstr "指定免费会员级别ID" #: classes/class.bSettings.php:40 msgid "Hide Adminbar" msgstr "隐藏管理栏" #: classes/class.bSettings.php:43 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WordPress对已经登陆的用户显示管理工具栏,如果你想在网站前端隐藏管理栏请勾选这" "里" #: classes/class.bSettings.php:45 msgid "Pages Settings" msgstr "页面设置" #: classes/class.bSettings.php:47 msgid "Login Page URL" msgstr "登陆页面URL" #: classes/class.bSettings.php:51 msgid "Registration Page URL" msgstr "注册页面URL" #: classes/class.bSettings.php:55 msgid "Join Us Page URL" msgstr "加入页面URL" #: classes/class.bSettings.php:59 msgid "Edit Profile Page URL" msgstr "修改会员信息页面URL" #: classes/class.bSettings.php:63 msgid "Password Reset Page URL" msgstr "更改密码页面URL" #: classes/class.bSettings.php:68 msgid "Test & Debug Settings" msgstr "测试与调试设置" #: classes/class.bSettings.php:74 msgid "Enable Sandbox Testing" msgstr "启用沙盒测试" #: classes/class.bSettings.php:77 msgid "Enable this option if you want to do sandbox payment testing." msgstr "如果你要测试付款方式,请启用沙盒" #: classes/class.bSettings.php:90 msgid "Email Misc. Settings" msgstr "电子邮件杂项设置" #: classes/class.bSettings.php:92 msgid "From Email Address" msgstr "电子邮件来路" #: classes/class.bSettings.php:97 msgid "Email Settings (Prompt to Complete Registration )" msgstr "电子邮件设置(快速完成注册)" #: classes/class.bSettings.php:99 classes/class.bSettings.php:110 #: classes/class.bSettings.php:129 msgid "Email Subject" msgstr "Email标题" #: classes/class.bSettings.php:103 classes/class.bSettings.php:114 #: classes/class.bSettings.php:133 msgid "Email Body" msgstr "Email内容" #: classes/class.bSettings.php:108 msgid "Email Settings (Registration Complete)" msgstr "Email设置(完成注册)" #: classes/class.bSettings.php:118 msgid "Send Notification To Admin" msgstr "给管理员发送通知" #: classes/class.bSettings.php:122 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "管理员添加用户后给用户发送邮件" #: classes/class.bSettings.php:127 msgid " Email Settings (Account Upgrade Notification)" msgstr "Email设置(账户更新信息通知)" #: classes/class.miscUtils.php:51 msgid "Registration" msgstr "注册" #: classes/class.miscUtils.php:74 msgid "Member Login" msgstr "会员登陆" #: classes/class.miscUtils.php:97 msgid "Profile" msgstr "个人资料" #: classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "更改密码" #: classes/class.simple-wp-membership.php:181 msgid "Simple WP Membership Protection" msgstr "会员保护" #: classes/class.simple-wp-membership.php:194 msgid "Simple Membership Protection options" msgstr "会员保护选项" #: classes/class.simple-wp-membership.php:210 msgid "Do you want to protect this content?" msgstr "你是否需要保护这个内容" #: classes/class.simple-wp-membership.php:215 msgid "Select the membership level that can access this content:" msgstr "选择可以查看该内容的会员等级" #: classes/class.simple-wp-membership.php:347 msgid "Display SWPM Login." msgstr "显示SWPM登陆" #: classes/class.simple-wp-membership.php:349 msgid "SWPM Login" msgstr "SWPM登陆" #: classes/class.simple-wp-membership.php:436 msgid "WP Membership" msgstr "WP会员" #: classes/class.simple-wp-membership.php:443 msgid "Settings" msgstr "设置" #: views/add.php:13 views/admin_member_form_common_part.php:45 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "密码" #: views/add.php:17 views/edit.php:16 msgid "Repeat Password" msgstr "重复密码" #: views/add.php:29 views/admin_member_form_common_part.php:10 msgid "Gender" msgstr "性别" #: views/add.php:36 views/admin_member_form_common_part.php:17 #: views/edit.php:28 msgid "Phone" msgstr "电话" #: views/add.php:40 views/admin_member_form_common_part.php:21 #: views/edit.php:32 msgid "Street" msgstr "街道" #: views/add.php:44 views/admin_member_form_common_part.php:25 #: views/edit.php:36 msgid "City" msgstr "城市" #: views/add.php:48 views/admin_member_form_common_part.php:29 #: views/edit.php:40 msgid "State" msgstr "省份" #: views/add.php:52 views/admin_member_form_common_part.php:33 #: views/edit.php:44 msgid "Zipcode" msgstr "邮编" #: views/add.php:56 views/admin_member_form_common_part.php:37 #: views/edit.php:48 msgid "Country" msgstr "国家" #: views/add.php:60 views/admin_member_form_common_part.php:41 msgid "Company" msgstr "公司" #: views/add.php:71 msgid "Register" msgstr "注册" #: views/admin_add.php:6 msgid "Add Member" msgstr "添加会员" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "给网站创建一个新用户" #: views/admin_add.php:11 msgid "User name" msgstr "用户名" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 #: views/admin_edit_level.php:10 views/admin_edit_level.php:14 #: views/admin_edit_level.php:18 msgid "(required)" msgstr "必填" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "Add New Member " msgstr "添加新会员" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "创建新会员等级" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "会员等级名" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "默认的WP角色" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Subscription Duration" msgstr "有效期" #: views/admin_add_level.php:26 views/admin_edit_level.php:27 msgid "No Expiry" msgstr "不失效" #: views/admin_add_level.php:55 msgid "Add New Membership Level " msgstr "添加新的会员等级" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "修改会员" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "修改已存在用户信息" #: views/admin_edit.php:9 msgid "Username" msgstr "用户名" #: views/admin_edit.php:17 msgid "Edit User " msgstr "修改用户" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "修改会员等级" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "修改会员等级" #: views/admin_edit_level.php:54 msgid "Edit Membership Level " msgstr "修改会员等级" #. translators: password input field #: views/admin_member_form_common_part.php:45 msgid "(twice, required)" msgstr "2次,必填" #: views/admin_member_form_common_part.php:50 msgid "Strength indicator" msgstr "强度指示器" #: views/admin_member_form_common_part.php:51 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "密码最少7个字符,为保证密码强度,请使用大小写字母,数字和例如! \" ? $ % ^ " "&的符号" #: views/admin_member_form_common_part.php:64 views/loggedin.php:7 #: views/login_widget_logged.php:6 msgid "Account Status" msgstr "账户状态" #: views/admin_member_form_common_part.php:66 msgid "Active" msgstr "激活" #: views/admin_member_form_common_part.php:67 msgid "Inactive" msgstr "未激活" #: views/admin_member_form_common_part.php:68 msgid "Pending" msgstr "待定" #: views/admin_member_form_common_part.php:69 msgid "Expired" msgstr "失效" #: views/admin_member_form_common_part.php:74 msgid "Member Since" msgstr "会员自" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "会员等级:会员" #: views/admin_members.php:3 views/admin_members.php:19 #: views/admin_membership_levels.php:21 msgid "Add New" msgstr "添加新的" #: views/admin_members.php:9 views/admin_membership_levels.php:11 msgid "search" msgstr "搜索" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "会员等级" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "管理内容制作" #: views/admin_membership_levels.php:3 msgid "Simple WP Membership::Membership Levels" msgstr "会员:会员等级" #: views/admin_membership_levels.php:4 msgctxt "Level" msgid "Add New" msgstr "添加新等级" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "内容保护设置例子" #: views/admin_payment_settings.php:2 views/admin_settings.php:2 #: views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "会员:设置" #: views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "Paypal集成设置" #: views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "您的PayPal按钮产生高级变量代码" #: views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "输入会员等级ID" #: views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "生成代码" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "生成注册完成链接" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "如果你的用户在完成付款后没收到自动生成的邮件,那么你可以在这里手动生成注册完" "成链接,并发送给你的用户" #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "生成注册完成链接" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "或者" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "对于所有待定的注册" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "注册完成链接会出现在:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "同时发送注册提醒邮件" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "提交" #: views/edit.php:58 msgid "Update" msgstr "更新" #: views/forgot_password.php:5 msgid "Email Address" msgstr "Email地址" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "重置密码" #: views/loggedin.php:3 views/login_widget_logged.php:3 msgid "Logged in as" msgstr "以以下身份登陆" #: views/loggedin.php:11 views/login_widget_logged.php:9 msgid "Membership" msgstr "会员" #: views/loggedin.php:15 views/login_widget_logged.php:13 msgid "Logout" msgstr "退出登陆" #: views/login.php:17 msgid "Remember Me" msgstr "记住这个身份" #: views/login.php:26 msgid "Forgot Password" msgstr "忘记密码" #: views/login.php:30 msgid "Join Us" msgstr "加入会员" languages/simple-membership-mk_MK.po000064400000057672147206617610013523 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership\n" "POT-Creation-Date: 2014-08-28 19:28+1000\n" "PO-Revision-Date: 2014-11-26 16:05+0100\n" "Last-Translator: Ivo Ivanov \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.6.9\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" "Language: mk_MK\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.bAccessControl.php:23 classes/class.bAccessControl.php:40 msgid "You are not allowed to view this content" msgstr "Не е дозволено да ја видите содржината" #: classes/class.bAccessControl.php:26 classes/class.bAccessControl.php:43 msgid "You need to login to view this content. " msgstr "Потребно е да се најавите за да ја видите содржината." #: classes/class.bAdminRegistration.php:48 #: classes/class.bFrontRegistration.php:64 msgid "Registration Successful." msgstr "Регистрацијата е успешна." #: classes/class.bAdminRegistration.php:53 #: classes/class.bAdminRegistration.php:73 #: classes/class.bMembershipLevel.php:36 classes/class.bMembershipLevel.php:54 msgid "Please correct the following:" msgstr "Ве молам поправете го следново:" #: classes/class.bAjax.php:16 classes/class.bAjax.php:28 msgid "Aready taken" msgstr "Веќе постои" #: classes/class.bAjax.php:29 msgid "Available" msgstr "Достапни" #: classes/class.bAuth.php:48 classes/class.bFrontRegistration.php:179 msgid "User Not Found." msgstr "Корисникот не е најден." #: classes/class.bAuth.php:55 msgid "Password Empty or Invalid." msgstr "Лозинката е празна или неважечка" #: classes/class.bAuth.php:79 msgid "Account is inactive." msgstr "Сметката не е активна." #: classes/class.bAuth.php:89 msgid "You are logged in as:" msgstr "Најавени сте како:" #: classes/class.bAuth.php:128 msgid "Logged Out Successfully." msgstr "Успешно се одјавивте." #: classes/class.bAuth.php:170 msgid "Session Expired." msgstr "Сесијата е истечена." #: classes/class.bAuth.php:179 msgid "Invalid User Name" msgstr "Непостоечко корисничко име" #: classes/class.bAuth.php:187 msgid "Bad Cookie Hash" msgstr "Лош Хаш на колачето" #: classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "" "Веќе постои Wordpress сметка со даденото корисничко име. Но дадената email " "адреса не се совпаѓа." #: classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" "Веќе постои Wordpress сметка со дадената email адреса. Но даденото кориснико " "име не се совпаѓа." #: classes/class.bForm.php:40 msgid "User name is required" msgstr "Корисничкото име е потребно" #: classes/class.bForm.php:49 msgid "User name already exists." msgstr "Корисничкото име веќе постои" #: classes/class.bForm.php:72 msgid "Password is required" msgstr "Потребна е лозинката" #: classes/class.bForm.php:79 msgid "Password mismatch" msgstr "Лозинката не одговара" #: classes/class.bForm.php:95 msgid "Email is required" msgstr "Потребна е email адреса" #: classes/class.bForm.php:99 msgid "Email is invalid" msgstr "Email адресата не се совпаѓа" #: classes/class.bForm.php:112 msgid "Email is already used." msgstr "Email адресата веќе се користи." #: classes/class.bForm.php:178 msgid "Member since field is invalid" msgstr "Член од - полето е невалидно" #: classes/class.bForm.php:189 msgid "Subscription starts field is invalid" msgstr "Полето за старт на претплатата е невалидно" #: classes/class.bForm.php:199 msgid "Gender field is invalid" msgstr "Полето за пол е невалидно" #: classes/class.bForm.php:210 msgid "Account state field is invalid" msgstr "Статусот на сметката е невалиден" #: classes/class.bFrontRegistration.php:64 classes/class.bSettings.php:326 msgid "Please" msgstr "Ве молиме" #: classes/class.bFrontRegistration.php:64 classes/class.bSettings.php:326 #: views/login.php:21 msgid "Login" msgstr "Најави се" #: classes/class.bFrontRegistration.php:79 #: classes/class.bFrontRegistration.php:158 msgid "Please correct the following" msgstr "Ве молиме извршете поправка на следново" #: classes/class.bFrontRegistration.php:92 msgid "Membership Level Couldn't be found." msgstr "Корисничкото ниво не е пронајдено." #: classes/class.bFrontRegistration.php:168 msgid "Email Address Not Valid." msgstr "Email адресата е невалидна" #: classes/class.bFrontRegistration.php:199 msgid "New password has been sent to your email address." msgstr "Нова лозинка е пратена на Вашата email адреса." #: classes/class.bLevelForm.php:31 msgid "Subscriptoin duration must be > 0." msgstr "Времетраењето на претплатата мора да биде > 0. " #: classes/class.bMembers.php:7 msgid "Member" msgstr "Член" #: classes/class.bMembers.php:8 classes/class.simple-wp-membership.php:467 msgid "Members" msgstr "Членови" #: classes/class.bMembers.php:16 classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "ID" #: classes/class.bMembers.php:17 views/add.php:5 views/edit.php:4 #: views/login.php:5 msgid "User Name" msgstr "Корисничко име" #: classes/class.bMembers.php:18 views/add.php:21 #: views/admin_member_form_common_part.php:2 views/edit.php:20 msgid "First Name" msgstr "Име" #: classes/class.bMembers.php:19 views/add.php:25 #: views/admin_member_form_common_part.php:6 views/edit.php:24 msgid "Last Name" msgstr "Презиме" #: classes/class.bMembers.php:20 views/add.php:9 views/edit.php:8 msgid "Email" msgstr "Email" #: classes/class.bMembers.php:21 classes/class.bMembershipLevels.php:8 #: classes/class.bMembershipLevels.php:17 views/add.php:64 #: views/admin_member_form_common_part.php:55 views/edit.php:52 msgid "Membership Level" msgstr "Ниво на членство" #: classes/class.bMembers.php:22 views/admin_member_form_common_part.php:78 msgid "Subscription Starts" msgstr "Претплатата почнува" #: classes/class.bMembers.php:23 msgid "Account State" msgstr "Состојба на сметката" #: classes/class.bMembers.php:35 classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "Избриши" #: classes/class.bMembers.php:100 msgid "No Member found." msgstr "Членот не е пронајден." #: classes/class.bMembershipLevel.php:31 msgid "Membership Level Creation Successful." msgstr "Создавањето на корисничкото ниво е успешно." #: classes/class.bMembershipLevel.php:50 msgid "Updated Successfully." msgstr "Ажурирањето е успешно." #: classes/class.bMembershipLevels.php:9 #: classes/class.simple-wp-membership.php:469 msgid "Membership Levels" msgstr "Нивоа на членство" #: classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "Улога" #: classes/class.bMembershipLevels.php:19 msgid "Subscription Valid For" msgstr "Преплатата е важечка до" #: classes/class.bSettings.php:28 msgid "Plugin Documentation" msgstr "Документација за приклучоците" #: classes/class.bSettings.php:30 msgid "General Settings" msgstr "Општи поставки" #: classes/class.bSettings.php:32 msgid "Enable Free Membership" msgstr "Вклучи го Бесплатното Членство" #: classes/class.bSettings.php:35 msgid "Enable/disable registration for free membership level" msgstr "Вклучи/исклучи ја регистрацијата за приклучокот за бесплатно членство" #: classes/class.bSettings.php:36 msgid "Free Membership Level ID" msgstr "ИД на ниво за Бесплатно Членство" #: classes/class.bSettings.php:39 msgid "Assign free membership level ID" msgstr "Доделете ID на нивото за слободно членство" #: classes/class.bSettings.php:40 msgid "Hide Adminbar" msgstr "Скријте го Администраторскиот алатник" #: classes/class.bSettings.php:43 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WordPress прикажува администраторски алатник на најавените корисници на " "страницата. Селектирајте ја оваа рамка ако закате да го скриете " "администраторскиот алатник на интерфејсот на вашата страница." #: classes/class.bSettings.php:45 msgid "Pages Settings" msgstr "Подесувања на Страниците" #: classes/class.bSettings.php:47 msgid "Login Page URL" msgstr "URL за Страницата за Најавување" #: classes/class.bSettings.php:51 msgid "Registration Page URL" msgstr "URL за Страницата за Регистрација" #: classes/class.bSettings.php:55 msgid "Join Us Page URL" msgstr "URL за Приклучи се страницата" #: classes/class.bSettings.php:59 msgid "Edit Profile Page URL" msgstr "URL за Страницата за Уредување на Профилот" #: classes/class.bSettings.php:63 msgid "Password Reset Page URL" msgstr "URL за Страницата за Ресетирање на Лозинката" #: classes/class.bSettings.php:68 msgid "Test & Debug Settings" msgstr "Подесувања за тестирање на Sandbox" #: classes/class.bSettings.php:74 msgid "Enable Sandbox Testing" msgstr "Овозможи Sandbox Тестирање" #: classes/class.bSettings.php:77 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "Селектирајте ја оваа опција ако сакате да ја тестирате sandbox опцијата за " "плаќање" #: classes/class.bSettings.php:90 msgid "Email Misc. Settings" msgstr "Email Разновидни Подесувања" #: classes/class.bSettings.php:92 msgid "From Email Address" msgstr "Од Email Адреса" #: classes/class.bSettings.php:97 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Email Поставувања (Известување за Комплетирање на Регистрацијата)" #: classes/class.bSettings.php:99 classes/class.bSettings.php:110 #: classes/class.bSettings.php:129 msgid "Email Subject" msgstr "Тема на Email" #: classes/class.bSettings.php:103 classes/class.bSettings.php:114 #: classes/class.bSettings.php:133 msgid "Email Body" msgstr "Тело на Email" #: classes/class.bSettings.php:108 msgid "Email Settings (Registration Complete)" msgstr "Email Подесувања (Регистрацијата е Комплетирана)" #: classes/class.bSettings.php:118 msgid "Send Notification To Admin" msgstr "Прати Известување До Администраторот" #: classes/class.bSettings.php:122 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Прати Email порака на Членот кој е додаден преку Администраторската табла" #: classes/class.bSettings.php:127 msgid " Email Settings (Account Upgrade Notification)" msgstr "Email Подесувања (Известување за Надградба на Сметката)" #: classes/class.bSettings.php:326 msgid "Not a Member?" msgstr "Не сте член?" #: classes/class.bSettings.php:326 views/login.php:30 msgid "Join Us" msgstr "Придружете ни се" #: classes/class.bUtils.php:32 views/admin_member_form_common_part.php:66 msgid "Active" msgstr "Активен" #: classes/class.bUtils.php:33 views/admin_member_form_common_part.php:67 msgid "Inactive" msgstr "Неактивен" #: classes/class.bUtils.php:34 views/admin_member_form_common_part.php:68 msgid "Pending" msgstr "Во тек" #: classes/class.bUtils.php:35 views/admin_member_form_common_part.php:69 msgid "Expired" msgstr "Истечена" #: classes/class.bUtils.php:225 msgid "Never" msgstr "Никогаш" #: classes/class.miscUtils.php:51 msgid "Registration" msgstr "Регистрација" #: classes/class.miscUtils.php:74 msgid "Member Login" msgstr "Најавување на членовите" #: classes/class.miscUtils.php:97 msgid "Profile" msgstr "Профил" #: classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "Ресетирање на лозинката" #: classes/class.simple-wp-membership.php:178 msgid "You are not logged in." msgstr "Не сте најавени." #: classes/class.simple-wp-membership.php:209 msgid "Simple WP Membership Protection" msgstr "Едноставна WP Заштита за Членството" #: classes/class.simple-wp-membership.php:222 msgid "Simple Membership Protection options" msgstr "Подесувања за Заштитата за Слободно Членство" #: classes/class.simple-wp-membership.php:238 msgid "Do you want to protect this content?" msgstr "Дали сакате да ја заштитите оваа содржина?" #: classes/class.simple-wp-membership.php:243 msgid "Select the membership level that can access this content:" msgstr "Изберете го нивото на членство што има пристап до оваа содржина" #: classes/class.simple-wp-membership.php:375 msgid "Display SWPM Login." msgstr "Прикажи го SWPM најавувањето." #: classes/class.simple-wp-membership.php:377 msgid "SWPM Login" msgstr "SWPM Најавување" #: classes/class.simple-wp-membership.php:464 msgid "WP Membership" msgstr "WP Членство" #: classes/class.simple-wp-membership.php:471 msgid "Settings" msgstr "Подесувања" #: views/add.php:13 views/admin_member_form_common_part.php:45 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "Лозинка" #: views/add.php:17 views/edit.php:16 msgid "Repeat Password" msgstr "Повторете ја лозинката" #: views/add.php:29 views/admin_member_form_common_part.php:10 msgid "Gender" msgstr "Пол" #: views/add.php:36 views/admin_member_form_common_part.php:17 #: views/edit.php:28 msgid "Phone" msgstr "Телефон" #: views/add.php:40 views/admin_member_form_common_part.php:21 #: views/edit.php:32 msgid "Street" msgstr "Улица" #: views/add.php:44 views/admin_member_form_common_part.php:25 #: views/edit.php:36 msgid "City" msgstr "Град" #: views/add.php:48 views/admin_member_form_common_part.php:29 #: views/edit.php:40 msgid "State" msgstr "Држава" #: views/add.php:52 views/admin_member_form_common_part.php:33 #: views/edit.php:44 msgid "Zipcode" msgstr "Поштенски код" #: views/add.php:56 views/admin_member_form_common_part.php:37 #: views/edit.php:48 msgid "Country" msgstr "Држава" #: views/add.php:60 views/admin_member_form_common_part.php:41 msgid "Company" msgstr "Компанија" #: views/add.php:71 msgid "Register" msgstr "Регистрирај" #: views/admin_add.php:6 msgid "Add Member" msgstr "Додади Член" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Креирај сосема нов корисник и додади го на оваа страница." #: views/admin_add.php:11 msgid "User name" msgstr "Корисничко име" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 #: views/admin_edit_level.php:10 views/admin_edit_level.php:14 #: views/admin_edit_level.php:18 msgid "(required)" msgstr "(потребно)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-mail адреса" #: views/admin_add.php:19 msgid "Add New Member " msgstr "Додади Нов Член" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Креирај Ново Ниво на Членство." #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Има на Нивото на Членство" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Стандрадна WordPress Улога" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Subscription Duration" msgstr "Времетраење на Претплатата" #: views/admin_add_level.php:26 views/admin_edit_level.php:27 msgid "No Expiry" msgstr "Не Завршува." #: views/admin_add_level.php:55 msgid "Add New Membership Level " msgstr "Додади Ново Ниво на Членство." #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Уреди го Членот" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Уреди ги детаљите за постоечки член" #: views/admin_edit.php:9 msgid "Username" msgstr "Корисничко Име" #: views/admin_edit.php:18 msgid "Edit User " msgstr "Уреди го Корисникот" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Уреди го Нивото на Членство" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Уреди го Нивото на Членство." #: views/admin_edit_level.php:54 msgid "Edit Membership Level " msgstr "Уреди го Нивото на Членство" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Едноставно WP Членство::Членови" #: views/admin_members.php:3 views/admin_members.php:19 #: views/admin_membership_levels.php:21 msgid "Add New" msgstr "Додади нов" #: views/admin_members.php:9 views/admin_membership_levels.php:11 msgid "search" msgstr "барај" #: views/admin_membership_levels.php:3 msgid "Simple WP Membership::Membership Levels" msgstr "Едноставно WP Членство::Нивоа на Членство" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Ниво на Членство" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Управувај со Производството на Содржина" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Пример за Параметри за Заштита на Содржината" #: views/admin_member_form_common_part.php:45 msgid "(twice, required)" msgstr "(двапати, потребно)" #: views/admin_member_form_common_part.php:50 msgid "Strength indicator" msgstr "Индикатор на Јачина" #: views/admin_member_form_common_part.php:51 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Совет: Лозинката треба да биде најмалку седум карактери долга. За да ја " "направите појака, користете големи и мали букви, броеви и симболи како ! " "\" ? $ % ^ & )." #: views/admin_member_form_common_part.php:64 views/loggedin.php:7 #: views/login_widget_logged.php:6 msgid "Account Status" msgstr "Статус на Сметката" #: views/admin_member_form_common_part.php:74 msgid "Member Since" msgstr "Член Од" #: views/admin_payment_settings.php:2 views/admin_settings.php:2 #: views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "Едноставно WP Членство::Подесувања" #: views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "Подесувања за Интеграција со PayPal" #: views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Генерирај го \"Напредни Променливи\" Кодот за твоето PayPal копче" #: views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Внеси го ID за Нивото на Членство" #: views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Генерирај Код" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Генерирај линк за Комплетирање на регистрацијата" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Ти можеш рачно да генерираш линк за комплетирање на регистрацијата и да го " "дадеш на твоите корисници ако тие го пропуштиле emailот што им бил пратен " "веднаш по плаќањето." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Генерирај линк за комплетирање на регистрацијата" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "ИЛИ" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "За Сите Регистрации што се во тек" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "Линковите за Комплетирање на Регистрацијата ќе се појават подолу" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Прати Email Потсетник за Регистрација исто така" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Внеси" #: views/edit.php:58 msgid "Update" msgstr "Надгради" #: views/forgot_password.php:5 msgid "Email Address" msgstr "Email адреса" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Ресетирај ја Лозинката" #: views/loggedin.php:3 views/login_widget_logged.php:3 msgid "Logged in as" msgstr "Најавени сте како" #: views/loggedin.php:11 views/login_widget_logged.php:9 msgid "Membership" msgstr "Членство" #: views/loggedin.php:15 views/login_widget_logged.php:12 msgid "Account Expiry" msgstr "Сметката Истекува" #: views/loggedin.php:19 views/login_widget_logged.php:16 msgid "Logout" msgstr "Одјави се" #: views/login.php:17 msgid "Remember Me" msgstr "Запомни Ме" #: views/login.php:26 msgid "Forgot Password" msgstr "Ја заборавивте лозинката" languages/simple-membership-he_IL.mo000064400000011021147206617610013454 0ustar00A$Y,  9   % 5 @Ng~   "1'Y ^lu 9EU dq C    ) $C h ~  3 (   )  I & 1 8 C X m   $ ( $ - M [ &p      5$Z(a  ) A/N~ =,j"s)9BQN2 /!>9+3)@", A ?.*1$4=-;&7(% #6:8  0<5'(required)(twice, required)AvailableClick on the following link to complete the registration.DateDeleteDescriptionE-mailEmailEmail AddressEmail Address: Email BodyEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredFirst NameForgot PasswordInvalid Email AddressInvalid User NameJoin UsLast NameLogged Out Successfully.LoginMember LoginNameNew password has been sent to your email address.NextNot a Member?PasswordPassword Empty or Invalid.Password ResetPassword is requiredPassword mismatchPhonePleasePlease correct the followingProfileProfile updated successfully.RegisterRegistration Successful. Remember MeRepeat PasswordReset PasswordSave ChangesSorry, Password didn't match.SubmitSubscribe NowThis content can only be viewed by members who joined on or before UpdateUpdated Successfully.User NameUser Not Found.User nameUser name already exists.User name contains invalid characterUser name is requiredUsernameYou are not logged in.You need to login to view the rest of the content. You need to login to view this content. Your current passwordYour profile username: Project-Id-Version: Simple Membership POT-Creation-Date: 2015-11-24 16:24+0200 PO-Revision-Date: 2015-11-24 16:48+0200 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.6 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=2; plural=(n != 1); Language: he_IL X-Poedit-SearchPath-0: . (נדרש)(נדרש)זמיןלחץ על קישור זה ע"מ להשלים את הרישום לאתרתאריךמחקתיאורכתובת דוא"לכתובת דוא"לכתובת דוא"ל:כתובת דוא"ל:תוכן ההודעה:נושא:כתובת דוא"ל לא תקינהכתובת דוא"ל כבר בשימושכתובת דוא"ל לא תקינהנדרשת כתובת דוא"לשם פרטישכחת סיסמא?כתובת דוא’ל לא חוקיתשם משתמש לא תקיןהצטרף אלינושם משפחההתנתקת בהצלחההכנס כניסת משתמש רשום שםהסיסמא החדשה נשלחה לדוא"ל שלךהבאאינך משתמש רשום עדיין?סיסמאסיסמא לא תקינה.איתחול סיסמאנדרשת סיסמאסיסמא לא תקינה.מס' טלפוןבבקשהאנא תקן את השדות הבאים:פרופילעידכון פרופיל בוצע בהצלחההרשםרישום לאתר הצליח!התנתקאיפוס סיסמאאיתחול סיסמאשמור שינוייםהסיסמא לא נכונהשלחהרשם כעטתוכן זה זמין למשתמשים רשומים בלבדעדכןעידכון בוצע בהצלחהשם משתמשהמשתמש לא נמצא.שם משתמששם משתמש קיים כברשם משתמש לא תקיןנדרש שם משתמששם משתמשאתה לא מחובר.אתה צריך להיות מחובר כדי להציג דף זה.עליך להיות משתמש רשום על מנת לצפות בתוכן זההסיסמא שלךשם המשתמש שלך:languages/simple-membership-ro_RO.mo000064400000027736147206617610013540 0ustar00,< .   "1Fe lw  06Sjq$  )@ FT mx1&  .E=\5# %CSl %'=  IW 0: S`fu|   #%CYk|1  ":Oa} 01G `l| 93 $$IZ$c' -4J^$u"  .D M[MMA((3   + 7(En t      " .' V s   "    !'! ;!\!s!!!!!!-!#" >"9L""""""/"7+#$c#$###(###5$H$"L$o$ $-$7$@$4%J%%%% &&1&A&a& q&&&!&&& &"&''%'!6'"X'{'' ' '5' '((.( 2(@(*G(r((((( (((!)"*)M)a) h) u)5))) ))***<+*?h* *;*++'+F+f+$+++++++,,--,,[,, ,,,,,%-#*- N- Y-qd-a-[8......=/ //)c"Aa E\Z%ofl03.D<F+{VxLz4Tru/e^5 S9BG,HWJ*O6#R=M:sNbg~(C7hk@ptj$28y-iQ |!v` q?>U;n '_IKdw[}1]& PXmY Email Settings (Account Upgrade Notification)(required)(twice, required)Account ExpiryAccount StateAccount StatusAccount is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Aready takenAssign free membership level IDAvailableBad Cookie HashCityCompanyCountryCreate a brand new user and add it to this site.Create new membership level.Default WordPress RoleDeleteDisplay SWPM Login.Do you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnter the Membership Level IDExample Content Protection SettingsExpiredFirst NameFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameJoin UsJoin Us Page URLLast NameLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelNeverNew password has been sent to your email address.No ExpiryNo Member found.Not a Member?ORPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Remember MeRepeat PasswordReset PasswordRoleSWPM LoginSelect the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsStateStreetStrength indicatorSubmitSubscription DurationSubscription StartsSubscription Valid ForSubscription starts field is invalidSubscriptoin duration must be > 0.Test & Debug SettingsUpdateUpdated Successfully.User NameUser Not Found.User nameUser name already exists.User name is requiredUsernameWP MembershipWordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.You are logged in as:You are not allowed to view this contentYou are not logged in.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view this content. ZipcodesearchProject-Id-Version: simple membership POT-Creation-Date: 2014-08-28 19:28+1000 PO-Revision-Date: 2015-01-11 12:34+0200 Last-Translator: Iulian Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.7.3 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1)); Language: ro_RO X-Poedit-SearchPath-0: . Setari Email (Notificari pentru upgrade la abonare)(obligatoriu)(de doua ori, obligatoriu)Expirare contStarea contuluiStatus contCont inactiv.Campul de stare a contului este incorectActivAdauga membruAdauga nouAdauga membru nouAdauga nivel nou de abonareDeja folositAloca ID pentru abonare gratuitaDisponibilPrajiturica rea :) (bad cookie)OrasCompanieTaraCreeaza un utilizator nou si adauga-l pe site.Creeaza nivel nou de abonareRol Wordpress implicitStergereArata autentificare SWPM .Vrei sa protejezi acest continut ?Adresa de emailEditeaza membruEditeaza nivel abonareURL pentru editarea profiluluiEditeaza utilizatorEditeaza detalii membru existentEditeaza nivel abonareEditeaza nivel abonare.Adresa de emailAdresa de emailAdresa de email incorectaContinut EmailSetari diverse de emailSetari email (Pentru a termina inregistrarea)Setari Email (Inregistrare reusita)Subiect EmailAdresa de email deja inregistrata in baza noastra de dateAdresa de email incorectaEste nevoie de adresa de emailPermite Abonare gratuitaPermite testarea in mediul SandboxBifeaza acesta optiune pentru testarea platilorPermite/Nu permie inregistrarea pentru abonare gratuitaIntrodu ID pentru nivelul de abonareExemplu de setari protejare continutExpiratPrenumePentru toate inregistrarile in asteptareAm uitat parolaID pentru Abonarea gratuitaAdresa de email de la care sa plece toate email-urileSexCampul de gen sexual este incorectSetari generaleGenereaza codGenereaza link pentru inregistrarea cu succesGenereaza link pentru Inregistrarea incheiata cu succesGenereaza codul de "Advanced Variables" necesar butonului PaypalAscunde bara de adminSfat: Parola ar trebui sa aibe macar 7 caractere. Pentru a fi cat mai complexa, folositi litere mici si mari, numere si simboluri de genul ! " ? $ % ^ &)IDInactivUtilizator incorectInscrieti-vaURL pentru Pagina de AderareNume de familieTe-ai deautentificat cu succes.Autentificat caAutentificareURL pentru autentificareIesire din contGestioneaza generarea de continutMembruAutentificare membriiMembru dinCampul de membru din este incorectMembriiAbonareNivel de abonareNivelul de membru nu a fost gasitNivelul de abonare creat cu succesNume nivel de abonareNiveluri de abonareNivel AbonareNiciodataO noua parola a fost trimisa pe adresa dvs. de email.Fara expirareNu am gasit membrulNu sunteti inca membru ?SAUSetari paginaParolaParola nu este introdusa sau este gresita.Resetare ParolaURL pentru resetare parolaEste nevoie de parolaParolele nu se potrivescSetari integrare plati PaypalIn asteptareTelefonTe rugamTe rugam sa corectezi urmatoareleTe rugam sa corectezi urmatoarele:Documentatie pluginProfilInregistrareInregistrareLink-ul de inregistrare cu succes va aparea dedesubt:URL pentru inregistrareInregistrare reusita.Tine-ma minteRepetare ParolaResetare ParolaRolAutentificare SWPMSelecteaza nivelul de abonare ce poate accesa acest continu:Trimite email la membrii cand sunt adaugati via Admin DashboardTrimitere notificari catre AdminTrimite de asemenea si un email cu reminder de inregistrareSesiune expirata.SetariOptiuni Simple WP Membership ProtectionSimple WP Membership ProtectionSimple WP Membership::MembriiSimple WP Membership::Nivele AbonareSimple WP Membership::SetariJudetStradaIndicator complexitateTrimiteDurata AbonareAbonarea incepe laAbonare valabila pana laCampul de start calitate membru este incorectDurata abonarii trebuie sa fie mai mare ca 0Setari pentru test & debugActualizeazaActualizat cu succesNume de utilizatorNu am gasit utilizatorulNume de utilizatorAcest nume de utilizator exista deja.Este nevoie de numele de utilizatorUtilizatorAbonare WPWordpress arata bara de administrator utilizatorilor autentificati. Bifeaza casuta pentru a ascunde aceasta bara.Exista un cont wordpress cu aceasta adresa de email dar nu se potriveste cu numele de utilizator.Exista un cont wordpress cu acest nume de utilizator dar nu se potrivesc adresele de email.Esti autentificat ca si:Nu aveti dreptul sa accesati aceste informatiiNu sunteti autentificatPoti genera manual un link pentru inregistrarea cu succes si il poti trimite clientului daca acestia nu au primit email-ul automat dupa efectuarea platii.Trebuie sa va autentificati pentru a vedea aceste informatii.Cod postalcautalanguages/simple-membership-ja.po000064400000345557147206617610013121 0ustar00# Translation of Plugins - Simple Membership - Development (trunk) in Japanese # This file is distributed under the same license as the Plugins - Simple Membership - Development (trunk) package. msgid "" msgstr "" "Project-Id-Version: Plugins - Simple Membership - Development (trunk)\n" "POT-Creation-Date: 2019-05-26 13:48+0600\n" "PO-Revision-Date: 2020-01-30 00:23-0600\n" "Last-Translator: \n" "Language-Team: \n" "Language: ja_JP\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.2.4\n" #: classes/class.simple-wp-membership.php:180 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "このサイトの管理者はユーザーのWPダッシュボードへのアクセスを許可していませ" "ん。" #: classes/class.simple-wp-membership.php:181 msgid "Go back to the home page by " msgstr "ホームページに戻るには " #: classes/class.simple-wp-membership.php:181 msgid "clicking here" msgstr "こちらをクリック" #: classes/class.simple-wp-membership.php:242 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "エラー!このサイトはWPユーザーでログインさせるように設定しています。ご指定の" "ユーザー名はWPユーザーの記録では見当たりませんでした: " #: classes/class.simple-wp-membership.php:243 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "メンバーアカウントがWPユーザーアカウントに連携していない場合にこのエラーが出" "ます。このプラグインは、ユーザーをWPユーザーシステムへログインできませんでし" "た。" #: classes/class.simple-wp-membership.php:244 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "サイト管理者に、WPユーザーメニューであなたのユーザー名を検索してもらい、WP" "ユーザーリストでのあなたのアカウント状態を確認してもらってください。" #: classes/class.simple-wp-membership.php:245 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" "サイト管理者は設定画面で、WPユーザー強制同期を無効にできます。そうすることで" "このエラーが出なくなります。" #: classes/class.simple-wp-membership.php:246 msgid "You can use the back button of your browser to go back to the site." msgstr "あなたのブラウザーの「戻る」ボタンでサイトに戻ることができます。" #: classes/class.simple-wp-membership.php:407 msgid "You are not logged in." msgstr "ログインしていません。" #: classes/class.simple-wp-membership.php:458 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "プラグイン設定でサンドボックス支払いモードが有効になっています。本番の決済を" "する時には、サンドボックスモードを必ず無効にしてください。" #: classes/class.simple-wp-membership.php:473 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership 保護" #: classes/class.simple-wp-membership.php:485 msgid "Simple Membership Protection options" msgstr "Simple WP Membership 保護設定" #: classes/class.simple-wp-membership.php:503 msgid "Do you want to protect this content?" msgstr "このコンテンツを保護しますか ?" #: classes/class.simple-wp-membership.php:504 msgid "No, Do not protect this content." msgstr "いいえ、このコンテンツを保護しません。" #: classes/class.simple-wp-membership.php:505 msgid "Yes, Protect this content." msgstr "はい、このコンテンツを保護します。" #: classes/class.simple-wp-membership.php:508 msgid "Select the membership level that can access this content:" msgstr "このコンテンツを閲覧できる会員レベルを選択してください:" #: classes/class.simple-wp-membership.php:646 #: classes/class.simple-wp-membership.php:650 msgid "Validating, please wait" msgstr "認証しています、お待ちください" #: classes/class.simple-wp-membership.php:653 msgid "Invalid email address" msgstr "メールアドレスが無効です" #: classes/class.simple-wp-membership.php:656 msgid "This field is required" msgstr "このフィールドは必須です" msgid "Password must contain at least:" msgstr "パスワードに最低限使用する文字列:" msgid "- a digit" msgstr "- 半角数字1文字" msgid "- an uppercase letter" msgstr "- 半角大文字1文字" msgid "- a lowercase letter" msgstr "- 半角小文字1文字" #: classes/class.simple-wp-membership.php:659 classes/class.swpm-auth.php:296 msgid "Invalid Username" msgstr "無効なユーザー名" #: classes/class.simple-wp-membership.php:659 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "ユーザー名に使用できる文字:半角アルファベット、半角数字と .-_*@" #: classes/class.simple-wp-membership.php:662 msgid "Minimum " msgstr "最低限 " #: classes/class.simple-wp-membership.php:663 msgid " characters required" msgstr " 必要な文字数" #: classes/class.simple-wp-membership.php:666 msgid "Apostrophe character is not allowed" msgstr "アポストロフィー(‘)は使えません" #: classes/class.simple-wp-membership.php:697 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:698 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:581 msgid "Members" msgstr "会員" #: classes/class.simple-wp-membership.php:699 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:265 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "会員レベル" #: classes/class.simple-wp-membership.php:700 msgid "Settings" msgstr "設定" #: classes/class.simple-wp-membership.php:701 msgid "Payments" msgstr "支払い" #: classes/class.simple-wp-membership.php:702 msgid "Add-ons" msgstr "アドオン" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "このコンテンツを閲覧するにはログインが必要です。 " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "アカウントが期限切れです。 " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "このコンテンツを閲覧できるのは、入会日がこの日以前の会員です " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "このコンテンツはあなたの会員レベルでは閲覧できません。" #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "このコンテンツの続きを閲覧するにはログインが必要です。 " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " ここからの先のコンテンツはあなたの会員レベルでは閲覧できません。" #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "エラー!管理画面からのユーザー登録の際、認証に失敗しました。" #: classes/class.swpm-admin-registration.php:71 msgid "Member record added successfully." msgstr "会員情報の追加が完了しました。" #: classes/class.swpm-admin-registration.php:76 #: classes/class.swpm-admin-registration.php:124 #: classes/class.swpm-admin-registration.php:151 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "以下の内容を修正してください:" #: classes/class.swpm-admin-registration.php:87 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "エラー!管理画面からのユーザー編集の際、認証に失敗しました。" #: classes/class.swpm-admin-registration.php:139 msgid "Your current password" msgstr "現在のパスワード" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "無効なメールアドレス" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Already taken" msgstr "すでに使われています" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "名前に無効な文字が含まれています" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "利用できます" #: classes/class.swpm-auth.php:57 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "警告!WP管理画面からあなたが間違ってログアウトするのを防ぐため、Simple " "Membershipプラグインはこのログインリクエストを処理することができません。" #: classes/class.swpm-auth.php:58 msgid "Click here" msgstr "こちらをクリック" #: classes/class.swpm-auth.php:58 msgid " to see the profile you are currently logged into in this browser." msgstr " あなたが今このブラウザでログインしているプロフィールが確認できます。" #: classes/class.swpm-auth.php:59 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "あなたは今このブラウザーに管理者としてログインしています。まず、WP管理画面か" "らログアウトすれば、普通のメンバーとしてログインできるようになります。" #: classes/class.swpm-auth.php:60 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "別の方法として、違うブラウザー(管理者としてログインしていない)からメンバー" "ログインをテストすることもできます。" #: classes/class.swpm-auth.php:61 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "普通の訪問者やメンバーがこのメッセージを見ることはありません。このメッセージ" "は管理者にのみ表示されます。" #: classes/class.swpm-auth.php:68 msgid "Captcha validation failed on login form." msgstr "ログインフォームでキャプチャ認証に失敗しました。" #: classes/class.swpm-auth.php:93 msgid "User Not Found." msgstr "ユーザーが見つかりません。" #: classes/class.swpm-auth.php:100 msgid "Password Empty or Invalid." msgstr "パスワードが未記入または無効です。" #: classes/class.swpm-auth.php:133 msgid "Account is inactive." msgstr "アカウントが無効です。" #: classes/class.swpm-auth.php:136 classes/class.swpm-auth.php:162 msgid "Account has expired." msgstr "アカウントが期限切れです。" #: classes/class.swpm-auth.php:139 msgid "Account is pending." msgstr "アカウントが保留中です。" #: classes/class.swpm-auth.php:146 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "アカウントを有効にする必要があります。 アクティベーションメールが見当たらない" "場合は %s すれば再送されます。" #: classes/class.swpm-auth.php:146 #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 #: classes/class.swpm-utils-misc.php:169 msgid "click here" msgstr "こちらをクリック" #: classes/class.swpm-auth.php:170 msgid "You are logged in as:" msgstr "ログイン中のアカウント:" #: classes/class.swpm-auth.php:234 msgid "Logged Out Successfully." msgstr "ログアウトしました。" #: classes/class.swpm-auth.php:287 msgid "Session Expired." msgstr "セッションが期限切れです。" #: classes/class.swpm-auth.php:304 msgid "Please login again." msgstr "再度ログインしてください。" #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:40 views/admin_member_form_common_part.php:2 views/edit.php:75 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:229 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:273 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:99 msgid "Membership Level" msgstr "会員レベル" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "カテゴリーID" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "カテゴリー名" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "カテゴリータイプ(タクソノミー)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "説明" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "数" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "カテゴリー保護を更新しました!" #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "カテゴリーが見つかりません。" #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "コメントを書き込むにはログインしてください。" #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "コメントを書き込むにはログインしてください。" #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "会員以外はコメント書き込みできません。" #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "同一のユーザー名の WordPress アカウントが存在しますが、入力されたメールアドレ" "スは一致しません。" #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " 別のユーザー名で登録を完了してください。もし、このユーザー名をお使いにな離た" "い場合は、既存のWPユーザーアカウントと紐づいている正しいメールアドレスを入力" "してください。" #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "同一のメールアドレスの WordPress アカウントが存在しますが、入力されたユーザー" "名は一致しません。" #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " 別のメールアドレスで登録を完了してください。もし、このメールアドレスをお使い" "になりたい場合は、既存のWPユーザーアカウントと紐づいている正しいユーザー名を" "入力してください。" #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "ユーザー名は必須です" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "ユーザー名に無効な文字が含まれています" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "ユーザー名がすでに登録済みです。" #: classes/class.swpm-form.php:83 msgid "Password is required" msgstr "パスワードは入力必須です" #: classes/class.swpm-form.php:90 msgid "Password mismatch" msgstr "パスワードが一致していません" #: classes/class.swpm-form.php:101 msgid "Email is required" msgstr "メールアドレスは必須です" #: classes/class.swpm-form.php:105 msgid "Email is invalid" msgstr "メールアドレスが無効です" #: classes/class.swpm-form.php:121 msgid "Email is already used." msgstr "メールアドレスがすでに登録済みです。" #: classes/class.swpm-form.php:179 msgid "Member since field is invalid" msgstr "会員登録日のフィールドが無効です" #: classes/class.swpm-form.php:190 msgid "Access starts field is invalid" msgstr "アクセス開始日のフィールドが無効です" #: classes/class.swpm-form.php:200 msgid "Gender field is invalid" msgstr "性別のフィールドが無効です" #: classes/class.swpm-form.php:211 msgid "Account state field is invalid" msgstr "アカウントの状態の項目が無効です" #: classes/class.swpm-form.php:218 msgid "Invalid membership level" msgstr "会員レベルが無効です" #: classes/class.swpm-front-registration.php:33 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "エラー!無効なリクエスト。入力されたセキュリティーコードとユーザーIDが一致し" "ません。" #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:274 views/login.php:36 msgid "Join Us" msgstr "入会のご案内" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "このサイトでは無料会員は受け付けておりません。。有料会員のお支払い手続きは " #: classes/class.swpm-front-registration.php:49 msgid " page to pay for a premium membership." msgstr " ページからお願いします。" #: classes/class.swpm-front-registration.php:51 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "お支払い完了後、メールで専用リンクが配信されます。そのリンクから有料会員登録" "を完了していただけます。" #: classes/class.swpm-front-registration.php:79 msgid "Security check: captcha validation failed." msgstr "セキュリティチェック: キャプチャ認証に失敗しました。" #: classes/class.swpm-front-registration.php:89 msgid "You must accept the terms and conditions." msgstr "ご利用条件への同意が必要です。" #: classes/class.swpm-front-registration.php:100 msgid "You must agree to the privacy policy." msgstr "プライバシーポリシーへの同意が必要です。" #: classes/class.swpm-front-registration.php:140 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "メールアドレスの確認が必要です。メールボックスにお届けしたメールの手順に従っ" "て登録を完了してください。" #: classes/class.swpm-front-registration.php:145 msgid "Registration Successful. " msgstr "登録が完了しました。 " #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 classes/class.swpm-utils-misc.php:285 msgid "Please" msgstr "どうぞ" #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 views/login.php:30 msgid "Login" msgstr "ログインしてください" #: classes/class.swpm-front-registration.php:159 msgid "Please correct the following" msgstr "下記の内容を修正してください" #: classes/class.swpm-front-registration.php:207 msgid "Membership Level Couldn't be found." msgstr "会員レベルが見つかりませんでした。" #: classes/class.swpm-front-registration.php:258 msgid "Error! Nonce verification failed for front end profile edit." msgstr "エラー!ユーザー画面からのプロフィール編集の際、認証に失敗しました。" #: classes/class.swpm-front-registration.php:266 msgid "Profile updated successfully." msgstr "プロフィールが更新されました。" #: classes/class.swpm-front-registration.php:275 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "プロフィールが更新されました。パスワードが変更されたので、再度ログインが必要" "です。" #: classes/class.swpm-front-registration.php:289 msgid "Please correct the following." msgstr "下記の内容を修正してください。" #: classes/class.swpm-front-registration.php:301 msgid "Captcha validation failed." msgstr "キャプチャ認証に失敗しました。" #: classes/class.swpm-front-registration.php:309 msgid "Email address not valid." msgstr "メールアドレスが有効ではありません。" #: classes/class.swpm-front-registration.php:320 msgid "No user found with that email address." msgstr "そのメールアドレスで登録されたユーザーが見つかりません。" #: classes/class.swpm-front-registration.php:321 #: classes/class.swpm-front-registration.php:350 msgid "Email Address: " msgstr "メールアドレス: " #: classes/class.swpm-front-registration.php:349 msgid "New password has been sent to your email address." msgstr "新しいパスワードがあなたのメールアドレスに送信されました。" #: classes/class.swpm-front-registration.php:371 msgid "Can't find member account." msgstr "会員アカウントが見つかりません。" #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid "Account already active. " msgstr "アカウントは既に有効化されています。 " #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid " to login." msgstr " ログインするために。" #: classes/class.swpm-front-registration.php:383 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "有効化コードが一致しないため、このアカウントを有効化できません。 サイト管理者" "に連絡してください。" #: classes/class.swpm-front-registration.php:397 msgid "Success! Your account has been activated successfully." msgstr "成功!あなたのアカウントが有効になりました。" #: classes/class.swpm-front-registration.php:421 msgid "Cannot find member account." msgstr "会員アカウントが見つかりません。" #: classes/class.swpm-front-registration.php:443 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "有効化するためのメールが送信されました。 メールを確認してアカウントを有効にし" "てください。" #: classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Nonce verification failed." msgstr "残念ながら、認証に失敗しました。" #: classes/class.swpm-init-time-tasks.php:125 msgid "Sorry, Password didn't match." msgstr "残念ながら、パスワードが一致しませんでした。" #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "日付の形式が有効ではありません。" #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "有効期限の数値を1以上に設定してください。" #: classes/class.swpm-members.php:10 msgid "Member" msgstr "会員" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:20 views/add.php:16 views/admin_add.php:11 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "ユーザー名" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:32 views/admin_member_form_common_part.php:15 #: views/edit.php:39 includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "名" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:36 views/admin_member_form_common_part.php:19 #: views/edit.php:43 includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "姓" #: classes/class.swpm-members.php:23 views/add.php:20 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "メール" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "アクセス開始日" #: classes/class.swpm-members.php:26 includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "アカウントの状態" #: classes/class.swpm-members.php:27 msgid "Last Login Date" msgstr "前回のログイン日" #: classes/class.swpm-members.php:46 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "削除" #: classes/class.swpm-members.php:47 msgid "Set Status to Active" msgstr "ステータスを有効に設定" #: classes/class.swpm-members.php:48 msgid "Set Status to Active and Notify" msgstr "ステータスを有効に設定し通知" #: classes/class.swpm-members.php:49 msgid "Set Status to Inactive" msgstr "ステータスを無効に設定" #: classes/class.swpm-members.php:50 msgid "Set Status to Pending" msgstr "ステータスを保留に設定" #: classes/class.swpm-members.php:51 msgid "Set Status to Expired" msgstr "ステータスを期限切れに設定" #: classes/class.swpm-members.php:72 msgid "incomplete" msgstr "不完全" #: classes/class.swpm-members.php:191 msgid "No member found." msgstr "会員が見つかりません。" #: classes/class.swpm-members.php:337 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "エラー!管理画面からユーザー削除する際、認証に失敗しました。" #: classes/class.swpm-members.php:406 classes/class.swpm-members.php:436 msgid "Error! Please select a membership level first." msgstr "エラー!まず会員レベルを選択してください。" #: classes/class.swpm-members.php:423 msgid "Membership level change operation completed successfully." msgstr "会員レベルの変更が完了しました。" #: classes/class.swpm-members.php:453 msgid "Access starts date change operation successfully completed." msgstr "アクセス開始日の変更が完了しました。" #: classes/class.swpm-members.php:462 msgid "Bulk Update Membership Level of Members" msgstr "複数会員の会員レベルを一括更新" #: classes/class.swpm-members.php:465 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "個別会員の会員レベルを手動で変更するには、会員メニューから該当する情報を編集" "します。 " #: classes/class.swpm-members.php:466 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "次のオプションを使って、以下で選択した会員レベルに属するすべての会員を一括更" "新できます。" #: classes/class.swpm-members.php:472 classes/class.swpm-members.php:520 msgid "Membership Level: " msgstr "会員レベル: " #: classes/class.swpm-members.php:476 msgid "Select Current Level" msgstr "現在のレベルを選択" #: classes/class.swpm-members.php:479 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" "現在の会員レベルを選択(更新したい会員レベルに属するすべての会員が一括で更新" "されます)。" #: classes/class.swpm-members.php:485 msgid "Level to Change to: " msgstr "変更後のレベル: " #: classes/class.swpm-members.php:489 msgid "Select Target Level" msgstr "ターゲットレベルを選択" #: classes/class.swpm-members.php:492 msgid "Select the new membership level." msgstr "新しい会員レベルを選択。" #: classes/class.swpm-members.php:498 msgid "Bulk Change Membership Level" msgstr "会員レベルを一括変更" #: classes/class.swpm-members.php:508 msgid "Bulk Update Access Starts Date of Members" msgstr "会員のアクセス開始日を一括更新" #: classes/class.swpm-members.php:512 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "会員のアクセス開始日は、ユーザー登録された日に設定されています。有効期限付き" "のコンテンツを閲覧できるレベルの会員が、あとどのぐらいの期間アクセスできるか" "を計算するために、この日付が使われます。 " #: classes/class.swpm-members.php:513 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "次のオプションを使って、ある会員レベルに属するすべての会員のアクセス開始日を" "手動で設定できます。" #: classes/class.swpm-members.php:523 msgid "Select Level" msgstr "レベルを選択" #: classes/class.swpm-members.php:526 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "会員レベルを選択(このレベルに属するすべての会員のアクセス開始日が更新されま" "す)。" #: classes/class.swpm-members.php:535 msgid "Specify the access starts date value." msgstr "アクセス開始日の値を指定。" #: classes/class.swpm-members.php:541 msgid "Bulk Change Access Starts Date" msgstr "アクセス開始日を一括変更" #: classes/class.swpm-members.php:576 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::会員" #: classes/class.swpm-members.php:577 #: classes/class.swpm-membership-levels.php:226 views/admin_members_list.php:44 msgid "Add New" msgstr "新規追加" #: classes/class.swpm-members.php:582 views/admin_add.php:6 msgid "Add Member" msgstr "会員の追加" #: classes/class.swpm-members.php:583 msgid "Bulk Operation" msgstr "一括操作" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "エラー!管理画面からの会員レベル作成の際、認証に失敗しました。" #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "会員レベルを作成しました。" #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "エラー!管理画面からの会員レベル編集の際、認証に失敗しました。" #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "会員レベルの更新が完了しました。" #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "権限グループ" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "アクセス有効期限" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "会員レベルが見つかりません。" #: classes/class.swpm-membership-levels.php:197 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "エラー!管理画面から会員レベル削除の際、認証に失敗しました。" #: classes/class.swpm-membership-levels.php:216 views/admin_members_list.php:31 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "検索" #: classes/class.swpm-membership-levels.php:261 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::会員レベル" #: classes/class.swpm-membership-levels.php:266 msgid "Add Level" msgstr "レベルの追加" #: classes/class.swpm-membership-levels.php:267 msgid "Manage Content Protection" msgstr "コンテンツ保護を管理" #: classes/class.swpm-membership-levels.php:268 msgid "Category Protection" msgstr "カテゴリー保護" #: classes/class.swpm-membership-levels.php:269 msgid "Post and Page Protection" msgstr "投稿や固定ページの保護" #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "日付" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "タイトル" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "作者" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "ステータス" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "カテゴリー" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "タイプ" #: classes/class.swpm-post-list.php:125 msgid "Protection settings updated!" msgstr "保護設定を更新しました!" #: classes/class.swpm-post-list.php:230 msgid "No items found." msgstr "アイテムが見つかりません。" #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "この投稿のカテゴリー、または親カテゴリーは保護されています。カテゴリー保護の" "設定変更は " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "カテゴリー保護メニュー" #: classes/class.swpm-settings.php:26 classes/class.swpm-settings.php:54 msgid "General Settings" msgstr "一般設定" #: classes/class.swpm-settings.php:27 msgid "Payment Settings" msgstr "支払い設定" #: classes/class.swpm-settings.php:28 msgid "Email Settings" msgstr "メール設定" #: classes/class.swpm-settings.php:29 msgid "Tools" msgstr "ツール" #: classes/class.swpm-settings.php:30 classes/class.swpm-settings.php:187 msgid "Advanced Settings" msgstr "詳細設定" #: classes/class.swpm-settings.php:31 msgid "Addons Settings" msgstr "アドオンの設定" #: classes/class.swpm-settings.php:53 msgid "Plugin Documentation" msgstr "プラグインのマニュアル" #: classes/class.swpm-settings.php:55 msgid "Enable Free Membership" msgstr "無料会員を有効にします" #: classes/class.swpm-settings.php:56 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "無料会員レベル登録の有効化 / 無効化。この機能を有効にする場合は、無料会員レベ" "ルIDを以下の欄に必ず指定してください。" #: classes/class.swpm-settings.php:57 msgid "Free Membership Level ID" msgstr "無料会員レベル ID" #: classes/class.swpm-settings.php:58 msgid "Assign free membership level ID" msgstr "無料会員のレベルIDを指定" #: classes/class.swpm-settings.php:59 msgid "Enable More Tag Protection" msgstr "More タグ以下のコンテンツを保護" #: classes/class.swpm-settings.php:60 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "投稿や固定ページの「More タグ」保護を有効化/無効化。More タグ以降のコンテン" "ツはすべて保護されます。Moreタグ以前のコンテンツはティーザーです。" #: classes/class.swpm-settings.php:61 msgid "Hide Adminbar" msgstr "管理バーを非表示" #: classes/class.swpm-settings.php:62 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPressはサイトにログインしたユーザーにadminツールバーを表示します。Webサイ" "トにツールバーを表示したくない場合はチェックしてください。" #: classes/class.swpm-settings.php:63 msgid "Show Adminbar to Admin" msgstr "Adminツールバーを管理者に表示" #: classes/class.swpm-settings.php:64 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "管理者のみにadminツールバーを表示したい場合にこのオプションを使います。それ以" "外のユーザーにはadminツールバーは表示されません。" #: classes/class.swpm-settings.php:65 msgid "Disable Access to WP Dashboard" msgstr "WPダッシュボードへのアクセスを無効化" #: classes/class.swpm-settings.php:66 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashbaord. Using this option will prevent any " "non admin users from going to the wp dashboard." msgstr "" "WordPressは、標準のWPユーザーがwp-admin URLからWPダッシュボードの自分のプロ" "フィールにアクセスすることを許可します。このオプションを使うことで管理者以外" "がWPダッシュボードへアクセスできないようにします。" #: classes/class.swpm-settings.php:68 classes/class.swpm-settings.php:242 msgid "Default Account Status" msgstr "デフォルトアカウントステータス" #: classes/class.swpm-settings.php:71 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "新しく会員登録したユーザーのデフォルトステータスを選択。管理者が手動で会員を" "承認する場合は「保留中」を選びます。" #: classes/class.swpm-settings.php:73 msgid "Members Must be Logged in to Comment" msgstr "コメントするには会員のログインが必要です" #: classes/class.swpm-settings.php:74 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "このサイトの会員だけにコメント投稿を許可したい場合は、このオプションを有効に" "します。" #: classes/class.swpm-settings.php:83 msgid "Pages Settings" msgstr "ページ設定" #: classes/class.swpm-settings.php:84 msgid "Login Page URL" msgstr "ログインページ URL" #: classes/class.swpm-settings.php:86 msgid "Registration Page URL" msgstr "登録ページ URL" #: classes/class.swpm-settings.php:88 msgid "Join Us Page URL" msgstr "会員登録案内ページ URL" #: classes/class.swpm-settings.php:90 msgid "Edit Profile Page URL" msgstr "プロフィールの編集ページ URL" #: classes/class.swpm-settings.php:92 msgid "Password Reset Page URL" msgstr "パスワードリセットページ URL" #: classes/class.swpm-settings.php:95 msgid "Test & Debug Settings" msgstr "テスト & デバッグ設定" #: classes/class.swpm-settings.php:97 msgid "Check this option to enable debug logging." msgstr "デバッグログを有効にする場合はこのオプションをチェック。" #: classes/class.swpm-settings.php:98 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" " これは問題をトラブルシューティングする際に便利です。トラブルシューティングが" "完了したらオフにして、ログファイルをリセットしましょう。" #: classes/class.swpm-settings.php:100 msgid "View general debug log file by clicking " msgstr "一般デバッグログファイルを閲覧するには " #: classes/class.swpm-settings.php:100 classes/class.swpm-settings.php:101 #: classes/class.swpm-settings.php:102 msgid "here" msgstr "ここをクリック" #: classes/class.swpm-settings.php:101 msgid "View login related debug log file by clicking " msgstr "ログイン関連のデバッグログを閲覧するには " #: classes/class.swpm-settings.php:102 msgid "Reset debug log files by clicking " msgstr "デバッグログファイルをリセットするには " #: classes/class.swpm-settings.php:103 msgid "Enable Debug" msgstr "デバッグを有効化" #: classes/class.swpm-settings.php:105 msgid "Enable Sandbox Testing" msgstr "サンドボックステストを有効化" #: classes/class.swpm-settings.php:106 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "サンドボックスで支払いテストをしたい場合は、このオプションを有効にします。" #: classes/class.swpm-settings.php:119 msgid "Email Settings Overview" msgstr "メール設定概要" #: classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "その他メール設定" #: classes/class.swpm-settings.php:122 msgid "From Email Address" msgstr "送信元メールアドレス" #: classes/class.swpm-settings.php:126 msgid "Email Settings (Prompt to Complete Registration )" msgstr "メール設定(登録完了を促す)" #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:158 classes/class.swpm-settings.php:163 #: classes/class.swpm-settings.php:168 classes/class.swpm-settings.php:173 msgid "Email Subject" msgstr "メール件名" #: classes/class.swpm-settings.php:129 classes/class.swpm-settings.php:142 #: classes/class.swpm-settings.php:159 classes/class.swpm-settings.php:164 #: classes/class.swpm-settings.php:169 classes/class.swpm-settings.php:174 msgid "Email Body" msgstr "メール本文" #: classes/class.swpm-settings.php:133 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "管理者通知メールの送信先メールアドレスを入力してください。" #: classes/class.swpm-settings.php:134 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" " 上のフィールドにカンマ(,)区切りで複数のメールアドレスを記入すると、複数の" "メールアドレスへ通知を配信できます。" #: classes/class.swpm-settings.php:136 msgid "Enter the subject for the admin notification email." msgstr "管理者通知メールの件名を記入。" #: classes/class.swpm-settings.php:137 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "このメールは新しいユーザーが会員登録を完了した時に管理者に送られます。上の" "「管理者へ通知を送信」オプションを有効にした場合のみ作動します。" #: classes/class.swpm-settings.php:139 msgid "Email Settings (Registration Complete)" msgstr "メール設定(登録完了)" #: classes/class.swpm-settings.php:144 msgid "Send Notification to Admin" msgstr "管理者へ通知を送信" #: classes/class.swpm-settings.php:145 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "管理者が会員登録の通知を受信したい場合は、このオプションを有効にします。" #: classes/class.swpm-settings.php:146 msgid "Admin Email Address" msgstr "管理者のメールアドレス" #: classes/class.swpm-settings.php:148 msgid "Admin Notification Email Subject" msgstr "管理者通知メールの件名" #: classes/class.swpm-settings.php:150 msgid "Admin Notification Email Body" msgstr "管理者通知メールの本文" #: classes/class.swpm-settings.php:153 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "管理画面から会員登録した場合、登録された会員宛にメールを送信" #: classes/class.swpm-settings.php:157 msgid "Email Settings (Password Reset)" msgstr "メール設定(パスワードリセット)" #: classes/class.swpm-settings.php:162 msgid " Email Settings (Account Upgrade Notification)" msgstr " メール設定(アカウントのアップグレード通知)" #: classes/class.swpm-settings.php:167 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " メール設定(複数アカウント一括有効化通知)" #: classes/class.swpm-settings.php:172 msgid " Email Settings (Email Activation)" msgstr " メール設定(メールでの有効化)" #: classes/class.swpm-settings.php:189 msgid "Enable Expired Account Login" msgstr "有効期限切れのアカウントのログインを有効にする" #: classes/class.swpm-settings.php:190 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "この機能を有効にした場合、有効期限切れの会員はシステムにログインできますが、" "会員限定コンテンツは閲覧できません。これは会員が支払いをして更新手続きしやす" "いようにするためのものです。" #: classes/class.swpm-settings.php:192 msgid "Membership Renewal URL" msgstr "会員更新URL" #: classes/class.swpm-settings.php:193 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "このサイトで更新ページを作成できます。更新サイト作成方法はthis documentation をご覧ください。" #: classes/class.swpm-settings.php:195 msgid "After Registration Redirect URL" msgstr "登録後のリダイレクト先URL" #: classes/class.swpm-settings.php:196 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after registration " "redirect." msgstr "" "登録フォームを提出した後でその会員をリダイレクトする先のURLをここに入力できま" "す。登録後のリダイレクトの設定方法につきましてはthis documentation をご覧ください。" #: classes/class.swpm-settings.php:198 msgid "Enable Auto Login After Registration" msgstr "登録後の自動ログインを有効化" #: classes/class.swpm-settings.php:199 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" "新規会員が登録完了した直後にサイトに自動ログインさせるには、このオプションを" "使います。このオプションは他の登録リダイレクトを無効にし、代わりにログイン後" "のリダイレクトを作動させます。詳細は " "このマニュアルをご覧ください。" #: classes/class.swpm-settings.php:201 msgid "After Logout Redirect URL" msgstr "ログアウト後のリダイレクトURL" #: classes/class.swpm-settings.php:202 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" "「ログアウト」リンクをクリックしてサイトからログアウトした会員をリダイレクト" "したいURLをここに入力できます。" #: classes/class.swpm-settings.php:204 msgid "Logout Member on Browser Close" msgstr "ブラウザーを閉じた時に会員をログアウトさせる" #: classes/class.swpm-settings.php:205 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" "会員がブラウザーを閉じた時にログアウトさせたい場合は、このオプションを有効に" "します。" #: classes/class.swpm-settings.php:207 msgid "Allow Account Deletion" msgstr "アカウント削除の許可" #: classes/class.swpm-settings.php:208 msgid "Allow users to delete their accounts." msgstr "会員によるアカウント削除を許可。" #: classes/class.swpm-settings.php:210 msgid "Force Strong Password for Members" msgstr "会員に強力なパスワードを強制" #: classes/class.swpm-settings.php:211 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" "ユーザーに強力なパスワードを使うよう強制したい場合はこれを有効にします。" #: classes/class.swpm-settings.php:213 msgid "Use WordPress Timezone" msgstr "WordPress のタイムゾーンを使う" #: classes/class.swpm-settings.php:214 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" "WordPressの一般設定画面で設定されているタイムゾーンの値を使いたい場合は、この" "オプションを使います。" #: classes/class.swpm-settings.php:216 msgid "Auto Delete Pending Account" msgstr "保留中アカウントの自動削除" #: classes/class.swpm-settings.php:219 msgid "Select how long you want to keep \"pending\" account." msgstr "「保留中」アカウントの保留期間を選択。" #: classes/class.swpm-settings.php:221 msgid "Admin Dashboard Access Permission" msgstr "管理ダッシュボードのアクセス許可" #: classes/class.swpm-settings.php:224 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here." msgstr "" "SWPM管理ダッシュボードは管理ユーザーのみアクセス可能です(他のプラグインと同" "じ)。他のWP権限グループのユーザーにSWPM管理ダッシュボードへのアクセスを許可" "する場合は、ここでその権限を選択します。" #: classes/class.swpm-settings.php:226 msgid "Force WP User Synchronization" msgstr "WPユーザー同期を強制" #: classes/class.swpm-settings.php:227 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" "会員ログインとWPユーザーアカウントの同期化を強制したい場合はこのオプションを" "有効にします。これは、WPユーザー情報を利用している他のプラグインを使っている" "場合に便利です。例:bbPressプラグイン。" #: classes/class.swpm-settings.php:230 msgid "Create Member Accounts for New WP Users" msgstr "新しいWPユーザー用に会員アカウントを作成" #: classes/class.swpm-settings.php:232 msgid "Enable Auto Create Member Accounts" msgstr "メンバーアカウントの自動作成を有効化" #: classes/class.swpm-settings.php:233 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" "他のプラグインが新しいWPユーザーを作成した時に、自動的に会員アカウントを作成" "したい場合、このオプションを有効化します。" #: classes/class.swpm-settings.php:236 msgid "Default Membership Level" msgstr "デフォルト会員レベル" #: classes/class.swpm-settings.php:239 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" "この機能を使って会員アカウントを自動作成する時、そのユーザーの会員レベルはこ" "こで指定したレベルに設定されます。" #: classes/class.swpm-settings.php:245 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" "この機能を使って会員アカウントを自動作成する時、そのユーザーの会員アカウント" "ステータスはここで指定した状態に設定されます。" #: classes/class.swpm-settings.php:247 msgid "Payment Notification Forward URL" msgstr "支払い通知転送URL" #: classes/class.swpm-settings.php:248 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" "このプラグインで会費の支払いが処理された後、お支払い通知を転送するURLをここに" "入力できます。お支払い通知を外部スクリプトに転送して、さらに処理する必要があ" "る場合に便利です。" #: classes/class.swpm-settings.php:251 views/add.php:65 msgid "Terms and Conditions" msgstr "利用規約" #: classes/class.swpm-settings.php:253 msgid "Enable Terms and Conditions" msgstr "利用規約を有効化" #: classes/class.swpm-settings.php:254 msgid "Users must accept the terms before they can complete the registration." msgstr "登録を完了するには、ユーザーは利用規約に同意しなければなりません。" #: classes/class.swpm-settings.php:255 msgid "Terms and Conditions Page URL" msgstr "利用規約ページURL" #: classes/class.swpm-settings.php:256 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" "利用規約ページのURLを入力してください。WordPressの規約ページを作成して、その" "ページのURLを上の欄に入力することもできます。" #: classes/class.swpm-settings.php:257 msgid "Enable Privacy Policy" msgstr "プライバシーポリシーを有効化" #: classes/class.swpm-settings.php:258 msgid "Users must accept it before they can complete the registration." msgstr "登録を完了するには、ユーザーはこれに同意しなければなりません。" #: classes/class.swpm-settings.php:259 msgid "Privacy Policy Page URL" msgstr "プライバシーポリシーページ URL" #: classes/class.swpm-settings.php:260 msgid "Enter the URL of your privacy policy page." msgstr "プライバシーポリシーページのURLを入力してください。" #: classes/class.swpm-settings.php:350 classes/class.swpm-settings.php:396 #: classes/class.swpm-settings.php:425 msgid "Settings updated!" msgstr "設定を更新しました!" #: classes/class.swpm-settings.php:355 msgid "General Plugin Settings." msgstr "一般プラグイン設定。" #: classes/class.swpm-settings.php:359 msgid "Page Setup and URL Related settings." msgstr "ページ構成とURL関連の設定。" #: classes/class.swpm-settings.php:362 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" "以下のページは、プラグインが正しく機能するために必要なものです。これらのペー" "ジは、プラグインのインストール時に自動的に作成されています。" #: classes/class.swpm-settings.php:367 msgid "Testing and Debug Related Settings." msgstr "テスト & デバッグ関連の設定。" #: classes/class.swpm-settings.php:371 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "このメールは、登録を完了して会員になったユーザーに配信されます。" #: classes/class.swpm-settings.php:375 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "このメールは、パスワードリセット機能を使ったユーザーに送信されます。" #: classes/class.swpm-settings.php:381 msgid "" "This interface lets you custsomize the various emails that gets sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" "この画面では、様々な行為に対して会員に送信される諸々のメールをカスタマイズで" "きます。デフォルト設定でもサイト立ち上げには十分使えるはずです。" #: classes/class.swpm-settings.php:385 views/admin_tools_settings.php:82 msgid "This documentation" msgstr "このマニュアル" #: classes/class.swpm-settings.php:386 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" " は、メール本文をカスタマイズするために、どんな置き換えタグが使えるかを説明し" "ています(ご希望の場合)。" #: classes/class.swpm-settings.php:399 msgid "Settings in this section apply to all emails." msgstr "このセクションの設定はすべてのメールに適用します。" #: classes/class.swpm-settings.php:403 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "このメールは、アカウントをアップグレード後(既存会員が新しい会員レベルの会費" "を払った時)すべてのユーザーに送信されます。" #: classes/class.swpm-settings.php:407 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "このメールは、あなたがアカウントの一括有効化と通知機能を使った時に会員に送信" "されます。" #: classes/class.swpm-settings.php:408 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" " このメールには置き換えタグは使えません。一般的なテキスト文のみ使えます。" #: classes/class.swpm-settings.php:413 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" "このメールは、会員レベルで「メールによる有効化」を有効にしている場合に送信さ" "れます。" #: classes/class.swpm-settings.php:417 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "このメールは、支払い後、登録を完了するようにユーザーに促すために送信されま" "す。" #: classes/class.swpm-settings.php:428 msgid "This page allows you to configure some advanced features of the plugin." msgstr "このページでは、このプラグインの高度な機能を設定できます。" #: classes/class.swpm-settings.php:432 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" "このセクションでは、他のプラグインが新規WPユーザーデータを作成した時に、会員" "アカウントを自動作成するように設定できます。WPユーザーデータを作成する他のプ" "ラグインを使っていて、その情報をこちらの会員情報に反映したい場合に便利です。" #: classes/class.swpm-settings.php:436 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" "このセクションでは、ユーザー登録時に同意させる利用規約やプライバシーポリシー" "を設定できます。" #: classes/class.swpm-settings.php:565 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::設定" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 msgid "User is not logged in." msgstr "ログインしていません。" #: classes/class.swpm-utils-member.php:80 msgid "No Expiry" msgstr "無期限" #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "登録" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "メンバーログイン" #: classes/class.swpm-utils-misc.php:96 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:117 msgid "Profile" msgstr "プロフィール" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "パスワードのリセット" #: classes/class.swpm-utils-misc.php:168 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "" "数秒後に自動でリダイレクトされます。リダイレクトされない場合は %s してくださ" "い。" #: classes/class.swpm-utils-misc.php:172 msgid "Action Status" msgstr "アクション状態" #: classes/class.swpm-utils-misc.php:274 msgid "Not a Member?" msgstr "会員ではないですか ?" #: classes/class.swpm-utils-misc.php:285 msgid "renew" msgstr "アカウントを更新" #: classes/class.swpm-utils-misc.php:285 msgid " your account to gain access to this content." msgstr " すると、このコンテンツにアクセスできるようになります。" #: classes/class.swpm-utils-misc.php:343 classes/class.swpm-utils-misc.php:349 msgid "Error! This action (" msgstr "エラー!このアクション(" #: classes/class.swpm-utils-misc.php:421 msgid "(Please Select)" msgstr "(選択してください)" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "エラー!指定のテンプレートへのパスが見つかりません: " #: classes/class.swpm-utils.php:101 msgid "Never" msgstr "期限なし" #: classes/class.swpm-utils.php:116 views/admin_members_list.php:19 msgid "Active" msgstr "有効" #: classes/class.swpm-utils.php:117 views/admin_members_list.php:20 msgid "Inactive" msgstr "無効" #: classes/class.swpm-utils.php:118 views/admin_members_list.php:21 msgid "Activation Required" msgstr "有効化が必要" #: classes/class.swpm-utils.php:119 views/admin_members_list.php:22 msgid "Pending" msgstr "保留" #: classes/class.swpm-utils.php:120 views/admin_members_list.php:24 msgid "Expired" msgstr "期限切れ" #: classes/class.swpm-utils.php:414 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "アカウントの削除" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "支払ボタン ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "支払ボタンタイトル" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "会員レベル ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "ボタンタイプ" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "ボタンショートコード" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "選択したエントリーは削除されました!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple Membership::支払" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "トランザクション" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "支払いボタンの管理" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "新規ボタン作成" #: classes/admin-includes/class.swpm-payments-list-table.php:57 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "プロフィールを見る" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "列 ID" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "メールアドレス" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "会員プロフィール" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "トランザクション ID" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "定期購読者ID" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "金額" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Your membership profile will be updated to reflect the payment." msgstr "お支払いを反映して会員プロフィールが更新されます。" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Your profile username: " msgstr "あなたのプロフィールユーザー名: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:73 msgid "Click on the following link to complete the registration." msgstr "以下のリンクをクリックして会員登録を完了してください。" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:74 msgid "Click here to complete your paid registration" msgstr "有料登録を完了するにはこちらをクリック" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:79 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "会員登録のためのお支払いを完了したばかりでしたら、まだ手続きの処理中です。数" "分後にもう一度ご確認ください。間もなく詳細についてメールが送付されます。" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:93 msgid "Expiry: " msgstr "有効期限: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "You are not logged-in as a member" msgstr "会員としてログインしていません" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:115 msgid "Logged in as: " msgstr "ログイン中のアカウント: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:118 #: views/loggedin.php:31 msgid "Logout" msgstr "ログアウト" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 msgid "Login Here" msgstr "ここからログイン" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:122 msgid "Not a member? " msgstr "会員ではないですか? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:123 msgid "Join Now" msgstr "今すぐ登録" #: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285 #, php-format msgid "Error occured during payment verification. Error code: %d. Message: %s" msgstr "支払い認証時にエラーが起こりました。エラーコード:%d。メッセージ:%s" #: ipn/swpm-smart-checkout-ipn.php:298 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %s %s, got %s %s." msgstr "" "支払い確認に失敗しました:無効な金額を受領。請求額 %s %s、受領額 %s %s。" #: ipn/swpm-smart-checkout-ipn.php:315 msgid "Empty payment data received." msgstr "空の支払いデータを受領しました。" #: ipn/swpm-smart-checkout-ipn.php:355 msgid "IPN product validation failed. Check debug log for more details." msgstr "IPN商品認証に失敗しました。詳細はデバッグログを確認してください。" #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "アカウントを削除しようとしています。これで、このアカウントに紐づいたユーザー" "データがすべて削除されます。 " #: views/account_delete_warning.php:8 msgid "It will also delete associated WordPress user account." msgstr "これにより紐づいたWordPressユーザーアカウントも削除されます。" #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(注記:安全理由から、このプラグインではWordPressアカウントの管理者権限を持つ" "アカウントは削除できないようになっています)。" #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "続行しますか?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "パスワード: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "アカウント削除の確認" #: views/add.php:24 views/admin_add.php:19 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:17 msgid "Password" msgstr "パスワード" #: views/add.php:28 views/edit.php:35 msgid "Repeat Password" msgstr "パスワードを再入力" #: views/add.php:65 msgid "I accept the " msgstr "承諾します " #: views/add.php:77 msgid "I agree to the " msgstr "同意します " #: views/add.php:77 msgid "Privacy Policy" msgstr "プライバシーポリシー" #: views/add.php:88 msgid "Register" msgstr "登録" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "新しいユーザーを作成し、このサイトに追加します。" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(必須)" #: views/admin_add.php:15 views/admin_edit.php:40 msgid "E-mail" msgstr "メール" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(二度入力、必須)" #: views/admin_add.php:24 views/admin_edit.php:48 msgid "Strength indicator" msgstr "強度の指標" #: views/admin_add.php:25 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "ヒント: パスワードは7文字以上。より強力なパスワードにするために、大文字・小文" "字を使い、数字や ! \\\" ? $ % ^ & ) 等の記号の使用を推奨します。" #: views/admin_add.php:29 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "アカウント状態" #: views/admin_add.php:39 msgid "Add New Member " msgstr "新規メンバーの追加 " #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "アドオンの設定やオプションがここに表示されます(インストールされている場" "合)。" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "変更を保存" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "新規会員レベルの追加" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "新規会員レベルを作成。" #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "会員レベル名" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "WordPress のデフォルトユーザー権限" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "有効期限" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "無期限(キャンセルしない限り有効)" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "有効期限" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "日(指定した日数の間有効)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "週(指定した週数の間有効)" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "ヶ月(指定した月数の間有効)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "年(指定した年数の間有効)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "有効期限日を指定" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(指定した日付まで有効)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "メールでの有効化" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" "新規ユーザーのメールでの有効化を有効にします。有効にすると、会員はアカウント" "を有効化するために、登録メールアドレスに送られたメールの有効化リンクをクリッ" "クする必要があります。無料会員制に便利です。 " #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "マニュアルを閲覧" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "注記:" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" "有効にした場合、アカウントが有効化されるまで、復号可能な会員パスワードがデー" "タベースに仮保存されます。" #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "新しい会員レベルの追加 " #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::アドオン" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "まず、サイト全体でカテゴリーを保護するには、ドロップダウンメニューから「一般" "保護」を選び、ログインしていないユーザーに非公開にするカテゴリーを選択しま" "す。" #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "次にドロップダウンメニューから既存の会員レベルを選択し、その会員レベルのユー" "ザーにのみ公開するカテゴリーを選びます。" #: views/admin_category_list.php:11 views/admin_post_list.php:11 msgid "Read the " msgstr "参照 " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "カテゴリー保護に関するマニュアル" #: views/admin_category_list.php:17 views/admin_post_list.php:27 msgid "Membership Level:" msgstr "会員レベル:" #: views/admin_category_list.php:19 views/admin_post_list.php:29 msgid "General Protection" msgstr "一般保護" #: views/admin_category_list.php:23 views/admin_post_list.php:33 #: views/edit.php:83 msgid "Update" msgstr "更新" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "会員の編集" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "既存会員の詳細を編集." #: views/admin_edit.php:14 msgid " You are currenty editing member with member ID: " msgstr " 現在編集している会員のIDは: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(二度入力。同じパスワードを利用する場合は空欄にする。)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" "これは会員のアカウントステータスです。期限切れの会員アカウントを手動で有効に" "する方法については" #: views/admin_edit.php:60 msgid "this documentation" msgstr "このマニュアル" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " をご覧ください。" #: views/admin_edit.php:66 msgid "Notify User" msgstr "会員に知らせる" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" "このオプションを使って、このメンバーに今すぐ通知メールを送ることができます" "(下の「保存」ボタンを押すとすぐにメールが送られます)" #: views/admin_edit.php:75 msgid "Subscriber ID/Reference" msgstr "購読者 ID/参照" #: views/admin_edit.php:79 msgid "Last Accessed Date" msgstr "最終アクセス日" #: views/admin_edit.php:82 views/admin_edit.php:89 msgid "This value gets updated when this member logs into your site." msgstr "この会員があなたのサイトにログインした時、この値が更新されます。" #: views/admin_edit.php:86 msgid "Last Accessed From IP" msgstr "最終アクセスしたIP" #: views/admin_edit.php:97 msgid "Save Data" msgstr "データを保存" #: views/admin_edit.php:102 msgid "Delete User Profile" msgstr "ユーザープロフィールを削除" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "会員レベルを編集" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "この画面より選択中の会員レベルの詳細を編集できます。 " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "現在編集中: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "無期限(キャンセルしない限り有効)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "週(指定した数の週の間有効)" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" "新規ユーザーのメールでの有効化を有効にします。有効にすると、会員はアカウント" "を有効化するために、登録メールアドレスに送られたメールの有効化リンクをクリッ" "クする必要があります。無料会員制に便利です。" #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "会員レベルを保存 " #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "コンテンツ保護の設定例" #: views/admin_members_list.php:18 msgid "All" msgstr "全て" #: views/admin_members_list.php:23 msgid "Incomplete" msgstr "不完全" #: views/admin_member_form_common_part.php:23 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "性別" #: views/admin_member_form_common_part.php:30 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "電話番号" #: views/admin_member_form_common_part.php:34 views/edit.php:51 msgid "Street" msgstr "番地" #: views/admin_member_form_common_part.php:38 views/edit.php:55 msgid "City" msgstr "市区町村" #: views/admin_member_form_common_part.php:42 views/edit.php:59 msgid "State" msgstr "都道府県" #: views/admin_member_form_common_part.php:46 views/edit.php:63 msgid "Zipcode" msgstr "郵便番号" #: views/admin_member_form_common_part.php:50 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "国" #: views/admin_member_form_common_part.php:54 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "会社" #: views/admin_member_form_common_part.php:58 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "会員登録日" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" "まず、サイト全体で投稿や固定ページを保護するには、ドロップダウンメニューから" "「一般保護」を選び、ログインしていないユーザーに非公開にする投稿や固定ページ" "を選択します。" #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" "次に、下のドロップダウンメニューから既存の会員レベルを選択し、アクセス許可し" "たい投稿や固定ページを選択します(その特定の会員レベルのユーザーに対し)。" #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "投稿や固定ページの一括保護のマニュアル" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr " 使い方について。" #: views/admin_post_list.php:21 msgid "Posts" msgstr "投稿" #: views/admin_post_list.php:22 msgid "Pages" msgstr "ページ" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "カスタム投稿" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "必要なページが再度作成されました。" #: views/admin_tools_settings.php:21 msgid "Generate a Registration Completion link" msgstr "登録完了リンクを生成する" #: views/admin_tools_settings.php:24 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "支払い後に自動的に送信されたメールが紛失した場合、ここで手動で登録完了リンク" "を生成し、会員に渡すことができます。" #: views/admin_tools_settings.php:29 msgid "Generate Registration Completion Link" msgstr "登録完了リンクを生成する" #: views/admin_tools_settings.php:30 msgid "For a Particular Member ID" msgstr "特定の会員IDに対して" #: views/admin_tools_settings.php:32 msgid "OR" msgstr "または" #: views/admin_tools_settings.php:33 msgid "For All Incomplete Registrations" msgstr "すべての未完了な登録に対して" #: views/admin_tools_settings.php:38 msgid "Send Registration Reminder Email Too" msgstr "登録リマインダーメールを送信する" #: views/admin_tools_settings.php:44 msgid "Submit" msgstr "送信" #: views/admin_tools_settings.php:53 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "リンクが生成されました。登録を完了するために、以下のリンクをお使いいただけま" "す。" #: views/admin_tools_settings.php:55 msgid "Registration completion links will appear below" msgstr "登録完了リンクが下に表示されます" #: views/admin_tools_settings.php:65 msgid "A prompt to complete registration email was also sent." msgstr "登録完了を促すメールも送信されました。" #: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88 msgid "Re-create the Required Pages" msgstr "必要なページを再度作成" #: views/admin_tools_settings.php:81 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" "プラグインのインストール時に自動作成された必要なページを誤って削除してしまっ" "た場合、このオプションを使って再度作成できます。" #: views/admin_tools_settings.php:82 msgid " has full explanation." msgstr " 詳細を説明しています。" #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "同じパスワードを利用する場合は空欄にする" #: views/edit.php:71 msgid "Company Name" msgstr "会社名" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "パスワードリセット" #: views/loggedin.php:6 msgid "Logged in as" msgstr "ログイン中のアカウント" #: views/loggedin.php:14 msgid "Membership" msgstr "メンバーシップ" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "アカウントの有効期限" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "プロフィールの編集" #: views/login.php:11 msgid "Username or Email" msgstr "ユーザー名またはメールアドレス" #: views/login.php:24 msgid "Remember Me" msgstr "ログイン情報を保存" #: views/login.php:33 msgid "Forgot Password?" msgstr "パスワードをお忘れですか?" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "会員のすべての支払い/トランザクションがここに記録されます。" #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "メールまたは名前を使ってトランザクションを検索する" #: views/payments/admin_create_payment_buttons.php:15 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "この画面からメンバーシップの新しい支払いボタンを作成することができます。" #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "支払ボタンタイプを選択" #: views/payments/admin_create_payment_buttons.php:26 msgid "PayPal Buy Now" msgstr "PayPal今すぐ購入" #: views/payments/admin_create_payment_buttons.php:28 msgid "PayPal Subscription" msgstr "PayPal 定期購入" #: views/payments/admin_create_payment_buttons.php:30 msgid "PayPal Smart Checkout" msgstr "PayPalスマートペイメント" #: views/payments/admin_create_payment_buttons.php:32 msgid "Stripe Buy Now" msgstr "Stripe今すぐ購入" #: views/payments/admin_create_payment_buttons.php:34 msgid "Stripe Subscription" msgstr "Stripe定期購入" #: views/payments/admin_create_payment_buttons.php:36 msgid "Braintree Buy Now" msgstr "Braintree今すぐ購入" #: views/payments/admin_create_payment_buttons.php:43 msgid "Next" msgstr "次" #: views/payments/admin_edit_payment_buttons.php:15 msgid "You can edit a payment button using this interface." msgstr "この画面より支払ボタンを編集できます。" #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "このプラグインで作成した全ての入会用ボタンはこちらに表示されます。" #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "エラー!会員レベルID(" #: views/payments/admin_payment_settings.php:28 msgid "" "You can create membership payment buttons from the payments menu of this " "plugin (useful if you want to offer paid membership on the site)." msgstr "" "このプラグインの支払いメニューから、会費支払いボタンを作成できます(サイト上" "で有料会員への入会を募集している場合に便利)。" #: views/payments/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "PayPal の統合設定" #: views/payments/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "PayPal ボタンの「詳細変数」コードを生成する" #: views/payments/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "会員レベルID を入力してください" #: views/payments/admin_payment_settings.php:41 msgid "Generate Code" msgstr "コードを生成する" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Braintree今すぐ購入ボタン設定" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:213 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:301 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:83 msgid "Button ID" msgstr "ボタン ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:221 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:309 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:266 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:91 msgid "Button Title" msgstr "ボタンタイトル" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:239 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:282 msgid "Payment Amount" msgstr "支払金額" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Braintree APIキーとアカウント詳細。この情報はBraintreeアカウントから入手でき" "ます。" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "販売者ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "公開鍵" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "秘密鍵" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "販売者アカウントID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "The following details are optional." msgstr "次の詳細は任意です。" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:287 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:456 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:149 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:373 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:191 msgid "Return URL" msgstr "リターン URL" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:321 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:200 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:484 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:159 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:383 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:212 msgid "Save Payment Data" msgstr "支払データ保存" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:204 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal 今すぐ購入ボタン設定" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:247 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:327 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:289 msgid "Payment Currency" msgstr "支払通貨" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:295 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "PayPal Email" msgstr "PayPal メール" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:303 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:464 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:199 msgid "Button Image URL" msgstr "ボタン画像 URL" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:311 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:472 msgid "Custom Checkout Page Logo Image" msgstr "決済ページのカスタムロゴ画像" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "PayPal スマートペイメントボタン設定" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" "PayPalスマートペイメントAPI認証情報(あなたのPayPalアカウントから取得できま" "す)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "本番用クライアントID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "本番用秘密" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "テスト用クライアントID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "テスト用秘密" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "ボタン外観設定" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "サイズ" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 msgid "Medium" msgstr "中" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Large" msgstr "大" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "レスポンシブ" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "ボタンサイズを選択。" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "色" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 msgid "Gold" msgstr "ゴールド" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 msgid "Blue" msgstr "青" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 msgid "Silver" msgstr "シルバー" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 msgid "Black" msgstr "黒" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 msgid "Select button color." msgstr "ボタンの色を選択。" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "形状" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 msgid "Rectangular" msgstr "長方形" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 msgid "Pill" msgstr "ピル形状" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 msgid "Select button shape." msgstr "ボタンの形を選択。" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "配置" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 msgid "Vertical" msgstr "縦" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 msgid "Horizontal" msgstr "横" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 msgid "Select button layout." msgstr "ボタンのレイアウトを選択。" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "追加設定" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "支払い方法" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "PayPal Credit" msgstr "PayPalクレジット" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" "お客様にご利用いただける支払い方法を選択してください。なお、カード払いは常に" "有効になっています。" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "次の詳細は任意" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:295 msgid "PayPal Subscription Button Configuration" msgstr "PayPal定期購入ボタンの設定" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Amount Each Cycle" msgstr "各サイクルの請求額" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:383 msgid "Billing Cycle" msgstr "請求サイクル" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Billing Cycle Count" msgstr "請求サイクルカウント" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:404 msgid "Re-attempt on Failure" msgstr "失敗時の再試行" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:419 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "トライアル請求詳細(もしトライアル期間を設定していなければ空欄にすること)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:425 msgid "Trial Billing Amount" msgstr "トライアル請求金額" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:433 msgid "Trial Billing Period" msgstr "トライアル請求期間" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:450 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:177 msgid "Optional Details" msgstr "設定の詳細" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:250 msgid "Stripe Buy Now Button Configuration" msgstr "Stripe今すぐ購入ボタン設定" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:328 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Stripe API鍵。あなたのStripeアカウントから取得できます。" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:131 msgid "Test Publishable Key" msgstr "テスト用公開鍵" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:139 msgid "Test Secret Key" msgstr "テスト用秘密鍵" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:147 msgid "Live Publishable Key" msgstr "本番用公開鍵" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:353 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:155 msgid "Live Secret Key" msgstr "本番用秘密鍵" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:365 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:183 msgid "Collect Customer Address" msgstr "正しいお客様住所" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:75 msgid "Stripe Subscription Button Configuration" msgstr "Stripe定期購入ボタン設定" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:109 msgid "Stripe Plan ID" msgstr "StripeプランID" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:125 msgid "Stripe API Settings" msgstr "Stripe API設定" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:163 msgid "Webook Endpoint URL" msgstr "WebhookエンドポイントURL" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:20 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:91 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:93 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:150 msgid "Buy Now" msgstr "今すぐ購入" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:228 msgid "Subscribe Now" msgstr "今すぐ定期購入する" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137 msgid "Error occured during PayPal Smart Checkout process." msgstr "PayPalスマートペイメント処理中にエラー発生。" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165 msgid "HTTP error occured during payment process:" msgstr "支払い処理中にHTTPエラー発生:" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "ここにパスワードを入力してください" msgid "Retype password here" msgstr "ここにパスワードを再入力してください" msgid "Registration is complete. You can now log into the site." msgstr "登録が完了しました。サイトに今すぐログインできます。" msgid " Field has invalid character" msgstr " フィールドに無効な文字が含まれています" msgid " Password does not match" msgstr " パスワードが一致していません" msgid "Already taken." msgstr "すでに使われています。" msgid "Street Address" msgstr "住所・番地" msgid "Apt, Suite, Bldg. (optional)" msgstr "アパート・スイート・建物(任意)" msgid "State / Province / Region" msgstr "都道府県" msgid "Postal / Zip Code" msgstr "郵便番号" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "画像を削除するにはこのボックスをチェック。プロフィールを保存すると画像は削除" "されます。" msgid "You will need to re-login since you changed your password." msgstr "パスワードを変更したので、再度ログインが必要です。" msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "2つの数字をスペースなしで入力してください(例:12)" msgid "Verification" msgstr "認証" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "2つの数字をスペースなしで入力してください(例:12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "ユーザー名に使える文字:英文字、番号、 .-*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "許可されている文字:英文字、番号、 .-*@" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "このコンテンツを閲覧する権限がありません。" msgid "Your membership level does not have permission to view this content." msgstr "あなたの会員レベルでは、このコンテンツを閲覧する権限がありません。" msgid "This content is for members only." msgstr "このコンテンツは会員専用です。" msgid "Please check at least one." msgstr "1つ以上チェックしてください。" #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "会員ディレクトリ" #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "会員ID" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "レベル" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "アドレス" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "検索…" #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "検索リセット" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "会員レベルのアップグレードにはログインが必要です。" msgid "Membership level has been updated." msgstr "会員レベルが更新されました。" msgid "Already a member of this level." msgstr "既にこの会員レベルです。" #~ msgid "smp7, wp.insider" #~ msgstr "smp7, wp.insider" #~ msgid "" #~ "A flexible, well-supported, and easy-to-use WordPress membership plugin " #~ "for offering free and premium content from your WordPress site." #~ msgstr "" #~ "WordPress サイトから無料で提供されている、柔軟で、よくサポートされ、使いや" #~ "すい WordPress メンバーシッププラグイン。" #~ msgid "https://simple-membership-plugin.com/" #~ msgstr "https://simple-membership-plugin.com/" #~ msgid "Simple WordPress Membership" #~ msgstr "Simple WordPress Membership" #~ msgid "Forgot Password" #~ msgstr "パスワードを忘れた" #~ msgid "search" #~ msgstr "検索" #~ msgid "Edit User " #~ msgstr "ユーザーの編集 " #~ msgid "Simple WP Membership::Categories" #~ msgstr "Simple WP Membership::カテゴリー" #~ msgid "User name" #~ msgstr "ユーザー名" #~ msgid "Go to the last page" #~ msgstr "最後のページに移動" #~ msgctxt "paging" #~ msgid "%1$s of %2$s" #~ msgstr "%2$s中%1$s" #~ msgid "Current page" #~ msgstr "現在のページ" #~ msgid "Go to the previous page" #~ msgstr "前のページに戻る" #~ msgid "Go to the first page" #~ msgstr "最初のページに戻る" #~ msgid "1 item" #~ msgid_plural "%s items" #~ msgstr[0] "%s 件" #~ msgid "%s pending" #~ msgstr "%s 保留中" #~ msgid "%1$s %2$d" #~ msgstr "%1$s %2$d" #~ msgid "All dates" #~ msgstr "すべての日付" #~ msgid "Filter by date" #~ msgstr "日付によるフィルター" #~ msgid "Apply" #~ msgstr "適用" #~ msgid "Excerpt View" #~ msgstr "抜粋を表示" #~ msgid "List View" #~ msgstr "リストを表示" #~ msgid "Send Notification To Admin" #~ msgstr "管理者に知らせる" #~ msgid "Updated Successfully." #~ msgstr "更新されました。" #~ msgid "No user not found with that email address." #~ msgstr "このメールアドレスで登録されているユーザーが見つかりません。" #~ msgid "Updated! " #~ msgstr "更新しました。" #~ msgid "Name" #~ msgstr "名称" #~ msgid "Sorry! Something went wrong" #~ msgstr "間違いがあります。" #~ msgid "Registration Successful." #~ msgstr "登録が完了しました。" languages/simple-membership-lt_LT.mo000064400000026255147206617610013531 0ustar00  . , 7 I W f {       % * 2 0: k    $     * H ^ u {   1 &  ) @ Q c z = 5 ##G OZx %'=@ ~.1:LT e o}    +#<%`1  'BQi~)1 :0Gx  93P$k$' 5TZat{$"! 7A Q[u M:Mz   ,Bb!|= 4MT'n  : T `l7+ ( C Z p  , 9  !*&! Q!]!$d!!!!!'!""(*"(S"6|"""\# _#i# ###### ## $$4$:$ O$Y$x$$$$$$$$%5%J%Z%n%s% %2%%%%&*& H& V&b&z& & &&&& &.& '$';'K'b'v'|'E'W'$-( R(s( ('( ( ((( ())))2)G)])+q),)) )) **2*C*a** *x*K+Tc+++ ,, Email Settings (Account Upgrade Notification)(required)(twice, required)Account StateAccount StatusAccount is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Aready takenAssign free membership level IDAvailableBad Cookie HashCityCompanyCountryCreate a brand new user and add it to this site.Create new membership level.Default WordPress RoleDeleteDisplay SWPM Login.Do you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnter the Membership Level IDExample Content Protection SettingsExpiredFirst NameFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameJoin UsJoin Us Page URLLast NameLevelAdd NewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelNew password has been sent to your email address.No ExpiryNo Member found.ORPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePhone number is invalidPleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Remember MeRepeat PasswordReset PasswordRoleSWPM LoginSelect the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsStateStreetStrength indicatorSubmitSubscription DurationSubscription StartsSubscription Valid ForSubscription starts field is invalidSubscriptoin duration must be > 0.Test & Debug SettingsUpdateUpdated Successfully.User NameUser Not Found.User nameUser name already exists.User name is requiredUsernameWP MembershipWordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.You are logged in as:You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.ZipcodesearchProject-Id-Version: Simple WordPress Membership Report-Msgid-Bugs-To: POT-Creation-Date: 2014-07-30 17:30+0800 PO-Revision-Date: Wed Apr 29 2015 08:34:58 GMT+0100 (GMT Daylight Time) Last-Translator: Elurija Language-Team: Language: Lithuanian Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 &&(n%100<10||n%100 >= 20)? 1 : 2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-SourceCharset: UTF-8 X-Generator: Loco - https://localise.biz/ X-Poedit-Basepath: . X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2 X-Poedit-SearchPath-0: . X-Loco-Target-Locale: lt_LTEl. pašto nustatymai(būtina)(du kartus, būtina)Paskyros būsenaPaskyros statusasPaskyra neaktyviPaskyros būsena neteisingaAktyvi (-us)Pridėti narįPridėjti naująPridėti naują narįPridėti naują narystės lygįJau naudojamas kito narioPridėkite nemomamos narystės IDLaisvasBlogas sausainiuko hashMiestasĮmonėŠalosSukurkite naują vartotoją ir pridėkite jį prie svetainėsSukurkite naują narystės lygįNumatyta Wordpress rolėTrintiRodyti SWPM prisijungimąAr norite apsaugoti šią informaciją?El. paštasRedaguokite narįRedaguokite narystės lygįProfilio redagavimo puslapio URLRedaguoti vartotojąRedaguoti nario duomenisRedaguoti narystės lygį Redaguoti narystės lygįEl. paštasEl. paštasEl. paštas neteisingasEl. paštas tekstasEl. paštas kiti nustatymaiEl. pašto nustatymai (skatina užbaigti registraciją)El. pašto nustatymai (registracija pavyko)El. pašto temaEl. paštas jau naudojamasEl. pašto neteisingasEl. paštas - būtinaAktyvuoti nemokamą narystęAktyvuoti testavimąAktyvuokite, jei norite testuoti mokėjimus.Aktyvuokite / Išjunkite registraciją nemokamai narysteiĮveskite narystės lygio IDPavyzdyniai turinio apsaugojimo nustatymaiNebegaliojaVardasVisos nepatvirtintoms registracijomsPamiršau slaptažodįNemokamos narystės lygio IDNuo el. pašto adresasLytisLyties laukelio užpildytas neteisingaiPagrindiniai nustatymaiGeneruoti kodąGeneruoti registracijos baigimo nuorodąGeneruoti registracijos baigimo nuorodąGeneruoti "Advanced Variables" kodą Paypal mygtukuiSlėpti Adminbar! Slaptažodis turėtų būti bent iš 7 ženklų. Naudokite didžiąsias ir mažasias raides, skaičius bei simbolius tokius kaip ! " ? $ % ^ & IDNeaktyvusVartotojo vardas neteisingasPrisijunkitePrisijungimo URLPavardėPridėti naują (lygį)Sėkmingai atsijungėtePrisjungęs kaipPrisijungtiPrisijungimo URLAtsijungtiValdykite turinio produkcijąNarysNarių prisijungimasNarys nuoNarys nuo laukelis neteisingasNariaiNarystėNarystės lygisNarystės lygis nerastasNarystės lygis sėkmingai sukurtas.Narystės lygio pavadinimasNarystės lygiai.Narystės lygisNaujas slaptaždis išsiųstas į Jūsų el. paštą.Nėra galiojimoToks narys nerastasarbaPuslapio nustatymaiSlaptažodisSlaptažodžio laukelis tuščias arba neteisingasKeisti slaptažodįSlaptažodžio keitimo nuorodaSlaptažodis būtinasSlaptažodžiai skirtingiPaypal integravimo nustatymaiNepatvirtintaTel numerisNeteisingas tel numerisPrašomeIštaisykite Ištaisykite Įskiepio dokumentaiProfilisRegistruokitėsRegistracijaRegistracijos baigimo nuoroda atsiras žemiau:Regsitracijos puslapio URLRegistracija sėkmingaPrisiminti manePakartoti slaptažodįAtkurti slaptaždįRolėSWPM prisijungimasPasirinkite narystės lygį, kuris turės prieigą prie šio turinio:Siųskite el. laiška nariui, kai jis yra pridedamas per administracijos valdymo pultąSiųsti pranešimą administratoriuiSiųsti registracijos priminimąSesija baigėsiNustatymaiSimple Membership Protection nustatymaiSWPM apsaugaSWPM:NariaiSWPM:Narystės lygiaiSWPM:NustatymaiSavivaldybėGatvėSudėtingumo indikatoriusPateiktiPrenumeratos trukmėPrenumerata prasidedaPrenumerata galiojaPrenumeratos pradžios laukelis neteisingasPrenumeratos trukmė turi būti daugiau > 0.Testavimo ir Debug nustatymaiAtnaujintiSėkmingai atnaujinta.Vartotojo vardasNėra tokio vartotojo.Vartotojo vardasToks vartotojo vardas jau yraVartotojo vardas yra privalomasVartotojo vardasWP NarystėWordPress rodo administracijos panelę prisijungusiems nariams. Uždėkite varnelę, jei nenorite, kad ji būtų rodoma.Paskyra su tokiu el. paštu egzistuoja, tačiau nesutampa vartotojo vardai.Toks vartotojo vardas jau yra užregistruotas. Tačiau nesutampa el. pašto adresai.Esate prisijungęs kaip:Čia galite rankiniu būdu generuoti registracijos užbaigimo nuorodą ir duoti ją pirkėjams, jei jie negavo/ištrynė el. laišką, kuris buvo siųstas po apmokėjimo, su registracijos nuoroda.Pašto kodasieškotilanguages/simple-membership-sk_SK.mo000064400000067314147206617610013526 0ustar00B, <<.=4lD1-    + 9K[ 5T cq  +3!Cey M@$%;ah n{    % 6C K Wey*-9 %Gmu{0 0.E\cr $   6 <J Zez1& )@QcY[#=U  R!#b! ! !!!! !!" """"# ### 4#%B#'h#=#### $ #$1$$$%%%%%%% %_& h&r& &&&&&& && &!& '>'$F' k'v'#'%'''&'"(4(4K(((1(((@)A) **&+* R* `*l*o********#+ %+2+(N+w++++++++++,#,A,U,n,,,X,-- !-.-D-/^- --- ---- .../.*. / /'/B/3U//903W00$00001'1>1T1]1o1$11112'#2K2j2k2!232383?3R3 Y3 g3u33383344J&4q4445555>5#W5{5 5 5152566Lb7L727/8K8a8!x88Lm9I9:3:(:;;;?;<-<$5< Z<e<y<<<6F@6}@<@@A-A A A'AB9"B\B"uBBLCeCuC!C!CC CCCD1DODmDvDDDD DDD/D)EFE\EMlE8EE+ F 8FBFKF$_F*F F"FF FG "G/GFGZG kG yGGGG"G8G"H6(H8_HEH H HHEH"EIhI|II.II IJJ(JHJNJmJsJJJJ#JJKK&K8K@KSKeK5K+KKKL2LEL>XLL(LLeLhYMGM NNgOMO"OO P P P+PBPGP#+Q&OQvQQQQQQQ2R54REjRRRRS S?SSS TTTTTU U :UlEUUUU U V VV 3V=VQV bV&mVV V7V VV$W(3W\WqW1WWW6WX6X4 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd LevelAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Dashboard Access PermissionAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.AmountApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton ShortcodeButton TitleBuy NowCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.Comments not allowed by a non-member.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.Current pageDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Example Content Protection SettingsExcerpt ViewExpire AfterExpiredExpiry: Filter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo to the first pageGo to the last pageGo to the next pageGo to the previous pageHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameLink(s) generated successfully. The following link(s) can be used to complete the registration.List ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership LevelsMembership Renewal URLMonths (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No items found.No member found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease Login to Comment.Please correct the followingPlease correct the following:Please login again.Please login to comment.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRemember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here.Save ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!Show Adminbar to AdminSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSimple WordPress MembershipSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content is not permitted for your membership level.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUse this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredView ProfileWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are currently editing: You are logged in as:You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create new payment button for your memberships using this interface.You can edit details of a selected membership level from this interface. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: Zipcodehttps://simple-membership-plugin.comincompletepaging%1$s of %2$srenewsmp7, wp.insiderProject-Id-Version: Simple WordPress Membership Report-Msgid-Bugs-To: POT-Creation-Date: Mon Jun 13 2016 19:55:42 GMT+0200 (CEST) PO-Revision-Date: Thu Jun 16 2016 19:02:37 GMT+0200 (CEST) Last-Translator: spravca Language-Team: Language: Slovak Plural-Forms: nplurals=3; plural=( n == 1 ) ? 0 : ( n >= 2 && n <= 4 ) ? 1 : 2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-SourceCharset: UTF-8 X-Poedit-Basepath: . X-Poedit-SearchPath-0: .. X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2 X-Loco-Target-Locale: sk_SK X-Generator: Loco - https://localise.biz/Nastavenie emailu (Upozornenie o aktualizácii účtu)Nastavenie emailu (Upozornenie o hromadnej aktivácii)Zvyšok obsahu nie je určený pre vašu úroveň prístupu.Práve upravujete člena s ID:Môžete vložiť viacero emailových adries oddelených čiarkou (,) do poľa vyššie, ak chcete zaslať upozornenie viacerým emailovým adresámaby mal váš účet prístup k tomuto obsahu%1$s %2$d%s čakajúci(Prístup vyprší v konkrétny dátum)(požadované)(dvakrát, nechajte tak ak chcete zachovať staré heslo)(dvakrát, vyžaduje sa)1 položka%s položky%s položkyFlexibilný, jednoducho používateľný, WordPress modul so skvelou podporou, ktorý vám umožňuje vytvárať voľne dostupný aj prémiový obsah na vašej WordPress stránke.Povolený čas prístupuPrístup začnePrístup platný pre/doTrvanie prístupu musí byť > 0.Pole Prístup začal je neplatnéÚčet vypršíStav účtuŠtatút účtuŽivotnosť účtu vypršala.Účet je neaktívny.Účet čaká na schválenie.Pole Stav účtu je neplatnéAktívnePridaj úroveňPridať členaPridať novéhoPridať nového členaPridať novú úroveň členstvaDoplnkyNastavenia doplnkovPovolenie prístupu k administratívnemu paneluEmail adresa administrátoraPokročilé nastavniaVšetky dátumyVšetky členské tlačidlá ktoré ste vytvorili v module sú zobrazené tu.Všetky platby/transakcie vašich členov sa uložia tu.Povoliť zmazanie účtuPovoľte užívateľom vymazať ich účty.MnožstvoVykonaťUž je používanéPriraď ID voľnej úrovne členstvaAutomatické vymazanie čakajúceho účtuDostupnéÚčtovaní cena za každý cyklusÚčtovací cyklusPočítadlo účtovacích cyklovHromadná správaID tlačidlaURL spodného obrázkuShortcode tlačidlaNázov tlačidlaKúpiť terazID KategórieMeno kategórieOchrana kategórieTyp kategórie (Taxonómia)Ochrana kategórie aktualizovaná!Vyberte túto možnosť, ak chcete prihlásenie na debugMestoKliknite sem aby ste dokončili platenú registráciu.Kliknite na tento odkaz aby ste dokončili registráciu.Užívatelia ktorí nemajú členstvo nemôžu pridávať komentáre.SpoločnosťPočítadloKrajinaVytvoriť úplne nového užívateľa a pridať ho na túto stránku.Vytvoriť novú úroveň členstvaSúčasná stránkaDátumFormát dátumu je neplatný.Dni (prístup vyprší po zadanom počte dní)Predvolené nastavenie účtuPredvolená užívateľská rolaVymazaťVymazať účetVymazať užívateľský profilPopisChcete ochrániť tento obsah?EmailUpraviť členaUpraviť úroveň členstvaURL stránky Uprav profilUpraviť užívateľaUpraviť existujúce detaily členaUpraviť úroveň členstvaEmailEmailová adresaEmailová adresa:SprávaNastavenie emailovNastavenie emailuNastavenie emailu (Reset hesla)Nastavenie emailov (Hneď ku kompletnej registrácii)Nastavenie emailu (Registrácia kompletná)Predmet emailuEmailova adresa je neplatná.Tento email sa už používa.Email je neplatnýVyžaduje sa emailUmožni prihlásenie užívateľa ktorému vypršalo členstvoUmožni voľné členstvoUmožni ochranu za značkou Čítaj viacPovoliť Sandbox TestingVyberte túto možnosť, ak chcete aby iba členovia stránky mohli pridávať článkom komentáre.Použite túto možnosť, ak chcete aby administrátor dostal upozornenie keď sa užívateľ registrujeVyberte túto možnosť ak chcete testovať platby v prostredí SandboxUmožni/zamiestni registráciu pre voľnú úroveň členstva. Ak povolíte túto možnosť, uistite sa, že vytvoríte ID voľnej úrovne prístupu v poli nižsie.Umožni alebo zruš ochranu obsahu za značkou Čítaj viac na stránkach a článkoch. Všetko za značkou Čítaj viac bude chránené. Všetko pred touto značkou bude viditeľné.Zadajte ID úrovne členstvaVložte email kde chcete aby boli zasielané oznámenia pre administrátorov.Príklad nastavenia ochrany obsahuZobrazenie úryvkovVyprší poVypršaloVypršané:Vybrať podľa dátumuMenoNajskôr celkovo ochráňte kategóriu na vašej stránke tým, ze vyberiete "Všeobecná ochrana" z rozbaľovacieho boxu nižšie a potom vyberiete kategórie, ktoré majú byť ochránené pred neprihlásenými užívateľmi.Presnú dátum vypršania prístupuPre všetky nedokončené registrácieZabudnúť hesloID Voľnej úrovne členstvaZ emailovej adresyPohlaviePole Pohlavie je neplatnéVšeobecné nastaveniaVytvoriť kódZnova vytvoriť odkaz pre dokončenie registrácieNechajte vytvoriť odkaz pre dokončenie registrácieVytvoriť kód "pokročilých premenných" pre vaše PayPal tlačidloPrejdi na prvú stránkuPrejdi na poslednú stránkuPrejdi na ďalšiu stránkuPrejdi na predošlú stránkuSkryť administratívnu lištuOdporúčanie: Heslo by malo byť aspoň sedem znakov dlhé. Aby ste zvýšili bezpečnosť, použite veľké aj malé písmena, čísla a symboli ako ! " ? $ % ^ & ).IDPráve ste spravili platbu za platené členstvo a vaša platba bude spracovaná. Prosím vráťte sa o pár minút. Čoskoro vám bude zaslaný email s podrobnosťami.NeaktívneNeplatná emailová adresaNeplatné členské hesloNeplatná úroveň členstvaPridajte sa k námURL stránky Pridajte saNaposledy pripojený z IPPriezviskoVytvorenie odkazu/ov bolo úspešné. Nasledovná linka/y môže byť použití na dokončenie registrácie.Zobrazenie zoznamuÚspešne ste sa odhlásili.Prihlásený akoPrihláste saPrihláste saOdhlásenieSpravujte tvorbu obsahuČlenoviaPrihlásenie ČlenaČlenský profilČlenom odZáznam člena bol úspešne pridaný.Pole Člen od je neplatnéČlenoviaČlenovia musia byť prihlásení aby mohli komentovaťČlenstvoÚroveň členstvaÚroveň členstva nebola nájdená.Úspešné vytvorenie úrovne členstva.ID úrovne členstvaMeno úrovne členstvaÚroveň členstva bola úspešne aktualizovaná.Úrovne členstvaURL obnovy členstvaMesiace (prístup vyprší po zadanom počte mesiacov)Meno obsahuje neplatné znakyNikdyNové heslo bolo zaslané na vašu emailovú adresu.ĎalejPotom vyberte existujúcu členskú úroveň z rozbaľovacieho boxu nižšie a potom vyberte kategórie, ktoré chcete aby boli prístupné (pre konkrétnu užívateľskú úroveň).Nevyprší nikdy (Prístup pre túto úroveň nevyprší kým nebude zrušený)Bez vypršania (prístup pre túto úroveň nebude ukončený kým sa nezruší)Nič sme nenašli.Žiadny člen nebol nájdený.Nebol nájdený žiadny užívateľ s touto adresou.Nie ste členom?Upovedomiť členaALEBONepovinné detailyNastavenie stránkyHesloHeslo je prázdne alebo neplatné.Reset heslaURL stránky Zmena heslaVyžaduje sa hesloNesprávne hesloKonfigurácia tlačidla PayPal NowPayPal emailNastavenie integrácie so službou PayPalÚprava tlačidla pre členské platbou PayPalomSuma platbyID tlačidla platbyNázov tlačidla platbyMena platbyNastavenie platiebPlatbyČakáTelefónProsímProsím prihláste sa ak chcete pridávať komentáre.Prosím opravte naslednovéProsím upravte nasledovné:Prosím, opäť sa prihláste.Prosím prihláste sa ak chcete pridávať komentáre.Dokumentácia moduluProfilProfil sa načítal úspešne.Profil sa načítal úspešne. Budete sa musieť opätovne prihlásiť pretože ste si zmenili heslo.Skúsiť znova v prípade že sa nepodariloRegistruj saRegistráciaURL registračnej stránkyRegistrácia úspešná.Odkaz pre dokončenie registrácie sa objaví nižšieZapamätaj si maZopakuj hesloZmeniť hesloSpätná URLRolaID riadkuSWPM administratívny panel je prístupný len administrátorom (tak ako každý modul). Tu môžete povoliť užívateľom iných WP rolí, aby mohli mať prístup k SWPM panelu vybraním hodnoty.Uložiť zmenyUložiť detaily platbyHľadaťVyhľadajte transakciu použitím emailu alebo menaBezpečnostné upozornenie: Overenie pomocou captcha zlyhalo.Vybrať všetkoVybrať stránkuVyberte typ tlačidla platbyVyberte pre hromadnú správuVyberte ako dlho chcete uchovať "čakajúci" účet.Vyberte predvolené nastavenie účtov novo registrovaných užívateľov. Ak ich chcete manuálne schvaľovať, potom nastavte stav na Čaká.Vyberte úroveň členstva, ktorá bude mať prístup k tomuto obsahu:Zaslať email členovi, keď bude pridaný prostredníctvom nástenky administrátoraZašli upozornenie administrátoroviZaslať taktiež upozornenie o registrácií emailomBoli ste odhlásení.Zmeň stav na AktívnyZmeň stav na Aktívny a upovedomZmeň stav na VypršalZmeň stav na NeaktívnyZmeň stav na ČakáNastaveniaNastavenia boli zmenené!Ukázať lištu nástrojov administrátorovi.Nastavenie Ochrany Simple WP MembershipSimple Membership::PlatbyOchrana Simple WP MembershipSimple WP Membership::DoplnkySimple WP Membership::ČlenoviaSimple WP Membership::Členské úrovneSimple WP Membership::SettingsSimple WordPress MembershipTu budú zobrazené niektoré jednoduché doplnky Simple Membership modulu a nastavenia (Ak ich máte)Prepáčte, ale vaše overenie zlyhalo.Prepáčte, ale vaše heslo sa nezhoduje.ŠtátUlicaIndikátor silyZaslaťPrihlásiť sa terazID členaID/Referencia členaNastavenie debug a testovaniaVybraný vstup bol vymazaný!Tento obsah nie je povolenú pre vašu úroveň prístupu.NástrojeID transakcieVeľkosť skúšobnej dobyDetaily skúšobnej doby (Nechajte prázdne, ak neposkytujete skúšobnú dobu)Trvanie skúšobnej dobyAktualizovaťPoužite túto možnosť, ak chcete, aby sa lišta nástrojov zobrazovala len administrátorom. Lišta sa nebude zobrazovať ostatným užívateľom.Užívateľ neboj nájdený.Užívateľ nie je prihlásený.Užívateľské menoUžívateľské meno už existuje.Užívateľské meno obsahuje nepovolený znakVyžaduje sa užívateľské menoPrezrieť profilWP MembershipTýždne (Prístup vyprší po zadanom počte týždňov)Týždne (prístup vyprší po zadanom počte týždňov)Ak bude použité, členovia, ktorým vypršalo členstvo sa budú môcť prihlásiť do systému ale nebudú môcť vidieť chránený obsah. Toto im dovolí obnoviť si členstvo účtu novou platbou.WordPress zobrazuje lištu nástrojov prihláseným užívateľom. Zaznačte, ak chcete aby sa lišta nezobrazovala na frontende vašej stránky.Wordpress účet s rovnakým emailom už existuje. Užívateľské mená sa však nezhodujú.Wordpress účet s rovnakým užívateľským menom už existuje. Emaily sa však nezhodujú.Roky (prístup vyprší po zadanom počte rokov)Momentálne upravujete:Ste prihlásení ako:Nie ste prihlásený.Nie ste prihlásený ako členMôžete vytvoriť stránku na obnovenie pre váš web. Prečítajte sitúto dokumentáciuaby ste vedeli ako na to.Môžete vytvoriť nové tlačidlo pre vaše členstvo využitím tohto rozhrania.Môžete upraviť podrobnosti vybranej úrovne členstva z tohto rozhrania.Môžete odkaz pre dokončenie registrácie vytvoriť manuálne, aby ste ho mohli poslať vašim zákazníkom, ak premeškali email, ktorý im bol zaslaný automaticky po platbe.Musíte sa prihlásiť, aby sa vám tento obsah zobrazil.Musíte byť prihlásení, aby ste mohli vstúpiť do kurzu.Prostredníctvom emailu získate po platbe unikátny odkaz na stránky. Prostredníctvom tohto odkazu budete môcť dokončiť platenú členskú registráciu. Váš účet vypršal.Vaše súčasné hesloVáš užívateľský profil bude aktualizovaný, aby zohľadnil platbu.Užívateľské meno vášho profilu:PSČhttps://simple-membership-plugin.comneúplné%1$s %2$sobnovsmp7, wp.insiderlanguages/simple-membership-es_ES.po000064400000565045147206617610013521 0ustar00# Translation of Plugins - Simple Membership - Development (trunk) in Spanish (Spain) # This file is distributed under the same license as the Plugins - Simple Membership - Development (trunk) package. msgid "" msgstr "" "Project-Id-Version: Plugins - Simple Membership - version 4.3.9\n" "POT-Creation-Date: 2023-10-12 20:16+1100\n" "PO-Revision-Date: 2023-12-21 14:02+1000\n" "Last-Translator: \n" "Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.4.1\n" #: classes/admin-includes/class.swpm-admin-user-feedback.php:79 msgid "Are you enjoying the Simple Membership plugin?" msgstr "¿Estás disfrutando del plugin Simple Membership?" #: classes/admin-includes/class.swpm-admin-user-feedback.php:81 msgid "Yes" msgstr "Sí" #: classes/admin-includes/class.swpm-admin-user-feedback.php:82 msgid "Not Really" msgstr "Realmente no" #: classes/admin-includes/class.swpm-admin-user-feedback.php:86 msgid "" "We're sorry to hear you aren't enjoying the Simple Membership plugin. We " "would love a chance to improve. Could you take a minute and let us know what " "we can do better by using our contact form? " msgstr "" "Lamentamos saber que no estás disfrutando del plugin Simple Membership. Nos " "encantaría tener la oportunidad de mejorar. ¿Podrías tomarte un minuto y " "hacernos saber qué podemos hacer mejor usando nuestro formulario de " "contacto? " #: classes/admin-includes/class.swpm-admin-user-feedback.php:91 msgid "Give Feedback" msgstr "Da tu opinión" #: classes/admin-includes/class.swpm-admin-user-feedback.php:96 msgid "No thanks" msgstr "No, gracias" #: classes/admin-includes/class.swpm-admin-user-feedback.php:101 msgid "" "That's great! Could you please do me a big favor and give it a 5-star rating " "on WordPress to help us spread the word and boost our motivation?" msgstr "" "¡Eso es fantástico! Por favor, ¿podrías hacerme un gran favor y darle una " "valoración de 5 estrellas en WordPress para ayudarnos a hacer correr la voz " "e impulsar nuestra motivación?" #: classes/admin-includes/class.swpm-admin-user-feedback.php:102 msgid "~ Simple Membership Plugin Team" msgstr "~ Equipo del plugin Simple Membership" #: classes/admin-includes/class.swpm-admin-user-feedback.php:105 msgid "OK, you deserve it" msgstr "Está bien, te lo mereces" #: classes/admin-includes/class.swpm-admin-user-feedback.php:107 msgid "Nope, maybe later" msgstr "No, quizás más tarde" #: classes/admin-includes/class.swpm-admin-user-feedback.php:108 msgid "I already did" msgstr "Ya lo he hecho" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Payment Button ID" msgstr "ID del botón de pago" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 msgid "Payment Button Title" msgstr "Título del botón de pago" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:81 msgid "Membership Level ID" msgstr "ID de nivel de membresía" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:82 msgid "Button Type" msgstr "Tipo de botón" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:83 msgid "Button Shortcode" msgstr "Botón del shortcode" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:98 #: classes/admin-includes/class.swpm-payments-list-table.php:136 #: classes/class.swpm-members.php:51 #: classes/class.swpm-membership-levels.php:36 msgid "Delete" msgstr "Borrar" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:135 #: views/admin_members_list.php:8 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "¡La entrada seleccionada fue borrada!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:23 msgid "Simple Membership::Payments" msgstr "Simple Membership::Pagos" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 msgid "Transactions" msgstr "Transacciones" #: classes/admin-includes/class.swpm-payments-admin-menu.php:28 msgid "Manage Payment Buttons" msgstr "Gestionar botones de pago" #: classes/admin-includes/class.swpm-payments-admin-menu.php:29 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Crear nuevo botón" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Ver perfil" #: classes/admin-includes/class.swpm-payments-list-table.php:109 msgid "Row ID" msgstr "ID de la fila" #: classes/admin-includes/class.swpm-payments-list-table.php:110 #: views/forgot_password.php:5 #: views/payments/admin_add_edit_transaction_manually.php:75 msgid "Email Address" msgstr "Dirección de correo electrónico" #: classes/admin-includes/class.swpm-payments-list-table.php:111 #: classes/class.swpm-members.php:23 views/add-v2.php:34 views/add.php:34 #: views/admin_member_form_common_part.php:6 views/edit.php:39 #: views/payments/admin_add_edit_transaction_manually.php:83 #: includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Nombre" #: classes/admin-includes/class.swpm-payments-list-table.php:112 #: classes/class.swpm-members.php:24 views/add-v2.php:38 views/add.php:38 #: views/admin_member_form_common_part.php:10 views/edit.php:43 #: views/payments/admin_add_edit_transaction_manually.php:91 #: includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Apellidos" #: classes/admin-includes/class.swpm-payments-list-table.php:113 msgid "Member Profile" msgstr "Perfil de miembro" #: classes/admin-includes/class.swpm-payments-list-table.php:114 #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: views/payments/admin_add_edit_transaction_manually.php:125 msgid "Date" msgstr "Fecha" #: classes/admin-includes/class.swpm-payments-list-table.php:115 #: views/payments/admin_add_edit_transaction_manually.php:133 msgid "Transaction ID" msgstr "ID de transacción" #: classes/admin-includes/class.swpm-payments-list-table.php:116 #: views/payments/admin_add_edit_transaction_manually.php:141 msgid "Subscriber ID" msgstr "ID del suscriptor" #: classes/admin-includes/class.swpm-payments-list-table.php:117 #: views/payments/admin_add_edit_transaction_manually.php:117 msgid "Amount" msgstr "Cantidad" #: classes/admin-includes/class.swpm-payments-list-table.php:118 #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:26 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 views/add-v2.php:42 views/add.php:42 #: views/admin_add.php:37 views/admin_edit.php:74 #: views/admin_members_list.php:50 views/edit.php:75 #: views/payments/admin_add_edit_transaction_manually.php:107 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:232 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:176 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:198 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:330 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:328 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:108 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:108 msgid "Membership Level" msgstr "Nivel de membresía" #: classes/admin-includes/class.swpm-payments-list-table.php:119 #: views/payments/admin_add_edit_transaction_manually.php:149 msgid "Status/Note" msgstr "Estado/Nota" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:24 #: classes/class.swpm-members.php:535 msgid "" "Error! Nonce security verification failed for Bulk Change Membership Level " "action. Clear cache and try again." msgstr "" "¡Error! La verificación de seguridad de nonce ha fallado para la acción de " "cambio en lote de nivel de membresía. Vaciar el caché y vuelve a intentarlo." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:68 msgid "No recipient selected. Please select email recipient(s)." msgstr "" "No se ha seleccionado ningún destinatario. Por favor, selecciona los " "destinatarios de correo electrónico." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:75 msgid "" "The email subject field is empty. Please enter a value in the email subject " "field." msgstr "" "El campo de asunto del correo electrónico está vacío. Por favor, introduce " "un valor en el campo de asunto del correo electrónico." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:81 msgid "" "The email body field is empty. Please enter a value in the email body field." msgstr "" "El campo del cuerpo del correo electrónico está vacío. Por favor, introduce " "un valor en el campo del cuerpo del correo electrónico." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:87 msgid "" "The recipients list is currently empty. There must be at least one recipient." msgstr "" "La lista de destinatarios está actualmente vacía. Debe haber al menos un " "destinatario." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:115 msgid "Email Sent Successfully!" msgstr "¡Correo electrónico enviado correctamente!" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:120 msgid "The following validation failed. Please correct it and try again." msgstr "" "Ha fallado la siguiente validación. Por favor, corrígelo y vuelve a " "intentarlo." #: classes/class-swpm-member-subscriptions.php:121 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:179 msgid "No active subscriptions" msgstr "No hay suscripciones activas" #: classes/class-swpm-member-subscriptions.php:132 msgid "Cancel Subscription" msgstr "Cancelar la suscripción" #: classes/class-swpm-member-subscriptions.php:134 msgid "Are you sure that you want to cancel the subscription?" msgstr "¿Seguro que quieres cancelar tu suscripción?" #: classes/class.simple-wp-membership.php:244 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "El administrador de este sitio no permite a los usuarios acceso al " "escritorio de wp." #: classes/class.simple-wp-membership.php:245 msgid "Go back to the home page by " msgstr "Volver a la página de inicio " #: classes/class.simple-wp-membership.php:245 msgid "clicking here" msgstr "haciendo clic aquí" #: classes/class.simple-wp-membership.php:315 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "¡Error! Este sitio tiene activado en los ajustes la característica de forzar " "el acceso al usuario de WP. No se ha podido encontrar un registro de usuario " "de WP para el nombre de usuario dado: " #: classes/class.simple-wp-membership.php:316 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "Este error se desencadena cuando una cuenta de miembro no tiene una cuenta " "de usuario de WP correspondiente. Por lo tanto, el plugin no puede registrar " "al usuario en el sistema de usuario de WP." #: classes/class.simple-wp-membership.php:317 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Ponte en contacto con el administrador del sitio y solicita que verifique tu " "nombre de usuario en el menú Usuarios de WP para ver qué sucedió con la " "entrada de usuario de WP de tu cuenta." #: classes/class.simple-wp-membership.php:318 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" "El administrador del sitio puede desactivar la característica de forzar la " "sincronización del usuario de WP en los ajustes para desactivar esta " "característica y este error desaparecerá." #: classes/class.simple-wp-membership.php:319 msgid "You can use the back button of your browser to go back to the site." msgstr "Puedes usar el botón de atrás en tu navegador para volver al sitio." #: classes/class.simple-wp-membership.php:519 #: classes/class.swpm-wp-loaded-tasks.php:141 msgid "You are not logged in." msgstr "No estás conectado." #: classes/class.simple-wp-membership.php:607 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "Tienes activado el modo de pago de entorno de pruebas en los ajustes del " "plugin. Asegúrate de desactivar el modo de entorno de pruebas cuando deseas " "realizar transacciones en vivo." #: classes/class.simple-wp-membership.php:622 msgid "Simple WP Membership Protection" msgstr "Protección de Simple WP Membership" #: classes/class.simple-wp-membership.php:634 msgid "Simple Membership Protection options" msgstr "Opciones de protección de Simple Membership" #: classes/class.simple-wp-membership.php:652 msgid "Do you want to protect this content?" msgstr "¿Quieres proteger este contenido?" #: classes/class.simple-wp-membership.php:653 msgid "No, Do not protect this content." msgstr "No, no protejas este contenido." #: classes/class.simple-wp-membership.php:654 msgid "Yes, Protect this content." msgstr "Si, protege este contenido." #: classes/class.simple-wp-membership.php:657 msgid "Select the membership level that can access this content:" msgstr "Selecciona el nivel de membresía que puede acceder a este contenido:" #: classes/class.simple-wp-membership.php:822 #: classes/class.simple-wp-membership.php:826 msgid "Validating, please wait" msgstr "Validando, por favor espere" #: classes/class.simple-wp-membership.php:829 msgid "Invalid email address" msgstr "Dirección de correo electrónico no válido" #: classes/class.simple-wp-membership.php:832 msgid "This field is required" msgstr "Este campo es obligatorio" #: classes/class.simple-wp-membership.php:835 msgid "Password must contain at least:" msgstr "La contraseña debe contener al menos:" #: classes/class.simple-wp-membership.php:835 msgid "- a digit" msgstr "- un dígito" #: classes/class.simple-wp-membership.php:835 msgid "- an uppercase letter" msgstr "- una letra mayúscula" #: classes/class.simple-wp-membership.php:835 msgid "- a lowercase letter" msgstr "- una letra minúscula" #: classes/class.simple-wp-membership.php:838 classes/class.swpm-auth.php:390 msgid "Invalid Username" msgstr "Nombre de usuario no valido" #: classes/class.simple-wp-membership.php:838 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Los nombres de usuario solo pueden contener: letras, números y .-_*@" #: classes/class.simple-wp-membership.php:841 msgid "Minimum " msgstr "Mínimo " #: classes/class.simple-wp-membership.php:842 msgid " characters required" msgstr " caracteres obligatorios" #: classes/class.simple-wp-membership.php:845 msgid "Apostrophe character is not allowed" msgstr "El carácter de apóstrofo no está permitido" #: classes/class.simple-wp-membership.php:895 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:896 classes/class.swpm-members.php:12 #: classes/class.swpm-members.php:741 msgid "Members" msgstr "Miembros" #: classes/class.simple-wp-membership.php:897 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:275 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Niveles de membresía" #: classes/class.simple-wp-membership.php:898 msgid "Settings" msgstr "Ajustes" #: classes/class.simple-wp-membership.php:899 msgid "Payments" msgstr "Pagos" #: classes/class.simple-wp-membership.php:900 msgid "Add-ons" msgstr "Extensiones" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to be logged in to view this content. " msgstr "Debes acceder para ver éste contenido. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Tu cuenta a caducado. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Este contenido solo puede ser visto por miembros que se unieron en o antes " "de " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Este contenido no está disponible para tu nivel de membresía." #: classes/class.swpm-access-control.php:204 msgid "You need to be logged in to view the rest of the content. " msgstr "Debes acceder para ver el resto del contenido. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " El resto del contenido no está disponible para tu nivel de membresía." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "¡Error! La verificación de nonce falló para el registro de usuario desde el " "administrador." #: classes/class.swpm-admin-registration.php:79 msgid "Member record added successfully." msgstr "Registro de miembro añadido con éxito." #: classes/class.swpm-admin-registration.php:87 #: classes/class.swpm-admin-registration.php:149 #: classes/class.swpm-admin-registration.php:187 #: classes/class.swpm-membership-level.php:84 #: classes/class.swpm-membership-level.php:126 msgid "Please correct the following:" msgstr "Por favor, corrige lo siguiente:" #: classes/class.swpm-admin-registration.php:100 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "¡Error! La verificación de nonce falló para la edición del usuario desde el " "administrador." #: classes/class.swpm-admin-registration.php:166 msgid "Your current password" msgstr "Tu contraseña actual" #: classes/class.swpm-ajax.php:16 classes/class.swpm-ajax.php:36 #: ipn/swpm-smart-checkout-ipn.php:332 msgid "Nonce check failed. Please reload the page." msgstr "La comprobación del nonce ha fallado. Por favor, recarga la página." #: classes/class.swpm-ajax.php:20 msgid "Invalid Email Address" msgstr "Dirección de correo electrónico no válido" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:46 msgid "Already taken" msgstr "Ya está en uso" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:47 msgid "Available" msgstr "Disponible" #: classes/class.swpm-ajax.php:40 msgid "Name contains invalid character" msgstr "El nombre contiene un carácter no válido" #: classes/class.swpm-auth.php:51 msgid "Username field cannot be empty." msgstr "El campo de nombre de usuario no puede estar vacío." #: classes/class.swpm-auth.php:58 msgid "Password field cannot be empty." msgstr "El campo de contraseña no puede estar vacío." #: classes/class.swpm-auth.php:76 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "¡Advertencia! El plugin Simple Membership no puede procesar esta solicitud " "de acceso para evitar que se desconecte como administrador de WP " "accidentalmente." #: classes/class.swpm-auth.php:77 msgid "Click here" msgstr "Haz clic aquí" #: classes/class.swpm-auth.php:77 msgid " to see the profile you are currently logged into in this browser." msgstr " para ver el perfil con el que has iniciado sesión en este navegador." #: classes/class.swpm-auth.php:78 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "En este navegador te has conectado al sitio como usuario administrador. " "Primero, cierra la sesión como administrador de WP y luego podrás acceder " "como miembro." #: classes/class.swpm-auth.php:79 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Como alternativa, puedes utilizar un navegador diferente (donde no te has " "conectado como administrador) para probar el acceso de membresía." #: classes/class.swpm-auth.php:80 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Tus visitantes frecuentes o miembros nunca verán este mensaje. Este mensaje " "es SOLO para el usuario de administración." #: classes/class.swpm-auth.php:87 msgid "Captcha validation failed on the login form." msgstr "Falló la validación de captcha en el formulario de acceso." #: classes/class.swpm-auth.php:112 msgid "No user found with that username or email." msgstr "" "Ningún usuario encontrado con ese nombre de usuario o correo electrónico." #: classes/class.swpm-auth.php:119 msgid "Password empty or invalid." msgstr "Contraseña vacía o no válida." #: classes/class.swpm-auth.php:159 msgid "Account is inactive." msgstr "La cuenta está inactiva." #: classes/class.swpm-auth.php:162 classes/class.swpm-auth.php:191 msgid "Account has expired." msgstr "Tu cuenta ha caducado." #: classes/class.swpm-auth.php:165 msgid "Account is pending." msgstr "La cuenta esta pendiente." #: classes/class.swpm-auth.php:175 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Necesitas activar tu cuenta. Si no recibiste un correo electrónico entonces " "%s para volver a enviar el correo electrónico de activación." #: classes/class.swpm-auth.php:175 #: classes/class.swpm-front-registration.php:587 #: classes/class.swpm-front-registration.php:652 #: classes/class.swpm-utils-misc.php:225 msgid "click here" msgstr "haz clic aquí" #: classes/class.swpm-auth.php:199 msgid "You are logged in as:" msgstr "Te has conectado como:" #: classes/class.swpm-auth.php:270 msgid "Logged Out Successfully." msgstr "Te has desconectado con éxito." #: classes/class.swpm-auth.php:381 msgid "Session Expired." msgstr "Sesión caducada." #: classes/class.swpm-auth.php:398 msgid "Please login again." msgstr "Por favor, accede de nuevo." #: classes/class.swpm-block.php:63 msgid "Prompt visitors to take action with a simple membership payment button." msgstr "" "Pide a los visitantes que tomen medidas con un simple botón de pago de " "membresía." #: classes/class.swpm-block.php:64 msgid "Payment button" msgstr "Botón de pago" #: classes/class.swpm-block.php:105 msgid "Select an item to view" msgstr "Selecciona un elemento para ver" #: classes/class.swpm-block.php:116 msgid "" "This section shows a preview image of a PayPal button to demonstrate where " "the PayPal button will appear on the front end." msgstr "" "Esta sección muestra una imagen de vista previa de un botón de PayPal para " "demostrar dónde aparecerá el botón de PayPal en la portada." #: classes/class.swpm-block.php:162 msgid "(Select Item)" msgstr "(Seleccionar un elemento)" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "ID de categoría" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Nombre de categoría" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Tipo de categoría (Taxonomía)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Descripción" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Contar" #: classes/class.swpm-category-list.php:78 msgid "" "Error! Nonce security verification failed for Category Protection Update " "action. Clear cache and try again." msgstr "" "¡Error! La verificación de seguridad de nonce ha fallado para la acción de " "actualización de protección de categoría. Vaciar el caché y vuelve a " "intentarlo." #: classes/class.swpm-category-list.php:99 msgid "Category protection updated!" msgstr "Protección de categoría actualizada!" #: classes/class.swpm-category-list.php:137 msgid "No category found." msgstr "No se ha encontrado ninguna categoría." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Por favor acceder para comentar." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Por favor acceder para comentar." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "No se permiten comentarios al que no es miembro." #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But the given email doesn't " "match." msgstr "" "La cuenta de WordPress existe con el nombre de usuario indicado. Pero el " "correo electrónico dado no coincide." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " Usa un nombre de usuario diferente para completar el registro. Si deseas " "utilizar ese nombre de usuario, debes introducir la dirección de correo " "electrónico correcta asociada al usuario de WP existente para conectarse con " "esa cuenta." #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But the given username doesn't " "match." msgstr "" "La cuenta de WordPress existe con el correo electrónico indicado, pero el " "nombre del usuario dado no coincide." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " Usa una dirección de correo electrónico diferente para completar el " "registro. Si deseas utilizar ese correo electrónico, debes introducir el " "nombre correcto de usuario asociado al usuario de WP existente para " "conectarse con esa cuenta." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Es obligatorio el nombre de usuario" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "El nombre de usuario contiene un carácter no válido" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "El nombre de usuario ya existe." #: classes/class.swpm-form.php:81 msgid "Password is required" msgstr "La contraseña es obligatoria" #: classes/class.swpm-form.php:88 msgid "Password mismatch" msgstr "La contraseña no coincide" #: classes/class.swpm-form.php:99 msgid "Email is required" msgstr "El correo electrónico es obligatorio" #: classes/class.swpm-form.php:103 msgid "Email is invalid" msgstr "El correo electrónico no es válido" #: classes/class.swpm-form.php:119 msgid "Email is already used." msgstr "El correo electrónico ya está usado." #: classes/class.swpm-form.php:171 msgid "Member since field is invalid" msgstr "El campo desde del miembro no es válido" #: classes/class.swpm-form.php:182 msgid "Access starts field is invalid" msgstr "La fecha de comienzo no es válida" #: classes/class.swpm-form.php:192 msgid "Gender field is invalid" msgstr "El campo de género no es válido" #: classes/class.swpm-form.php:203 msgid "Account state field is invalid" msgstr "El valor introducido en el campo \"Estado de la cuenta\" no es válido" #: classes/class.swpm-form.php:210 msgid "Invalid membership level" msgstr "Nivel de membresía no válida" #: classes/class.swpm-front-registration.php:25 msgid "" "You are already logged in. You don't need to create another account. So the " "registration form is hidden." msgstr "" "Ya estás conectado. No necesitas crear otra cuenta. Así que el formulario de " "registro está oculto." #: classes/class.swpm-front-registration.php:35 msgid "" "This unique registration link (see the URL in the browser's address bar) has " "already been used. You don't need to create another account. Log into the " "existing account to access the protected content." msgstr "" "Este enlace de registro único (consulta la URL en la barra de direcciones " "del navegador) ya se ha usado. No necesitas crear otra cuenta. Entrar a la " "cuenta existente para acceder al contenido protegido." #: classes/class.swpm-front-registration.php:44 msgid "" "This unique registration link (see the URL in the browser's address bar) is " "invalid. Could not find a match for the given member ID and the security " "code. Please contact the site administrator." msgstr "" "Este enlace de registro único (consulta la URL en la barra de direcciones " "del navegador) no es válido. No se ha podido encontrar una coincidencia para " "el ID de miembro proporcionado y el código de seguridad. Por favor, contacta " "al administrador del sitio." #: classes/class.swpm-front-registration.php:65 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "¡Error! Solicitud no válida. No se pudo encontrar una coincidencia para el " "código de seguridad dado y la ID de usuario." #: classes/class.swpm-front-registration.php:77 #: classes/class.swpm-utils-misc.php:415 views/login.php:61 msgid "Join Us" msgstr "Únete a nosotros" #: classes/class.swpm-front-registration.php:79 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "La membresía gratuita está desactivada en este sitio. Por favor haz un pago " "desde la " #: classes/class.swpm-front-registration.php:81 msgid " page to pay for a premium membership." msgstr " página para pagar una membresía premium." #: classes/class.swpm-front-registration.php:83 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Recibirás un enlace único a través del correo electrónico después del pago. " "Podrás utilizar ese enlace para completar el registro de membresía de pago." #: classes/class.swpm-front-registration.php:116 msgid "Security check: captcha validation failed." msgstr "Comprobación de seguridad: la validación del captcha ha fallado." #: classes/class.swpm-front-registration.php:129 msgid "You must accept the terms and conditions." msgstr "Debes aceptar los Términos y Condiciones." #: classes/class.swpm-front-registration.php:143 msgid "You must agree to the privacy policy." msgstr "Debes aceptar la política de privacidad." #: classes/class.swpm-front-registration.php:186 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "Necesitas confirmar tu dirección de correo electrónico. Por favor, revisa tu " "correo electrónico y sigue las instrucciones para completar el registro." #: classes/class.swpm-front-registration.php:199 msgid "Registration Successful. " msgstr "Registro con éxito. " #: classes/class.swpm-front-registration.php:199 #: classes/class.swpm-init-time-tasks.php:212 #: classes/class.swpm-utils-misc.php:414 classes/class.swpm-utils-misc.php:426 msgid "Please" msgstr "Por favor" #: classes/class.swpm-front-registration.php:199 #: classes/class.swpm-init-time-tasks.php:212 #: classes/class.swpm-utils-misc.php:414 views/login.php:55 msgid "Log In" msgstr "Acceder" #: classes/class.swpm-front-registration.php:223 msgid "Please correct the following" msgstr "Por favor, corrige lo siguiente" #: classes/class.swpm-front-registration.php:271 msgid "" "Unexpected Error! Failed to update the member record. Enable the debug log " "file then try the process again to get more details." msgstr "" "¡Error inesperado! No se pudo actualizar el registro de miembro. Activar el " "archivo de registro de depuración y luego intenta el proceso nuevamente para " "obtener más detalles." #: classes/class.swpm-front-registration.php:288 msgid "Membership Level Couldn't be found." msgstr "No se ha encontrado el nivel de membresía." #: classes/class.swpm-front-registration.php:340 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" "¡Error! No se ha podido verificar la verificación de editar el perfil en la " "portada." #: classes/class.swpm-front-registration.php:351 msgid "Profile updated successfully." msgstr "Perfil actualizado con éxito." #: classes/class.swpm-front-registration.php:371 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Perfil se ha actualizado con éxito. Tendrás que volver a acceder porque has " "cambiado la contraseña." #: classes/class.swpm-front-registration.php:401 msgid "Please correct the following." msgstr "Por favor, corrige lo siguiente." #: classes/class.swpm-front-registration.php:417 msgid "Captcha validation failed." msgstr "Error de validación de captcha." #: classes/class.swpm-front-registration.php:428 msgid "Email address not valid." msgstr "Dirección de correo electrónico no válido." #: classes/class.swpm-front-registration.php:444 #: classes/class.swpm-front-registration.php:538 msgid "No user found with that email address." msgstr "No se encontró ningún usuario con esa dirección de correo electrónico." #: classes/class.swpm-front-registration.php:445 #: classes/class.swpm-front-registration.php:515 #: classes/class.swpm-front-registration.php:539 msgid "Email Address: " msgstr "Dirección de correo electrónico: " #: classes/class.swpm-front-registration.php:472 msgid "Password reset link has been sent to your email address." msgstr "" "El enlace de restablecimiento de la contraseña se ha enviado a tu dirección " "de correo electrónico." #: classes/class.swpm-front-registration.php:490 msgid "New password has been sent to your email address." msgstr "La nueva contraseña ha sido enviada a tu correo electrónico." #: classes/class.swpm-front-registration.php:582 msgid "Can't find member account." msgstr "No se puede encontrar la cuenta del miembro." #: classes/class.swpm-front-registration.php:587 #: classes/class.swpm-front-registration.php:652 msgid "Account already active. " msgstr "La cuenta ya ha sido activada. " #: classes/class.swpm-front-registration.php:587 #: classes/class.swpm-front-registration.php:652 msgid " to log in." msgstr " para acceder." #: classes/class.swpm-front-registration.php:595 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "El código de activación no coincide. No se puede activar esta cuenta. Por " "favor, ponte en contacto con el administrador del sitio." #: classes/class.swpm-front-registration.php:609 msgid "Success! Your account has been activated successfully." msgstr "¡Lo lograste! Tu cuenta ha sido activada correctamente." #: classes/class.swpm-front-registration.php:647 msgid "Cannot find member account." msgstr "No se puede encontrar la cuenta del miembro." #: classes/class.swpm-front-registration.php:669 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "Se ha enviado un correo electrónico de activación. Por favor, revisa tu " "correo electrónico y activa tu cuenta." #: classes/class.swpm-init-time-tasks.php:141 msgid "Sorry, Nonce verification failed." msgstr "Lo siento, la verificación del nonce falló." #: classes/class.swpm-init-time-tasks.php:148 msgid "Sorry, Password didn't match." msgstr "Lo siento, la contraseña no coincide." #: classes/class.swpm-init-time-tasks.php:174 #: classes/class.swpm-init-time-tasks.php:193 msgid "Error! Invalid password reset request." msgstr "¡Error! Solicitud de restablecimiento de la contraseña no válida." #: classes/class.swpm-init-time-tasks.php:180 msgid "" "Error! A password reset request has been submitted but the password reset " "key is invalid. Please generate a new request." msgstr "" "¡Error! Se ha enviado una solicitud de restablecimiento de la contraseña, " "pero la clave de restablecimiento de la contraseña no es válida. Por favor, " "genera una nueva solicitud." #: classes/class.swpm-init-time-tasks.php:187 msgid "Error! Password fields do not match. Please try again." msgstr "" "¡Error! Los campos de la contraseña no coinciden Por favor, inténtalo de " "nuevo." #: classes/class.swpm-init-time-tasks.php:212 msgid "Password Reset Successful. " msgstr "Contraseña restablecida correctamente. " #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "El formato de fecha no es válido." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "La duración del acceso debe ser mayor a 0." #: classes/class.swpm-members.php:11 msgid "Member" msgstr "Miembro" #: classes/class.swpm-members.php:21 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:22 views/add-v2.php:18 views/add.php:18 #: views/admin_add.php:12 views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Nombre de usuario" #: classes/class.swpm-members.php:25 views/add-v2.php:22 views/add.php:22 #: views/edit.php:27 includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "Correo electrónico" #: classes/class.swpm-members.php:27 views/admin_member_form_common_part.php:2 msgid "Access Starts" msgstr "El acceso comienza" #: classes/class.swpm-members.php:28 views/admin_members_list.php:45 #: includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Estado de la cuenta" #: classes/class.swpm-members.php:29 msgid "Last Login Date" msgstr "Última fecha de acceso" #: classes/class.swpm-members.php:52 msgid "Set Status to Active" msgstr "Establecer el estado como activo" #: classes/class.swpm-members.php:53 msgid "Set Status to Active and Notify" msgstr "Establecer el estado como activo y notificar" #: classes/class.swpm-members.php:54 msgid "Set Status to Inactive" msgstr "Establecer el estado como inactivo" #: classes/class.swpm-members.php:55 msgid "Set Status to Pending" msgstr "Establecer el estado como pendiente" #: classes/class.swpm-members.php:56 msgid "Set Status to Expired" msgstr "Establecer el estado como caducado" #: classes/class.swpm-members.php:84 msgid "incomplete" msgstr "incompleto" #: classes/class.swpm-members.php:227 msgid "No member found." msgstr "No se encontró el miembro." #: classes/class.swpm-members.php:384 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "¡Error! La verificación de nonce falló para la eliminación de usuario desde " "el administrador." #: classes/class.swpm-members.php:543 classes/class.swpm-members.php:580 msgid "Error! Please select a membership level first." msgstr "¡Error! Seleccione primero un nivel de membresía." #: classes/class.swpm-members.php:560 msgid "Membership level change operation completed successfully." msgstr "" "La operación de cambio de nivel de membresía se ha completado con éxito." #: classes/class.swpm-members.php:572 msgid "" "Error! Nonce security verification failed for Bulk Change Access Starts Date " "action. Clear cache and try again." msgstr "" "¡Error! La verificación de seguridad de nonce ha fallado para la acción de " "fecha de inicio de acceso de cambio en lote. Vaciar el caché y vuelve a " "intentarlo." #: classes/class.swpm-members.php:597 msgid "Access starts date change operation successfully completed." msgstr "El acceso inicia la operación de cambio de fecha completada con éxito." #: classes/class.swpm-members.php:606 msgid "Bulk Update Membership Level of Members" msgstr "Actualización en lotes del nivel de membresía de los miembros" #: classes/class.swpm-members.php:609 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Puedes cambiar manualmente el nivel de membresía de cualquier miembro " "editando el registro desde el menú de miembros. " #: classes/class.swpm-members.php:610 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "Puedes usar la siguiente opción para actualizar en lotes el nivel de " "membresía de los usuarios que pertenecen al nivel que seleccionas a " "continuación." #: classes/class.swpm-members.php:618 classes/class.swpm-members.php:667 msgid "Membership Level: " msgstr "Nivel de membresía: " #: classes/class.swpm-members.php:622 msgid "Select Current Level" msgstr "Selecciona el nivel actual" #: classes/class.swpm-members.php:625 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" "Selecciona el nivel de membresía actual (se actualizará el nivel de " "membresía de todos los miembros que están en este nivel)." #: classes/class.swpm-members.php:631 msgid "Level to Change to: " msgstr "Nivel para cambiar a: " #: classes/class.swpm-members.php:635 msgid "Select Target Level" msgstr "Seleccionar nivel de destino" #: classes/class.swpm-members.php:638 msgid "Select the new membership level." msgstr "Selecciona el nuevo nivel de membresía." #: classes/class.swpm-members.php:644 msgid "Bulk Change Membership Level" msgstr "Cambio en lotes de nivel de membresía" #: classes/class.swpm-members.php:654 msgid "Bulk Update Access Starts Date of Members" msgstr "Fecha de inicio del acceso a la actualización en lotes de los miembros" #: classes/class.swpm-members.php:658 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "La fecha de inicio de acceso de un miembro se establece en el día en que el " "usuario se registra. Este valor de fecha se usa para calcular cuánto tiempo " "el miembro puede acceder a su contenido que está protegido con una " "protección de tipo de duración en el nivel de membresía. " #: classes/class.swpm-members.php:659 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Puedes establecer manualmente un valor de fecha de inicio de acceso " "específico de todos los miembros que pertenecen a un nivel particular usando " "la siguiente opción." #: classes/class.swpm-members.php:670 msgid "Select Level" msgstr "Selecciona el nivel" #: classes/class.swpm-members.php:673 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Selecciona el nivel de membresía (se actualizará la fecha de inicio de " "acceso de todos los miembros que están en este nivel)." #: classes/class.swpm-members.php:679 msgid "Access Starts Date: " msgstr "Fecha de inicio de acceso: " #: classes/class.swpm-members.php:682 msgid "Specify the Access Starts date value." msgstr "Especifica el valor de la fecha de inicio de acceso." #: classes/class.swpm-members.php:688 msgid "Bulk Change Access Starts Date" msgstr "Cambio en lotes de la fecha de inicio de acceso" #: classes/class.swpm-members.php:734 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Miembros" #: classes/class.swpm-members.php:736 #: classes/class.swpm-membership-levels.php:234 views/admin_members_list.php:70 msgid "Add New" msgstr "Añadir nuevo" #: classes/class.swpm-members.php:743 views/admin_add.php:7 msgid "Add Member" msgstr "Añadir miembro" #: classes/class.swpm-members.php:745 msgid "Bulk Operation" msgstr "Operación en lotes" #: classes/class.swpm-members.php:747 #: views/admin_send_direct_email_menu.php:114 msgid "Send Direct Email" msgstr "Enviar correo electrónico directo" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" "¡Error! La verificación de Nonce falló en la creación de nivel de membresía " "desde el administrador." #: classes/class.swpm-membership-level.php:79 msgid "Membership Level Creation Successful." msgstr "Nivel de membresía creado con éxito." #: classes/class.swpm-membership-level.php:95 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "¡Error! La comprobación de nonce falló para la edición de nivel de membresía " "desde el administrador." #: classes/class.swpm-membership-level.php:121 msgid "Membership Level Updated Successfully." msgstr "Nombre del nivel de membresía actualizado con éxito." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Perfil" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Acceso válido durante/hasta" #: classes/class.swpm-membership-levels.php:135 msgid "No membership levels found." msgstr "No se han encontrado niveles de membresía." #: classes/class.swpm-membership-levels.php:205 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" "¡Error! La verificación de Nonce falló al eliminar el nivel de pertenencia " "desde el administrador." #: classes/class.swpm-membership-levels.php:224 views/admin_members_list.php:56 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Buscar" #: classes/class.swpm-membership-levels.php:271 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Nivel de membresía" #: classes/class.swpm-membership-levels.php:276 msgid "Add Level" msgstr "Añadir nivel" #: classes/class.swpm-membership-levels.php:277 msgid "Manage Content Protection" msgstr "Gestionar la protección de contenido" #: classes/class.swpm-membership-levels.php:278 msgid "Category Protection" msgstr "Protección de categoría" #: classes/class.swpm-membership-levels.php:279 msgid "Post and Page Protection" msgstr "Protección de la entrada y página" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Titulo" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Autor" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Estado" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Categoría" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Tipo" #: classes/class.swpm-post-list.php:109 msgid "" "Error! Nonce security verification failed for Post Protection Update action. " "Clear cache and try again." msgstr "" "¡Error! La verificación de seguridad de nonce ha fallado para la acción de " "actualización de protección de la entrada. Vaciar el caché y vuelve a " "intentarlo." #: classes/class.swpm-post-list.php:132 msgid "Protection settings updated!" msgstr "¡Actualizados los ajustes de protección!" #: classes/class.swpm-post-list.php:237 msgid "No items found." msgstr "No se han encontrado elementos." #: classes/class.swpm-protection.php:23 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "La categoría o categoría principal de esta entrada está protegida. Puedes " "cambiar los ajustes de protección de categoría desde " #: classes/class.swpm-protection.php:24 msgid "category protection menu" msgstr "menú de protección de categoría" #: classes/class.swpm-self-action-handler.php:164 #: classes/class.swpm-self-action-handler.php:231 msgid "The email address you used is not whitelisted on this site." msgstr "" "La dirección de correo electrónico que has usado está incluida en la lista " "blanca de este sitio." #: classes/class.swpm-self-action-handler.php:175 #: classes/class.swpm-self-action-handler.php:242 msgid "The email address you used is blacklisted on this site." msgstr "" "La dirección de correo electrónico que has usado está en la lista negra de " "este sitio." #: classes/class.swpm-settings.php:42 classes/class.swpm-settings.php:74 msgid "General Settings" msgstr "Ajustes generales" #: classes/class.swpm-settings.php:43 msgid "Payment Settings" msgstr "Ajustes de pago" #: classes/class.swpm-settings.php:44 msgid "Email Settings" msgstr "Ajustes del correo electrónico" #: classes/class.swpm-settings.php:45 msgid "Tools" msgstr "Herramientas" #: classes/class.swpm-settings.php:46 classes/class.swpm-settings.php:731 msgid "Advanced Settings" msgstr "Ajustes avanzados" #: classes/class.swpm-settings.php:47 msgid "Blacklisting & Whitelisting" msgstr "Lista negra y lista blanca" #: classes/class.swpm-settings.php:48 msgid "Addons Settings" msgstr "Ajustes de extensiones" #: classes/class.swpm-settings.php:71 msgid "Plugin Documentation" msgstr "Documentación del plugin" #: classes/class.swpm-settings.php:77 msgid "Enable Free Membership" msgstr "Activar membresía gratis" #: classes/class.swpm-settings.php:83 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Activa/desactiva el registro para el nivel de membresía gratis. Al activar " "esta opción, asegúrate de especificar un ID de nivel de membresía gratuita " "en el siguiente campo." #: classes/class.swpm-settings.php:88 msgid "Free Membership Level ID" msgstr "ID de la membresía gratuita" #: classes/class.swpm-settings.php:94 msgid "Assign free membership level ID" msgstr "Asignar el ID de la membresía gratuita" #: classes/class.swpm-settings.php:99 msgid "Enable More Tag Protection" msgstr "Activa la etiqueta more de protección" #: classes/class.swpm-settings.php:105 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Activa o desactiva la etiqueta \"more\" de protección en las entradas y " "páginas. Cualquier cosa por debajo de la etiqueta more esta protegido. " "Cualquier cosa por encima de la etiqueta more es contenido sumario." #: classes/class.swpm-settings.php:110 msgid "Hide Adminbar" msgstr "Ocultar la barra de administración" #: classes/class.swpm-settings.php:116 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress muestra una barra de herramientas de administración para los " "usuarios registrados en el sitio. Selecciona esta casilla si deseas ocultar " "la barra de herramientas de administración en la portada de tu sitio." #: classes/class.swpm-settings.php:121 msgid "Show Adminbar to Admin" msgstr "Mostrar la barra de administración al administrador" #: classes/class.swpm-settings.php:127 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Utiliza esta opción si deseas mostrar la barra de herramientas de " "administración sólo a usuarios administradores. La barra de herramientas de " "administración se ocultará para todos los demás usuarios." #: classes/class.swpm-settings.php:132 msgid "Disable Access to WP Dashboard" msgstr "Desactivar el acceso al escritorio de WP" #: classes/class.swpm-settings.php:138 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashboard. Using this option will prevent any " "non-admin users from going to the wp dashboard." msgstr "" "WordPress permite a un usuario estándar de WP ser capaz de ir a la URL «wp-" "admin» y acceder a su perfil desde el escritorio de WP. El uso de esta " "opción evitará que los usuarios que no sean administradores vayan al " "escritorio de WP." #: classes/class.swpm-settings.php:144 classes/class.swpm-settings.php:923 msgid "Default Account Status" msgstr "Estado por defecto de la cuenta" #: classes/class.swpm-settings.php:152 msgid "" "Select the default account status for newly registered users. The default " "value should be active. If you want to manually approve the members then " "read this documentation to learn more." msgstr "" "Selecciona el estado de la cuenta por defecto para los usuarios recién " "registrados. El valor por defecto debe estar activo. Si deseas aprobar " "manualmente a los miembros, lee esta " "documentación para aprender más." #: classes/class.swpm-settings.php:158 msgid "Default Account Status After Payment" msgstr "Estado de la cuenta por defecto después del pago" #: classes/class.swpm-settings.php:166 msgid "" "The account status that will be applied to the profile after a payment. The " "default value should be active." msgstr "" "El estado de la cuenta que se aplicará al perfil después de un pago. El " "valor por defecto debe estar activo." #: classes/class.swpm-settings.php:172 msgid "Members Must be Logged in to Comment" msgstr "Los miembros deben estar conectados para comentar" #: classes/class.swpm-settings.php:178 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Activa esta opción si sólo deseas que los miembros del sitio puedan publicar " "un comentario." #: classes/class.swpm-settings.php:184 msgid "Enable Toggle Password Visibility in Login Form" msgstr "" "Activar el cambio de la visibilidad de la contraseña en el formulario de " "acceso" #: classes/class.swpm-settings.php:190 msgid "" "You can use it to show a toggle password visibility option in the login " "form. It will add a Show Password checkbox." msgstr "" "Puedes usarlo para mostrar una opción de cambio de la visibilidad de la " "contraseña en el formulario de acceso. Añadirá una casilla de verificación " "para mostrar la contraseña." #: classes/class.swpm-settings.php:196 msgid "Enable Password Reset Using Link" msgstr "Activar el restablecimiento de la contraseña usando un enlace" #: classes/class.swpm-settings.php:202 msgid "" "You can enable this option if you want to handle the password reset " "functionality using a reset link that is emailed to the member. Read this documentation to learn " "more about the password reset function." msgstr "" "Puedes activar esta opción si deseas manejar la funcionalidad de restablecer " "la contraseña mediante un enlace de restablecimiento que se envía por correo " "electrónico al miembro. Lee esta " "documentación para aprender más acerca de la función de restablecer la " "contraseña." #: classes/class.swpm-settings.php:207 msgid "Pages Settings" msgstr "Ajustes de páginas" #: classes/class.swpm-settings.php:210 msgid "Login Page URL" msgstr "URL de la página de acceso" #: classes/class.swpm-settings.php:221 msgid "Registration Page URL" msgstr "URL de la página de registro" #: classes/class.swpm-settings.php:232 msgid "Join Us Page URL" msgstr "URL de la página de únete a nosotros" #: classes/class.swpm-settings.php:243 msgid "Edit Profile Page URL" msgstr "URL de la página de editar el perfil" #: classes/class.swpm-settings.php:254 msgid "Password Reset Page URL" msgstr "URL de la página de restablecimiento de la contraseña" #: classes/class.swpm-settings.php:265 msgid "Optional Pages Settings" msgstr "Ajustes de páginas opcionales" #: classes/class.swpm-settings.php:268 msgid "Thank You Page URL" msgstr "URL de la página de agradecimiento" #: classes/class.swpm-settings.php:274 msgid "" "It is useful to use a thank you page in your payment button configuration. " "Read this documentation to learn more." msgstr "" "Es útil usar una página de agradecimiento en la configuración de tu botón de " "pago. Lee esta documentación para " "obtener más información." #: classes/class.swpm-settings.php:279 msgid "Test & Debug Settings" msgstr "Ajustes de prueba y depuración" #: classes/class.swpm-settings.php:308 msgid "Check this option to enable debug logging." msgstr "Marca esta opción para activar el modo de depuración." #: classes/class.swpm-settings.php:309 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" " Esto puede ser útil para solucionar un problema. Desactívalo y restablece " "los archivos de registro una vez completada la solución del problema." #: classes/class.swpm-settings.php:311 msgid "View general debug log file by clicking " msgstr "Ver el archivo de registro de depuración general haciendo clic " #: classes/class.swpm-settings.php:311 classes/class.swpm-settings.php:312 #: classes/class.swpm-settings.php:313 msgid "here" msgstr "aquí" #: classes/class.swpm-settings.php:312 msgid "View login related debug log file by clicking " msgstr "" "Ver el archivo de registro de depuración relacionado con el acceso haciendo " "clic " #: classes/class.swpm-settings.php:313 msgid "Reset debug log files by clicking " msgstr "Restablecer los archivos de registro de depuración haciendo clic " #: classes/class.swpm-settings.php:316 msgid "Enable Debug" msgstr "Activar depuración" #: classes/class.swpm-settings.php:336 msgid "Sandbox or Test Mode Payment Settings" msgstr "Ajustes de pago de entorno de pruebas o modo de prueba" #: classes/class.swpm-settings.php:340 msgid "Enable Sandbox or Test Mode" msgstr "Activar entorno de pruebas o modo de prueba" #: classes/class.swpm-settings.php:346 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "Activar esta opción si deseas realizar pruebas de pago en entorno de pruebas." #: classes/class.swpm-settings.php:355 msgid "PayPal Settings" msgstr "Ajustes de PayPal" #: classes/class.swpm-settings.php:359 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "ID de cliente en vivo" #: classes/class.swpm-settings.php:365 msgid "Enter your PayPal Client ID for live mode." msgstr "Introduce tu ID de cliente de PayPal para el modo en vivo." #: classes/class.swpm-settings.php:370 classes/class.swpm-settings.php:455 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:420 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:418 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:180 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:172 msgid "Live Secret Key" msgstr "Clave secreta en vivo" #: classes/class.swpm-settings.php:376 msgid "Enter your PayPal Secret Key for live mode." msgstr "Introduce tu clave secreta de PayPal para el modo en vivo." #: classes/class.swpm-settings.php:381 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "ID de cliente del entorno de pruebas" #: classes/class.swpm-settings.php:387 msgid "Enter your PayPal Client ID for sandbox mode." msgstr "" "Introduce tu ID de cliente de PayPal para el modo de entorno de pruebas." #: classes/class.swpm-settings.php:392 msgid "Sandbox Secret Key" msgstr "Clave secreta del entorno de pruebas" #: classes/class.swpm-settings.php:398 msgid "Enter your PayPal Secret Key for sandbox mode." msgstr "" "Introduce tu clave secreta de PayPal para el modo de entorno de pruebas." #: classes/class.swpm-settings.php:407 msgid "Stripe Global Settings" msgstr "Ajustes globales de Stripe" #: classes/class.swpm-settings.php:411 msgid "Pre-fill Member Email Address" msgstr "Rellenar previamente la dirección de correo electrónico del miembro" #: classes/class.swpm-settings.php:417 msgid "" "Pre-fills the email address of the logged-in member on the Stripe checkout " "form when possible" msgstr "" "Rellena previamente la dirección de correo electrónico del miembro conectado " "en el formulario de pago de Stripe cuando sea posible" #: classes/class.swpm-settings.php:422 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:399 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:397 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:156 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:148 msgid "Test Publishable Key" msgstr "Llave de publicación de prueba" #: classes/class.swpm-settings.php:428 msgid "Stripe API Test publishable key" msgstr "Clave publicable de API de Stripe de prueba" #: classes/class.swpm-settings.php:433 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:406 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:404 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:164 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:156 msgid "Test Secret Key" msgstr "Prueba la llave secreta" #: classes/class.swpm-settings.php:439 msgid "Stripe API Test secret key" msgstr "Clave secreta de API de Stripe de prueba" #: classes/class.swpm-settings.php:444 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:413 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:411 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:172 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:164 msgid "Live Publishable Key" msgstr "Clave publicable en vivo" #: classes/class.swpm-settings.php:450 msgid "Stripe API Live publishable key" msgstr "Clave publicable de API de Stripe en vivo" #: classes/class.swpm-settings.php:461 msgid "Stripe API Live secret key" msgstr "Clave secreta de API de Stripe en vivo" #: classes/class.swpm-settings.php:471 msgid "Email Settings Overview" msgstr "Visión general de ajustes de correo electrónico" #: classes/class.swpm-settings.php:472 msgid "Email Misc. Settings" msgstr "Ajustes varios del correo electrónico" #: classes/class.swpm-settings.php:476 msgid "From Email Address" msgstr "Remitente del correo electrónico" #: classes/class.swpm-settings.php:488 msgid "Allow HTML in Emails" msgstr "Permitir HTML en los correos electrónicos" #: classes/class.swpm-settings.php:499 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Ajustes del correo electrónico (Solicitud para completar el registro)" #: classes/class.swpm-settings.php:502 classes/class.swpm-settings.php:533 #: classes/class.swpm-settings.php:614 classes/class.swpm-settings.php:639 #: classes/class.swpm-settings.php:675 classes/class.swpm-settings.php:700 #: views/admin_send_direct_email_menu.php:57 msgid "Email Subject" msgstr "Asunto del correo electrónico" #: classes/class.swpm-settings.php:513 classes/class.swpm-settings.php:544 #: classes/class.swpm-settings.php:625 classes/class.swpm-settings.php:650 #: classes/class.swpm-settings.php:686 classes/class.swpm-settings.php:711 #: views/admin_send_direct_email_menu.php:77 msgid "Email Body" msgstr "Cuerpo del correo electrónico" #: classes/class.swpm-settings.php:524 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Introduce la dirección de correo electrónico donde deseas que se envíe la " "notificación de administrador." #: classes/class.swpm-settings.php:525 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" " Puedes colocar varias direcciones de correo electrónico separadas por coma " "(,) en el campo anterior para enviar la notificación a varias direcciones de " "correo electrónico." #: classes/class.swpm-settings.php:527 msgid "Enter the subject for the admin notification email." msgstr "" "Introduce el asunto para el correo electrónico de notificación del " "administrador." #: classes/class.swpm-settings.php:528 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Este correo electrónico se enviará al administrador cuando un nuevo usuario " "complete el registro de membresía. Sólo funciona si has activado la opción " "anterior \"Enviar notificación al administrador\"." #: classes/class.swpm-settings.php:530 msgid "Email Settings (Registration Complete)" msgstr "Ajustes del correo electrónico (el registro se ha completado)" #: classes/class.swpm-settings.php:555 msgid "Send Notification to Admin" msgstr "Enviar notificación al administrador" #: classes/class.swpm-settings.php:561 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Activa esta opción si deseas que el administrador reciba una notificación " "cuando un miembro se registre." #: classes/class.swpm-settings.php:566 msgid "Admin Email Address" msgstr "Dirección de correo electrónico del administrador" #: classes/class.swpm-settings.php:577 msgid "Admin Notification Email Subject" msgstr "Asunto del correo electrónico de notificación de administrador" #: classes/class.swpm-settings.php:588 msgid "Admin Notification Email Body" msgstr "Cuerpo de correo electrónico de notificación de administrador" #: classes/class.swpm-settings.php:600 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Envía un correo electrónico al miembro cuando ha sido añadido desde el " "escritorio de administración" #: classes/class.swpm-settings.php:611 msgid "Email Settings (Password Reset)" msgstr "Ajustes del correo electrónico (Restablecer contraseña)" #: classes/class.swpm-settings.php:636 msgid " Email Settings (Account Upgrade Notification)" msgstr " Ajustes de correo electrónico (Notificación de mejora de la cuenta)" #: classes/class.swpm-settings.php:661 msgid "Disable Email Notification After Upgrade" msgstr "Desactivar el aviso por correo electrónico después de la actualización" #: classes/class.swpm-settings.php:667 msgid "" "You can use this option to disable the email notification that gets sent to " "the members when they make a payment for upgrade or renewal." msgstr "" "Puedes usar esta opción para desactivar el aviso por correo electrónico que " "se envía a los miembros cuando hacen un pago por actualización o renovación." #: classes/class.swpm-settings.php:672 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " Ajustes de correo electrónico (aviso de activar cuentas en lotes)" #: classes/class.swpm-settings.php:697 msgid " Email Settings (Email Activation)" msgstr " Ajustes de correo electrónico (Activación por correo electrónico)" #: classes/class.swpm-settings.php:735 msgid "Enable Expired Account Login" msgstr "Activar el acceso a la cuenta caducada" #: classes/class.swpm-settings.php:741 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Cuando está activado, los miembros vencidos podrán acceder en el sistema " "pero no podrán ver ningún contenido protegido. Esto les permite renovar " "fácilmente su cuenta haciendo otro pago." #: classes/class.swpm-settings.php:747 msgid "Membership Renewal URL" msgstr "URL de renovación de membresía" #: classes/class.swpm-settings.php:753 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal " "page." msgstr "" "Puedes crear una página de renovación para tu sitio. Lee esta documentación para aprender cómo crear una página " "de renovación." #: classes/class.swpm-settings.php:759 msgid "After Registration Redirect URL" msgstr "URL de redirección después de registro" #: classes/class.swpm-settings.php:765 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after " "registration redirect." msgstr "" "Puedes introducir una URL aquí para redirigir a los miembros a esta página " "después de que envíen el formulario de registro. Lee esta documentación para obtener más " "información sobre cómo configurar después de la redirección de registro." #: classes/class.swpm-settings.php:771 msgid "Enable Auto Login After Registration" msgstr "Activa el acceso automático después del registro" #: classes/class.swpm-settings.php:777 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" "Utiliza esta opción si deseas que los miembros se conecten automáticamente " "en tu sitio justo después de completar el registro. Esta opción anulará la " "redirección posterior al registro y, en su lugar, activará la redirección " "posterior de acceso. Lee esta " "documentación para saber más." #: classes/class.swpm-settings.php:783 msgid "Hide Registration Form to Logged Users" msgstr "Ocultar el formulario de registro a los usuarios conectados" #: classes/class.swpm-settings.php:789 msgid "" "Use this option if you want to hide the registration form to the logged-in " "members. If logged-in members visit the registration page, they will see a " "message instead of the registration form." msgstr "" "Usa esta opción si quieres ocultar el formulario de registro a los miembros " "conectados. Si los miembros conectados visitan la página de registro, verán " "un mensaje en lugar del formulario de registro." #: classes/class.swpm-settings.php:795 msgid "After Logout Redirect URL" msgstr "Redirigir la URL después de cerrar sesión" #: classes/class.swpm-settings.php:801 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" "Puedes introducir una URL aquí para redirigir a los miembros a esta página " "después de hacer clic en el enlace de cerrar sesión para cerrar la sesión en " "tu sitio." #: classes/class.swpm-settings.php:807 msgid "Logout Member on Browser Close" msgstr "Cerrar la sesión de miembro cuando se cierra el navegador" #: classes/class.swpm-settings.php:813 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" "Activar esta opción si deseas que el miembro se desconecte de la cuenta " "cuando cierra el navegador." #: classes/class.swpm-settings.php:819 msgid "Allow Account Deletion" msgstr "Permite la eliminación de cuenta" #: classes/class.swpm-settings.php:825 msgid "Allow users to delete their accounts." msgstr "Permite a los usuarios eliminar sus cuentas." #: classes/class.swpm-settings.php:831 msgid "Force Strong Password for Members" msgstr "Forzar una contraseña segura para los miembros" #: classes/class.swpm-settings.php:837 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" "Activa esto si deseas que los usuarios se vean obligados a utilizar una " "contraseña segura para sus cuentas." #: classes/class.swpm-settings.php:843 msgid "Auto Delete Pending Account" msgstr "Borrar automáticamente las cuentas pendientes" #: classes/class.swpm-settings.php:855 msgid "Select how long you want to keep \"pending\" account." msgstr "Selecciona cuánto tiempo deseas mantener la cuenta «pendientes»" #: classes/class.swpm-settings.php:861 msgid "Admin Dashboard Access Permission" msgstr "Permiso de acceso al escritorio de administración" #: classes/class.swpm-settings.php:874 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user roles to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" "El escritorio de administración de SWPM es accesible solo para usuarios " "administradores (como cualquier otro plugin). Puedes permitir que los " "usuarios con otro perfil de usuario de WP accedan al escritorio de " "administración de SWPM seleccionando un valor aquí. Ten en cuenta que esta " "opción no puede funcionar si activas la opción «Desactivar el acceso al " "escritorio de WP» en los ajustes generales." #: classes/class.swpm-settings.php:880 msgid "Force WP User Synchronization" msgstr "Forzar la sincronización del usuario de WP" #: classes/class.swpm-settings.php:886 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" "Activa esta opción si deseas forzar que se sincronice el acceso de miembro " "con la cuenta de usuario de WP. Esto puede ser útil si estas usando otro " "plugin que usa los registros de usuarios de WP. Por ejemplo: El plugin " "bbPress." #: classes/class.swpm-settings.php:891 msgid "Create Member Accounts for New WP Users" msgstr "Crear cuentas de miembros para nuevos usuarios de WP" #: classes/class.swpm-settings.php:895 msgid "Enable Auto Create Member Accounts" msgstr "Activar auto crear cuentas de miembros" #: classes/class.swpm-settings.php:901 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" "Activa esta opción para crear automáticamente cuentas de miembro para " "cualquier usuario nuevo de WP creado por otro plugin." #: classes/class.swpm-settings.php:908 msgid "Default Membership Level" msgstr "Nivel de membresía por defecto" #: classes/class.swpm-settings.php:916 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" "Al crear automáticamente una cuenta de miembro utilizando esta " "característica, el nivel de membresía del usuario se establecerá en el que " "especifiques aquí." #: classes/class.swpm-settings.php:931 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" "Al crear automáticamente una cuenta de miembro utilizando esta " "característica, el estado de la cuenta de membresía del usuario se " "establecerá en el que especifiques aquí." #: classes/class.swpm-settings.php:937 msgid "Payment Notification Forward URL" msgstr "URL de reenvío de aviso de pago" #: classes/class.swpm-settings.php:943 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" "Puedes introducir una URL aquí para reenviar el aviso de pago después de que " "este plugin haya procesado el pago de la membresía. Útil si deseas reenviar " "el aviso de pago a un script externo para más procesamiento." #: classes/class.swpm-settings.php:948 views/add-v2.php:70 views/add.php:68 msgid "Terms and Conditions" msgstr "Términos y Condiciones" #: classes/class.swpm-settings.php:952 msgid "Enable Terms and Conditions" msgstr "Activar términos y condiciones" #: classes/class.swpm-settings.php:958 msgid "Users must accept the terms before they can complete the registration." msgstr "" "Los usuarios deben aceptar los términos antes de que puedan completar el " "registro." #: classes/class.swpm-settings.php:963 msgid "Terms and Conditions Page URL" msgstr "URL de la página de términos y condiciones" #: classes/class.swpm-settings.php:969 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" "Introduce la URL de tu página de términos y condiciones. Puedes crear una " "página de WordPress y especificar tus términos allí, luego introduce la URL " "de esa página en el campo de arriba." #: classes/class.swpm-settings.php:974 msgid "Enable Privacy Policy" msgstr "Activar política de privacidad" #: classes/class.swpm-settings.php:980 msgid "Users must accept it before they can complete the registration." msgstr "" "Los usuarios deben aceptarlo antes de que puedan completar el registro." #: classes/class.swpm-settings.php:985 msgid "Privacy Policy Page URL" msgstr "URL de la página de Política de privacidad" #: classes/class.swpm-settings.php:991 msgid "Enter the URL of your privacy policy page." msgstr "Introduce la URL de tu página de política de privacidad." #: classes/class.swpm-settings.php:1002 msgid "Configure Blacklisting & Whitelisting" msgstr "Configurar la lista negra y la lista blanca" #: classes/class.swpm-settings.php:1005 msgid "Whitelisting" msgstr "Lista blanca" #: classes/class.swpm-settings.php:1009 msgid "Enable Whitelisting Feature" msgstr "Activar la característica de la lista blanca" #: classes/class.swpm-settings.php:1015 msgid "When enabled, whitelisting feature will be activated." msgstr "" "Cuando está activado, se activará la característica de la lista blanca." #: classes/class.swpm-settings.php:1021 msgid "Email Address Whitelisting" msgstr "Lista blanca de direcciones de correo electrónico" #: classes/class.swpm-settings.php:1027 msgid "Enter a list (comma separated) of email addresses to whitelist." msgstr "" "Introduce una lista (separada por comas) de direcciones de correo " "electrónico para la lista blanca." #: classes/class.swpm-settings.php:1033 msgid "Email Address Pattern Whitelisting" msgstr "Lista blanca de patrones de direcciones de correo electrónico" #: classes/class.swpm-settings.php:1039 msgid "" "Enter a list (comma separated) of email addresses pattern to whitelist. " "Example value: @gooddomain.com, @gmail.com, @yahoo.com" msgstr "" "Introduce una lista (separada por comas) del patrón de direcciones de correo " "electrónico para la lista blanca. Valor de ejemplo: @gooddomain.com, @gmail." "com, @yahoo.com" #: classes/class.swpm-settings.php:1045 msgid "Whitelist Message Customization" msgstr "Personalización de los mensajes de la lista blanca" #: classes/class.swpm-settings.php:1051 msgid "" "Enter the message you want to show to the user when the whitelisted " "condition is met. Leave it empty to use the default message." msgstr "" "Introduce el mensaje que deseas mostrar al usuario cuando se cumple la " "condición de la listas blancas. Déjalo vacío para usar el mensaje por " "defecto." #: classes/class.swpm-settings.php:1056 msgid "Blacklisting" msgstr "Listas negras" #: classes/class.swpm-settings.php:1060 msgid "Enable Blacklisting Feature" msgstr "Activar la característica de la listas negras" #: classes/class.swpm-settings.php:1066 msgid "When enabled, blacklisting feature will be activated." msgstr "" "Cuando está activado, se activará la característica de la listas negras." #: classes/class.swpm-settings.php:1072 msgid "Email Address Blacklisting" msgstr "Listas negras de direcciones de correo electrónico" #: classes/class.swpm-settings.php:1078 msgid "Enter a list (comma separated) of email addresses to blacklist." msgstr "" "Introduce una lista (separada por comas) de direcciones de correo " "electrónico para la lista negra." #: classes/class.swpm-settings.php:1084 msgid "Email Address Pattern Blacklisting" msgstr "Listas negras de patrones de direcciones de correo electrónico" #: classes/class.swpm-settings.php:1090 msgid "" "Enter a list (comma separated) of email addresses pattern to blacklist. " "Example value: @baddomain.com, @crazydomain.com" msgstr "" "Introduce una lista (separada por comas) del patrón de direcciones de correo " "electrónico a la lista negra. Valor de ejemplo: @baddomain.com, @crazydomain." "com" #: classes/class.swpm-settings.php:1096 msgid "Blacklist Message Customization" msgstr "Personalización de mensajes de la lista negra" #: classes/class.swpm-settings.php:1102 msgid "" "Enter the message you want to show to the user when the blacklisted " "condition is met. Leave it empty to use the default message." msgstr "" "Introduce el mensaje que deseas mostrar al usuario cuando se cumple la " "condición de la lista negra. Déjalo vacío para usar el mensaje por defecto." #: classes/class.swpm-settings.php:1201 #, php-format msgid "Visit the %s to read setup and configuration documentation." msgstr "" "Visita el %s para leer la documentación de instalación y configuración." #: classes/class.swpm-settings.php:1201 msgid "Simple Membership Plugin Site" msgstr "Sitio de Simple Membership plugin" #: classes/class.swpm-settings.php:1202 #, php-format msgid "Please %s if you like the plugin." msgstr "Por favor, %s si te gusta el plugin." #: classes/class.swpm-settings.php:1202 msgid "give us a rating" msgstr "danos una valoración" #: classes/class.swpm-settings.php:1220 classes/class.swpm-settings.php:1250 #: classes/class.swpm-settings.php:1461 classes/class.swpm-settings.php:1489 #: classes/class.swpm-settings.php:1522 msgid "Settings updated!" msgstr "¡Ajustes actualizados!" #: classes/class.swpm-settings.php:1225 msgid "General Plugin Settings." msgstr "Ajustes generales del plugin." #: classes/class.swpm-settings.php:1229 msgid "Page Setup and URL Related settings." msgstr "Configuración de la página y ajustes relacionados con la URL." #: classes/class.swpm-settings.php:1232 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" "Las siguientes páginas son necesarias para que el plugin funcione " "correctamente. Estas páginas fueron creadas automáticamente por el plugin en " "el momento de la instalación." #: classes/class.swpm-settings.php:1233 msgid "" " Read this documentation " "to learn how to recreate them (if needed)." msgstr "" " Lee esta documentación " "para aprender a recrearlos (si es necesario)." #: classes/class.swpm-settings.php:1239 msgid "" "Optional page. It is automatically created by the plugin when you install " "the plugin for the first time." msgstr "" "Página opcional. Es creado automáticamente por el plugin cuando instalas el " "plugin por primera vez." #: classes/class.swpm-settings.php:1244 msgid "Testing and Debug Related Settings." msgstr "Ajustes relacionados con pruebas y depuración." #: classes/class.swpm-settings.php:1255 msgid "" "This section allows you to enable/disable sandbox or test mode for the " "payment buttons." msgstr "" "Esta sección te permite activar/desactivar entorno de pruebas o modo de " "prueba para los botones de pago." #: classes/class.swpm-settings.php:1259 msgid "Configure the PayPal API credentials for the new PayPal checkout." msgstr "" "Configura las credenciales de la API de PayPal para el nuevo proceso de pago " "de PayPal." #: classes/class.swpm-settings.php:1260 msgid "Read this documentation" msgstr "Lee esta documentación" #: classes/class.swpm-settings.php:1260 msgid "to learn how to get your PayPal API credentials." msgstr "para aprender a obtener tus credenciales de la API de PayPal." #: classes/class.swpm-settings.php:1264 msgid "PayPal Account Setup" msgstr "Configuración de la cuenta de PayPal" #: classes/class.swpm-settings.php:1277 msgid "Live Account Connnection Status" msgstr "Estado de conexión de la cuenta en vivo" #: classes/class.swpm-settings.php:1290 msgid "" "Live account is connected. If you experience any issues, please disconnect " "and reconnect." msgstr "" "La cuenta en vivo está conectada. Si tienes algún problema, por favor, " "desconecta y vuelve a conectarte." #: classes/class.swpm-settings.php:1297 msgid "Live PayPal account is not connected." msgstr "La cuenta de PayPal en vivo no está conectada." #: classes/class.swpm-settings.php:1307 msgid "Sandbox Account Connnection Status" msgstr "Estado de conexión de la cuenta de entorno de pruebas" #: classes/class.swpm-settings.php:1320 msgid "" "Sandbox account is connected. If you experience any issues, please " "disconnect and reconnect." msgstr "" "La cuenta de entorno de pruebas está conectado. Si tienes algún problema, " "por favor, desconecta y vuelve a conectarte." #: classes/class.swpm-settings.php:1327 msgid "Sandbox PayPal account is not connected." msgstr "La cuenta de entorno de pruebas de PayPal no está conectada." #: classes/class.swpm-settings.php:1343 msgid "PayPal Webhooks" msgstr "PayPal Webhooks" #: classes/class.swpm-settings.php:1344 msgid "" "The PayPal payment buttons that uses the new API require webhooks. The " "plugin will auto-create the required webhooks when you create a PayPal " "payment button." msgstr "" "Los botones de pago de PayPal que usan la nueva API requieren webhooks. El " "plugin creará automáticamente los webhooks necesarios cuando crees un botón " "de pago de PayPal." #: classes/class.swpm-settings.php:1345 msgid "" "If you have issues with the webhooks, you can delete it and create again." msgstr "" "Si tienes problemas con los webhooks, puedes borrarlos y volver a crearlos." #: classes/class.swpm-settings.php:1362 msgid "" "Live Webhook exists. If you still have issues with webhooks, you can delete " "it and create again." msgstr "" "El webhook en vivo existe. Si aún tienes problemas con los webhooks, puedes " "borrarlos y crearlos nuevamente." #: classes/class.swpm-settings.php:1368 msgid "" "Live PayPal API credentials are not set. Please set the Live PayPal API " "credentials first." msgstr "" "Las credenciales de la API de PayPal en vivo no están configuradas. Por " "favor, primero configura las credenciales de la API de PayPal en vivo." #: classes/class.swpm-settings.php:1372 msgid "" "No webhook found. Use the following Create Live Webhook link to create a new " "webhook automatically." msgstr "" "No se encontró ningún webhook. Usa el siguiente enlace «crear webhook en " "vivo» para crear un nuevo webhook automáticamente." #: classes/class.swpm-settings.php:1376 msgid "Create Live Webhook" msgstr "Crear webhook en vivo" #: classes/class.swpm-settings.php:1390 msgid "" "Sandbox Webhook exists. If you still have issues with webhooks, you can " "delete it and create again." msgstr "" "El entorno de pruebas de webhook existe. Si aún tienes problemas con los " "webhooks, puedes borrarlos y crearlos nuevamente." #: classes/class.swpm-settings.php:1396 msgid "" "Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal " "API credentials first." msgstr "" "Las credenciales de la API de entorno de pruebas de PayPal no están " "configuradas. Por favor, configura primero las credenciales de la API de " "entorno de pruebas de PayPal." #: classes/class.swpm-settings.php:1400 msgid "" "No webhook found. Use the following Create Sandbox Webhook link to create a " "new webhook automatically." msgstr "" "No se encontró ningún webhook. Usa el siguiente vínculo «crear webhook de " "entorno de pruebas» para crear un nuevo webhook automáticamente." #: classes/class.swpm-settings.php:1404 msgid "Create Sandbox Webhook" msgstr "Crear webhook de entorno de pruebas" #: classes/class.swpm-settings.php:1411 classes/class.swpm-settings.php:1421 msgid "Delete Webhooks" msgstr "Borrar Webhook" #: classes/class.swpm-settings.php:1416 msgid "" "PayPal API credentials are missing. Please set the PayPal API credentials." msgstr "" "Faltan las credenciales de la API de PayPal. Por favor, configura las " "credenciales de la API de PayPal." #: classes/class.swpm-settings.php:1432 msgid "This section allows you to configure Stripe payment related settings." msgstr "" "Esta sección te permite configurar los ajustes relacionados con el pago de " "Stripe." #: classes/class.swpm-settings.php:1436 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Este correo electrónico se enviará a tus usuarios cuando completen el " "registro y se conviertan en miembros." #: classes/class.swpm-settings.php:1440 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Este correo electrónico se enviará a tus usuarios cuando usen la " "funcionalidad de restablecimiento de la contraseña." #: classes/class.swpm-settings.php:1446 msgid "" "This interface lets you customize the various emails that get sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" "Esta interfaz te permite personalizar los diversos correos electrónicos que " "se envían a tus miembros para diversas acciones. Los ajustes por defecto " "deberían ser buenos para comenzar." #: classes/class.swpm-settings.php:1450 views/admin_tools_settings.php:88 msgid "This documentation" msgstr "Esta documentación" #: classes/class.swpm-settings.php:1451 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" " explica qué etiquetas de combinación de correo electrónico puedes usar en " "el campo del cuerpo del correo electrónico para personalizarlo (si lo " "deseas)." #: classes/class.swpm-settings.php:1464 msgid "Settings in this section apply to all emails." msgstr "" "Los ajustes de esta sección se aplican a todos los correos electrónicos." #: classes/class.swpm-settings.php:1468 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Este correo electrónico se enviará a tus usuarios después de la " "actualización de la cuenta (cuando un miembro existente paga por un nuevo " "nivel de membresía)." #: classes/class.swpm-settings.php:1472 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Este correo electrónico se enviará a tus miembros cuando usen la acción de " "activación y notificación en lotes de la cuenta." #: classes/class.swpm-settings.php:1473 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" " No puedes usar etiquetas de combinación de correo electrónico en este " "correo electrónico. Solo puedes usar texto genérico." #: classes/class.swpm-settings.php:1477 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" "Este correo electrónico se enviará si la activación de correo electrónico " "está activada para un nivel de membresía." #: classes/class.swpm-settings.php:1481 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Este correo electrónico se enviará para solicitar a los usuarios que " "completen el registro después del pago." #: classes/class.swpm-settings.php:1504 msgid "" "Note: You cannot enable both the \"Disable Access to WP Dashboard\" and " "\"Admin Dashboard Access Permission\" options at the same time. Only use one " "of those options." msgstr "" "Nota: No puedes activar las opciones «Desactivar el acceso al escritorio de " "WP» y «Permiso de acceso al escritorio de administración» al mismo tiempo. " "Usa solo una de esas opciones." #: classes/class.swpm-settings.php:1513 msgid "This page allows you to configure some advanced features of the plugin." msgstr "" "Esta página te permite configurar algunas características avanzadas del " "plugin." #: classes/class.swpm-settings.php:1527 msgid "" "This interface lets you configure blacklisting & whitelisting for email " "addresses. " msgstr "" "Esta interfaz te permite configurar listas negras y listas blancas para " "direcciones de correo electrónico. " #: classes/class.swpm-settings.php:1528 msgid "This blacklisting & whitelisting documentation" msgstr "Esta documentación de la lista negra y lista blanca" #: classes/class.swpm-settings.php:1529 msgid " explains how to use this feature." msgstr " explica cómo se usa esta característica." #: classes/class.swpm-settings.php:1535 msgid "This section allows you to configure whitelisting settings." msgstr "Esta sección te permite configurar los ajustes de la lista blanca." #: classes/class.swpm-settings.php:1539 msgid "This section allows you to configure blacklisting settings." msgstr "Esta sección te permite configurar los ajustes de la lista negra." #: classes/class.swpm-settings.php:1543 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" "Esta sección te permite configurar la creación automática de cuentas de " "miembros cuando otro plugin crea nuevos registros de usuario de WP. Puede " "ser útil si estás usando otro plugin que crea registros de usuario de WP y " "deseas que se reconozcan en el plugin de membresía." #: classes/class.swpm-settings.php:1547 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" "Esta sección te permite configurar los términos y condiciones y la política " "de privacidad que los usuarios deben aceptar en el momento del registro." #: classes/class.swpm-settings.php:1724 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Ajustes" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 #: classes/class.swpm-utils-member.php:68 msgid "User is not logged in." msgstr "El usuario no está conectado." #: classes/class.swpm-utils-member.php:88 msgid "No Expiry" msgstr "Sin caducidad" #: classes/class.swpm-utils-misc.php:57 msgid "Registration" msgstr "Registro" #: classes/class.swpm-utils-misc.php:85 msgid "Member Login" msgstr "Acceso de miembro" #: classes/class.swpm-utils-misc.php:113 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:150 msgid "Profile" msgstr "Perfil" #: classes/class.swpm-utils-misc.php:141 msgid "Password Reset" msgstr "Restablecer la contraseña" #: classes/class.swpm-utils-misc.php:169 msgid "Thank You" msgstr "Gracias" #: classes/class.swpm-utils-misc.php:224 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "" "Serás redirigido automáticamente en unos pocos segundos. Si no, por favor %s." #: classes/class.swpm-utils-misc.php:228 msgid "Action Status" msgstr "Estado de la acción" #: classes/class.swpm-utils-misc.php:415 msgid "Not a Member?" msgstr "¿Aún no eres miembro?" #: classes/class.swpm-utils-misc.php:426 msgid "renew" msgstr "renovar" #: classes/class.swpm-utils-misc.php:426 msgid " your account to gain access to this content." msgstr " tu cuenta para acceder a este contenido." #: classes/class.swpm-utils-misc.php:494 classes/class.swpm-utils-misc.php:500 msgid "Error! This action (" msgstr "¡Error! Esta acción (" #: classes/class.swpm-utils-misc.php:972 msgid "(Please Select)" msgstr "(Por favor, elige)" #: classes/class.swpm-utils-misc.php:988 #: views/payments/admin_create_payment_buttons.php:34 msgid "PayPal Buy Now" msgstr "Comprar ahora de PayPal" #: classes/class.swpm-utils-misc.php:989 #: views/payments/admin_create_payment_buttons.php:36 msgid "PayPal Subscription" msgstr "Suscripción de PayPal" #: classes/class.swpm-utils-misc.php:990 #: views/payments/admin_create_payment_buttons.php:38 msgid "PayPal Buy Now (New API)" msgstr "PayPal Comprar ahora (API nueva)" #: classes/class.swpm-utils-misc.php:991 #: views/payments/admin_create_payment_buttons.php:40 msgid "PayPal Subscription (New API)" msgstr "Suscripción de PayPal (API nueva)" #: classes/class.swpm-utils-misc.php:992 msgid "PayPal Smart Checkout" msgstr "Pago inteligente de PayPal" #: classes/class.swpm-utils-misc.php:993 msgid "Stripe Buy Now" msgstr "Comprar ahora de Stripe" #: classes/class.swpm-utils-misc.php:994 msgid "Stripe Subscription" msgstr "Suscripción de Stripe" #: classes/class.swpm-utils-misc.php:995 #: views/payments/admin_create_payment_buttons.php:44 msgid "Stripe SCA Buy Now" msgstr "Comprar ahora de Stripe SCA" #: classes/class.swpm-utils-misc.php:996 #: views/payments/admin_create_payment_buttons.php:46 msgid "Stripe SCA Subscription" msgstr "Suscripción de Stripe SCA" #: classes/class.swpm-utils-misc.php:997 #: views/payments/admin_create_payment_buttons.php:42 msgid "Braintree Buy Now" msgstr "Comprar ahora de Braintree" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "" "¡Error! No se pudo encontrar una ruta de plantilla para la plantilla " "especificada: " #: classes/class.swpm-utils.php:111 msgid "Never" msgstr "Nunca" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Masculino" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Femenino" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "No especificado" #: classes/class.swpm-utils.php:126 views/admin_members_list.php:33 msgid "Active" msgstr "Activada" #: classes/class.swpm-utils.php:127 views/admin_members_list.php:34 msgid "Inactive" msgstr "Inactivo" #: classes/class.swpm-utils.php:128 views/admin_members_list.php:35 msgid "Activation Required" msgstr "Activación obligatoria" #: classes/class.swpm-utils.php:129 views/admin_members_list.php:36 msgid "Pending" msgstr "Pendiente" #: classes/class.swpm-utils.php:130 views/admin_members_list.php:38 msgid "Expired" msgstr "Caducado" #: classes/class.swpm-utils.php:523 views/account_delete_warning.php:3 #: views/account_delete_warning.php:16 msgid "Confirm Account Deletion" msgstr "Confirmar eliminación de cuenta" #: classes/class.swpm-utils.php:534 msgid "Delete Account" msgstr "Borrar cuenta" #: classes/class.swpm-utils.php:708 msgid "Member's first name" msgstr "Nombre de pila del miembro" #: classes/class.swpm-utils.php:709 msgid "Member's last name" msgstr "Apellido del miembro" #: classes/class.swpm-utils.php:710 msgid "Member's email address" msgstr "Dirección de correo electrónico del miembro" #: classes/class.swpm-utils.php:711 #: views/payments/admin_add_edit_transaction_manually.php:99 #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "ID de miembro" #: classes/class.swpm-utils.php:712 msgid "Member's username" msgstr "Nombre de usuario del miembro" #: classes/class.swpm-utils.php:713 msgid "Account status" msgstr "Estado de la cuenta" #: classes/class.swpm-utils.php:714 msgid "Membership level ID" msgstr "ID del nivel de membresía" #: classes/class.swpm-utils.php:715 msgid "Membership level name" msgstr "Nombre del nivel de membresía" #: classes/class.swpm-utils.php:716 msgid "Phone number (if available)" msgstr "Número de teléfono (si está disponible)" #: classes/class.swpm-utils.php:717 msgid "Member since date" msgstr "Miembro desde la fecha" #: classes/class.swpm-utils.php:718 msgid "Subscription start date" msgstr "Fecha de inicio de la suscripción" #: classes/class.swpm-utils.php:719 msgid "Company name" msgstr "Nombre de la empresa" #: classes/class.swpm-utils.php:720 msgid "Member's address" msgstr "Dirección del miembro" #: classes/class.swpm-wp-loaded-tasks.php:118 msgid "" "You will be redirected to the previous page in a few seconds. If not, please " "click here." msgstr "" "Serás redirigido a la página anterior en unos segundos. Si no, por favor, haz clic aquí." #: classes/class.swpm-wp-loaded-tasks.php:121 msgid "Success!" msgstr "¡Correcto!" #: classes/class.swpm-wp-loaded-tasks.php:129 msgid "No token provided." msgstr "No se ha proporcionado ningún token." #: classes/class.swpm-wp-loaded-tasks.php:136 msgid "Nonce check failed." msgstr "Ha fallado la comprobación del nonce." #: classes/class.swpm-wp-loaded-tasks.php:165 msgid "Subscription has been cancelled." msgstr "La suscripción ha sido cancelada." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:79 msgid "Your membership profile will be updated to reflect the payment." msgstr "Tu perfil de membresía se actualizará para reflejar el pago." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:80 msgid "Your profile username: " msgstr "Nombre de usuario de tu perfil: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:99 msgid "Click on the following link to complete the registration." msgstr "Haga clic en el siguiente enlace para completar el registro." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:100 msgid "Click here to complete your paid registration" msgstr "Haz clic aquí para completar tu registro de pago" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:107 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Si acabas de hacer un pago de membresía, entonces tu pago todavía debe ser " "procesado. Por favor vuelve a revisarlo en unos minutos. Un correo " "electrónico te será enviado con los detalles en breve." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:124 msgid "Expiry: " msgstr "Caducidad: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:126 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:171 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:253 msgid "You are not logged-in as a member" msgstr "No estás conectado como miembro" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:148 msgid "Logged in as: " msgstr "Conectado como: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:151 #: views/loggedin.php:34 msgid "Logout" msgstr "Salir" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:154 msgid "Login Here" msgstr "Accede aquí" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:155 msgid "Not a member? " msgstr "¿No eres miembro? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:156 msgid "Join Now" msgstr "Únete ahora" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:233 msgid "Unsubscribe from PayPal" msgstr "Darse de baja de PayPal" #. translators: %1$d is error code; %2$s is error message. #: ipn/swpm-smart-checkout-ipn.php:270 ipn/swpm-smart-checkout-ipn.php:297 #, php-format msgid "" "Error occured during payment verification. Error code: %1$d. Message: %2$s" msgstr "" "Se ha producido un error durante la verificación del pago. Código de error: " "%1$d. Mensaje: %2$s" #. translators: %1$s is expected amount, %2$s is expected currency. #: ipn/swpm-smart-checkout-ipn.php:311 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s " "%4$s." msgstr "" "Error en la comprobación de pago: se ha recibido la cantidad no válida. Se " "esperaba %1$s %2$s, pero se obtuvo %3$s %4$s." #: ipn/swpm-smart-checkout-ipn.php:347 msgid "Empty payment data received." msgstr "Datos de pago vacíos recibidos." #: ipn/swpm-smart-checkout-ipn.php:407 msgid "IPN product validation failed. Check the debug log for more details." msgstr "" "La validación del producto IPN ha fallado. Comprueba el registro de " "depuración para más detalles." #: lib/paypal/class-swpm-paypal-acdc-related.php:130 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:40 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:228 #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:28 msgid "Empty data received." msgstr "Se han recibido datos vacíos." #: lib/paypal/class-swpm-paypal-acdc-related.php:152 #: lib/paypal/class-swpm-paypal-acdc-related.php:227 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:54 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:242 #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:42 msgid "" "Nonce check failed. The page was most likely cached. Please reload the page " "and try again." msgstr "" "La comprobación de nonce falló. Lo más probable es que la página haya sido " "almacenada en caché. Vuelve a cargar la página e inténtalo de nuevo." #: lib/paypal/class-swpm-paypal-acdc-related.php:190 msgid "" "Failed to create the order. Enable the debug logging feature to get more " "details." msgstr "" "No se pudo crear el pedido. Activar la característica de registro de " "depuración para obtener más detalles." #: lib/paypal/class-swpm-paypal-acdc-related.php:213 msgid "Empty order ID received." msgstr "Recibido un ID de pedido vacío." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:66 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:254 msgid "Empty transaction data received." msgstr "Se han recibido datos de transacción vacíos." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:324 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:325 msgid "subscription created" msgstr "suscripción creada" #: lib/paypal/class-swpm-paypal-webhook.php:310 msgid "" "No webhook found. Use the following Create Webhook button to create a new " "webhook automatically in your PayPal account." msgstr "" "No se ha encontrado ningún webhook. Usa el siguiente botón Crear Webhook " "para crear un nuevo webhook automáticamente en tu cuenta de PayPal." #: lib/paypal/class-swpm-paypal-webhook.php:314 #, php-format msgid "" "PayPal API Credential information is missing in settings. Please enter valid " "PayPal API Credentials in the General Settings tab for %s mode." msgstr "" "Falta la información de la credencial de la API de PayPal en los ajustes. " "Por favor, introduce las credenciales de la API de PayPal válidas en la " "pestaña ajustes general para el modo %s." #: lib/paypal/class-swpm-paypal-webhook.php:316 #, php-format msgid "" "Invalid or Missing API Credentials! Check the plugin settings and enter " "valid API credentials in the PayPal Credentials section for %s mode." msgstr "" "¡Credenciales de la API no válidas o ausentes! Comprobar los ajustes del " "plugin e introduce los credenciales de la API válidos en la sección " "Credenciales de PayPal para el modo %s." #: lib/paypal/class-swpm-paypal-webhook.php:326 msgid "" "Webhook exists. If you still have issues with webhooks, you can delete it " "and create again." msgstr "" "El webhook existe. Si aún tienes problemas con los webhooks, puedes " "borrarlos y crearlos nuevamente." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "Invalid webhook URL." msgstr "La URL de webhook no es válida." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "" "Note that the PayPal subscription API requires your site to use HTTPS URLs. " "You must use an SSL certificate with HTTPS URLs to complete the setup of the " "subscription addon and use it." msgstr "" "Tenga en cuenta que la API de suscripción de PayPal requiere que tu sitio " "use URLs HTTPS. Debes usar un certificado SSL con URLs HTTPS para completar " "la configuración de la extensión de suscripción y usarlo." #: lib/paypal/class-swpm-paypal-webhook.php:362 msgid "Webhook has been created." msgstr "El webhook ha sido creado." #: lib/paypal/class-swpm-paypal-webhook.php:386 msgid "Webhook has been deleted." msgstr "El webhook ha sido borrado." #: lib/paypal/class-swpm-paypal-webhook.php:399 msgid "No webhook found. Nothing to delete." msgstr "No se ha encontrado ningún webhook. Nada que borrar." #: lib/paypal/class-swpm-paypal-webhook.php:416 msgid "Live mode credentials are not set. Cannot create webhook." msgstr "" "Las credenciales del modo en vivo no están configuradas. No se puede crear " "un webhook." #: lib/paypal/class-swpm-paypal-webhook.php:431 msgid "Sandbox mode credentials are not set. Cannot create webhook." msgstr "" "Las credenciales del entorno de pruebas no están configuradas. No se puede " "crear un webhook." #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:58 msgid "" "Failed to generate access token. check debug log file for any error message." msgstr "" "No se pudo generar el token de acceso. Comprueba el archivo de registro de " "depuración para ver si hay algún mensaje de error." #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:72 msgid "" "Failed to get seller API credentials. check debug log file for any error " "message." msgstr "" "No se pudieron obtener las credenciales de la API del vendedor. Comprueba el " "archivo de registro de depuración para ver si hay algún mensaje de error." #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:94 msgid "" "Failed to get seller account status. check debug log file for any error " "message." msgstr "" "No se pudo obtener el estado de la cuenta del vendedor. Comprueba el archivo " "de registro de depuración para ver si hay algún mensaje de error." #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:110 msgid "" "Your PayPal account is limited so you cannot accept payment. Contact PaPal " "support or check your PayPal account inbox for an email from PayPal for the " "next steps to remove the account limit." msgstr "" "Tu cuenta de PayPal es limitada por lo que no puedes aceptar pagos. " "Comunícate con el soporte de PayPal o consulta la bandeja de entrada de tu " "cuenta de PayPal para recibir un correo electrónico de PayPal con los " "siguientes pasos para eliminar el límite de la cuenta." #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:119 msgid "" "Your PayPal account email is not confirmed. Check your PayPal account inbox " "for an email from PayPal to confirm your PayPal email address." msgstr "" "El correo electrónico de tu cuenta de PayPal no está confirmado. Comprueba " "la bandeja de entrada de tu cuenta de PayPal para recibir un correo " "electrónico de PayPal para confirmar tu dirección de correo electrónico de " "PayPal." #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "Estás a punto de borrar una cuenta. Esto eliminará los datos de usuario " "asociados con esta cuenta. " #: views/account_delete_warning.php:8 msgid "It will also delete the associated WordPress user account." msgstr "También borrará la cuenta de usuario de WordPress asociada." #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(NOTA: por seguridad, no permitimos borrar ninguna cuenta de WordPress " "asociada con el perfil de administrador)." #: views/account_delete_warning.php:12 msgid "" "To proceed with the deletion process, please enter the current password for " "this user account." msgstr "" "Para continuar con el proceso de eliminación, por favor, introduce la " "contraseña actual para esta cuenta de usuario." #: views/account_delete_warning.php:15 msgid "Password: " msgstr "Contraseña: " #: views/add-v2.php:26 views/add.php:26 views/admin_add.php:20 #: views/admin_edit.php:44 views/edit.php:31 views/login.php:32 msgid "Password" msgstr "Contraseña" #: views/add-v2.php:30 views/add.php:30 views/edit.php:35 msgid "Repeat Password" msgstr "Repetir contraseña" #: views/add-v2.php:70 views/add.php:68 msgid "I accept the " msgstr "acepto las " #: views/add-v2.php:82 views/add.php:80 msgid "I agree to the " msgstr "Estoy de acuerdo con la " #: views/add-v2.php:82 views/add.php:80 msgid "Privacy Policy" msgstr "Política de privacidad" #: views/add-v2.php:92 views/add.php:91 msgid "Register" msgstr "Registrarse" #: views/admin_add.php:8 msgid "Create a brand new user and add it to this site." msgstr "Crear un nuevo usuario y agregarlo a esta web." #: views/admin_add.php:12 views/admin_add.php:16 views/admin_add_level.php:19 #: views/admin_add_level.php:23 views/admin_add_level.php:27 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:25 views/admin_edit_level.php:29 #: views/admin_edit_level.php:33 msgid "(required)" msgstr "(obligatorio)" #: views/admin_add.php:16 views/admin_edit.php:40 msgid "E-mail" msgstr "Correo electrónico" #: views/admin_add.php:20 msgid "(twice, required)" msgstr "(dos veces, obligatorio)" #: views/admin_add.php:25 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Indicador de fortaleza" #: views/admin_add.php:26 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Pista: La contraseña debe tener al menos siete caracteres. Para hacerla más " "fuerte utiliza mayúsculas y minúsculas, números y símbolos como ! \" ? $ % ^ " "& )." #: views/admin_add.php:30 views/admin_edit.php:53 views/loggedin.php:13 msgid "Account Status" msgstr "Estado de la cuenta" #: views/admin_add.php:49 msgid "Add New Member " msgstr "Añadir nuevo miembro " #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Añadir nuevo nivel de membresía" #: views/admin_add_level.php:9 msgid "Create new membership level." msgstr "Crear un nuevo nivel de membresía." #: views/admin_add_level.php:10 views/admin_edit_level.php:10 msgid " Refer to " msgstr " Consulta a " #: views/admin_add_level.php:11 views/admin_edit.php:60 #: views/admin_edit_level.php:11 msgid "this documentation" msgstr "esta documentación" #: views/admin_add_level.php:12 views/admin_edit_level.php:12 msgid " to learn how a membership level works." msgstr " para aprender cómo funciona un nivel de membresía." #: views/admin_add_level.php:19 views/admin_edit_level.php:25 msgid "Membership Level Name" msgstr "Nombre del nivel de membresía" #: views/admin_add_level.php:23 views/admin_edit_level.php:29 msgid "Default WordPress Role" msgstr "Perfil por defecto de WordPress" #: views/admin_add_level.php:27 views/admin_edit_level.php:33 msgid "Access Duration" msgstr "Duración del acceso" #: views/admin_add_level.php:30 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Sin caducidad (el acceso a este nivel no caducará hasta que se cancele" #: views/admin_add_level.php:31 views/admin_add_level.php:33 #: views/admin_add_level.php:35 views/admin_add_level.php:37 #: views/admin_edit_level.php:37 views/admin_edit_level.php:40 #: views/admin_edit_level.php:43 views/admin_edit_level.php:46 msgid "Expire After" msgstr "Caduca después de" #: views/admin_add_level.php:32 views/admin_edit_level.php:38 msgid "Days (Access expires after given number of days)" msgstr "Días (el acceso caduca después del número establecido de días)" #: views/admin_add_level.php:34 msgid "Weeks (Access expires after given number of weeks" msgstr "Semanas (el acceso caduca después del número establecido de semanas" #: views/admin_add_level.php:36 views/admin_edit_level.php:44 msgid "Months (Access expires after given number of months)" msgstr "Meses (El acceso caduca después del número establecido de meses)" #: views/admin_add_level.php:38 views/admin_edit_level.php:47 msgid "Years (Access expires after given number of years)" msgstr "Años (el acceso caduca después del número establecido de años)" #: views/admin_add_level.php:39 views/admin_edit_level.php:49 msgid "Fixed Date Expiry" msgstr "Fecha de caducidad fija" #: views/admin_add_level.php:40 views/admin_edit_level.php:50 msgid "(Access expires on a fixed date)" msgstr "(El acceso caduca en una fecha establecida)" #: views/admin_add_level.php:45 views/admin_edit_level.php:55 msgid "Email Activation" msgstr "Activación por correo electrónico" #: views/admin_add_level.php:50 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" "Activa la activación del nuevo usuario a través de correo electrónico. " "Cuando esté activado, los miembros deberán hacer clic en un enlace de " "activación que se envía a su dirección de correo electrónico para activar la " "cuenta. Útil para la membresía gratis. " #: views/admin_add_level.php:51 views/admin_edit_level.php:61 msgid "View Documentation" msgstr "Ver la documentación" #: views/admin_add_level.php:52 views/admin_edit_level.php:62 msgid "Note:" msgstr "Nota:" #: views/admin_add_level.php:52 msgid "" "If enabled, the member's decryptable password is temporarily stored in the " "database until the account is activated." msgstr "" "Si se activa, la contraseña descifrable del miembro se almacena " "temporalmente en la base de datos hasta que se active la cuenta." #: views/admin_add_level.php:55 views/admin_edit_level.php:65 msgid "After Email Activation Redirection Page (optional)" msgstr "" "Después de la página de redirección de activación de correo electrónico " "(opcional)" #: views/admin_add_level.php:58 views/admin_edit_level.php:68 msgid "" "This option can be used to redirect the users to a designated page after " "they click on the email activation link and activate the account." msgstr "" "Esta opción se puede usar para redirigir a los usuarios a una página " "designada después de hacer clic en el enlace de activación del correo " "electrónico y activar la cuenta." #: views/admin_add_level.php:65 msgid "Add New Membership Level " msgstr "Añadir nuevo nivel de membresía " #: views/admin_add_ons_page.php:11 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Extensiones" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Algunos de los ajustes y opciones de las extensiones de simple membership " "plugin se mostrarán aquí (si los tienes)" #: views/admin_addon_settings.php:10 msgid "Save Changes" msgstr "Guardar cambios" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "En primer lugar, protege las categorías de tu sitio seleccionando " "\"Protección general\" en el siguiente desplegable y selecciona las " "categorías que deseas proteger de los usuarios que no están conectados." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "A continuación, selecciona un nivel de membresía existente en el cuadro " "desplegable de abajo y, a continuación, selecciona las categorías a las que " "deseas conceder el acceso (para ese nivel de membresía en particular)." #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 #: views/admin_post_list.php:11 msgid "Read the " msgstr "Leer la " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "documentación de protección de categoría" #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 msgid "to learn more." msgstr "para aprender más." #: views/admin_category_list.php:19 views/admin_post_list.php:32 msgid "Membership Level:" msgstr "Nivel de membresía:" #: views/admin_category_list.php:21 views/admin_post_list.php:34 msgid "General Protection" msgstr "Protección general" #: views/admin_category_list.php:26 views/admin_post_list.php:39 #: views/edit.php:84 msgid "Update" msgstr "Actualizar" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Editar usuario" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Editar detalles de los miembros existentes." #: views/admin_edit.php:14 msgid " You are currently editing member with member ID: " msgstr " Actualmente estás editando al miembro con el ID de miembro: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(dos veces, déjalo en blanco para mantener la contraseña actual)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" "Este es el estado de la cuenta del miembro. Si deseas activar manualmente la " "cuenta de un miembro caducado, entonces lee" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " para aprender cómo hacerlo." #: views/admin_edit.php:66 msgid "Notify User" msgstr "Notificar al usuario" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" "Puedes usar esta opción para enviar un correo electrónico de notificación " "rápida a este miembro (el correo electrónico se enviará cuando presiones el " "botón guardar a continuación)." #: views/admin_edit.php:103 msgid "Subscriber ID/Reference" msgstr "ID/referencia del suscriptor" #: views/admin_edit.php:107 msgid "Expiry Date" msgstr "Fecha de caducidad" #: views/admin_edit.php:115 msgid "" "This is calculated based on the current membership level assigned to this " "member and the expiry condition that you have set for that membership level." msgstr "" "Esto se calcula según el nivel de membresía actual asignado a este miembro y " "la condición de vencimiento que has establecido para ese nivel de membresía." #: views/admin_edit.php:116 msgid " To learn more about membership level configuration, refer to " msgstr "" " Para aprender más acerca de la configuración del nivel de membresía, " "consulta " #: views/admin_edit.php:117 msgid "" "this documentation." msgstr "" "esta documentación." #: views/admin_edit.php:123 msgid "Last Accessed Date" msgstr "Última fecha de acceso" #: views/admin_edit.php:126 views/admin_edit.php:133 msgid "This value gets updated when this member logs into your site." msgstr "Este valor se actualiza cuando este miembro accede a tu sitio." #: views/admin_edit.php:130 msgid "Last Accessed From IP" msgstr "Último acceso desde el IP" #: views/admin_edit.php:138 msgid "System-related Additional Data" msgstr "Datos adicionales relacionados con el sistema" #: views/admin_edit.php:141 msgid "" "The plugin saves this information for system purposes for some profiles. " "There is no need for you to take any action regarding this value." msgstr "" "El plugin guarda esta información para propósitos del sistema para algunos " "perfiles. No es necesario que tomes ninguna medida con respecto a este valor." #: views/admin_edit.php:150 msgid "Save Data" msgstr "Guardar datos" #: views/admin_edit.php:155 msgid "Delete User Profile" msgstr "Eliminar perfil del usuario" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Editar nivel de membresía" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "Puedes editar los detalles de un nivel de membresía seleccionado desde esta " "interfaz. " #: views/admin_edit_level.php:17 msgid "You are currently editing: " msgstr "Actualmente estas editando: " #: views/admin_edit_level.php:19 msgid " (Level ID: " msgstr " (ID del nivel: " #: views/admin_edit_level.php:36 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Sin caducidad (el acceso a este nivel no caducará hasta que se cancele)" #: views/admin_edit_level.php:41 msgid "Weeks (Access expires after given number of weeks)" msgstr "Semanas (el acceso caducara después del número establecido de semanas)" #: views/admin_edit_level.php:60 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" "Activa la activación del nuevo usuario a través de correo electrónico. " "Cuando esté activado, los miembros deberán hacer clic en un enlace de " "activación que se envía a su dirección de correo electrónico para activar la " "cuenta. Útil para la membresía gratis." #: views/admin_edit_level.php:62 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" "Si está activado, la contraseña del miembro descifrable se almacena " "temporalmente en la base de datos hasta que se active la cuenta." #: views/admin_edit_level.php:75 msgid "Save Membership Level " msgstr "Guardar nivel de membresía " #: views/admin_member_form_common_part.php:14 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Genero" #: views/admin_member_form_common_part.php:21 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Teléfono" #: views/admin_member_form_common_part.php:25 views/edit.php:51 msgid "Street" msgstr "Calle" #: views/admin_member_form_common_part.php:29 views/edit.php:55 msgid "City" msgstr "Ciudad" #: views/admin_member_form_common_part.php:33 views/edit.php:59 msgid "State" msgstr "Región" #: views/admin_member_form_common_part.php:37 views/edit.php:63 msgid "Zipcode" msgstr "Código postal" #: views/admin_member_form_common_part.php:41 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "País" #: views/admin_member_form_common_part.php:45 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Empresa" #: views/admin_member_form_common_part.php:49 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Miembro desde" #: views/admin_members_list.php:32 msgid "All" msgstr "Todos" #: views/admin_members_list.php:37 views/admin_members_list.php:47 msgid "Incomplete" msgstr "Incompleto" #: views/admin_membership_manage.php:5 msgid "content protection documentation" msgstr "documentación de protección de contenido" #: views/admin_membership_manage.php:7 msgid "How to Apply Content Protection" msgstr "Cómo aplicar la protección de contenido" #: views/admin_membership_manage.php:9 msgid "" "Take the following steps to apply protection to your content so only members " "can have access to it." msgstr "" "Realiza los siguientes pasos para aplicar protección a tu contenido para que " "solo los miembros puedan tener acceso a él." #: views/admin_membership_manage.php:12 msgid "Edit the Post or Page that you want to protect in WordPress editor." msgstr "" "Edite la entrada o página que deseas proteger en el editor de WordPress." #: views/admin_membership_manage.php:13 msgid "Scroll down to the section titled 'Simple WP Membership Protection'." msgstr "" "Scroll hacia abajo hasta la sección titulada «Protección simple de membresía " "de WP»." #: views/admin_membership_manage.php:14 msgid "Select 'Yes, Protect this content' option." msgstr "Selecciona la opción «Sí, proteger este contenido»." #: views/admin_membership_manage.php:15 msgid "" "Check the membership levels that should have access to that page's content." msgstr "" "Comprueba los niveles de membresía que deberían tener acceso al contenido de " "esa página." #: views/admin_membership_manage.php:16 msgid "Hit the Update/Save Button to save the changes." msgstr "Haz clic el botón de actualizar/guardar para guardar los cambios." #: views/admin_membership_manage.php:19 msgid "Example Content Protection Settings" msgstr "Ejemplo de ajustes de contenido protegido" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" "En primer lugar, protege globalmente las entradas y las páginas de tu sitio " "seleccionando \"Protección general\" en el cuadro desplegable que aparece a " "continuación y luego selecciona las entradas y las páginas que deben ser " "protegidas de los usuarios que no están conectados." #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" "A continuación, selecciona un nivel de membresía existente en el cuadro " "desplegable de abajo y, a continuación, selecciona las entradas y las " "páginas que deseas conceder acceso (para ese nivel de membresía en " "particular)." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "protección en lotes de entradas y páginas de documentación" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr " para aprender a usarlo." #: views/admin_post_list.php:21 msgid "Posts" msgstr "Entradas" #: views/admin_post_list.php:22 msgid "Pages" msgstr "Páginas" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "Contenidos personalizados" #: views/admin_send_direct_email_menu.php:14 msgid "Send Direct Email to Members" msgstr "Enviar correo electrónico directo a los miembros" #: views/admin_send_direct_email_menu.php:18 msgid "" "This feature allows you to send emails to a group of members based on their " "membership level or individual member IDs." msgstr "" "Esta característica te permite enviar correos electrónicos a un grupo de " "miembros basado en su nivel de membresía o ID de miembro individual." #: views/admin_send_direct_email_menu.php:19 msgid "" "Refer to this documentation " "page for more details." msgstr "" "Consulta esta página de " "documentación para más detalles." #: views/admin_send_direct_email_menu.php:26 msgid "Target Recipients" msgstr "Elegir destinatarios" #: views/admin_send_direct_email_menu.php:31 msgid "Send to Membership Level" msgstr "Enviar al nivel de membresía" #: views/admin_send_direct_email_menu.php:35 msgid "Send to Member IDs" msgstr "Enviar a IDs de miembro" #: views/admin_send_direct_email_menu.php:42 msgid "Select a level" msgstr "Selecciona un nivel" #: views/admin_send_direct_email_menu.php:45 msgid "Choose the membership level for email recipients." msgstr "" "Elige el nivel de membresía para los destinatarios de correo electrónico." #: views/admin_send_direct_email_menu.php:49 msgid "Enter member IDs separated by comma to specify the recipients." msgstr "" "Introduce los IDs de los miembros separados por comas para especificar los " "destinatarios." #: views/admin_send_direct_email_menu.php:61 msgid "Enter the subject for the email." msgstr "Introduce el asunto para el correo electrónico." #: views/admin_send_direct_email_menu.php:67 msgid "Allow HTML" msgstr "Permitir HTML" #: views/admin_send_direct_email_menu.php:71 msgid "" "Enables HTML support in the email. For optimal email delivery rate, we " "suggest using plain text (non-HTML) email." msgstr "" "Activa la compatibilidad con HTML en el correo electrónico. Para una tasa de " "entrega de correo electrónico óptima, sugerimos usar correo electrónico de " "texto sin formato (no HTML)." #: views/admin_send_direct_email_menu.php:90 msgid "" "Enter the email content that will be sent to members. You can utilize the " "following email merge tags in this message (click to copy tags to clipboard)." msgstr "" "Introduce el contenido del correo electrónico que se enviará a los miembros. " "Puedes usar las siguientes etiquetas de combinación de correo electrónico en " "este mensaje (hacer clic para copiar las etiquetas al portapapeles)." #: views/admin_send_direct_email_menu.php:99 msgid "Please note that the following merge tag does not work in this email." msgstr "" "Por favor, ten en cuenta que la siguiente etiqueta de combinación no " "funciona en este correo electrónico." #: views/admin_send_direct_email_menu.php:103 msgid "" "This tag will not work in this email since the password is stored in the " "database using a one-way hash, which means that the plugin cannot retrieve " "the plain text password once the account has been created." msgstr "" "Esta etiqueta no funcionará en este correo electrónico ya que la contraseña " "se almacena en la base de datos usando un hash unidireccional, lo que " "significa que el plugin no puede recuperar la contraseña de texto sin " "formato una vez que se ha creado la cuenta." #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "Las páginas obligatorias han sido recreadas." #: views/admin_tools_settings.php:22 msgid "This interface contains useful tools for various admin operations." msgstr "" "Esta interfaz contiene herramientas útiles para varias operaciones de " "administración." #: views/admin_tools_settings.php:27 msgid "Generate a Registration Completion link" msgstr "Genera un enlace para completar el registro" #: views/admin_tools_settings.php:30 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Puedes generar manualmente un enlace para completar el registro aquí y " "enviárselo al usuario si ha perdido el correo electrónico que se les envía " "después del pago." #: views/admin_tools_settings.php:35 msgid "Generate Registration Completion Link" msgstr "Genera el enlace para completar el registro" #: views/admin_tools_settings.php:36 msgid "For a Particular Member ID" msgstr "Para una ID de miembro en particular" #: views/admin_tools_settings.php:38 msgid "OR" msgstr "O" #: views/admin_tools_settings.php:39 msgid "For All Incomplete Registrations" msgstr "Por todas las inscripciones incompletas" #: views/admin_tools_settings.php:44 msgid "Send Registration Reminder Email Too" msgstr "También envía el correo electrónico de recordatorio de registro" #: views/admin_tools_settings.php:50 msgid "Submit" msgstr "Enviar" #: views/admin_tools_settings.php:59 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Enlace(s) generado correctamente. Los siguientes enlace(s) pueden ser " "utilizados para completar el registro." #: views/admin_tools_settings.php:61 msgid "Registration completion links will appear below" msgstr "Los enlaces para completar el registro aparecerán a continuación" #: views/admin_tools_settings.php:71 msgid "A prompt to complete registration email was also sent." msgstr "" "También ha sido enviado un aviso para completar el correo electrónico de " "registro." #: views/admin_tools_settings.php:84 views/admin_tools_settings.php:94 msgid "Re-create the Required Pages" msgstr "Volver a crear las páginas obligatorias" #: views/admin_tools_settings.php:87 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" "Si has eliminado accidentalmente las páginas obligatorias que este plugin " "crea en el momento de la instalación, puedes usar esta opción para volver a " "crearlas." #: views/admin_tools_settings.php:88 msgid " has full explanation." msgstr " tiene una explicación completa." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Dejar vacío para guardar la contraseña actual" #: views/edit.php:71 msgid "Company Name" msgstr "Nombre de empresa" #: views/forgot_password.php:12 views/reset_password_using_link.php:67 msgid "Reset Password" msgstr "Restablecer la contraseña" #: views/forgot_password.php:19 msgid "Processing password reset request..." msgstr "Procesando la solicitud para restablecer contraseña..." #: views/loggedin.php:9 msgid "Logged in as" msgstr "Conectado como" #: views/loggedin.php:17 msgid "Membership" msgstr "Membresía" #: views/loggedin.php:21 msgid "Account Expiry" msgstr "Caducidad de la cuenta" #: views/loggedin.php:29 msgid "Edit Profile" msgstr "Editar perfil" #: views/login.php:11 msgid "Username or Email" msgstr "Nombre de usuario o correo electrónico" #: views/login.php:41 msgid "Show password" msgstr "Mostrar la contraseña" #: views/login.php:48 msgid "Remember Me" msgstr "Recuérdame" #: views/login.php:58 msgid "Forgot Password?" msgstr "¿Has olvidado tu contraseña?" #: views/payments/admin_add_edit_transaction_manually.php:11 msgid "" "You can add a new transaction record manually using this interface. It can " "be useful if you manually accept cash payment for your memberships." msgstr "" "Puedes añadir un nuevo registro de transacción manualmente usando esta " "interfaz. Puede ser útil si aceptas manualmente el pago en efectivo de tus " "membresías." #: views/payments/admin_add_edit_transaction_manually.php:54 msgid "Manual transaction added successfully. " msgstr "Transacción manual añadida correctamente. " #: views/payments/admin_add_edit_transaction_manually.php:68 msgid "Add New Transaction" msgstr "Añadir una nueva transacción" #: views/payments/admin_add_edit_transaction_manually.php:160 msgid "Save Transaction Data" msgstr "Guardar los datos de la transacción" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Todos los pagos/transacciones de sus miembros se registran aquí." #: views/payments/admin_all_payment_transactions.php:12 msgid "" "Search for a transaction by using email, name, transaction ID or Subscr ID." msgstr "" "Busca una transacción usando el correo electrónico, nombre, ID de la " "transacción o ID de la suscripción." #: views/payments/admin_all_payment_transactions.php:50 msgid "Add a Transaction Manually" msgstr "Añadir una transacción manualmente" #: views/payments/admin_create_payment_buttons.php:19 msgid "" "You can create a new payment button for your memberships using this " "interface." msgstr "" "Puedes crear un nuevo botón de pago para tus membresías usando esta interfaz." #: views/payments/admin_create_payment_buttons.php:27 msgid "Select Payment Button Type" msgstr "Selecciona el tipo de botón de pago" #: views/payments/admin_create_payment_buttons.php:48 msgid "Stripe Legacy Buy Now (deprecated)" msgstr "Comprar ahora heredado de Stripe (obsoleto)" #: views/payments/admin_create_payment_buttons.php:50 msgid "Stripe Legacy Subscription (deprecated)" msgstr "Suscripción heredada de Stripe (obsoleta)" #: views/payments/admin_create_payment_buttons.php:62 msgid "Next" msgstr "Siguiente" #: views/payments/admin_create_payment_buttons.php:69 msgid "" "You can also use payment buttons from the following plugins to accept " "payments for your memberships." msgstr "" "También puedes usar los botones de pago de los siguientes plugins para " "aceptar pagos por tus membresías." #: views/payments/admin_edit_payment_buttons.php:19 msgid "You can edit a payment button using this interface." msgstr "Puede editar un botón de pago utilizando esta interfaz." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" "Todos los botones de miembros que ha creado en el plugin se muestran aquí." #: views/payments/admin_payment_settings.php:7 msgid "You can create membership payment buttons from the " msgstr "Puedes crear botones de pago de membresía desde el " #: views/payments/admin_payment_settings.php:8 msgid "payments menu" msgstr "menú de pagos" #: views/payments/admin_payment_settings.php:9 msgid "" " of this plugin (useful if you want to offer paid memberships on the site)." msgstr "" " de este plugin (útil si deseas ofrecer membresías de pago en el sitio)." #: views/payments/admin_payment_settings.php:10 msgid " Read the " msgstr " Lee la " #: views/payments/admin_payment_settings.php:11 msgid "membership payment section" msgstr "sección de pago de membresía" #: views/payments/admin_payment_settings.php:12 msgid "" " of our documentation to learn more about creating membership payment " "buttons." msgstr "" " de nuestra documentación para aprender más sobre la creación de botones de " "pago de membresía." #: views/payments/admin_payment_settings.php:31 #: views/payments/admin_payment_settings.php:47 msgid " Success! " msgstr " ¡Correcto! " #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Configuración del botón comprar ahora de Braintree" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:216 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:160 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:182 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:316 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:314 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:92 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:92 msgid "Button ID" msgstr "ID de botón" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:224 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:168 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:190 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:323 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:321 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:100 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:100 msgid "Button Title" msgstr "Titulo del botón" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:242 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:230 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:337 msgid "Payment Amount" msgstr "Cantidad de pago" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Clave API de Braintree y detalles de la cuenta. Puedes obtener esta " "información de tu cuenta de Braintree." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "ID del comerciante" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Llave publica" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Llave privada" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "ID de la cuenta de comerciante" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:429 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:427 msgid "The following details are optional." msgstr "Los siguientes detalles son opcionales." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:318 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:459 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:419 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:442 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:448 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:235 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:219 msgid "Return URL" msgstr "URL de retorno" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:128 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:325 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:329 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:215 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:488 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:430 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:472 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:196 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:478 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:256 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:240 msgid "Save Payment Data" msgstr "Guarda los datos de pago" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:207 msgid "PayPal Buy Now Button Configuration" msgstr "Configuración del botón comprar ahora de PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:250 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:190 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:330 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:237 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:344 msgid "Payment Currency" msgstr "Moneda de pago" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:298 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:370 msgid "PayPal Email" msgstr "Correo electrónico de PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:306 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:467 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:450 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:174 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:456 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:243 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:227 msgid "Button Image URL" msgstr "URL de la imagen del botón" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:314 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:475 msgid "Custom Checkout Page Logo Image" msgstr "Imagen de logotipo de la página de finalizar compra personalizada" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:148 msgid "PayPal Buy Now (New API) Button Configuration" msgstr "Configuración del botón Comprar ahora (API nueva) de PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:186 msgid "Payment Details" msgstr "Detalles del pago" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:233 msgid "" "Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not " "enter currency symbol)." msgstr "" "Introduce el importe del pago. Valores de ejemplo: 9,90 o 25,00 o 299,90, " "etc. (no introduzcas el símbolo de la moneda)." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:238 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:339 msgid "Button Style Settings (Optional)" msgstr "Ajustes del estilo de botón (opcional)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:242 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:343 msgid "Button Type/Label" msgstr "Tipo/etiqueta del botón" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:245 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:346 msgid "Checkout" msgstr "Finalizar compra" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:246 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:347 msgid "Pay" msgstr "Pagar" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:247 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:348 msgid "PayPal" msgstr "PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:248 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:349 #: views/payments/payment-gateway/braintree_button_shortcode_view.php:21 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:100 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:102 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:161 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:160 msgid "Buy Now" msgstr "Comprar ahora" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:249 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:350 msgid "Subscribe" msgstr "Suscribirse" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:251 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:352 msgid "Select button type/label." msgstr "Selecciona el tipo/etiqueta del botón." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:255 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:356 msgid "Button Shape" msgstr "Forma del botón" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:257 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:358 msgid "Rectangular" msgstr "Rectangular" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:258 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:359 msgid "Pill" msgstr "Píldora" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:259 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:360 msgid "Select button shape." msgstr "Selecciona la forma del botón." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:263 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:364 msgid "Button Layout" msgstr "Diseño del botón" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:265 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:366 msgid "Vertical" msgstr "Vertical" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:266 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:367 msgid "Horizontal" msgstr "Horizontal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:267 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:368 msgid "Select button layout." msgstr "Selecciona el diseño del botón." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:271 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:372 msgid "Button Height" msgstr "Altura del botón" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:375 msgid "Small" msgstr "Pequeño" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:275 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:376 msgid "Medium" msgstr "Mediano" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:276 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:377 msgid "Large" msgstr "Grande" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:277 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:378 msgid "Extra Large" msgstr "Muy grande" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:279 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:380 msgid "Select button height." msgstr "Selecciona la altura del botón." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:283 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:384 msgid "Button Width" msgstr "Ancho del botón" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:286 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:387 msgid "Select button width." msgstr "Selecciona el ancho del botón." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:391 msgid "Button Color" msgstr "Color del botón" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:293 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:394 msgid "Gold" msgstr "Oro" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:294 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:395 msgid "Blue" msgstr "Azul" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:295 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:396 msgid "Silver" msgstr "Plata" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:296 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:397 msgid "White" msgstr "Blanco" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:297 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:398 msgid "Black" msgstr "Negro" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:299 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:400 msgid "Select button color." msgstr "Selecciona el color del botón." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:405 msgid "Additional Settings (Optional)" msgstr "Ajustes adicionales (opcional)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:308 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:409 msgid "Disable Funding" msgstr "Desactivar la financiación" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:310 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:411 msgid "Credit or debit cards" msgstr "Tarjetas de crédito o débito" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:311 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:412 msgid "PayPal Credit" msgstr "Crédito de PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:413 msgid "Venmo" msgstr "Venmo" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:313 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:414 msgid "" "By default, funding source eligibility is smartly decided based on a variety " "of factors. You can force disable funding options by selecting them here." msgstr "" "Por defecto, la elegibilidad de la fuente de financiación se decide de " "manera inteligente en base a una variedad de factores. Puedes forzar la " "desactivación de las opciones de financiación seleccionándolas aquí." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "Configuración del botón de pago inteligente de PayPal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" "Credenciales de la API de pago inteligente de PayPal (puedes obtener esto " "desde tu cuenta de PayPal)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "Secreto en vivo" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "Secreto del entorno de pruebas" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Ajustes de apariencia del botón" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Tamaño" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "Adaptable" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Selecciona el tamaño del botón." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Color" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Forma" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Diseño" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Ajustes adicionales" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Métodos de pago" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" "Selecciona los métodos de pago que podrían ser utilizados por los clientes. " "Ten en cuenta que el pago con tarjetas siempre está activado." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "Los siguientes detalles son opcionales" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:298 msgid "PayPal Subscription Button Configuration" msgstr "Configuración del botón de Suscripción de PayPal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:378 msgid "Billing Amount Each Cycle" msgstr "Importe facturado cada ciclo" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:386 msgid "Billing Cycle" msgstr "Ciclo de facturación" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:399 msgid "Billing Cycle Count" msgstr "Cuenta del ciclo de facturación" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:407 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:306 msgid "Re-attempt on Failure" msgstr "Reintentar en caso de fallo" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:422 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:314 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Detalles de facturación de prueba (Deja en blanco si no estas ofreciendo un " "período de prueba)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:428 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:318 msgid "Trial Billing Amount" msgstr "Cantidad de la facturación en período de prueba" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:436 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:326 msgid "Trial Billing Period" msgstr "Período de facturación de prueba" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:213 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:205 msgid "Optional Details" msgstr "Detalles opcionales" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:170 msgid "PayPal Subscription (New API) Button Configuration" msgstr "Configuración del botón de suscripción de PayPal (API nueva)" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:212 msgid "PayPal Billing Plan Details for This Button" msgstr "Detalles del plan de facturación de PayPal para este botón" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:216 msgid "Subscription Plan Mode" msgstr "Modo de plan de suscripción" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:223 msgid "Subscription Plan ID" msgstr "ID de plan de suscripción" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:233 msgid "Subscription/Recurring Billing Details" msgstr "Detalles de la suscripción/periódico de facturación" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:277 msgid "Recurring Billing Amount" msgstr "Cantidad de la facturación de periódico" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:280 msgid "" "Amount to be charged on every billing cycle. If used with a trial period " "then this amount will be charged after the trial period is over. Example " "values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol)." msgstr "" "Importe a cobrar en cada ciclo de facturación. Si se usa con un período de " "prueba, esta cantidad se cobrará una vez que finalice el período de prueba. " "Valores de ejemplo: 9,90 o 25,00 o 299,90, etc. (no introduzca el símbolo de " "la moneda)." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:285 msgid "Recurring Billing Cycle" msgstr "Ciclo de periódico de facturación" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:293 msgid "" "Set the interval of the recurring payment. Example value: 1 Month (if you " "want to charge every month)" msgstr "" "Establece el intervalo del pago periódico. Valor de ejemplo: 1 mes (si " "deseas cobrar todos los meses)" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:298 msgid "Recurring Billing Cycle Count" msgstr "Periódico de recuento del ciclo de facturación" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:301 msgid "" "After how many cycles should billing stop. Leave this field empty (or enter " "0) if you want the payment to continue until the subscription is canceled." msgstr "" "Después de cuántos ciclos debe detenerse la facturación. Deja este campo " "vacío (o introduce 0) si deseas que el pago continúe hasta que se cancele la " "suscripción." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:309 msgid "" "When checked, the payment will be re-attempted two more times if the payment " "fails. After the third failure, the subscription will be canceled." msgstr "" "Cuando se marca, el pago se volverá a intentar dos veces más si el pago " "falla. Después del tercer fallo, la suscripción se cancelará." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:26 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:307 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:305 msgid "Stripe Buy Now Button Configuration" msgstr "Configuración del botón comprar ahora de Stripe" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:386 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:384 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "" "Las claves de API de Stripe. Puedes obtener esto en tu cuenta de Stripe." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:391 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:389 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:148 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:140 msgid "Use Global API Keys Settings" msgstr "Usar los ajustes globales de las claves de API" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:394 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:392 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:151 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:143 msgid "" "Use API keys from Payment " "Settings tab." msgstr "" "Usar las claves de API de la pestaña Ajustes de " "pago." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:434 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:432 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:219 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:211 msgid "Collect Customer Address" msgstr "Recopila la dirección del cliente" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:26 msgid "Stripe SCA Buy Now Button Configuration" msgstr "Configuración del botón SCA «Comprar ahora» de Stripe" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:440 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:227 msgid "Enable Automatic Tax" msgstr "Activar impuestos automáticos" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:84 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:84 msgid "Stripe Subscription Button Configuration" msgstr "Ajustes del botón de Suscripción de Stripe" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:118 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:118 msgid "Stripe API ID" msgstr "ID de la API de Stripe" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:129 msgid "Trial Period" msgstr "Periodo de prueba" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:142 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:134 msgid "Stripe API Settings" msgstr "Ajustes de API de Stripe" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:188 msgid "Webhook Endpoint URL" msgstr "URL variable de Webhook" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:180 msgid "Webook Endpoint URL" msgstr "URL de Endpoint del WebWook" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:235 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:237 msgid "Subscribe Now" msgstr "Suscríbete ahora" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:81 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:77 msgid "Transaction completed successfully!" msgstr "¡Transacción completada correctamente!" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:228 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:228 msgid "Error occurred during PayPal checkout process." msgstr "Ha ocurrido un error durante el proceso de pago de PayPal." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:155 msgid "Error occurred during PayPal Smart Checkout process." msgstr "H ocurrido un error durante el proceso de PayPal Smart Checkout." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:184 msgid "HTTP error occurred during payment process:" msgstr "Ha ocurrido un error HTTP durante el proceso de pago:" #: views/reset_password_using_link.php:15 msgid "" "Error! The password reset key is either invalid or expired. Please generate " "a new password reset request." msgstr "" "¡Error! La clave para restablecer la contraseña no es válida o ha caducado. " "Por favor, genera una nueva solicitud para restablecer la contraseña." #: views/reset_password_using_link.php:46 msgid "" "Password must be at least 8 characters long, contain at least 1 uppercase " "and 1 lowercase character, and at least 1 digit." msgstr "" "La contraseña debe tener al menos 8 caracteres, contener al menos 1 carácter " "en mayúscula y 1 en minúscula y al menos 1 dígito." #: views/reset_password_using_link.php:51 msgid "New password" msgstr "Contraseña nueva" #: views/reset_password_using_link.php:58 msgid "Re-enter new password" msgstr "Vuelve a introducir la nueva contraseña" #. Plugin Name of the plugin/theme msgid "Simple WordPress Membership" msgstr "WordPress Simple Membership" #. Plugin URI of the plugin/theme #. Author URI of the plugin/theme msgid "https://simple-membership-plugin.com/" msgstr "https://simple-membership-plugin.com/" #. Description of the plugin/theme msgid "" "A flexible, well-supported, and easy-to-use WordPress membership plugin for " "offering free and premium content from your WordPress site." msgstr "" "Un plugin de membresía de WordPress flexible, bien apoyado y fácil de usar " "para ofrecer contenido gratuito y de pago desde tu sitio de WordPress." #. Author of the plugin/theme msgid "smp7, wp.insider" msgstr "smp7, wp.insider" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Escribe aquí la contraseña" msgid "Retype password here" msgstr "Vuelve a escribir aquí la contraseña" msgid "Registration is complete. You can now log into the site." msgstr "El registro está completo. Ahora puedes acceder al sitio." msgid " Field has invalid character" msgstr " El campo tiene un carácter no válido" msgid " Password does not match" msgstr " La contraseña no coincide" msgid "Already taken." msgstr "Ya está en uso." msgid "Street Address" msgstr "Dirección de calle" msgid "Apt, Suite, Bldg. (optional)" msgstr "Apt, Suite, Edif. (opcional)" msgid "State / Province / Region" msgstr "Estado / provincia / región" msgid "Postal / Zip Code" msgstr "Código Postal / CP" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Marca esta casilla para eliminar la imagen. La imagen se borrará cuando " "guardes el perfil." msgid "You will need to re-login since you changed your password." msgstr "Tendrás que volver a acceder porque has cambiado tu contraseña." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" "Por favor, introduce dos dígitos sin espacio (Ejemplo: 12)" msgid "Verification" msgstr "Verificación" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Por favor, introduce dos dígitos sin espacio (Ejemplo: 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "El nombre de usuario solo puede contener: letras, números y .-_*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Los caracteres permitidos son: Letras, números y .-_*@" msgid "Please check at least one." msgstr "Por favor, selecciona al menos una." msgid "Do you really want to delete the form?" msgstr "¿De verdad quieres borrar el formulario?" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "No tienes permiso para ver este contenido." msgid "Your membership level does not have permission to view this content." msgstr "Tu nivel de membresía no tiene permiso para ver este contenido." msgid "This content is for members only." msgstr "Este contenido es solo para miembros." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Directorio de miembros" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Nivel" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Dirección" #: includes/swpm_mda_show_profile.php:48 msgid "Postcode" msgstr "Código postal" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Buscar..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Borrar la búsqueda" msgid "You must be logged in to upgrade a membership." msgstr "Debes estar conectado para actualizar una membresía." msgid "Membership level has been updated." msgstr "El nivel de membresía ha sido actualizado." msgid "Already a member of this level." msgstr "Ya eres miembro de este nivel." #~ msgid "Go to the new Payment Settings location" #~ msgstr "Ir a la nueva ubicación de ajustes de pago" #~ msgid "" #~ "The payment settings have moved to the Payment Settings tab in the " #~ "Payments menu. Click the link below to navigate to the " #~ "new location." #~ msgstr "" #~ "Los ajustes de pago se han movido a la pestaña Ajustes de pago en " #~ "el menú Pagos. Haz clic en el enlace a continuación para " #~ "navegar a la nueva ubicación." #~ msgid "" #~ "Failed to create the order using PayPal API. Enable the debug logging " #~ "feature to get more details." #~ msgstr "" #~ "No se pudo crear el pedido usando la API de PayPal. Activar la " #~ "característica de registro de depuración para obtener más detalles." #~ msgid "" #~ "Note: Merchant ID value is empty so the SDK URL will not include this " #~ "parameter." #~ msgstr "" #~ "Nota: El valor de ID del comerciante está vacío, por lo que la URL del " #~ "SDK no incluirá este parámetro." #~ msgid "" #~ "Note: No emails have been sent; this is only a display of the recipient " #~ "list." #~ msgstr "" #~ "Nota: No se han enviado correos electrónicos; esto es sólo una " #~ "visualización de la lista de destinatarios." #~ msgid "Total email recipients: " #~ msgstr "Destinatarios totales del correo electrónico: " #~ msgid "Recipient's Email" #~ msgstr "Correo electrónico del destinatario" #~ msgid "Email Recipient List" #~ msgstr "Lista de destinatarios del correo electrónico" #~ msgid "" #~ "You can use this option to display a list of selected members as " #~ "recipients for cross-checking email addresses before sending." #~ msgstr "" #~ "Puedes usar esta opción para mostrar una lista de miembros seleccionados " #~ "como destinatarios para comprobar las direcciones de correo electrónico " #~ "antes de enviar." #~ msgid "View Recipient List" #~ msgstr "Ver la lista de destinatarios" #~ msgid "This option will send the email if there are no validation errors." #~ msgstr "" #~ "Esta opción enviará el correo electrónico si no hay errores de validación." #~ msgid "Your current WP user account email address is: " #~ msgstr "" #~ "La dirección de correo electrónico actual de tu cuenta de usuario de WP " #~ "es: " #~ msgid "" #~ "Check this if you want to send a copy of the email to your own email " #~ "address" #~ msgstr "" #~ "Marca esto si deseas enviar una copia del correo electrónico a tu propia " #~ "dirección de correo electrónico." #~ msgid "Also Send Me a Copy" #~ msgstr "También envíame una copia" #~ msgid "Choose the account status for email recipients." #~ msgstr "" #~ "Elige el estado de la cuenta para los destinatarios de correo electrónico." #~ msgid "All Status" #~ msgstr "Todos los estados" #~ msgid "Select Account Status" #~ msgstr "Selecciona el estado de la cuenta" #~ msgid "All Levels" #~ msgstr "Todos los niveles" #~ msgid "Send to Membership Level & Account Status" #~ msgstr "Enviar al nivel de membresía y estado de la cuenta" #~ msgid "Note: Below is a sample of the email content sent to the user." #~ msgstr "" #~ "Nota: A continuación se muestra un ejemplo del contenido del correo " #~ "electrónico enviado al usuario." #~ msgid "" #~ "No webhook found. Use the following link to create a new webhook for test " #~ "mode." #~ msgstr "" #~ "No se encontró ningún webhook. Usa el siguiente enlace para crear un " #~ "nuevo webhook para el modo de prueba." #~ msgid "Test Webhook Status" #~ msgstr "Probar el estado del webhook" #~ msgid "" #~ "No webhook found. Use the following link to create a new webhook for live " #~ "mode." #~ msgstr "" #~ "No se encontró ningún webhook. Usa el siguiente enlace para crear un " #~ "nuevo webhook para el modo en vivo." #~ msgid "Live Webhook Status" #~ msgstr "Estado de webhook en vivo" #~ msgid "" #~ "This will delete the PayPal API access token cache. This is useful if you " #~ "are having issues with the PayPal API after changing/updating the API " #~ "credentials." #~ msgstr "" #~ "Esto borrará la caché del token de acceso a la API de PayPal. Esto es " #~ "útil si tienes problemas con la API de PayPal después de cambiar/" #~ "actualizar las credenciales de la API." #~ msgid "Delete Token Cache" #~ msgstr "Borrar la caché del token" #~ msgid "Delete PayPal Token Cache" #~ msgstr "Borrar la caché del token de PayPal" #~ msgid "Delete PayPal API Access Token Cache" #~ msgstr "Borrar la caché del token de acceso a la API de PayPal" #~ msgid "PayPal API Credentials" #~ msgstr "Credenciales de la API de PayPal" #~ msgid "Read this payment testing checklist." #~ msgstr "Lee esta lista de verificación de pruebas de pago." #~ msgid "" #~ "Once testing is complete, switch the plugin to live mode and recreate the " #~ "plans and buttons for live use. Avoid reusing test mode plans/buttons in " #~ "live mode to prevent errors from the payment gateway. " #~ msgstr "" #~ "Una vez completada la prueba, cambia el plugin al modo en vivo y vuelve a " #~ "crear los planos y botones para uso en vivo. Evita reutilizar planes/" #~ "botones del modo de prueba en el modo en vivo para evitar errores en la " #~ "pasarela de pago. " #~ msgid "" #~ "Subscription plan modes cannot be switched between test and live modes. " #~ "For testing, create all subscription plans and buttons in test mode. " #~ msgstr "" #~ "Los modos del plan de suscripción no se pueden cambiar entre los modos de " #~ "prueba y en vivo. Para realizar pruebas, crear todos los planes de " #~ "suscripción y botones en modo de prueba. " #~ msgid "Note for Subscription/Recurring Payment Testing: " #~ msgstr "Nota para la prueba de suscripción/pago periódico: " #~ msgid "Stripe settings updated successfully." #~ msgstr "Los ajustes de Stripe han sido actualizado correctamente." #~ msgid "PayPal access token cache deleted successfully." #~ msgstr "Se ha borrado correctamente la caché del token de acceso de PayPal." #~ msgid "PayPal API settings updated successfully." #~ msgstr "Actualizado correctamente los ajustes de la API de PayPal." #~ msgid "Test mode settings updated successfully." #~ msgstr "Actualizado correctamente los ajustes del modo de prueba." #~ msgid "Stripe Settings" #~ msgstr "Ajustes de Stripe" #~ msgid "PayPal API" #~ msgstr "API de PayPal" #~ msgid "General" #~ msgstr "General" #~ msgid "create new button tab" #~ msgstr "crear nueva pestaña de botón" #~ msgid "Add New Member" #~ msgstr "Añadir nuevo miembro" #~ msgid "" #~ "Failed to capture the order. Enable the debug logging feature to get more " #~ "details." #~ msgstr "" #~ "No se pudo capturar el pedido. Activar la característica de registro de " #~ "depuración para obtener más detalles." #~ msgid "" #~ "Enable the improved user interface for registration and profile editing, " #~ "featuring enhanced validation that adapts seamlessly across various " #~ "devices and screen sizes." #~ msgstr "" #~ "Activar la interfaz de usuario mejorada para el registro y la edición de " #~ "perfiles, que presenta una validación mejorada que se adapta " #~ "perfectamente a varios dispositivos y tamaños de pantalla." #~ msgid "Activate New Form and Validation Interface (Beta)" #~ msgstr "Activar nuevo formulario e interfaz de validación (Beta)" #~ msgid "You must accept the privacy policy" #~ msgstr "Debes aceptar la política de privacidad" #~ msgid "You must accept the terms & conditions" #~ msgstr "Debes aceptar los términos y condiciones" #~ msgid "Last name is required" #~ msgstr "El apellido es obligatorio" #~ msgid "Invalid name" #~ msgstr "Nombre no válido" #~ msgid "First name is required" #~ msgstr "El primer nombre es obligatorio" #~ msgid "Retype password is required" #~ msgstr "Es obligatorio volver a escribir la contraseña" #~ msgid "Minimum 8 characters required" #~ msgstr "Es obligatorio un mínimo de 8 caracteres" #~ msgid "Must contain a digit, an uppercase and a lowercase letter" #~ msgstr "Debe contener un dígito, una letra mayúscula y una minúscula." #~ msgid "Invalid password" #~ msgstr "Contraseña no válida" #~ msgid "Email already exists" #~ msgstr "El correo electrónico ya existe" #~ msgid "Invalid email" #~ msgstr "Correo electrónico no válido" #~ msgid "Username already exists" #~ msgstr "El nombre de usuario ya existe" #~ msgid "Minimum 4 characters required" #~ msgstr "Es obligatorio un mínimo de 4 caracteres" #~ msgid "Invalid username" #~ msgstr "Nombre de usuario no válido" languages/simple-membership-ar_SA.mo000064400000046717147206617610013505 0ustar00<\ x.y  + "0Gd  !)9S [h 00)Zq $   )?V \j 1&  !2D[v=5#   "5<T e%s' qt}   ' . ;Hf ny#%4 BG1M@)Aj  @Mix8Vks 0 ".>MR93 T $o   $   !2!'P!x!k!""%","?"F"\"c" y" "" ""$""" #1#2E#x#M$M^$2$$($%5%5%3&(S&|&&&Vr(&( (X(V)p))#)I)7*4T*$***%*+.+K+ T+b+x+0+++>+ ',2,H, W, d, o,V|,,*,b-*-3-- -/-".<.%R.<x. .0.$.%/!=/,_/5/&/0/N0Li0,0:011,P1"}1611I1CA22Gi313 34 4 64(@5,i55;515 #6#.6R6j6-|6-6)677 8'8%A8g8*{88(8%8 91%9W9$k999 9&9 9 993:1K: }:::b: 9; D;PO;;<&===(=>s>q>??-1? _?:? ?)? @'@ ?@L@U@$u@@@=@ AA@ A(aAA A A A A B%BdCvzC)CZDvDD2DD&D"E&;E3bE(EE#UFyF FF F0F FFG&G1>GpG0GDG"G!H9HnUHoH4I"JuJfK&K5K$KL7LLMJaMMMZC6rmg:}zsF{@yxQEA9h | pLR]'3H7DPjM4f^u VWT`K= I1[bUlN8/?G5$2O-vi"k&Y!>,J %S(#X+o*\d.c)<;n0B_qw ae~t Email Settings (Account Upgrade Notification)(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccess to older posts.Account ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAready takenAssign free membership level IDAvailableCategory ProtectionCityCompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.Date format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDExample Content Protection SettingsExpire AfterExpiredFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameInvalid membership levelJoin UsJoin Us Page URLLast NameLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameNeverNew password has been sent to your email address.Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.Not a Member?Notify UserOROnly allow access to posts published after the user's join date.Only allow access to protected posts published after the members's join date.Pages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileProtect Older Posts (optional)RegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Registration Successful. Remember MeRepeat PasswordReset PasswordRoleSelect the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry! Something went wrongStateStreetStrength indicatorSubmitTest & Debug SettingsUpdateUpdated Successfully.Updated! User NameUser Not Found.User nameUser name already exists.User name contains invalid characterUser name is requiredUsernameWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not allowed to view this contentYou are not logged in.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You do no have permission to view rest of the contentYou need to login to view the rest of the content. You need to login to view this content. ZipcodesearchProject-Id-Version: Simple Membership POT-Creation-Date: 2017-03-31 15:23+0300 PO-Revision-Date: 2017-03-31 22:52+0300 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 2.0 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5); Language: ar_SA X-Poedit-SearchPath-0: . إعدادات البريد الإلكتروني (إشعار ترقية الحساب)(تنتهي صلاحية الوصول)(مطلوب)(اترك فراغاً لاسترجاع الرقم السري السابق، مرتان)(مطلوب، مرتان)مدة إتاحة الوصولإتاحة الوصول بدأالوصول متاح إلى/حتىمدة إتاحة الوصول يجب أن تكون أكبر من صفر.حقل "إتاحة الوصول بدأ" غير صالحالوصول إلى المواضيع القديمة.انتهت صلاحية الحسابحالة الحسابحالة الحسابانتهت صلاحية الحساب.الحساب غير نشط.حقل "حالة الحساب" غير صالحنشِطأضف عضوإضافة جديدةأضف عضو جديد إضافة مستوى عضوية الجديدة الإضافاتحٌجز بالفعلتعيين رقم تعريفي للعضوية المجانيةمتوفرفئة الحمايةالمدينةالشركةالعددالدولةإنشاء مستخدم جديد تماما وإضافته إلى هذا الموقع.إنشاء عضوية جديد.صيغة التاريخ غير صالحة.يوم/ أيام (انتهاء صلاحية الوصول بعد عدد معين من الأيام)حالة الحساب الافتراضيةالدور الافتراضي في ووردبريسحذفالوصفهل تريد حماية هذا المحتوى?بريد إلكترونيتعديل عضويةتعديل مستوى العضوية عنوان URL لصفحة تعديل الملف الشخصيتعديل تعديل تفاصيل عضوية موجودة.تعديل مستوى العضويةتعديل مستوى العضوية.البريد الإلكترونيعنوان البريد الإلكترونيعنوان بريد إلكتروني غير صالح.نص البريد الإلكترونيإعدادات البريد الإلكترونيإعدادات البريد الإلكتروني (لإكمال التسجيل)إعدادات البريد الإلكتروني (إتمام التسجيل)عنوان البريد الإلكترونيالبريد الإلكتروني موجود مسبقاً.البريد الإلكتروني غير صالحالبريد الإلكتروني مطلوبإتاحة عضوية مجانيةإتاحة المزيد من الحماية للوسمإتاحة اختبار Sandboxاتح هذا الخيار لو أردت إجراء اختبار sandbox.تمكين/تعطيل إتاحة تسجيل عضوية مجانيةتمكين/تعطيل وسم الحماية "المزيد" في المشاركات والصفحات. أي محتوى بعد هذا الوسم سيكون محمي وأي محتوى قبل هذا الوسم سيكون مقدمة.ادخل الرقم التعريفي لمستوى هذه العضويةمثال إعدادات حماية المحتوىانتهاء صلاحية بعدمنتهي الصلاحيةالاسم الأولأولا، قم بحماية الفئة على موقعك من خلال تحديد "الحماية العامة" من المربع المنسدل أدناه، ثم حدد الفئات التي يجب حمايتها من المستخدمين غير المسجلين.تاريخ انتهاء الصلاحيةلجميع التسجيلات المعلقةنسيت الرقم السريالرقم التعريفي للعضوية المجانيةمن عنوان البريد الإلكترونيالجنسحقل "الجنس" غير صالحإعدادات عامةإنشاء رمزإنشاء رابط إتمام التسجيلإنشاء رابط إتمام التسجيلإخفاء لوحة تحكم المشرفميح: يجب أن تتكون كلمة المرور من سبعة أحرف على الأقل. لجعله أقوى، استخدم الأحرف الكبيرة والصغيرة والأرقام والرموز مثل! "؟٪٪ ^ & amp؛).الرقم التعريفيغير نشِطاسم المستخدم غير صالحمستوى عضوية غير صالحانضم إليناعنوان URL لصفحة الانضمامالاسم الأخيرتم تسجيل الخروج بنجاح.تم تسجيل الدخول باسمتسجيل الدخولعنوان URL لصفحة تسجيل الدخولتسجيل خروجإدارة إنتاج المحتوىعضوتسجيل دخول عضوعضو منذحقل "عضو منذ" غير صالحأعضاءعضويةمستوى العضويةمستوى العضوية هذا غير موجود.تم إنشاء مستوى عضوية بنجاح.اسم مستوى العضويةمستويات العضويةمستوى العضويةشهر/ أشهر (انتهاء صلاحية الوصول بعد عدد معين من الأشهر)الاسمأبداًرقم سري جديد تم إرساله إلى بريدك الإلكتروني.بعد ذلك، حدد مستوى العضوية الموجودة من المربع المنسدل أدناه، ثم حدد الفئات التي تريد منحها حق الدخول (على مستوى العضوية المحدد).لا يوجد انتهاء صلاحية (صلاحية الوصول لهذه العضوية غير منتهية حتى يلغيها المستخدم نفسهلا يوجد انتهاء صلاحية (صلاحية الوصول لهذه العضوية غير منتهية حتى يلغيها المستخدم نفسه)لا يوجد أعضاء.لست عضو?إرسال ملاحظة للمستخدمأوالسماح بالوصول إلى المواضيع المنشورة بعد تاريخ الانضمام العضو.السماح بالوصول إلى المواضيع المحمية بعد تاريخ الانضمام العضو.إعداد الصفحاتالرقم السريكلمة مرور فارغة أو صالحة.تغيير الرقم السريعنوان URL لصفحة تغيير الرقم السريالرقم السري مطلوبالرقم السري غير متطابقإعدادات الباي بالقيد الانتظارالهاتفأرجوأرجو تصحيح ما يليالرجاء تصحيح ما يلي:وثيقة الإضافةالملف الشخصيحماية المشاركات القديمة (اختياري)سجلالتسجيلروابط إتمام التسجيل سوف تظهر أدناه:عنوان URL لصفحة التسجيلتم التسجيل بنجاح.تم التسجيل بنجاح. تذكرنيإعادة الرقم السريتغيير الرقم السريالدورحدد حالة الحساب الافتراضية للمستخدمين المسجلين حديثا. بإمكانك الموافقة على الأعضاء يدويا ثم يمكنك تعيين الحالة إلى " قيد الانتظار".اختر مستوى العضوية الذي يتاح له الوصول إلى هذا المحتوى:إرسال رسالة إلكترونية إلى العضو عند إضافتها عبر لوحة تحكم المشرفإرسال إشعار إلى المشرفإرسال تذكير بالتسجيل على البريد الإلكتروني أيضاًانتهت الجلسة.إعداداتخيارات الحماية في Simple Membershipحماية Simple WP MembershipSimple WP Membership::الإضافاتSimple WP Membership::الفئاتSimple WP Membership::العضوياتSimple WP Membership::مستويات العضويةSimple WP Membership::الإعداداتسيتم عرض بعض إعدادات تخص الإضافات والخيارات في Simple membership هنا (في حال قمت بإضافتهم)المعذرة هناك خطأ ماالمنطقةالشارعمؤشر القوةإرسالإعدادات الاختبار والتصحيحتحديثتم التحديث بنجاح.تم التحديث! اسم المستخدملم يتم العثور على المستخدم.اسم المستخدماسم المستخدم موجود مسبقاً.اسم المستخدم يحتوي على رموز غير صالحةاسم المستخدم مطلوباسم المستخدمعضوية ووردبريسأسبوع/ أسابيع (انتهاء صلاحية الوصول بعد عدد معين من الأسابيعأسبوع/ أسابيع (انتهاء صلاحية الوصول بعد عدد معين من الأسابيع)يعرض وردبريس شريط أدوات المشرف للمستخدمين المسجلين للموقع. حدد هذا المربع إذا كنت تريد إخفاء شريط أدوات المشرف هذا في مقدمة موقعك.يوجد حساب وردبريس بهذا البريد الإلكتروني. ولكن اسم المستخدم غير متطابق.يوجد حساب وردبريس بهذا الاسم. ولكن البريد الإلكتروني غير متطابق.سنة/ سنوات (انتهاء صلاحية الوصول بعد عدد معين من السنوات)أنت مسجل الدخول باسم:غير مسموح لك بعرض هذا المحتوىأنت غير مسجل الدخول.يمكنك إنشاء رابط إتمام التسجيل يدويا وإعطائه للعميل إذا فاته البريد الإلكتروني الذي تم إرساله تلقائيا إليه بعد الدفع.ليس لديك الإذن لعرض باقي محتوىتحتاج إلى تسجيل الدخول لعرض بقية المحتوى. تحتاج إلى تسجيل الدخول لعرض هذا المحتوى. الرمز البريديابحثlanguages/simple-membership-ro_RO.po000064400000050156147206617610013533 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership\n" "POT-Creation-Date: 2014-08-28 19:28+1000\n" "PO-Revision-Date: 2015-01-11 12:34+0200\n" "Last-Translator: Iulian \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.7.3\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" "Language: ro_RO\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.bAccessControl.php:23 classes/class.bAccessControl.php:40 msgid "You are not allowed to view this content" msgstr "Nu aveti dreptul sa accesati aceste informatii" #: classes/class.bAccessControl.php:26 classes/class.bAccessControl.php:43 msgid "You need to login to view this content. " msgstr "Trebuie sa va autentificati pentru a vedea aceste informatii." #: classes/class.bAdminRegistration.php:48 #: classes/class.bFrontRegistration.php:64 msgid "Registration Successful." msgstr "Inregistrare reusita." #: classes/class.bAdminRegistration.php:53 #: classes/class.bAdminRegistration.php:73 #: classes/class.bMembershipLevel.php:36 classes/class.bMembershipLevel.php:54 msgid "Please correct the following:" msgstr "Te rugam sa corectezi urmatoarele:" #: classes/class.bAjax.php:16 classes/class.bAjax.php:28 msgid "Aready taken" msgstr "Deja folosit" #: classes/class.bAjax.php:29 msgid "Available" msgstr "Disponibil" #: classes/class.bAuth.php:48 classes/class.bFrontRegistration.php:179 msgid "User Not Found." msgstr "Nu am gasit utilizatorul" #: classes/class.bAuth.php:55 msgid "Password Empty or Invalid." msgstr "Parola nu este introdusa sau este gresita." #: classes/class.bAuth.php:79 msgid "Account is inactive." msgstr "Cont inactiv." #: classes/class.bAuth.php:89 msgid "You are logged in as:" msgstr "Esti autentificat ca si:" #: classes/class.bAuth.php:128 msgid "Logged Out Successfully." msgstr "Te-ai deautentificat cu succes." #: classes/class.bAuth.php:170 msgid "Session Expired." msgstr "Sesiune expirata." #: classes/class.bAuth.php:179 msgid "Invalid User Name" msgstr "Utilizator incorect" #: classes/class.bAuth.php:187 msgid "Bad Cookie Hash" msgstr "Prajiturica rea :) (bad cookie)" #: classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "" "Exista un cont wordpress cu acest nume de utilizator dar nu se potrivesc " "adresele de email." #: classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" "Exista un cont wordpress cu aceasta adresa de email dar nu se potriveste cu " "numele de utilizator." #: classes/class.bForm.php:40 msgid "User name is required" msgstr "Este nevoie de numele de utilizator" #: classes/class.bForm.php:49 msgid "User name already exists." msgstr "Acest nume de utilizator exista deja." #: classes/class.bForm.php:72 msgid "Password is required" msgstr "Este nevoie de parola" #: classes/class.bForm.php:79 msgid "Password mismatch" msgstr "Parolele nu se potrivesc" #: classes/class.bForm.php:95 msgid "Email is required" msgstr "Este nevoie de adresa de email" #: classes/class.bForm.php:99 msgid "Email is invalid" msgstr "Adresa de email incorecta" #: classes/class.bForm.php:112 msgid "Email is already used." msgstr "Adresa de email deja inregistrata in baza noastra de date" #: classes/class.bForm.php:178 msgid "Member since field is invalid" msgstr "Campul de membru din este incorect" #: classes/class.bForm.php:189 msgid "Subscription starts field is invalid" msgstr "Campul de start calitate membru este incorect" #: classes/class.bForm.php:199 msgid "Gender field is invalid" msgstr "Campul de gen sexual este incorect" #: classes/class.bForm.php:210 msgid "Account state field is invalid" msgstr "Campul de stare a contului este incorect" #: classes/class.bFrontRegistration.php:64 classes/class.bSettings.php:326 msgid "Please" msgstr "Te rugam" #: classes/class.bFrontRegistration.php:64 classes/class.bSettings.php:326 #: views/login.php:21 msgid "Login" msgstr "Autentificare" #: classes/class.bFrontRegistration.php:79 #: classes/class.bFrontRegistration.php:158 msgid "Please correct the following" msgstr "Te rugam sa corectezi urmatoarele" #: classes/class.bFrontRegistration.php:92 msgid "Membership Level Couldn't be found." msgstr "Nivelul de membru nu a fost gasit" #: classes/class.bFrontRegistration.php:168 msgid "Email Address Not Valid." msgstr "Adresa de email incorecta" #: classes/class.bFrontRegistration.php:199 msgid "New password has been sent to your email address." msgstr "O noua parola a fost trimisa pe adresa dvs. de email." #: classes/class.bLevelForm.php:31 msgid "Subscriptoin duration must be > 0." msgstr "Durata abonarii trebuie sa fie mai mare ca 0" #: classes/class.bMembers.php:7 msgid "Member" msgstr "Membru" #: classes/class.bMembers.php:8 classes/class.simple-wp-membership.php:467 msgid "Members" msgstr "Membrii" #: classes/class.bMembers.php:16 classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "ID" #: classes/class.bMembers.php:17 views/add.php:5 views/edit.php:4 #: views/login.php:5 msgid "User Name" msgstr "Nume de utilizator" #: classes/class.bMembers.php:18 views/add.php:21 #: views/admin_member_form_common_part.php:2 views/edit.php:20 msgid "First Name" msgstr "Prenume" #: classes/class.bMembers.php:19 views/add.php:25 #: views/admin_member_form_common_part.php:6 views/edit.php:24 msgid "Last Name" msgstr "Nume de familie" #: classes/class.bMembers.php:20 views/add.php:9 views/edit.php:8 msgid "Email" msgstr "Adresa de email" #: classes/class.bMembers.php:21 classes/class.bMembershipLevels.php:8 #: classes/class.bMembershipLevels.php:17 views/add.php:64 #: views/admin_member_form_common_part.php:55 views/edit.php:52 msgid "Membership Level" msgstr "Nivel de abonare" #: classes/class.bMembers.php:22 views/admin_member_form_common_part.php:78 msgid "Subscription Starts" msgstr "Abonarea incepe la" #: classes/class.bMembers.php:23 msgid "Account State" msgstr "Starea contului" #: classes/class.bMembers.php:35 classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "Stergere" #: classes/class.bMembers.php:100 msgid "No Member found." msgstr "Nu am gasit membrul" #: classes/class.bMembershipLevel.php:31 msgid "Membership Level Creation Successful." msgstr "Nivelul de abonare creat cu succes" #: classes/class.bMembershipLevel.php:50 msgid "Updated Successfully." msgstr "Actualizat cu succes" #: classes/class.bMembershipLevels.php:9 #: classes/class.simple-wp-membership.php:469 msgid "Membership Levels" msgstr "Niveluri de abonare" #: classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "Rol" #: classes/class.bMembershipLevels.php:19 msgid "Subscription Valid For" msgstr "Abonare valabila pana la" #: classes/class.bSettings.php:28 msgid "Plugin Documentation" msgstr "Documentatie plugin" #: classes/class.bSettings.php:30 msgid "General Settings" msgstr "Setari generale" #: classes/class.bSettings.php:32 msgid "Enable Free Membership" msgstr "Permite Abonare gratuita" #: classes/class.bSettings.php:35 msgid "Enable/disable registration for free membership level" msgstr "Permite/Nu permie inregistrarea pentru abonare gratuita" #: classes/class.bSettings.php:36 msgid "Free Membership Level ID" msgstr "ID pentru Abonarea gratuita" #: classes/class.bSettings.php:39 msgid "Assign free membership level ID" msgstr "Aloca ID pentru abonare gratuita" #: classes/class.bSettings.php:40 msgid "Hide Adminbar" msgstr "Ascunde bara de admin" #: classes/class.bSettings.php:43 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "Wordpress arata bara de administrator utilizatorilor autentificati. Bifeaza " "casuta pentru a ascunde aceasta bara." #: classes/class.bSettings.php:45 msgid "Pages Settings" msgstr "Setari pagina" #: classes/class.bSettings.php:47 msgid "Login Page URL" msgstr "URL pentru autentificare" #: classes/class.bSettings.php:51 msgid "Registration Page URL" msgstr "URL pentru inregistrare" #: classes/class.bSettings.php:55 msgid "Join Us Page URL" msgstr "URL pentru Pagina de Aderare" #: classes/class.bSettings.php:59 msgid "Edit Profile Page URL" msgstr "URL pentru editarea profilului" #: classes/class.bSettings.php:63 msgid "Password Reset Page URL" msgstr "URL pentru resetare parola" #: classes/class.bSettings.php:68 msgid "Test & Debug Settings" msgstr "Setari pentru test & debug" #: classes/class.bSettings.php:74 msgid "Enable Sandbox Testing" msgstr "Permite testarea in mediul Sandbox" #: classes/class.bSettings.php:77 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Bifeaza acesta optiune pentru testarea platilor" #: classes/class.bSettings.php:90 msgid "Email Misc. Settings" msgstr "Setari diverse de email" #: classes/class.bSettings.php:92 msgid "From Email Address" msgstr "Adresa de email de la care sa plece toate email-urile" #: classes/class.bSettings.php:97 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Setari email (Pentru a termina inregistrarea)" #: classes/class.bSettings.php:99 classes/class.bSettings.php:110 #: classes/class.bSettings.php:129 msgid "Email Subject" msgstr "Subiect Email" #: classes/class.bSettings.php:103 classes/class.bSettings.php:114 #: classes/class.bSettings.php:133 msgid "Email Body" msgstr "Continut Email" #: classes/class.bSettings.php:108 msgid "Email Settings (Registration Complete)" msgstr "Setari Email (Inregistrare reusita)" #: classes/class.bSettings.php:118 msgid "Send Notification To Admin" msgstr "Trimitere notificari catre Admin" #: classes/class.bSettings.php:122 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Trimite email la membrii cand sunt adaugati via Admin Dashboard" #: classes/class.bSettings.php:127 msgid " Email Settings (Account Upgrade Notification)" msgstr "Setari Email (Notificari pentru upgrade la abonare)" #: classes/class.bSettings.php:326 msgid "Not a Member?" msgstr "Nu sunteti inca membru ?" #: classes/class.bSettings.php:326 views/login.php:30 msgid "Join Us" msgstr "Inscrieti-va" #: classes/class.bUtils.php:32 views/admin_member_form_common_part.php:66 msgid "Active" msgstr "Activ" #: classes/class.bUtils.php:33 views/admin_member_form_common_part.php:67 msgid "Inactive" msgstr "Inactiv" #: classes/class.bUtils.php:34 views/admin_member_form_common_part.php:68 msgid "Pending" msgstr "In asteptare" #: classes/class.bUtils.php:35 views/admin_member_form_common_part.php:69 msgid "Expired" msgstr "Expirat" #: classes/class.bUtils.php:225 msgid "Never" msgstr "Niciodata" #: classes/class.miscUtils.php:51 msgid "Registration" msgstr "Inregistrare" #: classes/class.miscUtils.php:74 msgid "Member Login" msgstr "Autentificare membrii" #: classes/class.miscUtils.php:97 msgid "Profile" msgstr "Profil" #: classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "Resetare Parola" #: classes/class.simple-wp-membership.php:178 msgid "You are not logged in." msgstr "Nu sunteti autentificat" #: classes/class.simple-wp-membership.php:209 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership Protection" #: classes/class.simple-wp-membership.php:222 msgid "Simple Membership Protection options" msgstr "Optiuni Simple WP Membership Protection" #: classes/class.simple-wp-membership.php:238 msgid "Do you want to protect this content?" msgstr "Vrei sa protejezi acest continut ?" #: classes/class.simple-wp-membership.php:243 msgid "Select the membership level that can access this content:" msgstr "Selecteaza nivelul de abonare ce poate accesa acest continu:" #: classes/class.simple-wp-membership.php:375 msgid "Display SWPM Login." msgstr "Arata autentificare SWPM ." #: classes/class.simple-wp-membership.php:377 msgid "SWPM Login" msgstr "Autentificare SWPM" #: classes/class.simple-wp-membership.php:464 msgid "WP Membership" msgstr "Abonare WP" #: classes/class.simple-wp-membership.php:471 msgid "Settings" msgstr "Setari" #: views/add.php:13 views/admin_member_form_common_part.php:45 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "Parola" #: views/add.php:17 views/edit.php:16 msgid "Repeat Password" msgstr "Repetare Parola" #: views/add.php:29 views/admin_member_form_common_part.php:10 msgid "Gender" msgstr "Sex" #: views/add.php:36 views/admin_member_form_common_part.php:17 #: views/edit.php:28 msgid "Phone" msgstr "Telefon" #: views/add.php:40 views/admin_member_form_common_part.php:21 #: views/edit.php:32 msgid "Street" msgstr "Strada" #: views/add.php:44 views/admin_member_form_common_part.php:25 #: views/edit.php:36 msgid "City" msgstr "Oras" #: views/add.php:48 views/admin_member_form_common_part.php:29 #: views/edit.php:40 msgid "State" msgstr "Judet" #: views/add.php:52 views/admin_member_form_common_part.php:33 #: views/edit.php:44 msgid "Zipcode" msgstr "Cod postal" #: views/add.php:56 views/admin_member_form_common_part.php:37 #: views/edit.php:48 msgid "Country" msgstr "Tara" #: views/add.php:60 views/admin_member_form_common_part.php:41 msgid "Company" msgstr "Companie" #: views/add.php:71 msgid "Register" msgstr "Inregistrare" #: views/admin_add.php:6 msgid "Add Member" msgstr "Adauga membru" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Creeaza un utilizator nou si adauga-l pe site." #: views/admin_add.php:11 msgid "User name" msgstr "Nume de utilizator" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 #: views/admin_edit_level.php:10 views/admin_edit_level.php:14 #: views/admin_edit_level.php:18 msgid "(required)" msgstr "(obligatoriu)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "Adresa de email" #: views/admin_add.php:19 msgid "Add New Member " msgstr "Adauga membru nou" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Creeaza nivel nou de abonare" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Nume nivel de abonare" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Rol Wordpress implicit" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Subscription Duration" msgstr "Durata Abonare" #: views/admin_add_level.php:26 views/admin_edit_level.php:27 msgid "No Expiry" msgstr "Fara expirare" #: views/admin_add_level.php:55 msgid "Add New Membership Level " msgstr "Adauga nivel nou de abonare" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Editeaza membru" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Editeaza detalii membru existent" #: views/admin_edit.php:9 msgid "Username" msgstr "Utilizator" #: views/admin_edit.php:18 msgid "Edit User " msgstr "Editeaza utilizator" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Editeaza nivel abonare" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Editeaza nivel abonare." #: views/admin_edit_level.php:54 msgid "Edit Membership Level " msgstr "Editeaza nivel abonare" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Membrii" #: views/admin_members.php:3 views/admin_members.php:19 #: views/admin_membership_levels.php:21 msgid "Add New" msgstr "Adauga nou" #: views/admin_members.php:9 views/admin_membership_levels.php:11 msgid "search" msgstr "cauta" #: views/admin_membership_levels.php:3 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Nivele Abonare" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Nivel Abonare" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Gestioneaza generarea de continut" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Exemplu de setari protejare continut" #: views/admin_member_form_common_part.php:45 msgid "(twice, required)" msgstr "(de doua ori, obligatoriu)" #: views/admin_member_form_common_part.php:50 msgid "Strength indicator" msgstr "Indicator complexitate" #: views/admin_member_form_common_part.php:51 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Sfat: Parola ar trebui sa aibe macar 7 caractere. Pentru a fi cat mai " "complexa, folositi litere mici si mari, numere si simboluri de genul ! \" ? " "$ % ^ &)" #: views/admin_member_form_common_part.php:64 views/loggedin.php:7 #: views/login_widget_logged.php:6 msgid "Account Status" msgstr "Status cont" #: views/admin_member_form_common_part.php:74 msgid "Member Since" msgstr "Membru din" #: views/admin_payment_settings.php:2 views/admin_settings.php:2 #: views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Setari" #: views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "Setari integrare plati Paypal" #: views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Genereaza codul de \"Advanced Variables\" necesar butonului Paypal" #: views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Introdu ID pentru nivelul de abonare" #: views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Genereaza cod" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Genereaza link pentru Inregistrarea incheiata cu succes" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Poti genera manual un link pentru inregistrarea cu succes si il poti trimite " "clientului daca acestia nu au primit email-ul automat dupa efectuarea platii." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Genereaza link pentru inregistrarea cu succes" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "SAU" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Pentru toate inregistrarile in asteptare" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "Link-ul de inregistrare cu succes va aparea dedesubt:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Trimite de asemenea si un email cu reminder de inregistrare" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Trimite" #: views/edit.php:58 msgid "Update" msgstr "Actualizeaza" #: views/forgot_password.php:5 msgid "Email Address" msgstr "Adresa de email" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Resetare Parola" #: views/loggedin.php:3 views/login_widget_logged.php:3 msgid "Logged in as" msgstr "Autentificat ca" #: views/loggedin.php:11 views/login_widget_logged.php:9 msgid "Membership" msgstr "Abonare" #: views/loggedin.php:15 views/login_widget_logged.php:12 msgid "Account Expiry" msgstr "Expirare cont" #: views/loggedin.php:19 views/login_widget_logged.php:16 msgid "Logout" msgstr "Iesire din cont" #: views/login.php:17 msgid "Remember Me" msgstr "Tine-ma minte" #: views/login.php:26 msgid "Forgot Password" msgstr "Am uitat parola" languages/simple-membership-ru_RU.po000064400000153061147206617610013546 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership\n" "POT-Creation-Date: 2016-04-13 12:13+0300\n" "PO-Revision-Date: 2016-04-13 13:03+0300\n" "Last-Translator: Vladimir Vaulin \n" "Language-Team: \n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:264 msgid "You are not logged in." msgstr "Вы не вошли на сайт." #: classes/class.simple-wp-membership.php:298 msgid "Simple WP Membership Protection" msgstr "Защита Simple WP Membership" #: classes/class.simple-wp-membership.php:310 msgid "Simple Membership Protection options" msgstr "Настройки защиты Simple Membership" #: classes/class.simple-wp-membership.php:326 msgid "Do you want to protect this content?" msgstr "Вы хотите защитить этот материал?" #: classes/class.simple-wp-membership.php:331 msgid "Select the membership level that can access this content:" msgstr "" "Выберите уровень доступа, которому будет разрешен доступ к этому материалу:" #: classes/class.simple-wp-membership.php:464 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:465 #: classes/class.swpm-members.php:10 views/admin_members_menu.php:2 msgid "Members" msgstr "Участники" #: classes/class.simple-wp-membership.php:466 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "Уровни доступа" #: classes/class.simple-wp-membership.php:467 msgid "Settings" msgstr "Настройки" #: classes/class.simple-wp-membership.php:468 msgid "Payments" msgstr "Платежи" #: classes/class.simple-wp-membership.php:469 msgid "Add-ons" msgstr "Дополнения" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "Вам необходимо войти, чтобы увидеть этот материал." #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "" "Ваш аккаунт истек. Пожалуйста, продлите срок действия аккаунта, чтобы " "получить доступ к этому контенту." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Это содержание может быть просмотрено только пользователями, которые " "присоединились" #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "Этот контент не доступен для вашего уровня доступа." #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "Остальная часть контента не доступна для вашего уровня доступа." #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "Вам необходимо войти в систему для просмотра остального контента." #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Пользователь успешно добавлен." #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:81 #: classes/class.swpm-admin-registration.php:105 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Пожалуйста, исправьте следующие ошибки:" #: classes/class.swpm-admin-registration.php:96 msgid "Your current password" msgstr "Текущий пароль" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Некорректный Email!" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "Уже занято." #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Имя содержит недопустимый символ" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Доступно" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Пользователь не найден." #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Пароль пустой или неверный." #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "Учетная запись не активна." #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "Ваша учетная запись ожидает подтверждения." #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "Срок действия вашего аккаунта истекает." #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Вы вошли как:" #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "Вы успешно вышли." #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "Сессия истекла." #: classes/class.swpm-auth.php:219 msgid "Invalid Username" msgstr "Неверное имя пользователя" #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Пожалуйста, войдите снова." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:80 #: views/add.php:30 views/admin_member_form_common_part.php:2 #: views/edit.php:53 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Уровень доступа" #: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "ID" #: classes/class.swpm-category-list.php:34 msgid "Name" msgstr "Имя" #: classes/class.swpm-category-list.php:35 msgid "Description" msgstr "Описание" #: classes/class.swpm-category-list.php:36 msgid "Count" msgstr "Количество" #: classes/class.swpm-category-list.php:80 msgid "Category protection updated!" msgstr "Защита категории обновлена!" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Пользователь Wordpress уже существует с таким именем. Но адреса электронной " "почты не совпадают. Свяжитесь с техподдержкой." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Пользователь Wordpress уже существует с такой почтой. Но имена пользователей " "не совпадают. Свяжитесь с техподдержкой." #: classes/class.swpm-form.php:40 msgid "Username is required" msgstr "Пожалуйста, введите имя пользователя." #: classes/class.swpm-form.php:44 msgid "Username contains invalid character" msgstr "Имя пользователя содержит недопустимые символы" #: classes/class.swpm-form.php:52 msgid "Username already exists." msgstr "Имя пользователя уже используется." #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "Пароль обязателен" #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "Пароль не совпадает" #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "Пожалуйста, укажите email" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "Указан некорректный адрес электронной почты" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "E-mail уже используется." #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "Неверное поле „дата присоединения”" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "Неверное поле „начало доступа”" #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "Неверное поле „пол”" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "Неверное поле „состояние учетной записи”" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "Неверный уровень доступа" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "Проверка безопасности: проверка CAPTCHA, не удалось." #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "Регистрация прошла успешно." #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 msgid "Please" msgstr "Пожалуйста," #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 views/login.php:21 msgid "Login" msgstr "Войдите" #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Пожалуйста, исправьте следующие ошибки" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "Уровень доступа не найден." #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Ваш профиль успешно обновлен." #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Профиль успешно обновлен. Вам нужно будет заново войти, так как вы изменили " "свой пароль." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "Этот e-mail адрес недействителен." #: classes/class.swpm-front-registration.php:200 msgid "No user found with that email address." msgstr "Учетная запись с этим адресом электронной почты не найдена." #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:225 msgid "Email Address: " msgstr "Электронная почта" #: classes/class.swpm-front-registration.php:224 msgid "New password has been sent to your email address." msgstr "На ваш адрес e-mail выслан новый пароль." #: classes/class.swpm-init-time-tasks.php:108 msgid "Sorry, Nonce verification failed." msgstr "К сожалению, проверка Nonce не удалось." #: classes/class.swpm-init-time-tasks.php:115 msgid "Sorry, Password didn't match." msgstr "Введенные пароли не совпадают." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Неверный формат даты." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "Продолжительность доступа должен быть больше 0." #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "Пользователь не вошел в систему." #: classes/class.swpm-members.php:9 msgid "Member" msgstr "Участник" #: classes/class.swpm-members.php:19 views/add.php:6 views/admin_add.php:11 #: views/admin_edit.php:9 views/edit.php:5 views/login.php:5 msgid "Username" msgstr "Имя пользователя" #: classes/class.swpm-members.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:74 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:21 msgid "First Name" msgstr "Имя" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:75 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:25 msgid "Last Name" msgstr "Фамилия" #: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:9 msgid "Email" msgstr "E-mail" #: classes/class.swpm-members.php:24 #: views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Начало доступа" #: classes/class.swpm-members.php:25 msgid "Account State" msgstr "Состояние учетной записи" #: classes/class.swpm-members.php:41 #: classes/class.swpm-membership-levels.php:35 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Delete" msgstr "Удалить" #: classes/class.swpm-members.php:42 msgid "Set Status to Active" msgstr "Установить статус Активный" #: classes/class.swpm-members.php:44 msgid "Set Status to Inactive" msgstr "Установить статус Неактивный" #: classes/class.swpm-members.php:45 msgid "Set Status to Pending" msgstr "Установить статус Ожидание" #: classes/class.swpm-members.php:46 msgid "Set Status to Expired" msgstr "Установить статус Истек" #: classes/class.swpm-members.php:121 msgid "No Member found." msgstr "Участник не найден." #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Уровень доступа успешно создан." #: classes/class.swpm-membership-level.php:57 msgid "Updated Successfully." msgstr "Успешно обновлено." #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "Роль" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "Доступ действителен в течение / до" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Регистрация" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "Вход для участников" #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Учетная запись" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Сброс пароля" #: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "Общие настройки" #: classes/class.swpm-settings.php:21 msgid "Payment Settings" msgstr "Настройки оплаты" #: classes/class.swpm-settings.php:22 msgid "Email Settings" msgstr "Настройки электронной почты" #: classes/class.swpm-settings.php:22 msgid "Tools" msgstr "Инструменты" #: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150 msgid "Advanced Settings" msgstr "Расширенные настройки" #: classes/class.swpm-settings.php:22 msgid "Addons Settings" msgstr "Настройка дополнений" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "Документация плагина" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "Включить бесплатное членство" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Включение / выключение регистрации для бесплатного уровня доступа. При " "включении этой опции, убедитесь, что для уровня бесплатного доступа указан " "ID в поле ниже." #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "ID бесплатного уровня доступа" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "Присвоить ID бесплатного уровня доступа" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "Включить защиту Читать далее" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Включает или отключает защиту Читать далее в постах и страницах. Все, что " "после тега Читать далее будет защищено. Все, что до будет играть роль тизер." #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "Спрятать панель администрирования" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "Всем вошедшим пользователям WordPress показывает панель администрирования. " "Поставьте этот флажок, если вы хотите прятать панель администрирования со " "страниц вашего сайта." #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "Состояние учетной записи по умолчанию" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Выберите статус учетной записи по умолчанию для вновь зарегистрированных " "пользователей. Если вы хотите, чтобы вручную подтверждать членов, то вы " "можете установить статус Ожидание" #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "Разрешить удаления учетной записи" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "Разрешить пользователям удалять свои учетные записи." #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "Автоматическое удаление аккаунтов в Ожидании" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "Выберите, как долго вы хотите хранить аккаунты в Ожидании." #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "Настройки страниц" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "URL страницы логина" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "URL страницы регистрации" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "URL страницы для новичков" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "URL страницы редактирования профиля" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "URL страницы сброса пароля" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "Настройки тестирования и отладки" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "Установите этот флажок, чтобы включить ведение логов." #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "Разрешить тестирование в режиме песочницы" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "Включите эту настройку, если вы хотите проводить платежи в тестовом режиме." #: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145 #: classes/class.swpm-settings.php:243 msgid "Settings updated!" msgstr "Настройки обновлены!" #: classes/class.swpm-settings.php:102 msgid "Email Misc. Settings" msgstr "Различные настройки e-mail" #: classes/class.swpm-settings.php:103 msgid "From Email Address" msgstr "Адрес отправки писем" #: classes/class.swpm-settings.php:106 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Настройки писем (Запрос о подтверждении регистрации)" #: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113 #: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132 msgid "Email Subject" msgstr "Тема письма" #: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115 #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134 msgid "Email Body" msgstr "Текст письма" #: classes/class.swpm-settings.php:112 msgid "Email Settings (Registration Complete)" msgstr "Настройки писем (Успешная регистрация)" #: classes/class.swpm-settings.php:117 msgid "Send Notification to Admin" msgstr "Отправить уведомление администратору" #: classes/class.swpm-settings.php:118 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Включите эту опцию, если вы хотите, чтобы администратор получал уведомление, " "когда пользователь зарегистрирован." #: classes/class.swpm-settings.php:119 msgid "Admin Email Address" msgstr "Email администратора" #: classes/class.swpm-settings.php:120 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Введите адрес электронной почты, на который будут приходить уведомления " "администратора." #: classes/class.swpm-settings.php:121 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Отправлять уведомление участнику, когда он добавлен администратором" #: classes/class.swpm-settings.php:124 msgid "Email Settings (Password Reset)" msgstr "Настройки электронной почты (Сброс пароля)" #: classes/class.swpm-settings.php:131 msgid " Email Settings (Account Upgrade Notification)" msgstr "Настройки писем (Уведомление об обновлении учетной записи)" #: classes/class.swpm-settings.php:152 msgid "Enable Expired Account Login" msgstr "Разрешить вход для истекших аккаунтов" #: classes/class.swpm-settings.php:153 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Если эта функция включена, участники с истекшими аккаунтами смогут войти в " "систему, но не будут иметь возможность просматривать любой защищенный " "контент. Это позволяет им легко обновить свой счет, сделав еще один платеж." #: classes/class.swpm-settings.php:377 msgid "Not a Member?" msgstr "Не участник?" #: classes/class.swpm-settings.php:377 views/login.php:27 msgid "Join Us" msgstr "Присоединяйтесь к нам" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "Активный" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Неактивный" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "В ожидании" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Просрочен" #: classes/class.swpm-utils.php:297 msgid "Never" msgstr "Никогда" #: classes/class.swpm-utils.php:371 msgid "Delete Account" msgstr "Удалить аккаунт" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63 msgid "Payment Button ID" msgstr "ID кнопки оплаты" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64 msgid "Payment Button Title" msgstr "Название кнопки оплаты" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65 msgid "Membership Level ID" msgstr "ID уровня доступа" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66 msgid "Button Shortcode" msgstr "Шорткод кнопки" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/admin_members_list.php:15 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "Выбранная запись была удалена!" #: classes/admin-includes/class.swpm-payments-list-table.php:53 msgid "View Profile" msgstr "Показать профиль" #: classes/admin-includes/class.swpm-payments-list-table.php:72 msgid "Row ID" msgstr "ID строки" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Адрес e-mail" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Member Profile" msgstr "Профиль пользователя" #: classes/admin-includes/class.swpm-payments-list-table.php:77 msgid "Date" msgstr "Дата" #: classes/admin-includes/class.swpm-payments-list-table.php:78 msgid "Transaction ID" msgstr "ID транзакции" #: classes/admin-includes/class.swpm-payments-list-table.php:79 msgid "Amount" msgstr "Сумма" #: classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Вид: список" #: classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Показать выдержку" #: classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "Ничего не найдено." #: classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "Выберите действие" #: classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "Массовые действия" #: classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Применить" #: classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Фильтровать по дате" #: classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Все даты" #: classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "%1$s %2$d" #: classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "%s в ожидании" #: classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "Выбрать страницу" #: classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "Выбрать все" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "Ваш профиль будет обновлен сразу после завершения оплаты." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "Ваше имя пользователя:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Для завершения регистрации нажмите на ссылку." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Нажмите здесь, чтобы завершить платную регистрацию" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Если вы только что сделали платёж, то он еще не обработан. Пожалуйста, " "проверьте еще раз через несколько минут. Подробная информация будет " "отправлена вам на почту в ближайшее время." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:80 msgid "Expiry: " msgstr "Истекает" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:82 msgid "You are not logged-in as a member" msgstr "Вы не авторизованы, пожалуйста войдите" #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:13 views/login.php:11 msgid "Password" msgstr "Пароль" #: views/add.php:18 views/edit.php:17 msgid "Repeat Password" msgstr "Повторите пароль" #: views/add.php:41 msgid "Register" msgstr "Зарегистрироваться" #: views/admin_add.php:6 msgid "Add Member" msgstr "Добавить участника" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Создать нового участника и добавить его на сайт." #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 #: views/admin_edit_level.php:10 views/admin_edit_level.php:14 #: views/admin_edit_level.php:18 msgid "(required)" msgstr "(обязательно)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(дважды, обязательно)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Надёжность пароля" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Подсказка: пароль должен быть не короче 7 символов. Чтобы усилить пароль, " "используйте заглавные и строчные буквы, цифры и символы ! \" ? $ % ^ & )." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Статус учетной записи" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Добавить нового участника" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 #: views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Настройки" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "Некоторые из настроек дополнения будут отображаться здесь" #: views/admin_addon_settings.php:13 msgid "Save Changes" msgstr "Сохранить изменения" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Создать новый уровень доступа." #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Название уровня доступа" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Роль WordPress по умолчанию" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "Продолжительность доступа" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Нет истечения срока действия (доступ для этого уровня не истекает до отмены)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "Истекает через" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "Дни (Доступ заканчивается после заданного количества дней)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Недели (Доступ истекает после заданного числа недель)" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "Месяцы (Доступ истекает после заданного числа месяцев)" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "Годы (Доступ истекает после заданного числа лет)" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "Фиксированная дата истечения срока действия" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(Доступ истекает в фиксированную дату)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Добавить новый уровень доступа" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Дополнения" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership::Категории" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Сначала защитите ваш сайт включив „Общую защиту” из выпадающего списка ниже " "и выберите категории, которые должны быть защищены от неавторизованный " "пользователей" #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Затем выберите существующий уровень доступа из выпадающего списка ниже, а " "затем выберите категории, к которым требуется предоставить доступ (для " "конкретного уровня доступа)." #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Изменить участника" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Редактировать данные существующего участника." #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(дважды, оставьте пустым, чтобы сохранить старый пароль)" #: views/admin_edit.php:33 msgid "Notify User" msgstr "Оповестить пользователя" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "ID подписчика / Референс" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "Последний доступ с IP" #: views/admin_edit.php:52 msgid "Edit User " msgstr "Изменить пользователя" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Изменить уровень доступа" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Изменить уровень доступа." #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Нет истечения срока действия (доступ для этого уровня не истекает до отмены)" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "Недели (Доступ истекает после заданного числа недель)" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "Изменить уровень доступа" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Участники" #: views/admin_members.php:3 views/admin_members_list.php:30 msgid "Add New" msgstr "Добавить нового" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Уровни доступа" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "поиск" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Уровень доступа" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Управление доступом к материалам" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "Защита рубрик" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Пример настроек управления доступом к материалам" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Пол" #: views/admin_member_form_common_part.php:30 views/edit.php:29 msgid "Phone" msgstr "Телефон" #: views/admin_member_form_common_part.php:34 views/edit.php:33 msgid "Street" msgstr "Улица" #: views/admin_member_form_common_part.php:38 views/edit.php:37 msgid "City" msgstr "Город" #: views/admin_member_form_common_part.php:42 views/edit.php:41 msgid "State" msgstr "Регион/Штат" #: views/admin_member_form_common_part.php:46 views/edit.php:45 msgid "Zipcode" msgstr "Индекс" #: views/admin_member_form_common_part.php:50 views/edit.php:49 msgid "Country" msgstr "Страна" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Компания" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Участник с" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Генерировать ссылку для завершения регистрации" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Вы можете вручную сгенерировать ссылку для завершения регистрации и передать " "её клиенту, если он пропустил письмо, отправленное автоматически после " "совершения платежа." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Генерировать ссылку для завершения регистрации" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "ИЛИ" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Для всех не подтвержденных регистраций" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "Ссылки для завершения регистрации появятся ниже:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Отправить также письмо с напоминанием о регистрации" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Отправить" #: views/edit.php:59 msgid "Update" msgstr "Обновить" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Сбросить пароль" #: views/loggedin.php:3 msgid "Logged in as" msgstr "Вход как" #: views/loggedin.php:11 msgid "Membership" msgstr "Участие" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "Учетная запись истекает" #: views/loggedin.php:19 msgid "Logout" msgstr "Выйти" #: views/login.php:18 msgid "Remember Me" msgstr "Запомнить меня" #: views/login.php:24 msgid "Forgot Password" msgstr "Забыли пароль" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "Все платежи / операции ваших членов регистрируются здесь." #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "Поиск транзакции с помощью электронной почты или имени" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Поиск" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Вы можете создать новую кнопку оплаты для ваших участников, используя этот " "интерфейс." #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Выбор типа кнопки оплаты" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Далее" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "Вы можете изменить кнопку оплаты с помощью этого интерфейса." #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "Simple Membership::Платежи" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Все кнопки, созданные в плагине отображаются здесь." #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "Настройки интеграции с PayPal" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Генерировать код \"Advanced Variables\" для вашей кнопки PayPal" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "Введите ID уровня доступа" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "Генерировать код" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "Конфигурация кнопки PayPal Купить сейчас" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "Заголовок Кнопки" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "Сумма платежа" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "Валюта платежа" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "URL возврата" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "PayPay E-mail" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "URL изображения для кнопки" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "Сохранить данные платежей" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "ID кнопки" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "PayPay подписка, настройка кнопки" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "Стоимость за цикл:" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "Платежный цикл" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "Платежный цикл Количество" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "Повторная попытка при сбое" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Trial Платежная информация (оставьте пустым, если вы не используете Trial)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "Сумма к оплате пробного периода" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "Пробный период, Billing" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "Дополнительные сведения" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "Купить сейчас" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "Подпишитесь сейчас" #~ msgid "You are not allowed to view this content" #~ msgstr "У вас нет прав на просмотр этого материала." #~ msgid "Registration Successful." #~ msgstr "Регистрация осуществлена успешно." #~ msgid "Invalid User Name" #~ msgstr "Неверное имя пользователя" #~ msgid "Bad Cookie Hash" #~ msgstr "Неверный хэш куки" #~ msgid "" #~ "Wordpress account exists with given user name. But given email doesn't " #~ "match." #~ msgstr "" #~ "Для указанного пользователя существует учетная запись, но e-mail не " #~ "совпадает." #~ msgid "" #~ "Wordpress account exists with given email. But given user name doesn't " #~ "match." #~ msgstr "" #~ "Для указанного e-mail существует учетная запись, но имя пользователя не " #~ "совпадает." #~ msgid "User name is required" #~ msgstr "Имя пользователя обязательно." #~ msgid "User name already exists." #~ msgstr "Такой пользователь уже существует." #~ msgid "Subscription starts field is invalid" #~ msgstr "Неверное поле \"начало подписки\"" #~ msgid "Email Address Not Valid." #~ msgstr "Неверный адрес e-mail." #~ msgid "Subscriptoin duration must be > 0." #~ msgstr "Срок подписки должен быть больше 0." #~ msgid "User Name" #~ msgstr "Имя пользователя" #~ msgid "Subscription Starts" #~ msgstr "Подписка начинается" #~ msgid "Subscription Valid For" #~ msgstr "Подписка действительна до" #~ msgid "Enable/disable registration for free membership level" #~ msgstr "Включить/отключить регистрацию для бесплатного уровня доступа" #~ msgid "Send Notification To Admin" #~ msgstr "Отправлять уведомление администратору" #~ msgid "Display SWPM Login." #~ msgstr "Показывать вход в SWPM." #~ msgid "SWPM Login" #~ msgstr "Вход в SWPM" #~ msgid "User name" #~ msgstr "Имя пользователя" #~ msgid "Subscription Duration" #~ msgstr "Срок подписки" #~ msgid "No Expiry" #~ msgstr "Бессрочно" languages/simple-membership-fr_FR.mo000064400000152711147206617610013506 0ustar00\).)4*E*b*D{**+1Q,, -&- E-BP--- -i-L. \.+g.. .... ../;,/h// ////// 0 )070VK0R00 0 111)1C1K1[1!c1111M1@2X2%o2222 22s3y3#33 3333 44 54C4TW44&445!5)05'Z5 555 5 5555(6/6 J6 U6 a6o666X6*7=7 B7 O7-Z797%77 778 88880899$90>9o99999 99$9: :*: A:N: d:o::: :: ::::1;&H; o;};;;;;; <!<<<YS<[<= =G=={>R>3>F ?Bg?[?<@NC@L@J@@*A>kAFA.A BABVB#B CCC"C )C4CC D1DLD\DmDIDDDDEE ,E%:E'`E=EE*E FF FFF@F GGGGHH6/HfHoHwHHHH H(HHH_IoIII III IIIIIJ&J-J >J HJUJ dJ!qJJJ$J JJ#J%KDKXK&nKKKKK9K"L@L TL`L4iLLL1LLL M@MAM2NENUNfN&N N N NN NOO$O:OIOROmO|OOOO OO#O P&PBP(VPPPPPPIP!Q*Q2Q8Q?QXQsQQIQ9Q2RFR_RtRRR RRRXR9S VSaSwS SSS/S8S &T2TBT QT\TqTTTT QU^UpU/wU U*UU UUV3-ViaVpV[D[^[e[l[{[;[[#[[ \ \ \68\o\\\\#\\G]t^#^^^CU_!_8_S_H`a`vTa^aU*bbcG0c=xcccc ccJc>dSdXdkd~dddmeeeee4e# f-fBf6Tff f f ff1Pg2ggrh;iLiLj2jjj]jk2kHkk_l!vllLkm3mImh6nnSoCowp0pp)Qq%{q.qiqv:r3r(rIs:Xss"t=tDSt?tat:uRuZu su ~u uumuG wGSw+w'wRwBx(y'z=zz(z{B2{*u{"{{V| o|?}|| |||}}1})Q}%{}(}}}}~~-~C~)]~~~r~d'3#"W1zU,"B3e;Ձ +(ނ /D-K y'j߃J6g'Ƅ 8-* Xe'Dž'C$[ Ȇ%e *s  ,ɇ4.+ Zd"x ITdi8(8@\ x *Š""*M,^ !ċ 8=PC0Ҍ"8O%j#&ۍ.%^=oL Y?N:_^~HKǒiL}iʓe4eeDf'ӕ/ ߖ  '" Jk!j#3#8\|((̙E ;=\" }a ל%F\ x!Ɲޝ24";i^Ȟܞ  7AT tƟ͟  .&%U{4 Ġ'ؠ*+E-`#СG*<g} 6*Ӣ06>ңSS7$֤4!0Rez( !#7E}&)Ħ + B!PrЧY x 3Ѩ2NB8+ʩ3*(@i| oڪ&Jq #@K<! ׬ .8'V ~0 >Ů#+;gVܯ~pK/ٱR .\5ײ$ 8#S wBƳ*߳+ 6V.v*Ĵu-'0۵ 5<@D.]1 ض 3 T(i-^'+ڹK&F.Yuϻm)UƽqCTWI "ZA$*o%L4*_%E' ! 0>><R SX9Yq- $Ns--.Y)HU"SSc6<-4?Fu//PL2/IIFxS n z =EV1.J&r7  ^ YDAGz ]MB{ObK [eUgx@iP7W[IA+9m5qOnTDMjUvNY0'ywR*b/  a8\2Buzs{Qh@.%Q*#HVXEln_S+:'4lTCqp>(^~i>KNtZpIJ?P0o t9F(-:k/fk f ]|v3|dZ6"; G~;RH 8#}Fa4}63WoscCyecgj$&_-5rwm?"h)2<)x`$\!<S1Lu%,L=,Xd!` Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. characters required page to pay for a premium membership. to login. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterAccess DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdvanced SettingsAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApostrophe character is not allowedApt, Suite, Bldg. (optional)Aready takenAssign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCan't find member account.Cannot find member account.Captcha validation failed on login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Comments not allowed by a non-member.CompanyCompany NameConfirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDisable Access to WP DashboardDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit ProfileEdit Profile Page URLEdit User Edit existing member details.Edit membership levelEmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty payment data received.Enable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Error occured during PayPal Smart Checkout process.Error occured during payment verification. Error code: %d. Message: %sError! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! The membership level ID (Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry: FemaleFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForgot PasswordForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo back to the home page by HTTP error occured during payment process:Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).I accept the I agree to the IDIPN product validation failed. Check debug log for more details.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelIt will also delete associated WordPress user account.Join NowJoin UsJoin Us Page URLLast Accessed DateLast Accessed From IPLast Login DateLast NameLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Publishable KeyLive Secret KeyLogged Out Successfully.Logged in asLogged in as: LoginLogin HereLogin Page URLLogoutMaleManage Content ProtectionManage Payment ButtonsMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No items found.No member found.No membership levels found.No user found with that email address.No, Do not protect this content.Not SpecifiedNot a Member?Not a member? Notify UserOROptional DetailsPage Setup and URL Related settings.Pages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPassword must contain at least:Password: PayPal Buy NowPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal SubscriptionPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPayment check failed: invalid amount received. Expected %s %s, got %s %s.PaymentsPendingPhonePleasePlease Login to Comment.Please check at least one.Please correct the followingPlease correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePrivacy PolicyPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordReset PasswordReturn URLRetype password HereRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here.Save ChangesSave Payment DataSearchSearch for a transaction by using email or nameSearch...Security check: captcha validation failed.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect how long you want to keep "pending" account.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!Show Adminbar to AdminSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the access starts date value.StateState / Province / RegionStatusStreetStreet AddressStrength indicatorStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceSuccess! Your account has been activated successfully.Terms and ConditionsTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The following details are optional.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis page allows you to configure some advanced features of the plugin.This value gets updated when this member logs into your site.TitleToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTypeType password HereType password hereUpdateUse WordPress TimezoneUse this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Validating, please waitVerificationView ProfileWP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Weeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a sandard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a member.You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to confirm your email address. Please check your email and follow instructions to complete your registration.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodecategory protection menuclick hereclicking hereincompleterenewProject-Id-Version: Simple Membership Plugin PO-Revision-Date: 2017-05-22 07:09+0200 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 2.0 X-Poedit-KeywordsList: __;_e;e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=2; plural=(n > 1); Language: fr X-Poedit-SearchPath-0: . Paramètres de messagerie (notification de modification d’abonnement)Paramètres de messagerie (notification de modification d’abonnement) Ce champ comporte un caractère non valide Les mots de passe ne correspondent pasVous n'avez pas le niveau d'abonnement suffisant pour lire la suite de ce contenu.Utilisez une adresse e-mail différente pour terminer l'enregistrement. Si vous souhaitez utiliser cet e-mail, vous devez entrer le nom d'utilisateur correct associé à l'utilisateur WP existant pour vous connecter à ce compte.Utilisez un nom d'utilisateur différent pour terminer l'enregistrement. Si vous souhaitez utiliser ce nom d'utilisateur, vous devez entrer l'adresse email correcte associé à l'utilisateur WP existant pour vous connecter à ce compte. Vous éditez le membre avec l’ID : Vous pouvez mettre plusieurs adresses e-mail séparées par une virgule (,) dans le champ ci-dessus pour envoyer la notification à plusieurs adresses e-mail. caractères sont requis page pour acheter un abonnement premium pour se connecter. pour voir le profil avec lequel vous êtes actuellement connecté votre compte pour accéder à ce contenu.(L'accès expire à une date fixe)(REMARQUE: pour des raisons de sécurité, nous n'autorisons pas la suppression de tout compte WordPress associé avec le rôle d'administrateur).(Veuillez sélectionner)(obligatoire)(deux fois, laisser vide pour conserver le mot de passe actuel)(deux fois, obligatoire)- un chiffre- une minuscule- une majusculeDurée de l'abonnementDémarrage de l'accèsAccès valable pour /jusqu’àLa durée de l'abonnement doit être > 0.Date d'accès modifiée avec succès.Le champ du début d'accès est invalideExpiration du compteÉtat du compteStatut du compteCompte déjà actif. Ce compte est expiré.Ce compte est inactifCe compte est en attente.Le champ d’état du compte est invalideÉtat de l'actionActivation requiseIncompatibilité du code d'activation. Impossible d'activer ce compte. Veuillez contacterl'administrateur du site.Un e-mail d'activation a été envoyé. Veuillez vérifier votre messagerie et activer votre compte.ActifAjouter un niveauAjouter un membreCréerAjouter un nouveau membre Ajouter un nouveau niveau d'abonnement Add-onsParamètres des extensionsAdresseAutorisation d’accès au panneau d'administrationAdresse e-mail de l'administrateurCorps de l'e-mail de l'admin pour la notificationRèglages avancésTous les boutons d'abonnement que vous avez créé dans le module sont affichés ici.Tous les paiements de vos abonnés sont ici.Autoriser la suppression du compteAutorise les utilisateurs à supprimer leur compte.Les caractères autorisés sont: lettres, chiffres et .-_*@Déjà membre de ce niveau.Déjà utiliséDéjà pris.Alternativement, vous pouvez utiliser un autre navigateur (où vous n’êtes pas connecté en tant qu’ADMIN) pour tester la connexion de l’abonnement.MontantLe caractere Apostrophe n'est pas autoriséAppartement, bureau, unité (facultatif)Déjà pris.Attribuer un ID pour le niveau "accès gratuit"AuteurEffacement automatique des comptes en attenteDisponibleMontant de facturation à chaque cycle:Cycle de facturationCycle de facturation (compte)Braintree API key et les détails du compte. Vous pouvez obtenir cela à partir de votre compte Braintree.Braintree Acheter maintenantBraintree Acheter maintenant - configuration du boutonModification d'accès (date de début) Modifier le niveau MembershipBulk ActionsModification d'accès (date de début pour les abonnés)Bulk Update niveau d’abonnement des membresID du boutonURL pour l'image du bouton.Shortcode du boutonTitre du boutonType de boutonAcheter maintenantImpossible de trouver le compte membre.Impossible de trouver le compte membre.La validation de Captcha a échoué sur le formulaire de connexion.La validation du captcha a échoué.CatégoriesID de catégorieNom de catégorieProtection de catégorieType de catégorie (taxonomie)Protection de catégorie mise à jourCochez cette case pour supprimer l'image. L'image sera supprimée lorsque vous enregistrez le profil.Cochez cette option pour activer les logs.LocalitéEffacer la rechercheCliquez iciCliquez ici pour terminer votre inscription.Cliquez sur ce lien pour terminer votre inscription.Commentaires non autorisés par un non-membre.SociétéNom de l'entrepriseConfirmer la suppression du compteContactez l'administrateur du site et demandez-lui de vérifier votre nom d'utilisateur dans le menu Utilisateurs WP pour voir ce qui s'est passé avec votre utilisateur WP.Continuer?Nombre (compte)PaysCréer un nouveau boutonCréer un nouveau utilisateur et l’ajouter à ce site.Créer un nouveau niveau d’abonnement.DateFormat de la date non valide.Jours (l'accès expire après un nombre de jours donné)État de compte par défautRôle WordPress par défautSupprimerSupprimer le compteSupprimer le profil utilisateurDescriptionDésactiver l'accès au tableau de bord WPVoulez-vous protéger ce contenu ?E-mailModifier le membreModifier le niveau d’abonnement Editer le profilAdresse de la page pour l'édition du profilModifier l'utilisateur Modifier les détails du membre.Modifier le niveau d’abonnementE-mailAdresse e-mailE-mail : Corps de l'e-mailParamètres e-mail additionnelsParamètres des e-mailsParamètres de messagerie (réinitialisation du mot de passe)Paramètres de messagerie (demande pour achever l’enregistrement)Paramètres de l'e-mail (enregistrement complet)Sujet de l'e-mailL'adresse e-mail n'est pas valide.E-mail déjà utiliséAdresse e-mail non valide.Une adresse électronique est requiseDonnées de paiement vides reçues.Activer la connexion de compte expiréActiver l’accès gratuitActiver la protection de la balise "plus/more"Activer le test SandboxActivez cette option si vous souhaitez que seuls les abonnés puissent publier un commentaire.Activez cette option si vous voulez que l'administrateur reçoive une notification lors d'un nouvel abonnement.Activez cette option si vous voulez faire des tests de paiement via Sandbox.Activer/désactiver l'enregistrement pour le niveau d'abonnement gratuit. Lorsque vous activez cette option, assurez-vous de spécifier un ID de niveau d'abonnement libre dans le champ ci-dessous.Active ou désactive la protection de balise « more » dans les messages et les pages. Tout ce qui vient après cette balise est protégé. Tout ce qui vient avant est du contenu de teasing.ID du niveau d'abonnementInscrivez l'adresse e-mail de destination pour la notification.Une erreur s'est produite lors du processus de paiement PayPal Smart Checkout.Une erreur s'est produite lors de la vérification du paiement. Code d'erreur: %d. Messages :%sErreur ! Impossible de trouver un chemin d’accès de modèle pour le modèle spécifié : Erreur ! Requête non valide. Ne peut pas trouver une correspondance pour le code de sécurité donné et l’ID utilisateur.Erreur ! Nonce vérification a échoué pour le profil de l’utilisateur.Erreur ! Vérification Nonce a échoué pour l’enregistrement du niveau d'abonnement depuis l’admin.Erreur ! Nonce vérification a échoué pour supprimer niveau d'abonnement.Erreur ! Vérification Nonce a échoué pour l’enregistrement du niveau d'abonnement depuis l’admin.Erreur ! Vérification Nonce a échoué pour l’enregistrement de l’utilisateur depuis l’admin.Erreur ! Nonce vérification a échoué pour l’enregistrement de l’utilisateur depuis l’admin.Erreur ! Nonce vérification a échoué pour l’enregistrement de l’utilisateur depuis l’admin.Erreur ! Veuillez d’abord sélectionner un niveau d’abonnement.Erreur ! L’abonnement de niveau ID (Erreur ! Cette action (Erreur! Ce site a la fonction de connexion utilisateur de force WP activée dans les paramètres. Nous n'avons pas pu trouver d'enregistrement d'utilisateur WP pour le nom d'utilisateur donné: Exemple de paramètres de protection du contenuExpire aprèsExpiréExpiration : FemmePrénomTout d’abord, protéger globalement la catégorie sur votre site en sélectionnant « Protection générale » dans la boîte déroulante ci-dessous et sélectionnez les catégories qui doivent être protégés des utilisateurs non-connectés.Expire à une date donnéePour tous les inscriptions incomplètesPour un ID particulier de membreMot de passe oubliéMot de passe oublié?ID du niveau d'abonnement gratuitLa formule d'abonnement gratuit est désactivée sur ce site. S’il vous plaît faire un paiement depuis Depuis l'e-mailSexeLe champ « genre » est invalideRéglages généraux du plugin.Réglages générauxGénérer le codeGénérer le lien de fin d’inscriptionGénérer le lien de fin d’inscriptionGénérer le code « Advanced Variables » pour votre bouton PayPalRetour à la page d'accueil via Une erreur HTTP s'est produite lors du processus de paiement:Cacher la barre d’administrationRemarque : Le mot de passe doit comporter au moins sept caractères. Pour le rendre plus solide, utiliser des majuscules et des minuscules, des chiffres et des symboles comme ! «  ? $ % ^).J'accepte lesJe suis d'accord avec laIDLa validation du produit IPN a échoué. Consultez le journal de débogage pour plus de détails.Votre paiement est en cours de finalisation. Il sera pris en compte dans quelques instants. Un e-mail vous sera envoyé avec les détails sous peu.InactifAdresse e-mail non valide.Identifiant non valideAddresse email invalideLe niveau d'abonnement est incorrect.Cela supprimera également le compte d'utilisateur WordPress associé.Créer un compte maintenantVous abonnerAdresse de la page "Vous abonner"Dernière date de consultationDernier accès via l'IPDate de la dernière connexionNomLaissez vide pour conserver le mot de passe actuelNiveauModifier le niveau d'abonnement : Lien (s) généré avec succès. Le lien (s) suivant peut être utilisé pour effectuer l'enregistrement.Clé Live publiableClé Live secrèteDéconnecté avec succès.Connecté en tant queConnecté en tant que:ConnexionConnectez-vous iciAdresse de la page de connexionDéconnexionHommeGérer la protection du contenuGérer les boutons de paiementMembreAnnuaire des membresID MembreIdentifiant du membre (login)Profil membreMembre depuisEnregistrement du membre ajouté avec succès.Le champ "membre depuis" est invalideAbonnésLes abonnés doivent être connectés pour commenterAbonnementNiveau d'abonnementLe niveau d'abonnement est introuvable.Création du niveau d'abonnement réussie.ID du niveau d'abonnementNom du niveau d'abonnementNiveau d'abonnement mis à jour avec succès.Niveau d'abonnement :Niveau d'abonnement : Niveaux d'abonnementLien de renouvellement d'abonnementLa modification du niveau d'abonnement a été réalisée avec succès.Le niveau d'adhésion a été mis à jour.ID du compte marchandIdentifiant marchandAu moins Mois (l'accès expire après un nombre de mois donné)Le nom contient des caractères invalides.JamaisVotre nouveau mot de passe vous a été envoyé.SuivantEnsuite, sélectionnez un niveau existant dans la liste ci-dessous et enfin choisissez les catégories autorisées (pour ce niveau en particulier).Pas d'expirationN’expire pas (l’accès à ce niveau n’expirera pas jusqu’à son annulation)N’expire pas (l’accès à ce niveau n’expirera pas jusqu’à son annulation)Aucune catégorie trouvée.Aucun élément trouvé.Aucun membre trouvé.Aucun niveau d’abonnement trouvé.Aucun utilisateur n'a été trouvé avec cet e-mail.Non, ne pas protéger ce contenu.Ne se prononce pasPas encore abonné ?Pas un membre?Notifier l’utilisateurOUDétails optionelsParamètres des pages et liens connexes.Réglages des pagesMot de passeMot de passe vide ou non valide.Réinitialisation du mot de passeAdresse de la page de réinitialisation du mot de passeLe mot de passe est obligatoireLes mots de passe ne correspondent pasLe mot de passe doit contenir au minimum:Mot de passe:Paypal Acheter maintenantPayPal® (Acheter maintenant) configurationE-mail PaypalParamètres d'intégration PaypalAbonnement PayPalConfiguration du bouton PaypalMontant du paiementID du bouton de paiementTitre du bouton de paiementDevise de paiementParamètres de paiement PaypalLe chèque de paiement a échoué: montant non valide reçu. Attendu %s %s, obtenu %s %s.PaiementsEn attenteTéléphoneSVPVeuillez vous connecter pour laisser un commentaireVeuillez en cocher au moins un.Veuillez corriger ce qui suitS’il vous plait, veuillez corriger ce qui suit :Veuillez saisir deux chiffres avec aucun espace (Exemple: 12)Veuillez saisir deux chiffres sans espace (Exemple: 12)*Veuillez vous reconnecter, s'il vous plait.Veuillez vous connecter pour laisser un commentaireDocumention du pluginProtection des publications et des pagesCode postal ou ZIPPolitique de confidentialitéClé de licence privéeProfilMise à jour du profil réussie.Le profil a été mis à jour avec succès. Vous allez devoir vous reconnecter avec votre nouveau mot de passe.Paramètres de protection mis à jour!Clé de licence publiqueRéessayer en cas d'erreurInscriptionEnregistrementAdresse de la page d'enregistrementInscription réussie. Les liens de finalisation d'inscription apparaîtront ci-dessousL'inscription est complète. Vous pouvez maintenant vous connecter au site.Se souvenir de moiRépéter le mot de passeRéinitialisation du mot de passeURL de retourRetaper le mot de passeRetapez le mot de passe iciRôleID de la ligneSWPM admin dashboard est accessible aux utilisateurs admin uniquement (tout comme n’importe quel autre plugin). Vous pouvez autoriser les utilisateurs avec le rôle d’autres WP utilisateur accéder au tableau de bord SWPM admin en sélectionnant une valeur ici.Enregistrer les modificationsEnregistrement des données de paiementRechercheRechercher une transaction par le nom ou l'emailChercher...Contrôle de sécurité : la validation du captcha a échoué.Sélectionnez le niveau actuelSélectionner un niveauSélectionner le type du bouton de paiementSélectionnez le niveau cibleChoisissez la durée pendant laquelle vous souhaitez conserver les comptes en attente.Sélectionnez le niveau d’abonnement (la date de début de l’accès de tous les membres qui se trouvent dans ce même niveau sera actualisée).Sélectionnez le niveau d’abonnement actuel (le niveau de tous les abonnés qui se trouvent dans ce niveau sera actualisé).Sectionner le compte par défaut des nouveaux abonnés. Si vous souhaitez approuver manuellement les abonnés, vous pouvez mettre ce statut sur "En attente".Sélectionnez le niveau d’abonnement de qui peut accéder à ce contenu :Sélectionnez le nouveau niveau d’abonnement.Envoie un e-mail au membre quand il est ajouté depuis le panneau d'administrationEnvoyer une notification à l’administrateurEnvoyer aussi l’e-mail de rappel d’enregistrementLa session a expiré.Placer le statut sur actifDéfinir l’état actif et notifierRégler le statut sur "Expiré" Définir le statut inactifRégler le statut sur "En attente" ParamètresLes réglages de cette section s’appliquent à tous les e-mails.Réglages mis à jour !Montrer la barre Admin aux administrateursOptions de protection simple WP MembershipSimple WP Membership::PaiementsProtection Simple WP MembershipSimple WP Membership::Modules ComplémentairesSimple WP Membership::AbonnésSimple WP Membership::Niveaux d'abonnementSimple WP Membership::RéglagesQuelques modules complémentaires au module Simple Membership vont être affichés ici (si vous les avez installés).Désolé , la vérification Nonce a échoué.Les mots de passe ne correspondent pas.Spécifiez la date à laquelle débute l'accès.État/régionÉtat / Province / RégionStatutRueRueIndicateur de sécuritéObtenez vos clés API via votre compte Stripe.Stripe Acheter maintenantStripe acheter maintenant le bouton ConfigurationSoumettreAbonnez-vous maintenantID de l'abonnéID membre/référenceSuccès! Votre compte a été activé avec succès.Termes et ConditionsRéglages pour les tests et le débugageClé Test publiableClé Test secrèteTester et déboguer des paramètres connexes.Le début d’accès date d’un membre est indiqué au jour de l'inscription de l’utilisateur. Cette valeur de date est utilisée pour calculer combien de temps le membre peut accéder à votre contenu protégé. L'administrateur de ce site n'autorise pas les utilisateurs à accéder au tableau de bord wp.La catégorie ou la catégorie parent de ce message est protégée. Vous pouvez modifier les paramètres de protection de catégorie à partir du Les détails suivants sont facultatifs.L'entrée sélectionnée a été effacée !L'administrateur du site peut désactiver la fonctionnalité Force WP User Synchronization dans les paramètres pour désactiver cette fonctionnalité et cette erreur disparaîtra.Ce contenu ne peut être consulté que par les abonnés depuis ou avant le Ce contenu est réservé aux abonnés.Vous n'avez pas le niveau d'abonnement suffisant pour voir ce contenu.Cet e-mail sera envoyé pour inviter les utilisateurs à s’inscrire après le paiement.Cet e-mail sera envoyé à l’administrateur lorsqu’un nouvel utilisateur termine l’enregistrement de l’abonnement. Ne fonctionne que si vous avez activé l’option « Envoyer la notification à l'administrateur » ci-dessus.Cet e-mail sera envoyé à vos membres lorsque vous utilisez le compte en vrac activer et action de notifier.Cet e-mail sera envoyé aux utilisateurs après que leur compte soit mis à niveau (lorsqu’un membre existant paie pour un nouveau niveau d’abonnement).Cet e-mail sera envoyé à vos utilisateurs lorsqu’ils complètent une inscription.Cet e-mail sera envoyé à vos abonnés lorsqu’ils utilisent la fonctionnalité de mot de passe réinitialisé.Cette erreur est déclenchée lorsqu'un compte membre n'a pas de compte utilisateur WP correspondant. Le plugin ne parvient donc pas à connecter l'utilisateur au système WP User.Ce champ est requisCette page vous permet de configurer certaines fonctionnalités avancées du plugin.Cette valeur est actualisée lorsque ce membre se connecte à votre site.TitreOutilsID de transactionTransactionsMontant de facturation (essai)Détails de la période d'essai (laisser vide si vous ne proposez pas de période d'essai)Période de facturation (essai)TypeEntrez ici un mot de passeTapez le mot de passe iciMettre à jourUtiliser le fuseau horaire WordPressUtilisez cette option si vous souhaitez afficher la barre d’outils admin aux seuls administrateurs. La barre d’outils admin est cachée pour tous les autres utilisateurs.Utilisez cette option si vous souhaitez utiliser la valeur de fuseau horaire spécifiée dans votre interface de paramètres généraux de WordPress.Utilisateur non trouvé.Utilisateur non connecté.Nom d’utilisateurLe nom d’utilisateur existe déjà.Le nom d'utilisateur ne peut contenir que: des lettres, des chiffres et .-*@Le nom d'utilisateur contient un caractère invalideLe nom d'utilisateur est requisNom d’utilisateur ou adresse e-mailLe nom d'utilisateur ne peut contenir que: lettres, chiffres et .-_*@Validation en cours, veuillez patienterVérificationVoir le profilWP MembershipAvertissement ! Simple Membership ne peut pas traiter cette demande de connexion pour vous empêcher de vous déconnecter accidentellement de l'admin.Semaines (l'accès expire après un nombre de semaines donné)Semaines (accès expire après un nombre de semaines donné)Quand activé, les abonnés dont le compte est expiré pourront se connecter mais n'auront pas accès au contenu réservé aux abonnés. Cela les poussera peut être à renouveler leur abonnement.WordPress permet à un utilisateur de wp de sandard pouvoir accéder à l’URL de wp-admin et accéder à son profil de la wp accédez. À l’aide de cette option empêchera les utilisateurs non admin de se rendre dans le tableau de bord wp.WordPress montre une barre d’admin pour les utilisateurs connectés au site. Cochez cette case si vous souhaitez masquer cette barre d’admin sur votre site.Un compte existe avec cette adresse, mais le nom d’utilisateur n’est pas valideUn compte existe déjà avec cet identifiant. Mais l’adresse e-mail ne correspond pas.Ans (l'accès expire après un nombre d’années donné)Oui, protéger ce contenu.Vous êtes sur le point de supprimer un compte. Cela supprimera les données utilisateur associées à ce compte.Vous êtes actuellement en train d'éditer : Vous êtes connecté en tant que : Vous êtes connecté au site en tant qu’utilisateur ADMIN dans ce navigateur. Tout d’abord, déconnexion de WP Admin puis vous sera en mesure d’ouvrir une session tant que membre.Vous êtes connecté au site en tant qu'utilisateur ADMIN dans ce navigateur. Tout d'abord, déconnectez-vous de WP Admin, puis vous pourrez vous connecter en tant que membre normal.Vous n'êtes pas connecté.Vous n'êtes pas connecté en tant que membreVous pouvez créer une page de renouvellement pour votre site. Consultez cette documentation pour savoir comment créer une page de renouvellement.Vous pouvez créer de nouveaux boutons pour vos abonnements en utilisant cette interface.Vous pouvez modifier un bouton de paiement en utilisant cette interface.Vous pouvez modifier les détails des membres sélectionnés depuis cette interface. Vous pouvez modifier manuellement le niveau d’abonnement de tout membre en éditant l’enregistrement dans le menu membres. Vous pouvez manuellement générer un lien de fin d'inscription ici et le donner à vos clients s'ils ont raté l'email qui leur est automatiquement envoyé après le paiement.Vous pouvez définir manuellement une valeur de date de début de l'accès spécifique pour tous les membres qui appartiennent à un niveau déterminé à l’aide de l’option suivante.Vous pouvez utiliser le bouton retour de votre navigateur pour revenir sur le site.Vous pouvez utiliser l’option suivante de mise à jour le niveau d’abonnement des utilisateurs qui appartiennent au niveau que vous sélectionnez ci-dessous.Vous n’avez pas l’autorisation de voir ce contenu.Vous avez le mode de paiement sandbox activé dans la configuration du plugin. Veillez à désactiver le mode sandbox, quand vous voulez faire vivre les transactions.Vous devez accepter les termes et conditions.Vous devez accepter la politique de confidentialitéVous devez être connecté pour mettre à niveau un abonnement.Vous devez activer votre compte. Si vous n'avez pas reçu d'email, alors %s pour envoyer un nouvel email d'activationVous devez confirmer votre adresse e-mail. Veuillez vérifier vos emails et suivre les instructions pour terminer votre inscription.Vous devez vous connecter pour voir le contenu.Vous devez vous connecter pour voir le contenu.Vous serez automatiquement redirigé dans quelques secondes. Sinon, veuillez %s.Vous allez devoir vous reconnecter car vous avez changé votre mot de passe.Vous recevrez un lien unique par e-mail après le paiement. Vous serez en mesure d'utiliser ce lien pour terminer l'enregistrement d'abonnement premium.Votre compte a expiréVotre mot de passe actuelVotre niveau d'abonnement n'a pas la permission de visualiser ce contenu.Votre niveau d'abonnement va être revu en fonction de votre paiement.Vos visiteurs normaux ou les abonnés ne verront jamais ce message. Ce message est seulement pour l’utilisateur ADMIN.Votre nom d'utilisateur : Code postalmenu de protection de catégoriecliquez icicliquant iciincompletRenouvelerlanguages/simple-membership-el_GR.po000064400000107436147206617610013507 0ustar00msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2015-08-22 13:31+0300\n" "PO-Revision-Date: 2015-08-22 19:25+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: el_GR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.4\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: classes/class.simple-wp-membership.php:262 msgid "You are not logged in." msgstr "Δεν έχετε εισέλθει." #: classes/class.simple-wp-membership.php:296 msgid "Simple WP Membership Protection" msgstr "" #: classes/class.simple-wp-membership.php:308 msgid "Simple Membership Protection options" msgstr "" #: classes/class.simple-wp-membership.php:324 msgid "Do you want to protect this content?" msgstr "" #: classes/class.simple-wp-membership.php:329 msgid "Select the membership level that can access this content:" msgstr "" #: classes/class.simple-wp-membership.php:462 msgid "WP Membership" msgstr "" #: classes/class.simple-wp-membership.php:463 classes/class.swpm-members.php:8 #: views/admin_members_menu.php:2 msgid "Members" msgstr "" #: classes/class.simple-wp-membership.php:464 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "" #: classes/class.simple-wp-membership.php:465 msgid "Settings" msgstr "" #: classes/class.simple-wp-membership.php:466 msgid "Payments" msgstr "" #: classes/class.simple-wp-membership.php:467 msgid "Add-ons" msgstr "" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "Θα πρέπει να συνδεθείτε για να δείτε αυτό το περιεχόμενο." #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "" "Ο λογαριασμός σας έχει λήξει. Παρακαλώ ανανεώσετε τον λογαριασμό σας για να " "αποκτήσετε πρόσβαση σε αυτό το περιεχόμενο." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "Το περιεχόμενο αυτό μπορεί να προβληθεί μόνο από τα μέλη " #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "Δεν έχετε πρόσβαση στο συγκεκριμένο περιεχόμενο " #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "Δεν έχετε πρόσβαση στο συγκεκριμένο περιεχόμενο " #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "Θα πρέπει να συνδεθείτε για να δείτε αυτό το περιεχόμενο." #: classes/class.swpm-admin-registration.php:54 msgid "Registration Successful." msgstr "Επιτυχής Εγγραφή " #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:99 #: classes/class.swpm-membership-level.php:42 #: classes/class.swpm-membership-level.php:61 msgid "Please correct the following:" msgstr "Παρακαλώ διορθώστε τα παρακάτω:" #: classes/class.swpm-admin-registration.php:91 msgid "Your current password" msgstr "Ο ισχίων κωδικός χρήστη " #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Μη έγκυρη διεύθυνση e-mail" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:32 msgid "Aready taken" msgstr "Μη Διαθέσιμο " #: classes/class.swpm-ajax.php:33 msgid "Available" msgstr "Διαθέσιμο " #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Δεν βρέθηκε ο Χρήστης " #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Κενό ή λάθος κωδικός χρήστη " #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "Ο λογαριασμός είναι ανενεργός." #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "Ο λογαριασμός εκκρεμεί." #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "Ο λογαριασμός έχει λήξει." #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Έχετε συνδεθεί ως:" #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "Αποσυνδεθήκατε Επιτυχώς." #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "Η Συνεδρία έχει λήξει." #: classes/class.swpm-auth.php:219 msgid "Invalid User Name" msgstr "Μη έγκυρο όνομα χρήστη " #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Παρακαλώ ξανά συνδεθείτε " #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:21 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 views/add.php:30 #: views/admin_member_form_common_part.php:2 views/edit.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Επίπεδο πρόσβασης " #: classes/class.swpm-category-list.php:34 classes/class.swpm-members.php:16 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "ID" #: classes/class.swpm-category-list.php:35 msgid "Name" msgstr "Όνομα" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Περιγραφή " #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Αρίθμηση " #: classes/class.swpm-category-list.php:78 msgid "Updated! " msgstr "Ενημερώθηκε " #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "Υπάρχει λογαριασμός με το ίδιο όνομα χρήστη. Αλλά με άλλο email." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" "Υπάρχει λογαριασμός με την συγκεκριμένη διεύθυνση ηλεκτρονικού ταχυδρομείου. " "Αλλά με διαφορετικό όνομα χρήστη." #: classes/class.swpm-form.php:40 msgid "User name is required" msgstr "Το όνομα χρήστη απαιτείται" #: classes/class.swpm-form.php:44 msgid "User name contains invalid character" msgstr "Το όνομα χρήστη περιέχει μη έγκυρους χαρακτήρες" #: classes/class.swpm-form.php:52 msgid "User name already exists." msgstr "Το όνομα χρήστη υπάρχει ήδη." #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "Ο κωδικός χρήστη απαιτείται " #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "Αναντιστοιχία Κωδικού" #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "Το Email είναι υποχρεωτικό" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "Μη έγκυρη διεύθυνση e-mail" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "Το E-mail χρησιμοποιείται ήδη." #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "" #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "" #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "Επιτυχής Εγγραφή " #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:367 msgid "Please" msgstr "Παρακαλώ " #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:367 views/login.php:21 msgid "Login" msgstr "Συνδεθείτε " #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Παρακαλώ διορθώστε τα παρακάτω:" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr " Το Επίπεδο πρόσβασης δεν βρέθηκε " #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Το προφίλ ενημερώθηκε επιτυχώς" #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Το προφίλ ενημερώθηκε επιτυχώς, Θα πρέπει να συνδεθείτε ξανά αφού έχετε " "αλλάξει τον κωδικό πρόσβασής σας." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "Μη έγκυρη διεύθυνση e-mail" #: classes/class.swpm-front-registration.php:200 msgid "No user not found with that email address." msgstr "Δεν βρέθηκε Χρήστης με αυτό το E-mail " #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:224 msgid "Email Address: " msgstr "Email: " #: classes/class.swpm-front-registration.php:223 msgid "New password has been sent to your email address." msgstr "Νέος κωδικός χρήστη σας έχει αποσταλεί στην ηλεκτρονική σας διεύθυνση." #: classes/class.swpm-init-time-tasks.php:103 msgid "Sorry, Nonce verification failed." msgstr "Δυστυχώς, η επαλήθευση απέτυχε." #: classes/class.swpm-init-time-tasks.php:109 msgid "Sorry, Password didn't match." msgstr "Ο κωδικός χρήστη δεν ταιριάζει " #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Η Μορφή ημερομηνίας δεν είναι έγκυρη." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "Access duration must be > 0." #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "Δεν έχετε συνδεθεί." #: classes/class.swpm-members.php:7 msgid "Member" msgstr "Μέλος" #: classes/class.swpm-members.php:17 views/add.php:6 views/edit.php:4 msgid "User Name" msgstr "Όνομα χρήστη " #: classes/class.swpm-members.php:18 views/add.php:22 #: views/admin_member_form_common_part.php:15 views/edit.php:20 msgid "First Name" msgstr "Όνομα" #: classes/class.swpm-members.php:19 views/add.php:26 #: views/admin_member_form_common_part.php:19 views/edit.php:24 msgid "Last Name" msgstr "Επώνυμο " #: classes/class.swpm-members.php:20 views/add.php:10 views/edit.php:8 msgid "Email" msgstr "Email" #: classes/class.swpm-members.php:22 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Επίπεδο πρόσβασης " #: classes/class.swpm-members.php:23 msgid "Account State" msgstr "Κατάσταση λογαριασμού" #: classes/class.swpm-members.php:36 #: classes/class.swpm-membership-levels.php:35 msgid "Delete" msgstr "Διαγράψτε " #: classes/class.swpm-members.php:110 msgid "No Member found." msgstr "Δεν βρέθηκε Χρήστης " #: classes/class.swpm-membership-level.php:37 msgid "Membership Level Creation Successful." msgstr "" #: classes/class.swpm-membership-level.php:56 msgid "Updated Successfully." msgstr "Επιτυχής Ενημέρωση " #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "Ρόλος " #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Εγγραφή " #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "Συνδεθείτε " #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Το προφίλ " #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Αντικατάσταση κωδικού χρήστη " #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "" #: classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "" #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "" #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "" #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" #: classes/class.swpm-settings.php:97 msgid "Email Misc. Settings" msgstr "" #: classes/class.swpm-settings.php:98 msgid "From Email Address" msgstr "" #: classes/class.swpm-settings.php:101 msgid "Email Settings (Prompt to Complete Registration )" msgstr "" #: classes/class.swpm-settings.php:102 classes/class.swpm-settings.php:108 #: classes/class.swpm-settings.php:120 classes/class.swpm-settings.php:127 msgid "Email Subject" msgstr "" #: classes/class.swpm-settings.php:104 classes/class.swpm-settings.php:110 #: classes/class.swpm-settings.php:122 classes/class.swpm-settings.php:129 msgid "Email Body" msgstr "" #: classes/class.swpm-settings.php:107 msgid "Email Settings (Registration Complete)" msgstr "" #: classes/class.swpm-settings.php:112 msgid "Send Notification to Admin" msgstr "" #: classes/class.swpm-settings.php:114 msgid "Admin Email Address" msgstr "" #: classes/class.swpm-settings.php:116 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" #: classes/class.swpm-settings.php:119 msgid "Email Settings (Password Reset)" msgstr "" #: classes/class.swpm-settings.php:126 msgid " Email Settings (Account Upgrade Notification)" msgstr "" #: classes/class.swpm-settings.php:140 msgid "Advanced Settings" msgstr "" #: classes/class.swpm-settings.php:142 msgid "Enable Expired Account Login" msgstr "" #: classes/class.swpm-settings.php:143 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" #: classes/class.swpm-settings.php:233 msgid "Settings updated!" msgstr "" #: classes/class.swpm-settings.php:367 msgid "Not a Member?" msgstr "" #: classes/class.swpm-settings.php:367 views/login.php:27 msgid "Join Us" msgstr "" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "" #: classes/class.swpm-utils.php:296 msgid "Never" msgstr "" #: classes/class.swpm-utils.php:370 msgid "Delete Account" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "" #: classes/common/class.swpm-list-table.php:139 msgid "List View" msgstr "" #: classes/common/class.swpm-list-table.php:140 msgid "Excerpt View" msgstr "" #: classes/common/class.swpm-list-table.php:307 msgid "No items found." msgstr "" #: classes/common/class.swpm-list-table.php:433 msgid "Select bulk action" msgstr "" #: classes/common/class.swpm-list-table.php:435 msgid "Bulk Actions" msgstr "" #: classes/common/class.swpm-list-table.php:445 msgid "Apply" msgstr "" #: classes/common/class.swpm-list-table.php:545 msgid "Filter by date" msgstr "" #: classes/common/class.swpm-list-table.php:547 msgid "All dates" msgstr "" #: classes/common/class.swpm-list-table.php:560 #, php-format msgid "%1$s %2$d" msgstr "" #: classes/common/class.swpm-list-table.php:607 #, php-format msgid "%s pending" msgstr "" #: classes/common/class.swpm-list-table.php:721 msgid "Select Page" msgstr "" #: classes/common/class.swpm-list-table.php:876 msgid "Select All" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "Το όνομα χρήστη σας" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Κάντε κλικ στο παρακάτω σύνδεσμο για να ολοκληρώσετε την εγγραφή σας " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "Κωδικός Χρήστη " #: views/add.php:18 views/edit.php:16 msgid "Repeat Password" msgstr "Επαναλάβατε κωδικό χρήστη " #: views/add.php:41 msgid "Register" msgstr "Εγγραφείτε " #: views/admin_add.php:6 msgid "Add Member" msgstr "Προσθέστε μέλος" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "" #: views/admin_add.php:11 msgid "User name" msgstr "Όνομα χρήστη " #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(απαιτείται)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(απαιτείται)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Ισχύεις " #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Ο κωδικός χρήστη πρέπει να είναι τουλάχιστον εφτά λατινικούς χαρακτήρες. Για " "να το καταστήσετε ισχυρότερο χρησιμοποιήστε πεζούς και κεφαλαίους " "χαρακτήρες και σύμβολα όπως ! \" ? $ % ^ & )." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Κατάσταση λογαριασμού" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Προσθέστε μέλος" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "" #: views/admin_edit.php:9 views/login.php:5 msgid "Username" msgstr "Όνομα χρήστη " #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "" "(Δυο φορές, αφήστε κενό το πεδίο για να κρατήσετε τον παλιό κωδικό χρήστη) " #: views/admin_edit.php:33 msgid "Notify User" msgstr "" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "" #: views/admin_edit.php:52 msgid "Edit User " msgstr "" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "" #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "" #: views/admin_members.php:3 views/admin_membership_levels.php:22 #: views/admin_members_list.php:16 msgid "Add New" msgstr "" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Φύλλο " #: views/admin_member_form_common_part.php:30 views/edit.php:28 msgid "Phone" msgstr "Τηλέφωνο " #: views/admin_member_form_common_part.php:34 views/edit.php:32 msgid "Street" msgstr "Οδός " #: views/admin_member_form_common_part.php:38 views/edit.php:36 msgid "City" msgstr "Πόλη" #: views/admin_member_form_common_part.php:42 views/edit.php:40 msgid "State" msgstr "Περιφέρεια " #: views/admin_member_form_common_part.php:46 views/edit.php:44 msgid "Zipcode" msgstr "Τ.Κ" #: views/admin_member_form_common_part.php:50 views/edit.php:48 msgid "Country" msgstr "Χωρα " #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Μέλος από " #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "ή" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Καταχωρήστε " #: views/edit.php:58 msgid "Update" msgstr "Ενημέρωση " #: views/forgot_password.php:5 msgid "Email Address" msgstr "Email " #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Αντικατάσταση κωδικού χρήστη " #: views/loggedin.php:3 msgid "Logged in as" msgstr "Συνδεόμενος ως" #: views/loggedin.php:11 msgid "Membership" msgstr "" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "" #: views/loggedin.php:19 msgid "Logout" msgstr "Αποσυνδεθείτε" #: views/login.php:18 msgid "Remember Me" msgstr "Να με Θυμάσαι" #: views/login.php:24 msgid "Forgot Password" msgstr "Ξεχάσατε τον κωδικό χρήστη? " #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "" #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Αναζητήστε " #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "Επόμενο " #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Επόμενο " #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "" #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "" languages/simple-membership-nb_NO.po000064400000317061147206617610013507 0ustar00msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.3.1\n" "Project-Id-Version: Bing\n" "Language: nb_NO\n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: classes/class.simple-wp-membership.php:180 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "Administratoren for dette området tillater ikke brukere å få tilgang til wp-instrumentbordet." #: classes/class.simple-wp-membership.php:181 msgid "Go back to the home page by " msgstr "Gå tilbake til hjemmesiden ved å " #: classes/class.simple-wp-membership.php:181 msgid "clicking here" msgstr "klikke her" #: classes/class.simple-wp-membership.php:242 msgid "Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: " msgstr "Feil! Dette nettstedet har force WP bruker påloggingsfunksjonen aktivert i innstillingene. Vi kunne ikke finne en WP-brukeroppføring for det gitte brukernavnet: " #: classes/class.simple-wp-membership.php:243 msgid "This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system." msgstr "Denne feilen utløses når en medlemskonto ikke har en tilsvarende WP-brukerkonto. Så plugin unnlater å logge brukeren inn i WP Brukersystemet." #: classes/class.simple-wp-membership.php:244 msgid "Contact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account." msgstr "Kontakt nettstedadministratoren og be dem om å sjekke brukernavnet ditt i WP-brukere-menyen for å se hva som skjedde med WP-brukeroppføringen til kontoen din." #: classes/class.simple-wp-membership.php:245 msgid "The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away." msgstr "Nettstedsadministratoren kan deaktivere Force WP Brukersynkroniseringsfunksjonen i innstillingene for å deaktivere denne funksjonen, og denne feilen vil forsvinne." #: classes/class.simple-wp-membership.php:246 msgid "You can use the back button of your browser to go back to the site." msgstr "Du kan bruke tilbake-knappen i nettleseren din for å gå tilbake til nettstedet." #: classes/class.simple-wp-membership.php:407 msgid "You are not logged in." msgstr "Du er ikke innlogget." #: classes/class.simple-wp-membership.php:458 msgid "You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions." msgstr "Du har aktivert betalingsmodus for sandkasse i plugin-innstillingene. Sørg for å slå av sandkassemodus når du vil utføre live-transaksjoner." #: classes/class.simple-wp-membership.php:473 msgid "Simple WP Membership Protection" msgstr "Enkel beskyttelse av WP-medlemskap" #: classes/class.simple-wp-membership.php:485 msgid "Simple Membership Protection options" msgstr "Enkle alternativer for medlemskapsbeskyttelse" #: classes/class.simple-wp-membership.php:503 msgid "Do you want to protect this content?" msgstr "Vil du beskytte dette innholdet?" #: classes/class.simple-wp-membership.php:504 msgid "No, Do not protect this content." msgstr "Nei, ikke beskytt dette innholdet." #: classes/class.simple-wp-membership.php:505 msgid "Yes, Protect this content." msgstr "Ja, beskytt dette innholdet." #: classes/class.simple-wp-membership.php:508 msgid "Select the membership level that can access this content:" msgstr "Velg medlemsnivå som får tilgang til dette innholdet:" #: classes/class.simple-wp-membership.php:646 #: classes/class.simple-wp-membership.php:650 msgid "Validating, please wait" msgstr "Validerer, vennligst vent" #: classes/class.simple-wp-membership.php:653 msgid "Invalid email address" msgstr "Ugyldig epostadresse" #: classes/class.simple-wp-membership.php:656 msgid "This field is required" msgstr "Dette feltet er obligatorisk" msgid "Password must contain at least:" msgstr "Passordet må inneholde minst:" msgid "- a digit" msgstr "- et siffer" msgid "- an uppercase letter" msgstr "- en stor bokstav" msgid "- a lowercase letter" msgstr "- en liten bokstav" #: classes/class.simple-wp-membership.php:659 classes/class.swpm-auth.php:296 msgid "Invalid Username" msgstr "Ugyldig brukernavn" #: classes/class.simple-wp-membership.php:659 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Brukernavn kan bare inneholde: bokstaver, tall og.-_ * @" #: classes/class.simple-wp-membership.php:662 msgid "Minimum " msgstr "Minimum " #: classes/class.simple-wp-membership.php:663 msgid " characters required" msgstr " tegn som kreves" #: classes/class.simple-wp-membership.php:666 msgid "Apostrophe character is not allowed" msgstr "Apostrofekarakter er ikke tillatt" #: classes/class.simple-wp-membership.php:697 msgid "WP Membership" msgstr "WP-medlemskap" #: classes/class.simple-wp-membership.php:698 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:581 msgid "Members" msgstr "Medlemmer" #: classes/class.simple-wp-membership.php:699 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:265 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Medlemsnivåer" #: classes/class.simple-wp-membership.php:700 msgid "Settings" msgstr "Innstillinger" #: classes/class.simple-wp-membership.php:701 msgid "Payments" msgstr "Betalinger" #: classes/class.simple-wp-membership.php:702 msgid "Add-ons" msgstr "Add-ons" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Du må logge inn for å se dette innholdet. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Kontoen din er utløpt. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "Dette innholdet kan bare sees av medlemmer som meldte seg på eller før " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Dette innholdet er ikke tillatt for ditt medlemsnivå." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Du må logge inn for å se resten av innholdet. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " Resten av innholdet er ikke tillatt for ditt medlemsnivå." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "Feil! Ikke-bekreftelse mislyktes for brukerregistrering fra admin slutten." #: classes/class.swpm-admin-registration.php:71 msgid "Member record added successfully." msgstr "Medlemsrekorden ble lagt til." #: classes/class.swpm-admin-registration.php:76 #: classes/class.swpm-admin-registration.php:124 #: classes/class.swpm-admin-registration.php:151 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Korriger følgende:" #: classes/class.swpm-admin-registration.php:87 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "Feil! Bekreftelse av manglende kraft mislyktes for brukerredigering fra admin-slutt." #: classes/class.swpm-admin-registration.php:139 msgid "Your current password" msgstr "Ditt nåværende passord" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Ugyldig epostadresse" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Already taken" msgstr "Allerede tatt" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Navnet inneholder ugyldig karakter" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Tilgjengelig" #: classes/class.swpm-auth.php:57 msgid "Warning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally." msgstr "Advarsel! Simple Membership-plugin kan ikke behandle denne påloggingsforespørselen for å forhindre at du blir logget av WP Admin ved et uhell." #: classes/class.swpm-auth.php:58 msgid "Click here" msgstr "Klikk her" #: classes/class.swpm-auth.php:58 msgid " to see the profile you are currently logged into in this browser." msgstr " for å se profilen du for øyeblikket er logget på i denne nettleseren." #: classes/class.swpm-auth.php:59 msgid "You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member." msgstr "Du er logget inn på siden som ADMIN-bruker i denne nettleseren. Først logger du ut fra WP Admin, så vil du kunne logge deg på som et normalt medlem." #: classes/class.swpm-auth.php:60 msgid "Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login." msgstr "Alternativt kan du bruke en annen nettleser (der du ikke er logget inn som ADMIN) for å teste medlemspåloggingen." #: classes/class.swpm-auth.php:61 msgid "Your normal visitors or members will never see this message. This message is ONLY for ADMIN user." msgstr "De vanlige besøkende eller medlemmer vil aldri se denne meldingen. Denne meldingen er KUN for ADMIN-brukere." #: classes/class.swpm-auth.php:68 msgid "Captcha validation failed on login form." msgstr "Valg av Captcha mislyktes på påloggingsskjemaet." #: classes/class.swpm-auth.php:93 msgid "User Not Found." msgstr "Bruker ikke funnet." #: classes/class.swpm-auth.php:100 msgid "Password Empty or Invalid." msgstr "Passordet er tomt eller ugyldig." #: classes/class.swpm-auth.php:133 msgid "Account is inactive." msgstr "Kontoen er inaktiv." #: classes/class.swpm-auth.php:136 classes/class.swpm-auth.php:162 msgid "Account has expired." msgstr "Kontoen er utløpt." #: classes/class.swpm-auth.php:139 msgid "Account is pending." msgstr "Kontoen venter." #: classes/class.swpm-auth.php:146 msgid "You need to activate your account. If you didn't receive an email then %s to resend the activation email." msgstr "Du må aktivere kontoen din. Hvis du ikke mottok en e-post, send% s for å sende aktiveringsmeldingen på nytt." #: classes/class.swpm-auth.php:146 #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 #: classes/class.swpm-utils-misc.php:169 msgid "click here" msgstr "klikk her" #: classes/class.swpm-auth.php:170 msgid "You are logged in as:" msgstr "Du er innlogget som:" #: classes/class.swpm-auth.php:234 msgid "Logged Out Successfully." msgstr "Logget ut Vellykket." #: classes/class.swpm-auth.php:287 msgid "Session Expired." msgstr "Sesjon utløpt." #: classes/class.swpm-auth.php:304 msgid "Please login again." msgstr "Vennligst logg inn igjen." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:40 views/admin_member_form_common_part.php:2 views/edit.php:75 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:229 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:273 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:99 msgid "Membership Level" msgstr "Medlemskapsnivå" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Kategori-ID" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Kategori navn" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Kategoritype (taksonomi)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Beskrivelse" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Telle" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "Kategoribeskyttelse oppdatert!" #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "Ingen kategori funnet." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Vennligst logg inn for å kommentere." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Vennligst logg inn for å kommentere." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Kommentarer er ikke tillatt av et ikke-medlem." #: classes/class.swpm-form.php:30 msgid "Wordpress account exists with given username. But given email doesn't match." msgstr "Wordpress-konto eksisterer med gitt brukernavn. Men gitt e-post stemmer ikke." #: classes/class.swpm-form.php:31 msgid " Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account." msgstr " Bruk et annet brukernavn for å fullføre registreringen. Hvis du vil bruke dette brukernavnet, må du oppgi riktig e-postadresse tilknyttet den eksisterende WP-brukeren for å koble til den kontoen." #: classes/class.swpm-form.php:37 msgid "Wordpress account exists with given email. But given username doesn't match." msgstr "Wordpress-konto eksisterer med gitt e-post. Men gitt brukernavn stemmer ikke." #: classes/class.swpm-form.php:38 msgid " Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account." msgstr " Bruk en annen e-postadresse for å fullføre registreringen. Hvis du vil bruke den e-postmeldingen, må du oppgi riktig brukernavn tilknyttet den eksisterende WP-brukeren for å koble til den kontoen." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Brukernavn kreves" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Brukernavn inneholder ugyldig karakter" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Brukernavn finnes allerede." #: classes/class.swpm-form.php:83 msgid "Password is required" msgstr "Passord er påkrevd" #: classes/class.swpm-form.php:90 msgid "Password mismatch" msgstr "Feil i passord" #: classes/class.swpm-form.php:101 msgid "Email is required" msgstr "E-post er påkrevd" #: classes/class.swpm-form.php:105 msgid "Email is invalid" msgstr "E-postadressen er ugyldig" #: classes/class.swpm-form.php:121 msgid "Email is already used." msgstr "E-post er allerede brukt." #: classes/class.swpm-form.php:179 msgid "Member since field is invalid" msgstr "Medlem siden feltet er ugyldig" #: classes/class.swpm-form.php:190 msgid "Access starts field is invalid" msgstr "Tilgangsstartfeltet er ugyldig" #: classes/class.swpm-form.php:200 msgid "Gender field is invalid" msgstr "Kjønnsfeltet er ugyldig" #: classes/class.swpm-form.php:211 msgid "Account state field is invalid" msgstr "Kontostatusfeltet er ugyldig" #: classes/class.swpm-form.php:218 msgid "Invalid membership level" msgstr "Ugyldig medlemsnivå" #: classes/class.swpm-front-registration.php:33 msgid "Error! Invalid Request. Could not find a match for the given security code and the user ID." msgstr "Feil! Ugyldig forespørsel. Kunne ikke finne et samsvar for den gitte sikkerhetskoden og bruker-IDen." #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:274 views/login.php:36 msgid "Join Us" msgstr "Bli med oss" #: classes/class.swpm-front-registration.php:47 msgid "Free membership is disabled on this site. Please make a payment from the " msgstr "Gratis medlemskap er deaktivert på dette nettstedet. Foreta en betaling fra " #: classes/class.swpm-front-registration.php:49 msgid " page to pay for a premium membership." msgstr " side for å betale for et premiummedlemskap." #: classes/class.swpm-front-registration.php:51 msgid "You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration." msgstr "Du vil motta en unik lenke via e-post etter betalingen. Du vil kunne bruke den lenken til å fullføre premium medlemsregistreringen." #: classes/class.swpm-front-registration.php:79 msgid "Security check: captcha validation failed." msgstr "Sikkerhetsjekk: captcha-validering mislyktes." #: classes/class.swpm-front-registration.php:89 msgid "You must accept the terms and conditions." msgstr "Du må akseptere vilkårene og betingelsene." #: classes/class.swpm-front-registration.php:100 msgid "You must agree to the privacy policy." msgstr "Du må godta personvernreglene." #: classes/class.swpm-front-registration.php:140 msgid "You need to confirm your email address. Please check your email and follow instructions to complete your registration." msgstr "Du må bekrefte e-postadressen din. Vennligst sjekk e-posten din og følg instruksjonene for å fullføre registreringen." #: classes/class.swpm-front-registration.php:145 msgid "Registration Successful. " msgstr "Registrering fullført. " #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 classes/class.swpm-utils-misc.php:285 msgid "Please" msgstr "Vennligst" #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 views/login.php:30 msgid "Login" msgstr "Logg Inn" #: classes/class.swpm-front-registration.php:159 msgid "Please correct the following" msgstr "Vennligst korriger følgende" #: classes/class.swpm-front-registration.php:207 msgid "Membership Level Couldn't be found." msgstr "Medlemskapsnivå Funnet ikke." #: classes/class.swpm-front-registration.php:258 msgid "Error! Nonce verification failed for front end profile edit." msgstr "Feil! Ikke-bekreftelse mislyktes for redigering av frontend-profilen." #: classes/class.swpm-front-registration.php:266 msgid "Profile updated successfully." msgstr "Profilen ble oppdatert." #: classes/class.swpm-front-registration.php:275 msgid "Profile updated successfully. You will need to re-login since you changed your password." msgstr "Profilen ble oppdatert. Du må logge inn på nytt siden du endret passord." #: classes/class.swpm-front-registration.php:289 msgid "Please correct the following." msgstr "Vennligst korriger følgende." #: classes/class.swpm-front-registration.php:301 msgid "Captcha validation failed." msgstr "Valg av Captcha mislyktes." #: classes/class.swpm-front-registration.php:309 msgid "Email address not valid." msgstr "E-postadressen er ikke gyldig." #: classes/class.swpm-front-registration.php:320 msgid "No user found with that email address." msgstr "Ingen brukere funnet med den e-postadressen." #: classes/class.swpm-front-registration.php:321 #: classes/class.swpm-front-registration.php:350 msgid "Email Address: " msgstr "Epostadresse: " #: classes/class.swpm-front-registration.php:349 msgid "New password has been sent to your email address." msgstr "Nytt passord har blitt sendt til din e-postadresse." #: classes/class.swpm-front-registration.php:371 msgid "Can't find member account." msgstr "Finner ikke medlemskonto." #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid "Account already active. " msgstr "Kontoen er allerede aktiv. " #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid " to login." msgstr " å logge inn." #: classes/class.swpm-front-registration.php:383 msgid "Activation code mismatch. Cannot activate this account. Please contact the site admin." msgstr "Feil i aktiveringskode. Kan ikke aktivere denne kontoen. Kontakt nettstedets administrator." #: classes/class.swpm-front-registration.php:397 msgid "Success! Your account has been activated successfully." msgstr "Suksess! Kontoen din er blitt aktivert." #: classes/class.swpm-front-registration.php:421 msgid "Cannot find member account." msgstr "Kan ikke finne medlemskonto." #: classes/class.swpm-front-registration.php:443 msgid "Activation email has been sent. Please check your email and activate your account." msgstr "Aktiverings-e-post er sendt. Vennligst sjekk e-posten din og aktiver kontoen din." #: classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Nonce verification failed." msgstr "Beklager, bekreftelse av ikke-mislyktes mislyktes." #: classes/class.swpm-init-time-tasks.php:125 msgid "Sorry, Password didn't match." msgstr "Beklager, passordet stemte ikke." #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "Datoformatet er ikke gyldig." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "Tilgangsvarighet må være> 0." #: classes/class.swpm-members.php:10 msgid "Member" msgstr "Medlem" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:20 views/add.php:16 views/admin_add.php:11 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Brukernavn" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:32 views/admin_member_form_common_part.php:15 #: views/edit.php:39 includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Fornavn" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:36 views/admin_member_form_common_part.php:19 #: views/edit.php:43 includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Etternavn" #: classes/class.swpm-members.php:23 views/add.php:20 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "E-post" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Tilgang starter" #: classes/class.swpm-members.php:26 includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Kontostatus" #: classes/class.swpm-members.php:27 msgid "Last Login Date" msgstr "Siste påloggingsdato" #: classes/class.swpm-members.php:46 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Slett" #: classes/class.swpm-members.php:47 msgid "Set Status to Active" msgstr "Sett status til Aktiv" #: classes/class.swpm-members.php:48 msgid "Set Status to Active and Notify" msgstr "Sett status til Aktiv og varsle" #: classes/class.swpm-members.php:49 msgid "Set Status to Inactive" msgstr "Sett status til inaktiv" #: classes/class.swpm-members.php:50 msgid "Set Status to Pending" msgstr "Sett status til ventende" #: classes/class.swpm-members.php:51 msgid "Set Status to Expired" msgstr "Sett status til utløpt" #: classes/class.swpm-members.php:72 msgid "incomplete" msgstr "ufullstendig" #: classes/class.swpm-members.php:191 msgid "No member found." msgstr "Ingen medlemmer funnet." #: classes/class.swpm-members.php:337 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "Feil! Bekreftelse av manglende kraft mislyktes for sletting av brukere fra admin-enden." #: classes/class.swpm-members.php:406 classes/class.swpm-members.php:436 msgid "Error! Please select a membership level first." msgstr "Feil! Velg først et medlemsnivå." #: classes/class.swpm-members.php:423 msgid "Membership level change operation completed successfully." msgstr "Operasjon for endring av medlemsnivå fullført." #: classes/class.swpm-members.php:453 msgid "Access starts date change operation successfully completed." msgstr "Endring av tilgangsdato ble fullført." #: classes/class.swpm-members.php:462 msgid "Bulk Update Membership Level of Members" msgstr "Bulk Update Membership Level of Members" #: classes/class.swpm-members.php:465 msgid "You can manually change the membership level of any member by editing the record from the members menu. " msgstr "Du kan endre medlemsnivået manuelt for et hvilket som helst medlem ved å redigere posten fra medlemsmenyen. " #: classes/class.swpm-members.php:466 msgid "You can use the following option to bulk update the membership level of users who belong to the level you select below." msgstr "Du kan bruke følgende alternativ for å bulkoppdatere medlemsnivået til brukere som tilhører nivået du velger nedenfor." #: classes/class.swpm-members.php:472 classes/class.swpm-members.php:520 msgid "Membership Level: " msgstr "Medlemskapsnivå: " #: classes/class.swpm-members.php:476 msgid "Select Current Level" msgstr "Velg Gjeldende nivå" #: classes/class.swpm-members.php:479 msgid "Select the current membership level (the membership level of all members who are in this level will be updated)." msgstr "Velg gjeldende medlemsnivå (medlemsnivået for alle medlemmene som er i dette nivået vil bli oppdatert)." #: classes/class.swpm-members.php:485 msgid "Level to Change to: " msgstr "Nivå å endre til: " #: classes/class.swpm-members.php:489 msgid "Select Target Level" msgstr "Velg Målnivå" #: classes/class.swpm-members.php:492 msgid "Select the new membership level." msgstr "Velg det nye medlemsnivået." #: classes/class.swpm-members.php:498 msgid "Bulk Change Membership Level" msgstr "Bulk Change Membership Level" #: classes/class.swpm-members.php:508 msgid "Bulk Update Access Starts Date of Members" msgstr "Tilgang til masseoppdatering starter dato for medlemmer" #: classes/class.swpm-members.php:512 msgid "The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. " msgstr "Tilgangsstartdato for et medlem er satt til den dagen brukeren registrerer seg. Denne datoverdien brukes til å beregne hvor lenge medlemmet kan få tilgang til innholdet ditt som er beskyttet med en varighetstype beskyttelse i medlemsnivået. " #: classes/class.swpm-members.php:513 msgid "You can manually set a specific access starts date value of all members who belong to a particular level using the following option." msgstr "Du kan stille inn en bestemt datoverdi for tilgang for alle medlemmer som tilhører et bestemt nivå manuelt ved å bruke følgende alternativ." #: classes/class.swpm-members.php:523 msgid "Select Level" msgstr "Velg nivå" #: classes/class.swpm-members.php:526 msgid "Select the Membership level (the access start date of all members who are in this level will be updated)." msgstr "Velg medlemskapsnivå (tilgangsdato for alle medlemmer som er på dette nivået vil bli oppdatert)." #: classes/class.swpm-members.php:535 msgid "Specify the access starts date value." msgstr "Angi datoen for tilgangsstartdato." #: classes/class.swpm-members.php:541 msgid "Bulk Change Access Starts Date" msgstr "Tilgang til bulkendring starter dato" #: classes/class.swpm-members.php:576 msgid "Simple WP Membership::Members" msgstr "Enkelt WP-medlemskap :: Medlemmer" #: classes/class.swpm-members.php:577 #: classes/class.swpm-membership-levels.php:226 views/admin_members_list.php:44 msgid "Add New" msgstr "Legg til ny" #: classes/class.swpm-members.php:582 views/admin_add.php:6 msgid "Add Member" msgstr "Legg til medlem" #: classes/class.swpm-members.php:583 msgid "Bulk Operation" msgstr "Bulkdrift" #: classes/class.swpm-membership-level.php:52 msgid "Error! Nonce verification failed for membership level creation from admin end." msgstr "Feil! Ikke-bekreftelse mislyktes for opprettelse av medlemskapsnivå fra administratorslutt." #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Oppretting av medlemskapsnivå vellykket." #: classes/class.swpm-membership-level.php:84 msgid "Error! Nonce verification failed for membership level edit from admin end." msgstr "Feil! Bekreftelse av manglende godkjenning mislyktes for redigering av medlemsnivå fra administratorslutt." #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Medlemskapsnivå ble oppdatert." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Rolle" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Tilgang gyldig for / til" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "Ingen medlemsnivåer funnet." #: classes/class.swpm-membership-levels.php:197 msgid "Error! Nonce verification failed for membership level delete from admin end." msgstr "Feil! Bekreftelse av manglende godkjenning mislyktes for sletting av medlemsnivå fra admin-enden." #: classes/class.swpm-membership-levels.php:216 views/admin_members_list.php:31 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Søk" #: classes/class.swpm-membership-levels.php:261 msgid "Simple WP Membership::Membership Levels" msgstr "Enkelt WP-medlemskap: medlemsnivåer" #: classes/class.swpm-membership-levels.php:266 msgid "Add Level" msgstr "Legg til nivå" #: classes/class.swpm-membership-levels.php:267 msgid "Manage Content Protection" msgstr "Administrer innholdsbeskyttelse" #: classes/class.swpm-membership-levels.php:268 msgid "Category Protection" msgstr "Kategoribeskyttelse" #: classes/class.swpm-membership-levels.php:269 msgid "Post and Page Protection" msgstr "Innlegg og sidesikring" #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Dato" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Tittel" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Forfatter" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Status" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Kategorier" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Type" #: classes/class.swpm-post-list.php:125 msgid "Protection settings updated!" msgstr "Beskyttelsesinnstillinger oppdatert!" #: classes/class.swpm-post-list.php:230 msgid "No items found." msgstr "Ingen objekter funnet." #: classes/class.swpm-protection.php:22 msgid "The category or parent category of this post is protected. You can change the category protection settings from the " msgstr "Kategorien eller foreldrekategorien til dette innlegget er beskyttet. Du kan endre innstillingene for kategoribeskyttelse fra " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "kategoribeskyttelsesmeny" #: classes/class.swpm-settings.php:26 classes/class.swpm-settings.php:54 msgid "General Settings" msgstr "Generelle innstillinger" #: classes/class.swpm-settings.php:27 msgid "Payment Settings" msgstr "Betalingsinnstillinger" #: classes/class.swpm-settings.php:28 msgid "Email Settings" msgstr "E-postinnstillinger" #: classes/class.swpm-settings.php:29 msgid "Tools" msgstr "Verktøy" #: classes/class.swpm-settings.php:30 classes/class.swpm-settings.php:187 msgid "Advanced Settings" msgstr "Avanserte innstillinger" #: classes/class.swpm-settings.php:31 msgid "Addons Settings" msgstr "Addons Innstillinger" #: classes/class.swpm-settings.php:53 msgid "Plugin Documentation" msgstr "Plugin-dokumentasjon" #: classes/class.swpm-settings.php:55 msgid "Enable Free Membership" msgstr "Aktiver gratis medlemskap" #: classes/class.swpm-settings.php:56 msgid "Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below." msgstr "Aktiver / deaktiver registrering for gratis medlemsnivå. Når du aktiverer dette alternativet, må du sørge for å angi en gratis ID for medlemskapsnivå i feltet nedenfor." #: classes/class.swpm-settings.php:57 msgid "Free Membership Level ID" msgstr "Gratis medlemskaps-ID" #: classes/class.swpm-settings.php:58 msgid "Assign free membership level ID" msgstr "Tildel gratis ID for medlemskap" #: classes/class.swpm-settings.php:59 msgid "Enable More Tag Protection" msgstr "Aktiver mer tagbeskyttelse" #: classes/class.swpm-settings.php:60 msgid "Enables or disables \"more\" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content." msgstr "Aktiverer eller deaktiverer \"mer\" tagbeskyttelse i innleggene og sidene. Alt etter Mer-taggen er beskyttet. Alt før mer tag er teaser-innhold." #: classes/class.swpm-settings.php:61 msgid "Hide Adminbar" msgstr "Skjul administrasjonsfeltet" #: classes/class.swpm-settings.php:62 msgid "WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site." msgstr "WordPress viser en administratorverktøylinje for påloggede brukere av nettstedet. Merk av for dette hvis du vil skjule den admin verktøylinjen i fronten av nettstedet." #: classes/class.swpm-settings.php:63 msgid "Show Adminbar to Admin" msgstr "Vis administrasjonslinje til administrator" #: classes/class.swpm-settings.php:64 msgid "Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users." msgstr "Bruk dette alternativet hvis du bare vil vise admin-verktøylinjen for administratorbrukere. Administratorverktøylinjen vil være skjult for alle andre brukere." #: classes/class.swpm-settings.php:65 msgid "Disable Access to WP Dashboard" msgstr "Deaktiver tilgang til WP-dashbordet" #: classes/class.swpm-settings.php:66 msgid "WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard." msgstr "WordPress lar en standard wp-bruker kunne gå til wp-admin URL og få tilgang til profilen sin fra wp dashbaord. Bruk av dette alternativet vil forhindre at brukere som ikke er administratorer, går til wp-dashbordet." #: classes/class.swpm-settings.php:68 classes/class.swpm-settings.php:242 msgid "Default Account Status" msgstr "Standard kontostatus" #: classes/class.swpm-settings.php:71 msgid "Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to \"Pending\"." msgstr "Velg standard kontostatus for nylig registrerte brukere. Hvis du vil godkjenne medlemmene manuelt, kan du stille status til \"Venter\"." #: classes/class.swpm-settings.php:73 msgid "Members Must be Logged in to Comment" msgstr "Medlemmene må være logget inn for å kommentere" #: classes/class.swpm-settings.php:74 msgid "Enable this option if you only want the members of the site to be able to post a comment." msgstr "Aktiver dette alternativet hvis du bare vil at medlemmene på nettstedet skal kunne legge inn en kommentar." #: classes/class.swpm-settings.php:83 msgid "Pages Settings" msgstr "Innstillinger for sider" #: classes/class.swpm-settings.php:84 msgid "Login Page URL" msgstr "Påloggingssiden URL" #: classes/class.swpm-settings.php:86 msgid "Registration Page URL" msgstr "Registreringssiden URL" #: classes/class.swpm-settings.php:88 msgid "Join Us Page URL" msgstr "Bli med på oss-URL" #: classes/class.swpm-settings.php:90 msgid "Edit Profile Page URL" msgstr "Rediger URL-adresse for profilsiden" #: classes/class.swpm-settings.php:92 msgid "Password Reset Page URL" msgstr "Tilbakestill passord for URL" #: classes/class.swpm-settings.php:95 msgid "Test & Debug Settings" msgstr "Test- og feilsøkingsinnstillinger" #: classes/class.swpm-settings.php:97 msgid "Check this option to enable debug logging." msgstr "Merk av for dette alternativet for å aktivere feilsøking." #: classes/class.swpm-settings.php:98 msgid " This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete." msgstr " Dette kan være nyttig når du feilsøker et problem. Slå den av og tilbakestill loggfilene etter at feilsøkingen er fullført." #: classes/class.swpm-settings.php:100 msgid "View general debug log file by clicking " msgstr "Vis generell feilsøkingsloggfil ved å klikke " #: classes/class.swpm-settings.php:100 classes/class.swpm-settings.php:101 #: classes/class.swpm-settings.php:102 msgid "here" msgstr "her" #: classes/class.swpm-settings.php:101 msgid "View login related debug log file by clicking " msgstr "Se påloggingsrelatert feilsøkingsloggfil ved å klikke " #: classes/class.swpm-settings.php:102 msgid "Reset debug log files by clicking " msgstr "Tilbakestill feilsøkingsloggfiler ved å klikke " #: classes/class.swpm-settings.php:103 msgid "Enable Debug" msgstr "Aktiver feilsøking" #: classes/class.swpm-settings.php:105 msgid "Enable Sandbox Testing" msgstr "Aktiver testing av sandkasse" #: classes/class.swpm-settings.php:106 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Aktiver dette alternativet hvis du vil utføre betalingstesting av sandkasse." #: classes/class.swpm-settings.php:119 msgid "Email Settings Overview" msgstr "E-postinnstillinger Oversikt" #: classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "E-post Diverse innstillinger" #: classes/class.swpm-settings.php:122 msgid "From Email Address" msgstr "Fra e-postadresse" #: classes/class.swpm-settings.php:126 msgid "Email Settings (Prompt to Complete Registration )" msgstr "E-postinnstillinger (Spør om fullstendig registrering)" #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:158 classes/class.swpm-settings.php:163 #: classes/class.swpm-settings.php:168 classes/class.swpm-settings.php:173 msgid "Email Subject" msgstr "E-post Emne" #: classes/class.swpm-settings.php:129 classes/class.swpm-settings.php:142 #: classes/class.swpm-settings.php:159 classes/class.swpm-settings.php:164 #: classes/class.swpm-settings.php:169 classes/class.swpm-settings.php:174 msgid "Email Body" msgstr "E-postorgan" #: classes/class.swpm-settings.php:133 msgid "Enter the email address where you want the admin notification email to be sent to." msgstr "Skriv inn e-postadressen der du vil at e-postadministratorvarslingen skal sendes til." #: classes/class.swpm-settings.php:134 msgid " You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses." msgstr " Du kan sette flere e-postadresser atskilt med komma (,) i feltet ovenfor for å sende varselet til flere e-postadresser." #: classes/class.swpm-settings.php:136 msgid "Enter the subject for the admin notification email." msgstr "Angi emnet for e-posten for administratorvarsling." #: classes/class.swpm-settings.php:137 msgid "This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the \"Send Notification to Admin\" option above." msgstr "Denne e-posten vil bli sendt til administratoren når en ny bruker fullfører medlemsregistreringen. Fungerer bare hvis du har aktivert alternativet \"Send varsling til administrator\" ovenfor." #: classes/class.swpm-settings.php:139 msgid "Email Settings (Registration Complete)" msgstr "E-postinnstillinger (registrering fullført)" #: classes/class.swpm-settings.php:144 msgid "Send Notification to Admin" msgstr "Send varsel til administrator" #: classes/class.swpm-settings.php:145 msgid "Enable this option if you want the admin to receive a notification when a member registers." msgstr "Aktiver dette alternativet hvis du vil at administratoren skal motta et varsel når et medlem registrerer seg." #: classes/class.swpm-settings.php:146 msgid "Admin Email Address" msgstr "Admin e-postadresse" #: classes/class.swpm-settings.php:148 msgid "Admin Notification Email Subject" msgstr "Administrasjonsvarsel E-postemne" #: classes/class.swpm-settings.php:150 msgid "Admin Notification Email Body" msgstr "Administrasjonsvarsel E-postorgan" #: classes/class.swpm-settings.php:153 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Send e-post til medlem når det legges til via administrasjonspanelet" #: classes/class.swpm-settings.php:157 msgid "Email Settings (Password Reset)" msgstr "E-postinnstillinger (tilbakestilling av passord)" #: classes/class.swpm-settings.php:162 msgid " Email Settings (Account Upgrade Notification)" msgstr " E-postinnstillinger (varsel om kontooppgradering)" #: classes/class.swpm-settings.php:167 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " E-postinnstillinger (Bulkkonto aktiverer varsling)" #: classes/class.swpm-settings.php:172 msgid " Email Settings (Email Activation)" msgstr " E-postinnstillinger (e-postaktivering)" #: classes/class.swpm-settings.php:189 msgid "Enable Expired Account Login" msgstr "Aktiver pålogging for utløpt konto" #: classes/class.swpm-settings.php:190 msgid "When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment." msgstr "Når dette er aktivert, kan utløpte medlemmer logge seg på systemet, men vil ikke kunne se noe beskyttet innhold. Dette lar dem enkelt fornye kontoen sin ved å foreta en ny betaling." #: classes/class.swpm-settings.php:192 msgid "Membership Renewal URL" msgstr "URL for medlemskap for fornyelse" #: classes/class.swpm-settings.php:193 msgid "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "Du kan opprette en fornyelsesside for nettstedet ditt. Les denne dokumentasjonen for å lære hvordan du oppretter en fornyelsesside." #: classes/class.swpm-settings.php:195 msgid "After Registration Redirect URL" msgstr "Etter registrering omadressering av URL" #: classes/class.swpm-settings.php:196 msgid "You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect." msgstr "Du kan legge inn en URL her for å omdirigere medlemmene til denne siden etter at de har sendt inn registreringsskjemaet. Les denne dokumentasjonen for å lære hvordan du konfigurerer etter registrering omdirigere." #: classes/class.swpm-settings.php:198 msgid "Enable Auto Login After Registration" msgstr "Aktiver automatisk pålogging etter registrering" #: classes/class.swpm-settings.php:199 msgid "Use this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more." msgstr "Bruk dette alternativet hvis du vil at medlemmene skal logges automatisk på nettstedet ditt rett etter at de har fullført registreringen. Dette alternativet vil overstyre eventuelle etter omdirigering av registrering, og i stedet utløse omdirigeringen etter innlogging. Les denne dokumentasjonen for å lære mer." #: classes/class.swpm-settings.php:201 msgid "After Logout Redirect URL" msgstr "Etter utlogging omadressering av URL" #: classes/class.swpm-settings.php:202 msgid "You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site." msgstr "Du kan legge inn en URL her for å omdirigere medlemmene til denne siden etter at de har klikket på utloggingskoblingen for å logge ut fra nettstedet ditt." #: classes/class.swpm-settings.php:204 msgid "Logout Member on Browser Close" msgstr "Avloggingsmedlem i nettleserlukk" #: classes/class.swpm-settings.php:205 msgid "Enable this option if you want the member to be logged out of the account when he closes the browser." msgstr "Aktiver dette alternativet hvis du vil at medlemmet skal logges ut av kontoen når han lukker nettleseren." #: classes/class.swpm-settings.php:207 msgid "Allow Account Deletion" msgstr "Tillat sletting av kontoen" #: classes/class.swpm-settings.php:208 msgid "Allow users to delete their accounts." msgstr "Tillat brukere å slette kontoene sine." #: classes/class.swpm-settings.php:210 msgid "Force Strong Password for Members" msgstr "Tving kraftig passord for medlemmene" #: classes/class.swpm-settings.php:211 msgid "Enable this if you want the users to be forced to use a strong password for their accounts." msgstr "Aktiver dette hvis du vil at brukerne skal bli tvunget til å bruke et sterkt passord for kontoene sine." #: classes/class.swpm-settings.php:213 msgid "Use WordPress Timezone" msgstr "Bruk WordPress Tidssone" #: classes/class.swpm-settings.php:214 msgid "Use this option if you want to use the timezone value specified in your WordPress General Settings interface." msgstr "Bruk dette alternativet hvis du vil bruke tidssoneverdien som er spesifisert i WordPress General Settings-grensesnittet." #: classes/class.swpm-settings.php:216 msgid "Auto Delete Pending Account" msgstr "Slett ventende konto automatisk" #: classes/class.swpm-settings.php:219 msgid "Select how long you want to keep \"pending\" account." msgstr "Velg hvor lenge du vil beholde \"ventende\" konto." #: classes/class.swpm-settings.php:221 msgid "Admin Dashboard Access Permission" msgstr "Admin tillatelsestilgangstillatelse" #: classes/class.swpm-settings.php:224 msgid "SWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here." msgstr "SWPM admin-dashbord er bare tilgjengelig for administratorbrukere (akkurat som alle andre pluginprogrammer). Du kan la brukere med en annen WP-brukerrolle få tilgang til SWPM-admin dashbordet ved å velge en verdi her." #: classes/class.swpm-settings.php:226 msgid "Force WP User Synchronization" msgstr "Tving WP-brukersynkronisering" #: classes/class.swpm-settings.php:227 msgid "Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin." msgstr "Aktiver dette alternativet hvis du vil tvinge medlemspåloggingen til å synkroniseres med WP-brukerkontoen. Dette kan være nyttig hvis du bruker en annen plugin som bruker WP-brukerposter. For eksempel: bbPress-plugin." #: classes/class.swpm-settings.php:230 msgid "Create Member Accounts for New WP Users" msgstr "Lag medlemskontoer for nye WP-brukere" #: classes/class.swpm-settings.php:232 msgid "Enable Auto Create Member Accounts" msgstr "Aktiver automatisk oppretting av medlemskontoer" #: classes/class.swpm-settings.php:233 msgid "Enable this option to automatically create member accounts for any new WP user that is created by another plugin." msgstr "Aktiver dette alternativet for å automatisk opprette medlemskontoer for alle nye WP-brukere som er opprettet av en annen plugin." #: classes/class.swpm-settings.php:236 msgid "Default Membership Level" msgstr "Standard medlemsnivå" #: classes/class.swpm-settings.php:239 msgid "When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here." msgstr "Når du automatisk oppretter en medlemskonto ved hjelp av denne funksjonen, blir brukernivået til brukeren satt til det du angir her." #: classes/class.swpm-settings.php:245 msgid "When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here." msgstr "Når du automatisk oppretter en medlemskonto ved hjelp av denne funksjonen, blir medlemskontoens status for brukeren satt til den du angir her." #: classes/class.swpm-settings.php:247 msgid "Payment Notification Forward URL" msgstr "Videresend betalingsvarsel URL" #: classes/class.swpm-settings.php:248 msgid "You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing." msgstr "Du kan legge inn en URL her for å videresende betalingsvarslingen etter at medlemsbetalingen er behandlet av denne pluginen. Nyttig hvis du vil videresende betalingsvarslingen til et eksternt skript for videre behandling." #: classes/class.swpm-settings.php:251 views/add.php:65 msgid "Terms and Conditions" msgstr "Vilkår og betingelser" #: classes/class.swpm-settings.php:253 msgid "Enable Terms and Conditions" msgstr "Aktiver vilkår og betingelser" #: classes/class.swpm-settings.php:254 msgid "Users must accept the terms before they can complete the registration." msgstr "Brukere må godta vilkårene før de kan fullføre registreringen." #: classes/class.swpm-settings.php:255 msgid "Terms and Conditions Page URL" msgstr "Vilkår og betingelser Side URL" #: classes/class.swpm-settings.php:256 msgid "Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field." msgstr "Skriv inn nettadressen til siden med vilkår og betingelser. Du kan opprette en WordPress-side og spesifisere vilkårene dine der, og angi URL-adressen til den siden i feltet ovenfor." #: classes/class.swpm-settings.php:257 msgid "Enable Privacy Policy" msgstr "Aktiver personvernregler" #: classes/class.swpm-settings.php:258 msgid "Users must accept it before they can complete the registration." msgstr "Brukere må godta det før de kan fullføre registreringen." #: classes/class.swpm-settings.php:259 msgid "Privacy Policy Page URL" msgstr "Side om personvernpolicy" #: classes/class.swpm-settings.php:260 msgid "Enter the URL of your privacy policy page." msgstr "Skriv inn nettadressen til siden for personvernregler." #: classes/class.swpm-settings.php:350 classes/class.swpm-settings.php:396 #: classes/class.swpm-settings.php:425 msgid "Settings updated!" msgstr "Innstillingene er oppdatert!" #: classes/class.swpm-settings.php:355 msgid "General Plugin Settings." msgstr "Generelle plugin-innstillinger." #: classes/class.swpm-settings.php:359 msgid "Page Setup and URL Related settings." msgstr "Sideoppsett og URL-relaterte innstillinger." #: classes/class.swpm-settings.php:362 msgid "The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time." msgstr "Følgende sider kreves for at plugin-funksjonen skal fungere korrekt. Disse sidene ble automatisk opprettet av pluginen ved installasjonstidspunktet." #: classes/class.swpm-settings.php:367 msgid "Testing and Debug Related Settings." msgstr "Testing og feilsøkingsrelaterte innstillinger." #: classes/class.swpm-settings.php:371 msgid "This email will be sent to your users when they complete the registration and become a member." msgstr "Denne e-posten vil bli sendt til brukerne dine når de fullfører registreringen og blir medlem." #: classes/class.swpm-settings.php:375 msgid "This email will be sent to your users when they use the password reset functionality." msgstr "Denne e-posten vil bli sendt til brukerne dine når de bruker tilbakestillingen av passord." #: classes/class.swpm-settings.php:381 msgid "This interface lets you custsomize the various emails that gets sent to your members for various actions. The default settings should be good to get your started." msgstr "Dette grensesnittet lar deg bruke ulike e-postmeldinger som blir sendt til medlemmene dine for forskjellige handlinger. Standardinnstillingene skal være gode for å komme i gang." #: classes/class.swpm-settings.php:385 views/admin_tools_settings.php:82 msgid "This documentation" msgstr "Denne dokumentasjonen" #: classes/class.swpm-settings.php:386 msgid " explains what email merge tags you can use in the email body field to customize it (if you want to)." msgstr " forklarer hvilke e-flettingskoder du kan bruke i e-postfeltfeltet for å tilpasse dem (hvis du vil)." #: classes/class.swpm-settings.php:399 msgid "Settings in this section apply to all emails." msgstr "Innstillinger i denne delen gjelder alle e-postmeldinger." #: classes/class.swpm-settings.php:403 msgid "This email will be sent to your users after account upgrade (when an existing member pays for a new membership level)." msgstr "Denne e-posten blir sendt til brukerne dine etter kontooppgradering (når et eksisterende medlem betaler for et nytt medlemsnivå)." #: classes/class.swpm-settings.php:407 msgid "This email will be sent to your members when you use the bulk account activate and notify action." msgstr "Denne e-posten vil bli sendt til medlemmene dine når du bruker bulkkontoen for å aktivere og varsle handling." #: classes/class.swpm-settings.php:408 msgid " You cannot use email merge tags in this email. You can only use generic text." msgstr " Du kan ikke bruke e-flettingskoder i denne e-postmeldingen. Du kan bare bruke generisk tekst." #: classes/class.swpm-settings.php:413 msgid "This email will be sent if Email Activation is enabled for a Membership Level." msgstr "Denne e-posten vil bli sendt hvis e-postaktivering er aktivert for et medlemsnivå." #: classes/class.swpm-settings.php:417 msgid "This email will be sent to prompt users to complete registration after the payment." msgstr "Denne e-posten blir sendt til brukerne om å fullføre registreringen etter betalingen." #: classes/class.swpm-settings.php:428 msgid "This page allows you to configure some advanced features of the plugin." msgstr "Denne siden lar deg konfigurere noen avanserte funksjoner i plugin-modulen." #: classes/class.swpm-settings.php:432 msgid "This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin." msgstr "Denne delen lar deg konfigurere automatisk oppretting av medlemskontoer når nye WP-brukerposter opprettes av en annen plugin. Det kan være nyttig hvis du bruker en annen plugin som oppretter WP-brukerposter, og du vil at de skal bli gjenkjent i medlemskapsprogrammet." #: classes/class.swpm-settings.php:436 msgid "This section allows you to configure terms and conditions and privacy policy that users must accept at registration time." msgstr "Denne delen lar deg konfigurere vilkår og betingelser og personvernregler som brukere må godta på registreringstidspunktet." #: classes/class.swpm-settings.php:565 msgid "Simple WP Membership::Settings" msgstr "Enkelt WP-medlemskap :: Innstillinger" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 msgid "User is not logged in." msgstr "Brukeren er ikke logget inn." #: classes/class.swpm-utils-member.php:80 msgid "No Expiry" msgstr "Ingen utløp" #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Registrering" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Medlems innlogging" #: classes/class.swpm-utils-misc.php:96 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:117 msgid "Profile" msgstr "Profil" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Reset passord" #: classes/class.swpm-utils-misc.php:168 msgid "You will be automatically redirected in a few seconds. If not, please %s." msgstr "Du blir automatisk omdirigert om noen få sekunder. Hvis ikke, vennligst% s." #: classes/class.swpm-utils-misc.php:172 msgid "Action Status" msgstr "Handlingsstatus" #: classes/class.swpm-utils-misc.php:274 msgid "Not a Member?" msgstr "Ikke et medlem?" #: classes/class.swpm-utils-misc.php:285 msgid "renew" msgstr "fornye" #: classes/class.swpm-utils-misc.php:285 msgid " your account to gain access to this content." msgstr " kontoen din for å få tilgang til dette innholdet." #: classes/class.swpm-utils-misc.php:343 classes/class.swpm-utils-misc.php:349 msgid "Error! This action (" msgstr "Feil! Denne handlingen (" #: classes/class.swpm-utils-misc.php:421 msgid "(Please Select)" msgstr "(Vennligst velg)" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Feil! Kunne ikke finne en malbane for den spesifiserte malen: " #: classes/class.swpm-utils.php:101 msgid "Never" msgstr "Aldri" #: classes/class.swpm-utils.php:116 views/admin_members_list.php:19 msgid "Active" msgstr "Aktiv" #: classes/class.swpm-utils.php:117 views/admin_members_list.php:20 msgid "Inactive" msgstr "Uvirksom" #: classes/class.swpm-utils.php:118 views/admin_members_list.php:21 msgid "Activation Required" msgstr "Aktivering kreves" #: classes/class.swpm-utils.php:119 views/admin_members_list.php:22 msgid "Pending" msgstr "Avventer" #: classes/class.swpm-utils.php:120 views/admin_members_list.php:24 msgid "Expired" msgstr "Utløpt" #: classes/class.swpm-utils.php:414 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Slett konto" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "Betalingsknapp-ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Betalingsknapptittel" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "Medlemskaps-ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Knappetype" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Knappekode" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "Den valgte oppføringen ble slettet!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Enkelt medlemskap :: Betalinger" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "Transaksjoner" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "Administrer betalingsknapper" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Lag ny knapp" #: classes/admin-includes/class.swpm-payments-list-table.php:57 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Vis profil" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "Rad-ID" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Epostadresse" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Medlemsprofil" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "Transaksjons-ID" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "Abonnent-ID" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Beløp" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Your membership profile will be updated to reflect the payment." msgstr "Medlemsprofilen din vil bli oppdatert for å gjenspeile betalingen." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Your profile username: " msgstr "Brukernavnet til profilen din: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:73 msgid "Click on the following link to complete the registration." msgstr "Klikk på følgende lenke for å fullføre registreringen." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:74 msgid "Click here to complete your paid registration" msgstr "Klikk her for å fullføre den betalte registreringen" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:79 msgid "If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly." msgstr "Hvis du nettopp har utført et medlemsbetaling, er betalingen ennå ikke behandlet. Kom tilbake om noen minutter. En e-post vil bli sendt til deg med detaljer innen kort tid." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:93 msgid "Expiry: " msgstr "Utløps: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "You are not logged-in as a member" msgstr "Du er ikke logget inn som medlem" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:115 msgid "Logged in as: " msgstr "Logget inn som: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:118 #: views/loggedin.php:31 msgid "Logout" msgstr "Logg ut" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 msgid "Login Here" msgstr "Logg inn her" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:122 msgid "Not a member? " msgstr "Ikke et medlem? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:123 msgid "Join Now" msgstr "Bli med nå" #: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285 msgid "Error occured during payment verification. Error code: %d. Message: %s" msgstr "Det oppsto en feil under betalingsverifiseringen. Feilkode:% d. Melding:% s" #: ipn/swpm-smart-checkout-ipn.php:298 msgid "Payment check failed: invalid amount received. Expected %s %s, got %s %s." msgstr "Betalingskontroll mislyktes: ugyldig beløp mottatt. Forventet% s% s, fikk% s% s." #: ipn/swpm-smart-checkout-ipn.php:315 msgid "Empty payment data received." msgstr "Tom betalingsdata mottatt." #: ipn/swpm-smart-checkout-ipn.php:355 msgid "IPN product validation failed. Check debug log for more details." msgstr "Validering av IPN-produkt mislyktes. Sjekk avlusingsloggen for mer informasjon." #: views/account_delete_warning.php:7 msgid "You are about to delete an account. This will delete user data associated with this account. " msgstr "Du er i ferd med å slette en konto. Dette vil slette brukerdata tilknyttet denne kontoen. " #: views/account_delete_warning.php:8 msgid "It will also delete associated WordPress user account." msgstr "Den vil også slette tilknyttet WordPress-brukerkonto." #: views/account_delete_warning.php:9 msgid "(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role)." msgstr "(MERKNAD: for sikkerhets skyld tillater vi ikke sletting av tilknyttet WordPress-konto med administratorrolle)." #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "Fortsette?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Passord: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Bekreft sletting av kontoen" #: views/add.php:24 views/admin_add.php:19 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:17 msgid "Password" msgstr "Passord" #: views/add.php:28 views/edit.php:35 msgid "Repeat Password" msgstr "Gjenta passord" #: views/add.php:65 msgid "I accept the " msgstr "Jeg godtar " #: views/add.php:77 msgid "I agree to the " msgstr "Jeg er enig i " #: views/add.php:77 msgid "Privacy Policy" msgstr "Personvern" #: views/add.php:88 msgid "Register" msgstr "Registrere" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Opprett en helt ny bruker og legg den til på dette nettstedet." #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(Obligatorisk)" #: views/admin_add.php:15 views/admin_edit.php:40 msgid "E-mail" msgstr "E-post" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(to ganger, påkrevd)" #: views/admin_add.php:24 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Styrkeindikator" #: views/admin_add.php:25 views/admin_edit.php:49 msgid "Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! \" ? $ % ^ & )." msgstr "Tips: Passordet skal være minst syv tegn langt. For å gjøre det sterkere, bruk store og små bokstaver, tall og symboler som! \"? $% ^ & amp;)." #: views/admin_add.php:29 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Konto status" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Legg til nytt medlem " #: views/admin_addon_settings.php:3 msgid "Some of the simple membership plugin's addon settings and options will be displayed here (if you have them)" msgstr "Noen av de enkle innstillinger og alternativer for tilleggsprogrammet for plugin-medlemskap vises her (hvis du har dem)" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Lagre endringer" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Legg til medlemsnivå" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "Opprett nytt medlemsnivå." #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "Navn på medlemskapsnivå" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "Standard WordPress-rolle" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "Tilgangs varighet" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Ingen utløp (Tilgang for dette nivået utløper ikke før du avbryter" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "Utløper etter" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "Dager (tilgang utløper etter gitt antall dager)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "Uker (Tilgang utløper etter gitt antall uker" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "Måneder (Tilgang utløper etter gitt antall måneder)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "År (tilgang utløper etter gitt antall år)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "Utløpet av fast dato" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(Tilgang utløper på en fast dato)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "E-postaktivering" #: views/admin_add_level.php:43 msgid "Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. " msgstr "Aktiver ny brukeraktivering via e-post. Når det er aktivert, må medlemmene klikke på en aktiveringslenke som sendes til e-postadressen deres for å aktivere kontoen. Nyttig for gratis medlemskap. " #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "Vis dokumentasjon" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "Merk:" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "If enabled, decryptable member password is temporarily stored in the database until the account is activated." msgstr "Hvis det er aktivert, blir dekrypterbart medlemspassord midlertidig lagret i databasen til kontoen er aktivert." #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "Legg til nytt medlemsnivå " #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Enkelt WP-medlemskap :: Tillegg" #: views/admin_category_list.php:5 msgid "First of all, globally protect the category on your site by selecting \"General Protection\" from the drop-down box below and then select the categories that should be protected from non-logged in users." msgstr "Først av alt, beskytte kategorien på nettstedet ditt globalt ved å velge \"Generell beskyttelse\" fra rullegardinboksen nedenfor og deretter velge kategoriene som skal beskyttes mot ikke-innloggede brukere." #: views/admin_category_list.php:8 msgid "Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level)." msgstr "Velg deretter et eksisterende medlemsnivå fra rullegardinboksen nedenfor, og velg deretter kategoriene du vil gi tilgang til (for det aktuelle medlemsnivået)." #: views/admin_category_list.php:11 views/admin_post_list.php:11 msgid "Read the " msgstr "Les " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "dokumentasjon for kategoribeskyttelse" #: views/admin_category_list.php:17 views/admin_post_list.php:27 msgid "Membership Level:" msgstr "Medlemskapsnivå:" #: views/admin_category_list.php:19 views/admin_post_list.php:29 msgid "General Protection" msgstr "Generell beskyttelse" #: views/admin_category_list.php:23 views/admin_post_list.php:33 #: views/edit.php:83 msgid "Update" msgstr "Oppdater" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Rediger medlem" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Rediger eksisterende medlemsdetaljer." #: views/admin_edit.php:14 msgid " You are currenty editing member with member ID: " msgstr " Du redigerer medlem med medlems-ID: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(to ganger, la stå tomt for å beholde gammelt passord)" #: views/admin_edit.php:59 msgid "This is the member's account status. If you want to manually activate an expired member's account then read" msgstr "Dette er medlemets kontostatus. Hvis du vil aktivere et utløpt medlemskonto manuelt, må du lese" #: views/admin_edit.php:60 msgid "this documentation" msgstr "denne dokumentasjonen" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " å lære å gjøre det." #: views/admin_edit.php:66 msgid "Notify User" msgstr "Varsle bruker" #: views/admin_edit.php:69 msgid "You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below)." msgstr "Du kan bruke dette alternativet til å sende en rask varslings-e-post til dette medlemmet (e-posten blir sendt når du trykker på lagre-knappen nedenfor)." #: views/admin_edit.php:75 msgid "Subscriber ID/Reference" msgstr "Abonnent-ID / referanse" #: views/admin_edit.php:79 msgid "Last Accessed Date" msgstr "Sist åpnet dato" #: views/admin_edit.php:82 views/admin_edit.php:89 msgid "This value gets updated when this member logs into your site." msgstr "Denne verdien blir oppdatert når dette medlemmet logger på nettstedet ditt." #: views/admin_edit.php:86 msgid "Last Accessed From IP" msgstr "Sist tilgang fra IP" #: views/admin_edit.php:97 msgid "Save Data" msgstr "Lagre data" #: views/admin_edit.php:102 msgid "Delete User Profile" msgstr "Slett brukerprofil" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Rediger medlemsnivå" #: views/admin_edit_level.php:9 msgid "You can edit details of a selected membership level from this interface. " msgstr "Du kan redigere detaljer om et valgt medlemsnivå fra dette grensesnittet. " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "Du redigerer for øyeblikket: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Ingen utløp (tilgang for dette nivået utløper ikke før du avbryter)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "Uker (tilgang utløper etter gitt antall uker)" #: views/admin_edit_level.php:51 msgid "Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership." msgstr "Aktiver ny brukeraktivering via e-post. Når det er aktivert, må medlemmene klikke på en aktiveringslenke som sendes til e-postadressen deres for å aktivere kontoen. Nyttig for gratis medlemskap." #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "Lagre medlemsnivå " #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Eksempel Innstillinger for innholdsbeskyttelse" #: views/admin_members_list.php:18 msgid "All" msgstr "Alle" #: views/admin_members_list.php:23 msgid "Incomplete" msgstr "Ufullstendig" #: views/admin_member_form_common_part.php:23 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Kjønn" #: views/admin_member_form_common_part.php:30 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Telefon" #: views/admin_member_form_common_part.php:34 views/edit.php:51 msgid "Street" msgstr "Gate" #: views/admin_member_form_common_part.php:38 views/edit.php:55 msgid "City" msgstr "By" #: views/admin_member_form_common_part.php:42 views/edit.php:59 msgid "State" msgstr "Stat" #: views/admin_member_form_common_part.php:46 views/edit.php:63 msgid "Zipcode" msgstr "Post kode" #: views/admin_member_form_common_part.php:50 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Land" #: views/admin_member_form_common_part.php:54 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Selskap" #: views/admin_member_form_common_part.php:58 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Medlem siden" #: views/admin_post_list.php:5 msgid "First of all, globally protect posts and pages on your site by selecting \"General Protection\" from the drop-down box below and then select posts and pages that should be protected from non-logged in users." msgstr "Først av alt, beskytte innlegg og sider på nettstedet ditt globalt ved å velge \"Generell beskyttelse\" fra rullegardinboksen nedenfor og deretter velge innlegg og sider som skal beskyttes mot ikke-innloggede brukere." #: views/admin_post_list.php:8 msgid "Next, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level)." msgstr "Velg deretter et eksisterende medlemsnivå fra rullegardinboksen nedenfor, og velg deretter innlegg og sider du vil gi tilgang til (for det aktuelle medlemsnivået)." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "bulk-beskyttelse av innlegg og sider dokumentasjon" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr " å lære å bruke det." #: views/admin_post_list.php:21 msgid "Posts" msgstr "Innlegg" #: views/admin_post_list.php:22 msgid "Pages" msgstr "Sider" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "Tilpassede innlegg" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "De nødvendige sidene er blitt opprettet på nytt." #: views/admin_tools_settings.php:21 msgid "Generate a Registration Completion link" msgstr "Generer en link for fullføring av registrering" #: views/admin_tools_settings.php:24 msgid "You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment." msgstr "Du kan generere en link for fullføring av registrering manuelt her og gi den til kunden din hvis de har gått glipp av e-postmeldingen som automatisk ble sendt ut til dem etter betalingen." #: views/admin_tools_settings.php:29 msgid "Generate Registration Completion Link" msgstr "Generer link for fullføring av registrering" #: views/admin_tools_settings.php:30 msgid "For a Particular Member ID" msgstr "For en spesiell medlems-ID" #: views/admin_tools_settings.php:32 msgid "OR" msgstr "ELLER" #: views/admin_tools_settings.php:33 msgid "For All Incomplete Registrations" msgstr "For alle ufullstendige registreringer" #: views/admin_tools_settings.php:38 msgid "Send Registration Reminder Email Too" msgstr "Send påminnelse om påmelding også" #: views/admin_tools_settings.php:44 msgid "Submit" msgstr "Sende inn" #: views/admin_tools_settings.php:53 msgid "Link(s) generated successfully. The following link(s) can be used to complete the registration." msgstr "Kobling (er) generert vellykket. Følgende lenke (r) kan brukes til å fullføre registreringen." #: views/admin_tools_settings.php:55 msgid "Registration completion links will appear below" msgstr "Linker for fullføring av registrering vises nedenfor" #: views/admin_tools_settings.php:65 msgid "A prompt to complete registration email was also sent." msgstr "En melding om å fullføre registrerings-e-posten ble også sendt." #: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88 msgid "Re-create the Required Pages" msgstr "Lag de påkrevde sidene på nytt" #: views/admin_tools_settings.php:81 msgid "If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them." msgstr "Hvis du ved et uhell har slettet de nødvendige sidene som denne pluginen oppretter på installasjonstidspunktet, kan du bruke dette alternativet til å opprette dem på nytt." #: views/admin_tools_settings.php:82 msgid " has full explanation." msgstr " har full forklaring." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "La være tomt for å beholde det gjeldende passordet" #: views/edit.php:71 msgid "Company Name" msgstr "Selskapsnavn" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Tilbakestille passord" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Logget inn som" #: views/loggedin.php:14 msgid "Membership" msgstr "Medlemskap" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Konto utløp" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Rediger profil" #: views/login.php:11 msgid "Username or Email" msgstr "Brukernavn eller e-post" #: views/login.php:24 msgid "Remember Me" msgstr "Husk meg" #: views/login.php:33 msgid "Forgot Password?" msgstr "Glemt passord?" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Alle betalingene / transaksjonene til medlemmene dine blir registrert her." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Søk etter en transaksjon ved å bruke e-post eller navn" #: views/payments/admin_create_payment_buttons.php:15 msgid "You can create new payment button for your memberships using this interface." msgstr "Du kan opprette en ny betalingsknapp for medlemskapene dine ved hjelp av dette grensesnittet." #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "Velg betalingsknapptype" #: views/payments/admin_create_payment_buttons.php:26 msgid "PayPal Buy Now" msgstr "PayPal kjøp nå" #: views/payments/admin_create_payment_buttons.php:28 msgid "PayPal Subscription" msgstr "PayPal-abonnement" #: views/payments/admin_create_payment_buttons.php:30 msgid "PayPal Smart Checkout" msgstr "PayPal Smart Checkout" #: views/payments/admin_create_payment_buttons.php:32 msgid "Stripe Buy Now" msgstr "Stripe Kjøp nå" #: views/payments/admin_create_payment_buttons.php:34 msgid "Stripe Subscription" msgstr "Stripe-abonnement" #: views/payments/admin_create_payment_buttons.php:36 msgid "Braintree Buy Now" msgstr "Braintree Kjøp nå" #: views/payments/admin_create_payment_buttons.php:43 msgid "Next" msgstr "Neste" #: views/payments/admin_edit_payment_buttons.php:15 msgid "You can edit a payment button using this interface." msgstr "Du kan redigere en betalingsknapp ved hjelp av dette grensesnittet." #: views/payments/admin_payment_buttons.php:6 msgid "All the membership buttons that you created in the plugin are displayed here." msgstr "Her vises alle medlemsknappene du opprettet i pluginen." #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "Feil! ID-medlemskap på nivå (" #: views/payments/admin_payment_settings.php:28 msgid "You can create membership payment buttons from the payments menu of this plugin (useful if you want to offer paid membership on the site)." msgstr "Du kan opprette betalingsknapper for medlemskap fra betalingsmenyen til denne pluginen (nyttig hvis du vil tilby betalt medlemskap på nettstedet)." #: views/payments/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "PayPal-integrasjonsinnstillinger" #: views/payments/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Generer koden \"Avanserte variabler\" for PayPal-knappen" #: views/payments/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Angi ID-medlemskap" #: views/payments/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Generer kode" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Braintree Kjøp nå-knappkonfigurasjon" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:213 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:301 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:83 msgid "Button ID" msgstr "Knapp-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:221 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:309 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:266 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:91 msgid "Button Title" msgstr "Knapptittel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:239 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:282 msgid "Payment Amount" msgstr "Betalings beløp" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "Braintree API key and account details. You can get this from your Braintree account." msgstr "Braintree API nøkkel- og kontodetaljer. Du kan få dette fra Braintree-kontoen din." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Kjøpmann ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Offentlig nøkkel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Privat nøkkel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "Merchant Account ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "The following details are optional." msgstr "Følgende detaljer er valgfrie." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:287 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:456 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:149 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:373 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:191 msgid "Return URL" msgstr "Returner URL" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:321 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:200 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:484 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:159 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:383 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:212 msgid "Save Payment Data" msgstr "Lagre betalingsdata" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:204 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal Kjøp nå-knappkonfigurasjon" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:247 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:327 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:289 msgid "Payment Currency" msgstr "Betalingsvaluta" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:295 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "PayPal Email" msgstr "PayPal e-post" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:303 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:464 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:199 msgid "Button Image URL" msgstr "URL for knappebilde" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:311 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:472 msgid "Custom Checkout Page Logo Image" msgstr "Egendefinert kassesideslogobilde" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "PayPal Smart Checkout-knappkonfigurasjon" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "PayPal Smart Checkout API Credentials (you can get this from your PayPal account)" msgstr "PayPal Smart Checkout API-legitimasjon (du kan få dette fra PayPal-kontoen din)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "Live Client ID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "Live Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "Sandbox Client ID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "Sandbox Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Innstillinger for knapputseende" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Størrelse" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 msgid "Medium" msgstr "Medium" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Large" msgstr "Stor" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "Repsonsive" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Velg knappestørrelse." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Farge" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 msgid "Gold" msgstr "Gull" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 msgid "Blue" msgstr "Blå" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 msgid "Silver" msgstr "Sølv" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 msgid "Black" msgstr "Svart" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 msgid "Select button color." msgstr "Velg knappefarge." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Form" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 msgid "Rectangular" msgstr "Rektangulære" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 msgid "Pill" msgstr "Pille" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 msgid "Select button shape." msgstr "Velg knappeform." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Oppsett" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 msgid "Vertical" msgstr "Vertikal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 msgid "Horizontal" msgstr "Horisontal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 msgid "Select button layout." msgstr "Velg knappoppsett." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Tilleggsinnstillinger" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Betalingsmetoder" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "PayPal Credit" msgstr "PayPal-kreditt" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "Select payment methods that could be used by customers. Note that payment with cards is always enabled." msgstr "Velg betalingsmetoder som kan brukes av kunder. Merk at betaling med kort alltid er aktivert." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "Følgende detaljer er valgfrie" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:295 msgid "PayPal Subscription Button Configuration" msgstr "PayPal-abonnementsknappkonfigurasjon" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Amount Each Cycle" msgstr "Faktureringsbeløp hver syklus" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:383 msgid "Billing Cycle" msgstr "Faktureringssyklus" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Billing Cycle Count" msgstr "Faktureringssyklus-telling" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:404 msgid "Re-attempt on Failure" msgstr "Forsøk på nytt på mislykkethet" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:419 msgid "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "Prøvefaktureringsdetaljer (legg tom hvis du ikke tilbyr prøveperiode)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:425 msgid "Trial Billing Amount" msgstr "Prøvefaktureringsbeløp" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:433 msgid "Trial Billing Period" msgstr "Prøvefaktureringsperiode" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:450 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:177 msgid "Optional Details" msgstr "Valgfrie detaljer" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:250 msgid "Stripe Buy Now Button Configuration" msgstr "Stripe Buy Now-knappkonfigurasjon" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:328 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Stripe API-nøkler. Du kan få dette fra Stripe-kontoen din." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:131 msgid "Test Publishable Key" msgstr "Test publiserbar nøkkel" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:139 msgid "Test Secret Key" msgstr "Test hemmelig nøkkel" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:147 msgid "Live Publishable Key" msgstr "Live publiserbar nøkkel" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:353 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:155 msgid "Live Secret Key" msgstr "Live Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:365 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:183 msgid "Collect Customer Address" msgstr "Samle kundeadresse" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:75 msgid "Stripe Subscription Button Configuration" msgstr "Stripe-abonnementsknappkonfigurasjon" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:109 msgid "Stripe Plan ID" msgstr "Stripe-ID" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:125 msgid "Stripe API Settings" msgstr "Stripe API-innstillinger" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:163 msgid "Webook Endpoint URL" msgstr "Webook Endpoint URL" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:20 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:91 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:93 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:150 msgid "Buy Now" msgstr "Kjøp nå" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:228 msgid "Subscribe Now" msgstr "Abonner nå" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137 msgid "Error occured during PayPal Smart Checkout process." msgstr "Det oppsto en feil under PayPal Smart Checkout-prosessen." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165 msgid "HTTP error occured during payment process:" msgstr "HTTP-feil oppstod under betalingsprosessen:" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Skriv inn passord her" msgid "Retype password here" msgstr "Skriv passordet på nytt her" msgid "Registration is complete. You can now log into the site." msgstr "Registreringen er fullført. Du kan nå logge inn på siden." msgid " Field has invalid character" msgstr " Feltet har ugyldig karakter" msgid " Password does not match" msgstr " Passordet stemmer ikke" msgid "Already taken." msgstr "Allerede tatt." msgid "Street Address" msgstr "Gateadresse" msgid "Apt, Suite, Bldg. (optional)" msgstr "Apt, Suite, Bldg. (valgfri)" msgid "State / Province / Region" msgstr "Stat / provins / region" msgid "Postal / Zip Code" msgstr "Postnummer" msgid "Check this box to delete the image. The image will be deleted when you save the profile." msgstr "Merk av i denne ruten for å slette bildet. Bildet blir slettet når du lagrer profilen." msgid "You will need to re-login since you changed your password." msgstr "Du må logge inn på nytt siden du endret passord." msgid "Please enter any two digits with no spaces (Example: 12)" msgstr "Skriv inn to sifre med ingen mellomrom (eksempel: 12)" msgid "Verification" msgstr "Bekreftelse" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Skriv inn to sifre uten mellomrom (eksempel: 12) *" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Brukernavn kan bare inneholde: bokstaver, tall og .- * @" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Tillatte tegn er: bokstaver, tall og.-_ * @" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Du har ikke tillatelse til å se dette innholdet." msgid "Your membership level does not have permission to view this content." msgstr "Ditt medlemsnivå har ikke tillatelse til å se dette innholdet." msgid "This content is for members only." msgstr "Dette innholdet er kun for medlemmer." msgid "Please check at least one." msgstr "Kontroller minst en." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Medlemskatalog" #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "Medlems-ID" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Nivå" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adresse" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Søk..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Tøm søk" #. === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Du må være logget inn for å oppgradere et medlemskap." msgid "Membership level has been updated." msgstr "Medlemskapsnivået er oppdatert." msgid "Already a member of this level." msgstr "Allerede medlem av dette nivået." languages/simple-membership-nb_NO.mo000064400000201765147206617610013507 0ustar00`+&2.242"-3P3m3D3}3I4515 6N66e6\7&s777 7B7-8 G8ih88 8+89 +959J96`99 999;9%:D: S:a:p::::: ::V;R_;; ; ;;;;;<<1<A<!I<k<< <<<< =M=@\==%=2= > ->;>sJ>>#>>?&?-? I?S? m?{???T??&@(@G@d@)s@'@@ @@@ A A%A-AHA(dAA A A AAAAXB*pBB B B-B9B C9C%?CeC mCzCC $D.D4D'lRFR.R !SBSWS#S TTT #T.TTU UU!V6VTVeVI~VVVVVW&W 7W%EW'kW=WWW*W X,X X XXX@Xm;YY2ZZ ZZ [[3[6L[[[[[[[[ [[([\$\_9\\\ \\\ \\] ]].]5]T]n]]]] ] ]] ]!]]^$^ D^O^#`^%^^^&^^ _ _2_9I_"__ __4_`$`1*`\`a` a a@aAbCbVbfbwb&b b bbb b c c$cCcIcXcac|ccccc cc#d (d 6dCd_dQud*dd(e/e>ePeeeve eeIef ffff%f>fYfvffIf9f6gJgcgxggggg gggXh[h xhhh h hh hhh/i8Bi {ii ii"i iiiijjj j jjk k/'k Wk*akk kkkkkll31lgelilp7mm9eWE\b`kùW/TJܺ"'Jj.'Ve mwZ*%@f$ľӾM7IPi ,ÿ/6 #W{+ Z eqOoC 6 A MYmr 4`p   =]z   1 ITe) *0K | 6"!3'[a FGD[r," ,2+Dpv  $.#?c r P(1$ChyQ IT]e k%uH2H{%  -4JL$!   $ /<S5l< 1 JWtz]o~ 8-5 JUm|0]cXj'7EH$f 9(b*-"&!F$h% w26 i" < H!Y {$ '5"Ux/`~-2$I~%6%S;Wo`[XaK i~wMDKT drG)x~ (38O&8;BN  /9 GU-.)Xo)MM,Jw[$ ]wCKeDOn2_Q{A1Y,J8joy0,L28k @#Cdm 62@%s   'TD9)QMS\5P\ Mih/HKT88C8C{~,1j<_* <zkK7@rRV^>$5|g$-@aA! `Ya4+|[vFP_kL(OUQOJ0{x%uoFl}j)%J&wh>N Nd? c#D BB.LGI!QE.];P=  A4G$;0s7(~[3X-CqzRUG 9Fg:#J9Y%t)&!} @*Df oX pyS/,(71B MK_N 4AR]e #Z:V6i?+6""3sdl+w6c.-3 eETb2O<L2,H\['qIWZW;=bm"`VI]2r>S?p/Z E'0:`1tfmUx&*Yuvy=HWn^Xn^5 Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. page to pay for a premium membership. to learn how to do it. to learn how to use it. to login. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterA prompt to complete registration email was also sent.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add-onsAdditional SettingsAddons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Logout Redirect URLAfter Registration Redirect URLAllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApostrophe character is not allowedApt, Suite, Bldg. (optional)Assign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCan't find member account.Cannot find member account.Captcha validation failed on login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameConfirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate Member Accounts for New WP UsersCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.Custom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDisable Access to WP DashboardDo you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEmailEmail ActivationEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty payment data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Privacy PolicyEnable Sandbox TestingEnable Terms and ConditionsEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the subject for the admin notification email.Error occured during PayPal Smart Checkout process.Error occured during payment verification. Error code: %d. Message: %sError! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! The membership level ID (Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry: First NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo back to the home page by GoldHTTP error occured during payment process:Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).HorizontalI accept the I agree to the IDIPN product validation failed. Check debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelIt will also delete associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Client IDLive Publishable KeyLive SecretLive Secret KeyLogged Out Successfully.Logged in asLogged in as: LoginLogin HereLogin Page URLLogoutLogout Member on Browser CloseManage Content ProtectionManage Payment ButtonsMediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No items found.No member found.No membership levels found.No user found with that email address.No, Do not protect this content.Not a Member?Not a member? Note:Notify UserOROptional DetailsPage Setup and URL Related settings.PagesPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPassword must contain at least:Password: PayPal Buy NowPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal Integration SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment MethodsPayment Notification Forward URLPayment SettingsPayment check failed: invalid amount received. Expected %s %s, got %s %s.PaymentsPendingPhonePillPleasePlease Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostsPrivacy PolicyPrivacy Policy Page URLPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRead the RectangularRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReset debug log files by clicking Return URLRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here.Sandbox Client IDSandbox SecretSave ChangesSave DataSave Membership Level Save Payment DataSearchSearch for a transaction by using email or nameSearch...Security check: captcha validation failed.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button layout.Select button shape.Select button size.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminSilverSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSizeSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the access starts date value.StateState / Province / RegionStatusStreetStreet AddressStrength indicatorStripe API SettingsStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe Plan IDStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceSuccess! Your account has been activated successfully.Terms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis interface lets you custsomize the various emails that gets sent to your members for various actions. The default settings should be good to get your started.This is the member's account status. If you want to manually activate an expired member's account then readThis page allows you to configure some advanced features of the plugin.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This value gets updated when this member logs into your site.TitleToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTypeType password hereUpdateUse WordPress TimezoneUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVerificationVerticalView DocumentationView ProfileView general debug log file by clicking View login related debug log file by clicking WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Webook Endpoint URLWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the payments menu of this plugin (useful if you want to offer paid membership on the site).You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to confirm your email address. Please check your email and follow instructions to complete your registration.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herehereincompleterenewthis documentationMIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 2.3.1 Project-Id-Version: Bing Language: nb_NO PO-Revision-Date: Last-Translator: Language-Team: Plural-Forms: nplurals=2; plural=(n != 1); E-postinnstillinger (varsel om kontooppgradering) E-postinnstillinger (Bulkkonto aktiverer varsling) E-postinnstillinger (e-postaktivering) Feltet har ugyldig karakter Passordet stemmer ikke Resten av innholdet er ikke tillatt for ditt medlemsnivå. Dette kan være nyttig når du feilsøker et problem. Slå den av og tilbakestill loggfilene etter at feilsøkingen er fullført. Bruk en annen e-postadresse for å fullføre registreringen. Hvis du vil bruke den e-postmeldingen, må du oppgi riktig brukernavn tilknyttet den eksisterende WP-brukeren for å koble til den kontoen. Bruk et annet brukernavn for å fullføre registreringen. Hvis du vil bruke dette brukernavnet, må du oppgi riktig e-postadresse tilknyttet den eksisterende WP-brukeren for å koble til den kontoen. Du redigerer medlem med medlems-ID: Du kan sette flere e-postadresser atskilt med komma (,) i feltet ovenfor for å sende varselet til flere e-postadresser. Du kan ikke bruke e-flettingskoder i denne e-postmeldingen. Du kan bare bruke generisk tekst. tegn som kreves forklarer hvilke e-flettingskoder du kan bruke i e-postfeltfeltet for å tilpasse dem (hvis du vil). har full forklaring. side for å betale for et premiummedlemskap. å lære å gjøre det. å lære å bruke det. å logge inn. for å se profilen du for øyeblikket er logget på i denne nettleseren. kontoen din for å få tilgang til dette innholdet.(Tilgang utløper på en fast dato)(MERKNAD: for sikkerhets skyld tillater vi ikke sletting av tilknyttet WordPress-konto med administratorrolle).(Vennligst velg)(Obligatorisk)(to ganger, la stå tomt for å beholde gammelt passord)(to ganger, påkrevd)- et siffer- en liten bokstav- en stor bokstavEn melding om å fullføre registrerings-e-posten ble også sendt.Tilgangs varighetTilgang starterTilgang gyldig for / tilTilgangsvarighet må være> 0.Endring av tilgangsdato ble fullført.Tilgangsstartfeltet er ugyldigKonto utløpKontostatusKonto statusKontoen er allerede aktiv. Kontoen er utløpt.Kontoen er inaktiv.Kontoen venter.Kontostatusfeltet er ugyldigHandlingsstatusAktivering krevesFeil i aktiveringskode. Kan ikke aktivere denne kontoen. Kontakt nettstedets administrator.Aktiverings-e-post er sendt. Vennligst sjekk e-posten din og aktiver kontoen din.AktivLegg til nivåLegg til medlemLegg til medlemsnivåLegg til nyLegg til nytt medlem Legg til nytt medlemsnivå Add-onsTilleggsinnstillingerAddons InnstillingerAdresseAdmin tillatelsestilgangstillatelseAdmin e-postadresseAdministrasjonsvarsel E-postorganAdministrasjonsvarsel E-postemneAvanserte innstillingerEtter utlogging omadressering av URLEtter registrering omadressering av URLAlleHer vises alle medlemsknappene du opprettet i pluginen.Alle betalingene / transaksjonene til medlemmene dine blir registrert her.Tillat sletting av kontoenTillat brukere å slette kontoene sine.Tillatte tegn er: bokstaver, tall og.-_ * @Allerede medlem av dette nivået.Allerede tattAllerede tatt.Alternativt kan du bruke en annen nettleser (der du ikke er logget inn som ADMIN) for å teste medlemspåloggingen.BeløpApostrofekarakter er ikke tillattApt, Suite, Bldg. (valgfri)Tildel gratis ID for medlemskapForfatterSlett ventende konto automatiskTilgjengeligFaktureringsbeløp hver syklusFaktureringssyklusFaktureringssyklus-tellingSvartBlåBraintree API nøkkel- og kontodetaljer. Du kan få dette fra Braintree-kontoen din.Braintree Kjøp nåBraintree Kjøp nå-knappkonfigurasjonTilgang til bulkendring starter datoBulk Change Membership LevelBulkdriftTilgang til masseoppdatering starter dato for medlemmerBulk Update Membership Level of MembersInnstillinger for knapputseendeKnapp-IDURL for knappebildeKnappekodeKnapptittelKnappetypeKjøp nåFinner ikke medlemskonto.Kan ikke finne medlemskonto.Valg av Captcha mislyktes på påloggingsskjemaet.Valg av Captcha mislyktes.KategorierKategori-IDKategori navnKategoribeskyttelseKategoritype (taksonomi)Kategoribeskyttelse oppdatert!Merk av i denne ruten for å slette bildet. Bildet blir slettet når du lagrer profilen.Merk av for dette alternativet for å aktivere feilsøking.ByTøm søkKlikk herKlikk her for å fullføre den betalte registreringenKlikk på følgende lenke for å fullføre registreringen.Samle kundeadresseFargeKommentarer er ikke tillatt av et ikke-medlem.SelskapSelskapsnavnBekreft sletting av kontoenKontakt nettstedadministratoren og be dem om å sjekke brukernavnet ditt i WP-brukere-menyen for å se hva som skjedde med WP-brukeroppføringen til kontoen din.Fortsette?TelleLandLag medlemskontoer for nye WP-brukereLag ny knappOpprett en helt ny bruker og legg den til på dette nettstedet.Opprett nytt medlemsnivå.Egendefinert kassesideslogobildeTilpassede innleggDatoDatoformatet er ikke gyldig.Dager (tilgang utløper etter gitt antall dager)Standard kontostatusStandard medlemsnivåStandard WordPress-rolleSlettSlett kontoSlett brukerprofilBeskrivelseDeaktiver tilgang til WP-dashbordetVil du beskytte dette innholdet?E-postELVRediger medlemRediger profilRediger URL-adresse for profilsidenRediger eksisterende medlemsdetaljer.Rediger medlemsnivåE-postE-postaktiveringEpostadresseEpostadresse: E-postorganE-post Diverse innstillingerE-postinnstillingerE-postinnstillinger (tilbakestilling av passord)E-postinnstillinger (Spør om fullstendig registrering)E-postinnstillinger (registrering fullført)E-postinnstillinger OversiktE-post EmneE-postadressen er ikke gyldig.E-post er allerede brukt.E-postadressen er ugyldigE-post er påkrevdTom betalingsdata mottatt.Aktiver automatisk oppretting av medlemskontoerAktiver automatisk pålogging etter registreringAktiver feilsøkingAktiver pålogging for utløpt kontoAktiver gratis medlemskapAktiver mer tagbeskyttelseAktiver personvernreglerAktiver testing av sandkasseAktiver vilkår og betingelserAktiver ny brukeraktivering via e-post. Når det er aktivert, må medlemmene klikke på en aktiveringslenke som sendes til e-postadressen deres for å aktivere kontoen. Nyttig for gratis medlemskap.Aktiver ny brukeraktivering via e-post. Når det er aktivert, må medlemmene klikke på en aktiveringslenke som sendes til e-postadressen deres for å aktivere kontoen. Nyttig for gratis medlemskap. Aktiver dette hvis du vil at brukerne skal bli tvunget til å bruke et sterkt passord for kontoene sine.Aktiver dette alternativet hvis du bare vil at medlemmene på nettstedet skal kunne legge inn en kommentar.Aktiver dette alternativet hvis du vil at administratoren skal motta et varsel når et medlem registrerer seg.Aktiver dette alternativet hvis du vil at medlemmet skal logges ut av kontoen når han lukker nettleseren.Aktiver dette alternativet hvis du vil utføre betalingstesting av sandkasse.Aktiver dette alternativet hvis du vil tvinge medlemspåloggingen til å synkroniseres med WP-brukerkontoen. Dette kan være nyttig hvis du bruker en annen plugin som bruker WP-brukerposter. For eksempel: bbPress-plugin.Aktiver dette alternativet for å automatisk opprette medlemskontoer for alle nye WP-brukere som er opprettet av en annen plugin.Aktiver / deaktiver registrering for gratis medlemsnivå. Når du aktiverer dette alternativet, må du sørge for å angi en gratis ID for medlemskapsnivå i feltet nedenfor.Aktiverer eller deaktiverer "mer" tagbeskyttelse i innleggene og sidene. Alt etter Mer-taggen er beskyttet. Alt før mer tag er teaser-innhold.Angi ID-medlemskapSkriv inn nettadressen til siden for personvernregler.Skriv inn nettadressen til siden med vilkår og betingelser. Du kan opprette en WordPress-side og spesifisere vilkårene dine der, og angi URL-adressen til den siden i feltet ovenfor.Skriv inn e-postadressen der du vil at e-postadministratorvarslingen skal sendes til.Angi emnet for e-posten for administratorvarsling.Det oppsto en feil under PayPal Smart Checkout-prosessen.Det oppsto en feil under betalingsverifiseringen. Feilkode:% d. Melding:% sFeil! Kunne ikke finne en malbane for den spesifiserte malen: Feil! Ugyldig forespørsel. Kunne ikke finne et samsvar for den gitte sikkerhetskoden og bruker-IDen.Feil! Ikke-bekreftelse mislyktes for redigering av frontend-profilen.Feil! Ikke-bekreftelse mislyktes for opprettelse av medlemskapsnivå fra administratorslutt.Feil! Bekreftelse av manglende godkjenning mislyktes for sletting av medlemsnivå fra admin-enden.Feil! Bekreftelse av manglende godkjenning mislyktes for redigering av medlemsnivå fra administratorslutt.Feil! Bekreftelse av manglende kraft mislyktes for sletting av brukere fra admin-enden.Feil! Bekreftelse av manglende kraft mislyktes for brukerredigering fra admin-slutt.Feil! Ikke-bekreftelse mislyktes for brukerregistrering fra admin slutten.Feil! Velg først et medlemsnivå.Feil! ID-medlemskap på nivå (Feil! Denne handlingen (Feil! Dette nettstedet har force WP bruker påloggingsfunksjonen aktivert i innstillingene. Vi kunne ikke finne en WP-brukeroppføring for det gitte brukernavnet: Eksempel Innstillinger for innholdsbeskyttelseUtløper etterUtløptUtløps: FornavnFørst av alt, beskytte innlegg og sider på nettstedet ditt globalt ved å velge "Generell beskyttelse" fra rullegardinboksen nedenfor og deretter velge innlegg og sider som skal beskyttes mot ikke-innloggede brukere.Først av alt, beskytte kategorien på nettstedet ditt globalt ved å velge "Generell beskyttelse" fra rullegardinboksen nedenfor og deretter velge kategoriene som skal beskyttes mot ikke-innloggede brukere.Utløpet av fast datoFor alle ufullstendige registreringerFor en spesiell medlems-IDTving kraftig passord for medlemmeneTving WP-brukersynkroniseringGlemt passord?Gratis medlemskaps-IDGratis medlemskap er deaktivert på dette nettstedet. Foreta en betaling fra Fra e-postadresseKjønnKjønnsfeltet er ugyldigGenerelle plugin-innstillinger.Generell beskyttelseGenerelle innstillingerGenerer kodeGenerer link for fullføring av registreringGenerer en link for fullføring av registreringGenerer koden "Avanserte variabler" for PayPal-knappenGå tilbake til hjemmesiden ved å GullHTTP-feil oppstod under betalingsprosessen:Skjul administrasjonsfeltetTips: Passordet skal være minst syv tegn langt. For å gjøre det sterkere, bruk store og små bokstaver, tall og symboler som! "? $% ^ & amp;).HorisontalJeg godtar Jeg er enig i IDValidering av IPN-produkt mislyktes. Sjekk avlusingsloggen for mer informasjon.Hvis det er aktivert, blir dekrypterbart medlemspassord midlertidig lagret i databasen til kontoen er aktivert.Hvis du ved et uhell har slettet de nødvendige sidene som denne pluginen oppretter på installasjonstidspunktet, kan du bruke dette alternativet til å opprette dem på nytt.Hvis du nettopp har utført et medlemsbetaling, er betalingen ennå ikke behandlet. Kom tilbake om noen minutter. En e-post vil bli sendt til deg med detaljer innen kort tid.UvirksomUfullstendigUgyldig epostadresseUgyldig brukernavnUgyldig epostadresseUgyldig medlemsnivåDen vil også slette tilknyttet WordPress-brukerkonto.Bli med nåBli med ossBli med på oss-URLStorSist åpnet datoSist tilgang fra IPSiste påloggingsdatoEtternavnOppsettLa være tomt for å beholde det gjeldende passordetNivåNivå å endre til: Kobling (er) generert vellykket. Følgende lenke (r) kan brukes til å fullføre registreringen.Live Client IDLive publiserbar nøkkelLive SecretLive Secret KeyLogget ut Vellykket.Logget inn somLogget inn som: Logg InnLogg inn herPåloggingssiden URLLogg utAvloggingsmedlem i nettleserlukkAdministrer innholdsbeskyttelseAdministrer betalingsknapperMediumMedlemMedlemskatalogMedlems-IDMedlems innloggingMedlemsprofilMedlem sidenMedlemsrekorden ble lagt til.Medlem siden feltet er ugyldigMedlemmerMedlemmene må være logget inn for å kommentereMedlemskapMedlemskapsnivåMedlemskapsnivå Funnet ikke.Oppretting av medlemskapsnivå vellykket.Medlemskaps-IDNavn på medlemskapsnivåMedlemskapsnivå ble oppdatert.Medlemskapsnivå:Medlemskapsnivå: MedlemsnivåerURL for medlemskap for fornyelseOperasjon for endring av medlemsnivå fullført.Medlemskapsnivået er oppdatert.Merchant Account IDKjøpmann IDMinimum Måneder (Tilgang utløper etter gitt antall måneder)Navnet inneholder ugyldig karakterAldriNytt passord har blitt sendt til din e-postadresse.NesteVelg deretter et eksisterende medlemsnivå fra rullegardinboksen nedenfor, og velg deretter innlegg og sider du vil gi tilgang til (for det aktuelle medlemsnivået).Velg deretter et eksisterende medlemsnivå fra rullegardinboksen nedenfor, og velg deretter kategoriene du vil gi tilgang til (for det aktuelle medlemsnivået).Ingen utløpIngen utløp (Tilgang for dette nivået utløper ikke før du avbryterIngen utløp (tilgang for dette nivået utløper ikke før du avbryter)Ingen kategori funnet.Ingen objekter funnet.Ingen medlemmer funnet.Ingen medlemsnivåer funnet.Ingen brukere funnet med den e-postadressen.Nei, ikke beskytt dette innholdet.Ikke et medlem?Ikke et medlem? Merk:Varsle brukerELLERValgfrie detaljerSideoppsett og URL-relaterte innstillinger.SiderInnstillinger for siderPassordPassordet er tomt eller ugyldig.Reset passordTilbakestill passord for URLPassord er påkrevdFeil i passordPassordet må inneholde minst:Passord: PayPal kjøp nåPayPal Kjøp nå-knappkonfigurasjonPayPal-kredittPayPal e-postPayPal-integrasjonsinnstillingerPayPal Smart CheckoutPayPal Smart Checkout API-legitimasjon (du kan få dette fra PayPal-kontoen din)PayPal Smart Checkout-knappkonfigurasjonPayPal-abonnementPayPal-abonnementsknappkonfigurasjonBetalings beløpBetalingsknapp-IDBetalingsknapptittelBetalingsvalutaBetalingsmetoderVideresend betalingsvarsel URLBetalingsinnstillingerBetalingskontroll mislyktes: ugyldig beløp mottatt. Forventet% s% s, fikk% s% s.BetalingerAvventerTelefonPilleVennligstVennligst logg inn for å kommentere.Kontroller minst en.Vennligst korriger følgendeVennligst korriger følgende.Korriger følgende:Skriv inn to sifre med ingen mellomrom (eksempel: 12)Skriv inn to sifre uten mellomrom (eksempel: 12) *Vennligst logg inn igjen.Vennligst logg inn for å kommentere.Plugin-dokumentasjonInnlegg og sidesikringPostnummerInnleggPersonvernSide om personvernpolicyPrivat nøkkelProfilProfilen ble oppdatert.Profilen ble oppdatert. Du må logge inn på nytt siden du endret passord.Beskyttelsesinnstillinger oppdatert!Offentlig nøkkelForsøk på nytt på mislykkethetLag de påkrevde sidene på nyttLes RektangulæreRegistrereRegistreringRegistreringssiden URLRegistrering fullført. Linker for fullføring av registrering vises nedenforRegistreringen er fullført. Du kan nå logge inn på siden.Husk megGjenta passordRepsonsiveTilbakestille passordTilbakestill feilsøkingsloggfiler ved å klikke Returner URLSkriv passordet på nytt herRolleRad-IDSWPM admin-dashbord er bare tilgjengelig for administratorbrukere (akkurat som alle andre pluginprogrammer). Du kan la brukere med en annen WP-brukerrolle få tilgang til SWPM-admin dashbordet ved å velge en verdi her.Sandbox Client IDSandbox SecretLagre endringerLagre dataLagre medlemsnivå Lagre betalingsdataSøkSøk etter en transaksjon ved å bruke e-post eller navnSøk...Sikkerhetsjekk: captcha-validering mislyktes.Velg Gjeldende nivåVelg nivåVelg betalingsknapptypeVelg MålnivåVelg knappefarge.Velg knappoppsett.Velg knappeform.Velg knappestørrelse.Velg hvor lenge du vil beholde "ventende" konto.Velg betalingsmetoder som kan brukes av kunder. Merk at betaling med kort alltid er aktivert.Velg medlemskapsnivå (tilgangsdato for alle medlemmer som er på dette nivået vil bli oppdatert).Velg gjeldende medlemsnivå (medlemsnivået for alle medlemmene som er i dette nivået vil bli oppdatert).Velg standard kontostatus for nylig registrerte brukere. Hvis du vil godkjenne medlemmene manuelt, kan du stille status til "Venter".Velg medlemsnivå som får tilgang til dette innholdet:Velg det nye medlemsnivået.Send e-post til medlem når det legges til via administrasjonspaneletSend varsel til administratorSend påminnelse om påmelding ogsåSesjon utløpt.Sett status til AktivSett status til Aktiv og varsleSett status til utløptSett status til inaktivSett status til ventendeInnstillingerInnstillinger i denne delen gjelder alle e-postmeldinger.Innstillingene er oppdatert!FormVis administrasjonslinje til administratorSølvEnkle alternativer for medlemskapsbeskyttelseEnkelt medlemskap :: BetalingerEnkel beskyttelse av WP-medlemskapEnkelt WP-medlemskap :: TilleggEnkelt WP-medlemskap :: MedlemmerEnkelt WP-medlemskap: medlemsnivåerEnkelt WP-medlemskap :: InnstillingerStørrelseNoen av de enkle innstillinger og alternativer for tilleggsprogrammet for plugin-medlemskap vises her (hvis du har dem)Beklager, bekreftelse av ikke-mislyktes mislyktes.Beklager, passordet stemte ikke.Angi datoen for tilgangsstartdato.StatStat / provins / regionStatusGateGateadresseStyrkeindikatorStripe API-innstillingerStripe API-nøkler. Du kan få dette fra Stripe-kontoen din.Stripe Kjøp nåStripe Buy Now-knappkonfigurasjonStripe-IDStripe-abonnementStripe-abonnementsknappkonfigurasjonSende innAbonner nåAbonnent-IDAbonnent-ID / referanseSuksess! Kontoen din er blitt aktivert.Vilkår og betingelserVilkår og betingelser Side URLTest- og feilsøkingsinnstillingerTest publiserbar nøkkelTest hemmelig nøkkelTesting og feilsøkingsrelaterte innstillinger.Tilgangsstartdato for et medlem er satt til den dagen brukeren registrerer seg. Denne datoverdien brukes til å beregne hvor lenge medlemmet kan få tilgang til innholdet ditt som er beskyttet med en varighetstype beskyttelse i medlemsnivået. Administratoren for dette området tillater ikke brukere å få tilgang til wp-instrumentbordet.Kategorien eller foreldrekategorien til dette innlegget er beskyttet. Du kan endre innstillingene for kategoribeskyttelse fra Følgende detaljer er valgfrieFølgende detaljer er valgfrie.Følgende sider kreves for at plugin-funksjonen skal fungere korrekt. Disse sidene ble automatisk opprettet av pluginen ved installasjonstidspunktet.De nødvendige sidene er blitt opprettet på nytt.Den valgte oppføringen ble slettet!Nettstedsadministratoren kan deaktivere Force WP Brukersynkroniseringsfunksjonen i innstillingene for å deaktivere denne funksjonen, og denne feilen vil forsvinne.Dette innholdet kan bare sees av medlemmer som meldte seg på eller før Dette innholdet er kun for medlemmer.Dette innholdet er ikke tillatt for ditt medlemsnivå.Denne dokumentasjonenDenne e-posten vil bli sendt hvis e-postaktivering er aktivert for et medlemsnivå.Denne e-posten blir sendt til brukerne om å fullføre registreringen etter betalingen.Denne e-posten vil bli sendt til administratoren når en ny bruker fullfører medlemsregistreringen. Fungerer bare hvis du har aktivert alternativet "Send varsling til administrator" ovenfor.Denne e-posten vil bli sendt til medlemmene dine når du bruker bulkkontoen for å aktivere og varsle handling.Denne e-posten blir sendt til brukerne dine etter kontooppgradering (når et eksisterende medlem betaler for et nytt medlemsnivå).Denne e-posten vil bli sendt til brukerne dine når de fullfører registreringen og blir medlem.Denne e-posten vil bli sendt til brukerne dine når de bruker tilbakestillingen av passord.Denne feilen utløses når en medlemskonto ikke har en tilsvarende WP-brukerkonto. Så plugin unnlater å logge brukeren inn i WP Brukersystemet.Dette feltet er obligatoriskDette grensesnittet lar deg bruke ulike e-postmeldinger som blir sendt til medlemmene dine for forskjellige handlinger. Standardinnstillingene skal være gode for å komme i gang.Dette er medlemets kontostatus. Hvis du vil aktivere et utløpt medlemskonto manuelt, må du leseDenne siden lar deg konfigurere noen avanserte funksjoner i plugin-modulen.Denne delen lar deg konfigurere automatisk oppretting av medlemskontoer når nye WP-brukerposter opprettes av en annen plugin. Det kan være nyttig hvis du bruker en annen plugin som oppretter WP-brukerposter, og du vil at de skal bli gjenkjent i medlemskapsprogrammet.Denne delen lar deg konfigurere vilkår og betingelser og personvernregler som brukere må godta på registreringstidspunktet.Denne verdien blir oppdatert når dette medlemmet logger på nettstedet ditt.TittelVerktøyTransaksjons-IDTransaksjonerPrøvefaktureringsbeløpPrøvefaktureringsdetaljer (legg tom hvis du ikke tilbyr prøveperiode)PrøvefaktureringsperiodeTypeSkriv inn passord herOppdaterBruk WordPress TidssoneBruk dette alternativet hvis du vil at medlemmene skal logges automatisk på nettstedet ditt rett etter at de har fullført registreringen. Dette alternativet vil overstyre eventuelle etter omdirigering av registrering, og i stedet utløse omdirigeringen etter innlogging. Les denne dokumentasjonen for å lære mer.Bruk dette alternativet hvis du bare vil vise admin-verktøylinjen for administratorbrukere. Administratorverktøylinjen vil være skjult for alle andre brukere.Bruk dette alternativet hvis du vil bruke tidssoneverdien som er spesifisert i WordPress General Settings-grensesnittet.Bruker ikke funnet.Brukeren er ikke logget inn.BrukernavnBrukernavn finnes allerede.Brukernavn kan bare inneholde: bokstaver, tall og .- * @Brukernavn inneholder ugyldig karakterBrukernavn krevesBrukernavn eller e-postBrukernavn kan bare inneholde: bokstaver, tall og.-_ * @Brukere må godta det før de kan fullføre registreringen.Brukere må godta vilkårene før de kan fullføre registreringen.Validerer, vennligst ventBekreftelseVertikalVis dokumentasjonVis profilVis generell feilsøkingsloggfil ved å klikke Se påloggingsrelatert feilsøkingsloggfil ved å klikke WP-medlemskapAdvarsel! Simple Membership-plugin kan ikke behandle denne påloggingsforespørselen for å forhindre at du blir logget av WP Admin ved et uhell.Webook Endpoint URLUker (Tilgang utløper etter gitt antall ukerUker (tilgang utløper etter gitt antall uker)Når du automatisk oppretter en medlemskonto ved hjelp av denne funksjonen, blir medlemskontoens status for brukeren satt til den du angir her.Når du automatisk oppretter en medlemskonto ved hjelp av denne funksjonen, blir brukernivået til brukeren satt til det du angir her.Når dette er aktivert, kan utløpte medlemmer logge seg på systemet, men vil ikke kunne se noe beskyttet innhold. Dette lar dem enkelt fornye kontoen sin ved å foreta en ny betaling.WordPress lar en standard wp-bruker kunne gå til wp-admin URL og få tilgang til profilen sin fra wp dashbaord. Bruk av dette alternativet vil forhindre at brukere som ikke er administratorer, går til wp-dashbordet.WordPress viser en administratorverktøylinje for påloggede brukere av nettstedet. Merk av for dette hvis du vil skjule den admin verktøylinjen i fronten av nettstedet.Wordpress-konto eksisterer med gitt e-post. Men gitt brukernavn stemmer ikke.Wordpress-konto eksisterer med gitt brukernavn. Men gitt e-post stemmer ikke.År (tilgang utløper etter gitt antall år)Ja, beskytt dette innholdet.Du er i ferd med å slette en konto. Dette vil slette brukerdata tilknyttet denne kontoen. Du redigerer for øyeblikket: Du er innlogget som:Du er logget inn på siden som ADMIN-bruker i denne nettleseren. Først logger du ut fra WP Admin, så vil du kunne logge deg på som et normalt medlem.Du er ikke innlogget.Du er ikke logget inn som medlemDu kan opprette en fornyelsesside for nettstedet ditt. Les denne dokumentasjonen for å lære hvordan du oppretter en fornyelsesside.Du kan opprette betalingsknapper for medlemskap fra betalingsmenyen til denne pluginen (nyttig hvis du vil tilby betalt medlemskap på nettstedet).Du kan opprette en ny betalingsknapp for medlemskapene dine ved hjelp av dette grensesnittet.Du kan redigere en betalingsknapp ved hjelp av dette grensesnittet.Du kan redigere detaljer om et valgt medlemsnivå fra dette grensesnittet. Du kan legge inn en URL her for å videresende betalingsvarslingen etter at medlemsbetalingen er behandlet av denne pluginen. Nyttig hvis du vil videresende betalingsvarslingen til et eksternt skript for videre behandling.Du kan legge inn en URL her for å omdirigere medlemmene til denne siden etter at de har klikket på utloggingskoblingen for å logge ut fra nettstedet ditt.Du kan legge inn en URL her for å omdirigere medlemmene til denne siden etter at de har sendt inn registreringsskjemaet. Les denne dokumentasjonen for å lære hvordan du konfigurerer etter registrering omdirigere.Du kan endre medlemsnivået manuelt for et hvilket som helst medlem ved å redigere posten fra medlemsmenyen. Du kan generere en link for fullføring av registrering manuelt her og gi den til kunden din hvis de har gått glipp av e-postmeldingen som automatisk ble sendt ut til dem etter betalingen.Du kan stille inn en bestemt datoverdi for tilgang for alle medlemmer som tilhører et bestemt nivå manuelt ved å bruke følgende alternativ.Du kan bruke tilbake-knappen i nettleseren din for å gå tilbake til nettstedet.Du kan bruke følgende alternativ for å bulkoppdatere medlemsnivået til brukere som tilhører nivået du velger nedenfor.Du kan bruke dette alternativet til å sende en rask varslings-e-post til dette medlemmet (e-posten blir sendt når du trykker på lagre-knappen nedenfor).Du har ikke tillatelse til å se dette innholdet.Du har aktivert betalingsmodus for sandkasse i plugin-innstillingene. Sørg for å slå av sandkassemodus når du vil utføre live-transaksjoner.Du må akseptere vilkårene og betingelsene.Du må godta personvernreglene.Du må være logget inn for å oppgradere et medlemskap.Du må aktivere kontoen din. Hvis du ikke mottok en e-post, send% s for å sende aktiveringsmeldingen på nytt.Du må bekrefte e-postadressen din. Vennligst sjekk e-posten din og følg instruksjonene for å fullføre registreringen.Du må logge inn for å se resten av innholdet. Du må logge inn for å se dette innholdet. Du blir automatisk omdirigert om noen få sekunder. Hvis ikke, vennligst% s.Du må logge inn på nytt siden du endret passord.Du vil motta en unik lenke via e-post etter betalingen. Du vil kunne bruke den lenken til å fullføre premium medlemsregistreringen.Kontoen din er utløpt. Ditt nåværende passordDitt medlemsnivå har ikke tillatelse til å se dette innholdet.Medlemsprofilen din vil bli oppdatert for å gjenspeile betalingen.De vanlige besøkende eller medlemmer vil aldri se denne meldingen. Denne meldingen er KUN for ADMIN-brukere.Brukernavnet til profilen din: Post kodebulk-beskyttelse av innlegg og sider dokumentasjondokumentasjon for kategoribeskyttelsekategoribeskyttelsesmenyklikk herklikke herherufullstendigfornyedenne dokumentasjonenlanguages/simple-membership-tr_TR.po000064400000470367147206617610013557 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "POT-Creation-Date: 2023-02-28 19:14+1100\n" "PO-Revision-Date: 2023-03-08 22:23+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.2.2\n" "X-Poedit-Basepath: ..\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: simple-wp-membership.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.min.js\n" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Payment Button ID" msgstr "Ödeme Düğmesi Kimliği" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 msgid "Payment Button Title" msgstr "Ödeme Düğmesi Başlığı" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:81 msgid "Membership Level ID" msgstr "Üyelik Seviye Kimliği" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:82 msgid "Button Type" msgstr "Düğme Tipi" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:83 msgid "Button Shortcode" msgstr "Düğme Kısa Kodu" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:98 #: classes/admin-includes/class.swpm-payments-list-table.php:118 #: classes/class.swpm-members.php:51 #: classes/class.swpm-membership-levels.php:36 msgid "Delete" msgstr "Sil" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:135 #: views/admin_members_list.php:8 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "Seçilen Giriş Silindi!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:23 msgid "Simple Membership::Payments" msgstr "Basit Üyelik::Ödemeler" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 msgid "Transactions" msgstr "Ödeme İşlemleri" #: classes/admin-includes/class.swpm-payments-admin-menu.php:28 msgid "Manage Payment Buttons" msgstr "Ödeme Düğmelerini Yönet" #: classes/admin-includes/class.swpm-payments-admin-menu.php:29 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Yeni Buton Oluştur" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Profili Görüntüle" #: classes/admin-includes/class.swpm-payments-list-table.php:91 msgid "Row ID" msgstr "Sıra Kimliği" #: classes/admin-includes/class.swpm-payments-list-table.php:92 #: views/forgot_password.php:5 #: views/payments/admin_add_edit_transaction_manually.php:75 msgid "Email Address" msgstr "E-Posta Adresi" #: classes/admin-includes/class.swpm-payments-list-table.php:93 #: classes/class.swpm-members.php:23 views/add.php:34 #: views/admin_member_form_common_part.php:6 views/edit.php:39 #: views/payments/admin_add_edit_transaction_manually.php:83 #: includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Adınız" #: classes/admin-includes/class.swpm-payments-list-table.php:94 #: classes/class.swpm-members.php:24 views/add.php:38 #: views/admin_member_form_common_part.php:10 views/edit.php:43 #: views/payments/admin_add_edit_transaction_manually.php:91 #: includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Soyadınız" #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Member Profile" msgstr "Üye Profili" #: classes/admin-includes/class.swpm-payments-list-table.php:96 #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: views/payments/admin_add_edit_transaction_manually.php:125 msgid "Date" msgstr "Tarih" #: classes/admin-includes/class.swpm-payments-list-table.php:97 #: views/payments/admin_add_edit_transaction_manually.php:133 msgid "Transaction ID" msgstr "İşlem Kimliği" #: classes/admin-includes/class.swpm-payments-list-table.php:98 #: views/payments/admin_add_edit_transaction_manually.php:141 msgid "Subscriber ID" msgstr "İşlem Kimliği" #: classes/admin-includes/class.swpm-payments-list-table.php:99 #: views/payments/admin_add_edit_transaction_manually.php:117 msgid "Amount" msgstr "Tutar" #: classes/admin-includes/class.swpm-payments-list-table.php:100 #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:26 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 views/add.php:42 views/admin_add.php:37 #: views/admin_edit.php:74 views/admin_members_list.php:50 views/edit.php:75 #: views/payments/admin_add_edit_transaction_manually.php:107 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:232 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:176 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:198 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:330 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:328 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:108 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:108 msgid "Membership Level" msgstr "Üyelik Düzeyi" #: classes/admin-includes/class.swpm-payments-list-table.php:101 #: views/payments/admin_add_edit_transaction_manually.php:149 msgid "Status/Note" msgstr "Durum/Not" #: classes/class-swpm-member-subscriptions.php:121 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:174 msgid "No active subscriptions" msgstr "Aktif Abonelik Yok" #: classes/class-swpm-member-subscriptions.php:132 msgid "Cancel Subscription" msgstr "Aboneliği İptal Et" #: classes/class-swpm-member-subscriptions.php:134 msgid "Are you sure that you want to cancel the subscription?" msgstr "Aboneliği iptal etmek istediğinizden emin misiniz?" #: classes/class.simple-wp-membership.php:243 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "Bu sitenin yöneticisi, kullanıcıların kontrol paneline erişmesine izin " "vermiyor." #: classes/class.simple-wp-membership.php:244 msgid "Go back to the home page by " msgstr "Ana sayfaya geri dön " #: classes/class.simple-wp-membership.php:244 msgid "clicking here" msgstr "buraya tıklayınız" #: classes/class.simple-wp-membership.php:309 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "Hata! Bu site, ayarlarda zorunlu kullanıcı girişi özelliğini " "etkinleştirmiştir. Verilen kullanıcı adı için bir kullanıcı kaydı bulamadık: " #: classes/class.simple-wp-membership.php:310 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "Bu hata, bir üye hesabının karşılık gelen bir kullanıcı hesabı olmadığında " "tetiklenir. Bu nedenle eklenti, Kullanıcı sisteminde oturum açamıyor." #: classes/class.simple-wp-membership.php:311 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Site yöneticisiyle iletişime geçin ve hesabınızın kullanıcı girişiyle ilgili " "ne olduğunu öğrenmek için kullanıcı adınızı kontrol etmelerini isteyin." #: classes/class.simple-wp-membership.php:312 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" "Site yöneticisi, bu özelliği devre dışı bırakmak için ayarlarda Kullanıcı " "Senkronizasyonunu Zorla özelliğini devre dışı bırakabilir ve bu hata ortadan " "kalkar." #: classes/class.simple-wp-membership.php:313 msgid "You can use the back button of your browser to go back to the site." msgstr "" "Siteye geri dönmek için tarayıcınızın geri düğmesini kullanabilirsiniz." #: classes/class.simple-wp-membership.php:513 #: classes/class.swpm-wp-loaded-tasks.php:141 msgid "You are not logged in." msgstr "Giriş yapılamadı." #: classes/class.simple-wp-membership.php:601 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "Eklenti ayarlarında korumalı alan ödeme modunu etkinleştirdiniz. Canlı " "işlemler yapmak istediğinizde korumalı alan modunu kapattığınızdan emin olun." #: classes/class.simple-wp-membership.php:616 msgid "Simple WP Membership Protection" msgstr "Üyelik Koruması" #: classes/class.simple-wp-membership.php:628 msgid "Simple Membership Protection options" msgstr "Üyelik Koruması seçenekleri" #: classes/class.simple-wp-membership.php:646 msgid "Do you want to protect this content?" msgstr "Bu içeriği korumak istiyor musunuz?" #: classes/class.simple-wp-membership.php:647 msgid "No, Do not protect this content." msgstr "Hayır, bu içeriği korumayın." #: classes/class.simple-wp-membership.php:648 msgid "Yes, Protect this content." msgstr "Evet, bu içeriği koruyun." #: classes/class.simple-wp-membership.php:651 msgid "Select the membership level that can access this content:" msgstr "Bu içeriğe erişebilecek üyelik seviyesini seçin:" #: classes/class.simple-wp-membership.php:816 #: classes/class.simple-wp-membership.php:820 msgid "Validating, please wait" msgstr "Doğrulanıyor, lütfen bekleyin" #: classes/class.simple-wp-membership.php:823 msgid "Invalid email address" msgstr "Geçersiz E-Posta adresi" #: classes/class.simple-wp-membership.php:826 msgid "This field is required" msgstr "Bu alan gereklidir" #: classes/class.simple-wp-membership.php:829 msgid "Password must contain at least:" msgstr "Parola en az şunları içermelidir:" #: classes/class.simple-wp-membership.php:829 msgid "- a digit" msgstr "- rakam (1-2-3)" #: classes/class.simple-wp-membership.php:829 msgid "- an uppercase letter" msgstr "- büyük harf (A)" #: classes/class.simple-wp-membership.php:829 msgid "- a lowercase letter" msgstr "- küçük harf (a)" #: classes/class.simple-wp-membership.php:832 classes/class.swpm-auth.php:342 msgid "Invalid Username" msgstr "Geçersiz kullanıcı adı" #: classes/class.simple-wp-membership.php:832 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "" "Kullanıcı adları yalnızca şunları içerebilir: harfler, sayılar ve .-_*@" #: classes/class.simple-wp-membership.php:835 msgid "Minimum " msgstr "En az " #: classes/class.simple-wp-membership.php:836 msgid " characters required" msgstr " gerekli karakterler" #: classes/class.simple-wp-membership.php:839 msgid "Apostrophe character is not allowed" msgstr "Kesme işareti karakterine izin verilmez" #: classes/class.simple-wp-membership.php:883 msgid "WP Membership" msgstr "WP Üyeliği" #: classes/class.simple-wp-membership.php:884 classes/class.swpm-members.php:12 #: classes/class.swpm-members.php:730 msgid "Members" msgstr "Üyeler" #: classes/class.simple-wp-membership.php:885 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:273 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Üyelik Düzeyleri" #: classes/class.simple-wp-membership.php:886 msgid "Settings" msgstr "Ayarlar" #: classes/class.simple-wp-membership.php:887 msgid "Payments" msgstr "Ödemeler" #: classes/class.simple-wp-membership.php:888 msgid "Add-ons" msgstr "Eklentiler" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to be logged in to view this content. " msgstr "Bu içeriği görüntülemek için giriş yapmalısınız. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Hesabınızın süresi doldu. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Bu içerik yalnızca tarihinde veya daha önce katılan üyeler tarafından " "görüntülenebilir. " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Üyelik seviyeniz için bu içeriğe izin verilmiyor." #: classes/class.swpm-access-control.php:204 msgid "You need to be logged in to view the rest of the content. " msgstr "İçeriğin geri kalanını görüntülemek için giriş yapmalısınız. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " Üyelik seviyeniz için içeriğin geri kalanına izin verilmez." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "Hata! Kullanıcı kaydı için doğrulama başarısız oldu." #: classes/class.swpm-admin-registration.php:79 msgid "Member record added successfully." msgstr "Üye kaydı başarıyla oluşturuldu." #: classes/class.swpm-admin-registration.php:87 #: classes/class.swpm-admin-registration.php:149 #: classes/class.swpm-admin-registration.php:187 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Lütfen aşağıdakileri düzeltin:" #: classes/class.swpm-admin-registration.php:100 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "Hata! Kullanıcı düzenlemesi için doğrulama başarısız oldu." #: classes/class.swpm-admin-registration.php:166 msgid "Your current password" msgstr "Mevcut şifreniz" #: classes/class.swpm-ajax.php:16 classes/class.swpm-ajax.php:36 #: ipn/swpm-smart-checkout-ipn.php:332 msgid "Nonce check failed. Please reload the page." msgstr "Kontrol başarısız oldu. Lütfen sayfayı yenileyin." #: classes/class.swpm-ajax.php:20 msgid "Invalid Email Address" msgstr "Geçersiz E-Posta adresi" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:46 msgid "Already taken" msgstr "Zaten alınmış" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:47 msgid "Available" msgstr "Mevcut" #: classes/class.swpm-ajax.php:40 msgid "Name contains invalid character" msgstr "Ad geçersiz karakter içeriyor" #: classes/class.swpm-auth.php:50 msgid "Username field cannot be empty." msgstr "Kullanıcı adı alanı boş geçilemez." #: classes/class.swpm-auth.php:57 msgid "Password field cannot be empty." msgstr "Şifre alanı boş geçilemez." #: classes/class.swpm-auth.php:75 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Uyarı! Simple Membership plugin, WP Admin'den yanlışlıkla çıkış yapmanızı " "önlemek için bu oturum açma isteğini işleyemez." #: classes/class.swpm-auth.php:76 msgid "Click here" msgstr "Buraya tıklayın" #: classes/class.swpm-auth.php:76 msgid " to see the profile you are currently logged into in this browser." msgstr " Bu tarayıcıda oturum açmış olduğunuz profili görmek için." #: classes/class.swpm-auth.php:77 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "Bu tarayıcıda siteye Yönetici kullanıcısı olarak giriş yaptınız. İlk olarak, " "WP Yönetici'den çıkış yapın, ardından normal bir üye olarak giriş " "yapabileceksiniz." #: classes/class.swpm-auth.php:78 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Alternatif olarak, üyelik girişini test etmek için (Yönetici olarak giriş " "yapmadığınız) farklı bir tarayıcı kullanabilirsiniz." #: classes/class.swpm-auth.php:79 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Normal ziyaretçileriniz veya üyeleriniz bu mesajı asla görmeyecek. Bu mesaj " "Yalnızca Yönetici kullanıcısı içindir." #: classes/class.swpm-auth.php:86 msgid "Captcha validation failed on the login form." msgstr "Oturum açma formunda Captcha doğrulaması başarısız oldu." #: classes/class.swpm-auth.php:111 msgid "No user found with that username or email." msgstr "Bu kullanıcı adına veya e-postaya sahip bir kullanıcı bulunamadı." #: classes/class.swpm-auth.php:118 msgid "Password empty or invalid." msgstr "Şifre boş veya geçersiz." #: classes/class.swpm-auth.php:159 msgid "Account is inactive." msgstr "Hesap etkin değil." #: classes/class.swpm-auth.php:162 classes/class.swpm-auth.php:191 msgid "Account has expired." msgstr "Hesabın süresi doldu." #: classes/class.swpm-auth.php:165 msgid "Account is pending." msgstr "Hesap beklemede." #: classes/class.swpm-auth.php:175 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Hesabınızı etkinleştirmeniz gerekiyor. Bir e-posta almadıysanız, " "etkinleştirme e-postasını yeniden göndermek için %s." #: classes/class.swpm-auth.php:175 #: classes/class.swpm-front-registration.php:561 #: classes/class.swpm-front-registration.php:614 #: classes/class.swpm-utils-misc.php:225 msgid "click here" msgstr "buraya tıklayın" #: classes/class.swpm-auth.php:199 msgid "You are logged in as:" msgstr "Şu şekilde oturum açtınız:" #: classes/class.swpm-auth.php:269 msgid "Logged Out Successfully." msgstr "Oturum Başarıyla Kapatıldı." #: classes/class.swpm-auth.php:333 msgid "Session Expired." msgstr "Oturum süresi doldu." #: classes/class.swpm-auth.php:350 msgid "Please login again." msgstr "Lütfen tekrar giriş yapın." #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Kategori ID" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Kategori Adı" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Kategori Tipi" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Tanım" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Saymak" #: classes/class.swpm-category-list.php:78 msgid "" "Error! Nonce security verification failed for Category Protection Update " "action. Clear cache and try again." msgstr "" "Hata! Kategori Koruma Güncellemesi eylemi için güvenlik doğrulaması " "başarısız oldu. Önbelleği temizleyin ve tekrar deneyin." #: classes/class.swpm-category-list.php:99 msgid "Category protection updated!" msgstr "Kategori koruması güncellendi!" #: classes/class.swpm-category-list.php:137 msgid "No category found." msgstr "Kategori bulunamadı." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Lütfen yorum yapmak için giriş yapın." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Lütfen yorum yapmak için giriş yapın." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Üye olmayanların yorum yapmasına izin verilmez." #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But the given email doesn't " "match." msgstr "" "Verilen kullanıcı adı ile wordpress hesabı mevcuttur. Ancak verilen e-posta " "eşleşmiyor." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " Kaydı tamamlamak için farklı bir kullanıcı adı kullanın! Bu kullanıcı adını " "kullanmak istiyorsanız, o hesaba bağlanmak için mevcut WP kullanıcısıyla " "ilişkili doğru e-posta adresini girmelisiniz." #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But the given username doesn't " "match." msgstr "" "Verilen e-posta ile wordpress hesabı var. Ancak verilen kullanıcı adı " "eşleşmiyor." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " Kaydı tamamlamak için farklı bir e-posta adresi kullanın. Bu e-postayı " "kullanmak istiyorsanız, o hesaba bağlanmak için mevcut WP kullanıcısıyla " "ilişkili doğru kullanıcı adını girmelisiniz." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Kullanıcı adı gerekli" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Kullanıcı adı geçersiz karakter içeriyor" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Kullanıcı adı zaten var." #: classes/class.swpm-form.php:81 msgid "Password is required" msgstr "Şifre gereklidir" #: classes/class.swpm-form.php:88 msgid "Password mismatch" msgstr "Şifre eşleşmiyor" #: classes/class.swpm-form.php:99 msgid "Email is required" msgstr "E-posta gereklidir" #: classes/class.swpm-form.php:103 msgid "Email is invalid" msgstr "E-posta geçersiz" #: classes/class.swpm-form.php:119 msgid "Email is already used." msgstr "E-posta zaten kullanılmış." #: classes/class.swpm-form.php:171 msgid "Member since field is invalid" msgstr "Alan geçersiz olduğu için üye" #: classes/class.swpm-form.php:182 msgid "Access starts field is invalid" msgstr "Erişim başlangıçları alanı geçersiz" #: classes/class.swpm-form.php:192 msgid "Gender field is invalid" msgstr "Cinsiyet alanı geçersiz" #: classes/class.swpm-form.php:203 msgid "Account state field is invalid" msgstr "Hesap durumu alanı geçersiz" #: classes/class.swpm-form.php:210 msgid "Invalid membership level" msgstr "Geçersiz üyelik düzeyi" #: classes/class.swpm-front-registration.php:25 msgid "" "You are already logged in. You don't need to create another account. So the " "registration form is hidden." msgstr "" "Zaten giriş yaptınız. Başka bir hesap oluşturmanıza gerek yok. Kayıt formu " "gizlidir." #: classes/class.swpm-front-registration.php:35 msgid "" "This unique registration link (see the URL in the browser's address bar) has " "already been used. You don't need to create another account. Log into the " "existing account to access the protected content." msgstr "" "Bu benzersiz kayıt bağlantısı (tarayıcının adres çubuğundaki URL'ye bakın) " "zaten kullanılmış. Başka bir hesap oluşturmanıza gerek yoktur. Korunan " "içeriğe erişmek için mevcut hesapta oturum açın." #: classes/class.swpm-front-registration.php:44 msgid "" "This unique registration link (see the URL in the browser's address bar) is " "invalid. Could not find a match for the given member ID and the security " "code. Please contact the site administrator." msgstr "" "Bu benzersiz kayıt bağlantısı (tarayıcının adres çubuğundaki URL'ye bakın) " "geçersiz. Verilen üye kimliği ve güvenlik kodu için bir eşleşme bulunamadı. " "Lütfen site yöneticisiyle iletişime geçin." #: classes/class.swpm-front-registration.php:65 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "Hata! Geçersiz istek. Verilen güvenlik kodu ve kullanıcı kimliği için bir " "eşleşme bulunamadı." #: classes/class.swpm-front-registration.php:77 #: classes/class.swpm-utils-misc.php:415 views/login.php:53 msgid "Join Us" msgstr "Bize katılın" #: classes/class.swpm-front-registration.php:79 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "Bu sitede ücretsiz üyelik devre dışıdır. Lütfen şu adresten ödeme yapın: " #: classes/class.swpm-front-registration.php:81 msgid " page to pay for a premium membership." msgstr " premium üyelik için ödeme sayfası." #: classes/class.swpm-front-registration.php:83 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Ödemeden sonra e-posta yoluyla benzersiz bir bağlantı alacaksınız. Premium " "üyelik kaydını tamamlamak için bu bağlantıyı kullanabileceksiniz." #: classes/class.swpm-front-registration.php:115 msgid "Security check: captcha validation failed." msgstr "Güvenlik kontrolü: CAPTCHA doğrulaması başarısız oldu." #: classes/class.swpm-front-registration.php:128 msgid "You must accept the terms and conditions." msgstr "Şartlar ve koşulları kabul etmelisiniz." #: classes/class.swpm-front-registration.php:142 msgid "You must agree to the privacy policy." msgstr "Gizlilik politikasını kabul etmelisiniz." #: classes/class.swpm-front-registration.php:183 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "E-posta adresinizi onaylamanız gerekiyor. Lütfen e-postanızı kontrol edin ve " "kaydınızı tamamlamak için talimatları izleyin." #: classes/class.swpm-front-registration.php:196 msgid "Registration Successful. " msgstr "Kayıt başarılı. " #: classes/class.swpm-front-registration.php:196 #: classes/class.swpm-init-time-tasks.php:199 #: classes/class.swpm-utils-misc.php:414 classes/class.swpm-utils-misc.php:426 msgid "Please" msgstr "Lütfen" #: classes/class.swpm-front-registration.php:196 #: classes/class.swpm-init-time-tasks.php:199 #: classes/class.swpm-utils-misc.php:414 views/login.php:47 msgid "Log In" msgstr "Giriş Yapın" #: classes/class.swpm-front-registration.php:215 msgid "Please correct the following" msgstr "Lütfen aşağıdakileri düzeltin" #: classes/class.swpm-front-registration.php:267 msgid "Membership Level Couldn't be found." msgstr "Üyelik Düzeyi bulunamadı." #: classes/class.swpm-front-registration.php:319 msgid "Error! Nonce verification failed for front end profile edit." msgstr "Hata! Kullanıcı profil düzenlemesi için doğrulama başarısız oldu." #: classes/class.swpm-front-registration.php:330 msgid "Profile updated successfully." msgstr "Profil başarıyla güncellendi." #: classes/class.swpm-front-registration.php:350 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profil başarıyla güncellendi. Parolanızı değiştirdiğiniz için yeniden oturum " "açmanız gerekecek." #: classes/class.swpm-front-registration.php:378 msgid "Please correct the following." msgstr "Lütfen aşağıdakileri düzeltin." #: classes/class.swpm-front-registration.php:394 msgid "Captcha validation failed." msgstr "CAPTCHA doğrulaması başarısız oldu." #: classes/class.swpm-front-registration.php:405 msgid "Email address not valid." msgstr "E-posta adresi geçerli değil." #: classes/class.swpm-front-registration.php:421 #: classes/class.swpm-front-registration.php:515 msgid "No user found with that email address." msgstr "Bu E-Posta adresine sahip kullanıcı bulunamadı." #: classes/class.swpm-front-registration.php:422 #: classes/class.swpm-front-registration.php:492 #: classes/class.swpm-front-registration.php:516 msgid "Email Address: " msgstr "E-posta Adresi: " #: classes/class.swpm-front-registration.php:449 msgid "Password reset link has been sent to your email address." msgstr "Şifre sıfırlama bağlantısı e-posta adresinize gönderilmiştir." #: classes/class.swpm-front-registration.php:467 msgid "New password has been sent to your email address." msgstr "E-posta adresinize yeni şifre gönderilmiştir." #: classes/class.swpm-front-registration.php:556 msgid "Can't find member account." msgstr "Üye hesabı bulunamıyor." #: classes/class.swpm-front-registration.php:561 #: classes/class.swpm-front-registration.php:614 msgid "Account already active. " msgstr "Hesap zaten aktif. " #: classes/class.swpm-front-registration.php:561 #: classes/class.swpm-front-registration.php:614 msgid " to log in." msgstr " giriş yapın." #: classes/class.swpm-front-registration.php:568 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "Aktivasyon kodu uyuşmazlığı. Bu hesap etkinleştirilemiyor. Lütfen site " "yöneticisi ile iletişime geçiniz." #: classes/class.swpm-front-registration.php:582 msgid "Success! Your account has been activated successfully." msgstr "Tebrikler! Hesabınız başarıyla etkinleştirildi." #: classes/class.swpm-front-registration.php:609 msgid "Cannot find member account." msgstr "Üye hesabı bulunamıyor." #: classes/class.swpm-front-registration.php:631 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "Etkinleştirme E-Postası gönderildi. Lütfen E-Postanızı kontrol edin ve " "hesabınızı etkinleştirin." #: classes/class.swpm-init-time-tasks.php:141 msgid "Sorry, Nonce verification failed." msgstr "Üzgünüz, doğrulama başarısız oldu." #: classes/class.swpm-init-time-tasks.php:148 msgid "Sorry, Password didn't match." msgstr "Üzgünüz, parola eşleşmedi." #: classes/class.swpm-init-time-tasks.php:177 msgid "Error! Password fields do not match. Please try again." msgstr "Hata! Parola alanları eşleşmiyor. Lütfen tekrar deneyin." #: classes/class.swpm-init-time-tasks.php:182 msgid "Error! Invalid password reset request." msgstr "Hata! Geçersiz parola sıfırlama isteği." #: classes/class.swpm-init-time-tasks.php:199 msgid "Password Reset Successful. " msgstr "Parola Sıfırlama Başarılı. " #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "Tarih biçimi geçerli değil." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "Erişim süresi > 0 olmalıdır." #: classes/class.swpm-members.php:11 msgid "Member" msgstr "Üye" #: classes/class.swpm-members.php:21 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:22 views/add.php:18 views/admin_add.php:12 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Kullanıcı Adı" #: classes/class.swpm-members.php:25 views/add.php:22 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "E-Posta" #: classes/class.swpm-members.php:27 views/admin_member_form_common_part.php:2 msgid "Access Starts" msgstr "Erişim Başlangıçları" #: classes/class.swpm-members.php:28 views/admin_members_list.php:45 #: includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Hesap Durumu" #: classes/class.swpm-members.php:29 msgid "Last Login Date" msgstr "Son Giriş Tarihi" #: classes/class.swpm-members.php:52 msgid "Set Status to Active" msgstr "Durumu Etkin olarak ayarla" #: classes/class.swpm-members.php:53 msgid "Set Status to Active and Notify" msgstr "Durumu Aktif Yap ve Bildir" #: classes/class.swpm-members.php:54 msgid "Set Status to Inactive" msgstr "Durumu Etkin Değil olarak ayarlayın" #: classes/class.swpm-members.php:55 msgid "Set Status to Pending" msgstr "Durumu Beklemede olarak ayarlayın" #: classes/class.swpm-members.php:56 msgid "Set Status to Expired" msgstr "Durumu Süresi Doldu olarak ayarlayın" #: classes/class.swpm-members.php:84 msgid "incomplete" msgstr "eksik" #: classes/class.swpm-members.php:227 msgid "No member found." msgstr "Üye bulunamadı." #: classes/class.swpm-members.php:384 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "Hata! Kullanıcının yönetici tarafından silinmesi için doğrulama başarısız " "oldu." #: classes/class.swpm-members.php:534 msgid "" "Error! Nonce security verification failed for Bulk Change Membership Level " "action. Clear cache and try again." msgstr "" "Hata! Güvenlik doğrulaması, Toplu Üyelik Düzeyini Değiştirme eylemi için " "başarısız oldu. Önbelleği temizleyin ve tekrar deneyin." #: classes/class.swpm-members.php:542 classes/class.swpm-members.php:579 msgid "Error! Please select a membership level first." msgstr "Hata! Lütfen önce bir üyelik düzeyi seçin." #: classes/class.swpm-members.php:559 msgid "Membership level change operation completed successfully." msgstr "Üyelik seviyesi değiştirme işlemi başarıyla tamamlandı." #: classes/class.swpm-members.php:571 msgid "" "Error! Nonce security verification failed for Bulk Change Access Starts Date " "action. Clear cache and try again." msgstr "" "Hata! Toplu Erişim Başlangıç ​​Tarihini Değiştir eylemi için güvenlik " "doğrulaması başarısız oldu. Önbelleği temizleyin ve tekrar deneyin." #: classes/class.swpm-members.php:596 msgid "Access starts date change operation successfully completed." msgstr "Erişim başlangıç ​​tarihi değiştirme işlemi başarıyla tamamlandı." #: classes/class.swpm-members.php:605 msgid "Bulk Update Membership Level of Members" msgstr "Üyelerin Toplu Üyelik Düzeyini Güncelleme" #: classes/class.swpm-members.php:608 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Üyeler menüsünden kaydı düzenleyerek herhangi bir üyenin üyelik seviyesini " "manuel olarak değiştirebilirsiniz. " #: classes/class.swpm-members.php:609 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "Aşağıda seçtiğiniz seviyeye ait olan kullanıcıların üyelik seviyelerini " "toplu olarak güncellemek için aşağıdaki seçeneği kullanabilirsiniz." #: classes/class.swpm-members.php:617 classes/class.swpm-members.php:666 msgid "Membership Level: " msgstr "Üyelik Düzeyi: " #: classes/class.swpm-members.php:621 msgid "Select Current Level" msgstr "Mevcut Seviyeyi Seçin" #: classes/class.swpm-members.php:624 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" "Mevcut üyelik seviyesini seçin (bu seviyedeki tüm üyelerin üyelik seviyeleri " "güncellenecektir)." #: classes/class.swpm-members.php:630 msgid "Level to Change to: " msgstr "Değiştirilecek Düzey: " #: classes/class.swpm-members.php:634 msgid "Select Target Level" msgstr "Hedef Düzey Seçin" #: classes/class.swpm-members.php:637 msgid "Select the new membership level." msgstr "Yeni üyelik seviyesini seçin." #: classes/class.swpm-members.php:643 msgid "Bulk Change Membership Level" msgstr "Toplu Üyelik Düzeyini Değiştirme" #: classes/class.swpm-members.php:653 msgid "Bulk Update Access Starts Date of Members" msgstr "Toplu Güncelleme Erişimi Üyelerin Başlangıç ​​Tarihi" #: classes/class.swpm-members.php:657 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "Bir üyenin erişim başlangıç ​​tarihi, kullanıcının kayıt olduğu gün olarak " "belirlenir. Bu tarih, üyelik düzeyinde bir süre tipi koruma ile korunan " "içeriğinize üyenin ne kadar süreyle erişebileceğini hesaplamak için " "kullanılır. " #: classes/class.swpm-members.php:658 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Aşağıdaki seçeneği kullanarak, belirli bir düzeye ait tüm üyelerin belirli " "bir erişim başlangıç ​​tarihini manuel olarak ayarlayabilirsiniz." #: classes/class.swpm-members.php:669 msgid "Select Level" msgstr "Seviye seç" #: classes/class.swpm-members.php:672 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Üyelik seviyesini seçin (bu seviyedeki tüm üyelerin erişim başlangıç ​​tarihi " "güncellenecektir)." #: classes/class.swpm-members.php:681 msgid "Specify the Access Starts date value." msgstr "Erişim Başlangıç ​​tarihini belirtin." #: classes/class.swpm-members.php:687 msgid "Bulk Change Access Starts Date" msgstr "Toplu Değişiklik Erişim Başlangıç ​​Tarihi" #: classes/class.swpm-members.php:725 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Üyeler" #: classes/class.swpm-members.php:726 #: classes/class.swpm-membership-levels.php:232 views/admin_members_list.php:70 msgid "Add New" msgstr "Yeni Ekle" #: classes/class.swpm-members.php:731 views/admin_add.php:7 msgid "Add Member" msgstr "Üye Ekle" #: classes/class.swpm-members.php:732 msgid "Bulk Operation" msgstr "Toplu İşlem" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "Hata! Yönetici üyelik düzeyi oluşturma doğrulaması başarısız oldu." #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Üyelik Seviyesi Oluşturma Başarılı." #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "Hata! Yönetici tarafından üyelik düzeyinde düzenleme için zaman doğrulama " "başarısız oldu." #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Üyelik Düzeyi Başarıyla Güncellendi." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Rol" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Erişim Geçerlilik Süresi/Sonu" #: classes/class.swpm-membership-levels.php:135 msgid "No membership levels found." msgstr "Üyelik düzeyi bulunamadı." #: classes/class.swpm-membership-levels.php:203 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "Hata! Yönetici üyelik düzeyi silme için doğrulama başarısız oldu." #: classes/class.swpm-membership-levels.php:222 views/admin_members_list.php:56 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Ara" #: classes/class.swpm-membership-levels.php:269 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership : Üyelik Seviyeleri" #: classes/class.swpm-membership-levels.php:274 msgid "Add Level" msgstr "Seviye Ekle" #: classes/class.swpm-membership-levels.php:275 msgid "Manage Content Protection" msgstr "İçerik Korumasını Yönetin" #: classes/class.swpm-membership-levels.php:276 msgid "Category Protection" msgstr "Kategori Koruması" #: classes/class.swpm-membership-levels.php:277 msgid "Post and Page Protection" msgstr "Gönderi ve Sayfa Koruması" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Başlık" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Yazar" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Durum" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Kategoriler" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Tip" #: classes/class.swpm-post-list.php:109 msgid "" "Error! Nonce security verification failed for Post Protection Update action. " "Clear cache and try again." msgstr "" "Hata! Koruma Sonrası Güncelleme eylemi için güvenlik doğrulaması başarısız " "oldu. Önbelleği temizleyin ve tekrar deneyin." #: classes/class.swpm-post-list.php:132 msgid "Protection settings updated!" msgstr "Koruma ayarları güncellendi!" #: classes/class.swpm-post-list.php:237 msgid "No items found." msgstr "Hiçbir öğe bulunamadı." #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "Bu gönderinin kategorisi veya üst kategorisi korumalıdır. Kategori koruma " "ayarlarını şu adresten değiştirebilirsiniz: " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "kategori koruma menüsü" #: classes/class.swpm-self-action-handler.php:164 #: classes/class.swpm-self-action-handler.php:231 msgid "The email address you used is not whitelisted on this site." msgstr "Kullandığınız E-Posta adresi bu sitede beyaz listede yok." #: classes/class.swpm-self-action-handler.php:175 #: classes/class.swpm-self-action-handler.php:242 msgid "The email address you used is blacklisted on this site." msgstr "Kullandığınız E-Posta adresi bu sitede kara listede." #: classes/class.swpm-settings.php:42 classes/class.swpm-settings.php:74 msgid "General Settings" msgstr "Genel Ayarlar" #: classes/class.swpm-settings.php:43 msgid "Payment Settings" msgstr "Ödeme Ayarları" #: classes/class.swpm-settings.php:44 msgid "Email Settings" msgstr "E-Posta Ayarları" #: classes/class.swpm-settings.php:45 msgid "Tools" msgstr "Aletler" #: classes/class.swpm-settings.php:46 classes/class.swpm-settings.php:713 msgid "Advanced Settings" msgstr "Gelişmiş Ayarlar" #: classes/class.swpm-settings.php:47 msgid "Blacklisting & Whitelisting" msgstr "Kara Liste ve Beyaz Liste" #: classes/class.swpm-settings.php:48 msgid "Addons Settings" msgstr "Eklenti Ayarları" #: classes/class.swpm-settings.php:71 msgid "Plugin Documentation" msgstr "Eklenti Belgeleri" #: classes/class.swpm-settings.php:77 msgid "Enable Free Membership" msgstr "Ücretsiz Üyeliği Etkinleştir" #: classes/class.swpm-settings.php:83 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Ücretsiz üyelik düzeyi için kaydı etkinleştirin/devre dışı bırakın. Bu " "seçeneği etkinleştirdiğinizde, aşağıdaki alanda ücretsiz bir üyelik düzeyi " "kimliği belirttiğinizden emin olun." #: classes/class.swpm-settings.php:88 msgid "Free Membership Level ID" msgstr "Ücretsiz Üyelik Düzeyi Kimliği" #: classes/class.swpm-settings.php:94 msgid "Assign free membership level ID" msgstr "Ücretsiz üyelik düzeyi kimliği atayın" #: classes/class.swpm-settings.php:99 msgid "Enable More Tag Protection" msgstr "Daha Fazla Etiket Korumasını Etkinleştirin" #: classes/class.swpm-settings.php:105 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Gönderilerde ve sayfalarda \"daha fazla\" etiket korumasını etkinleştirir " "veya devre dışı bırakır. Daha fazla etiketinden sonraki her şey korunur. " "Daha fazla etiketinden önceki her şey tanıtım içeriğidir." #: classes/class.swpm-settings.php:110 msgid "Hide Adminbar" msgstr "Yönetici Çubuğunu Gizle" #: classes/class.swpm-settings.php:116 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress, sitenin oturum açmış kullanıcılarına bir yönetici araç çubuğu " "gösterir. Bu yönetici araç çubuğunu sitenizin ön ucunda gizlemek " "istiyorsanız bunu işaretleyin." #: classes/class.swpm-settings.php:121 msgid "Show Adminbar to Admin" msgstr "Yönetici Çubuğunu Yöneticiye Göster" #: classes/class.swpm-settings.php:127 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Yönetici araç çubuğunu yalnızca yönetici kullanıcılara göstermek " "istiyorsanız bu seçeneği kullanın. Yönetici araç çubuğu diğer tüm " "kullanıcılar için gizlenecektir." #: classes/class.swpm-settings.php:132 msgid "Disable Access to WP Dashboard" msgstr "WP Dashboard'a Erişimi Devre Dışı Bırak" #: classes/class.swpm-settings.php:138 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashboard. Using this option will prevent any " "non-admin users from going to the wp dashboard." msgstr "" "WordPress, standart bir wp kullanıcısının wp-admin URL'sine gitmesine ve " "profiline wp panosundan erişmesine izin verir. Bu seçeneğin kullanılması, " "yönetici olmayan kullanıcıların wp kontrol paneline gitmesini " "engelleyecektir." #: classes/class.swpm-settings.php:144 classes/class.swpm-settings.php:905 msgid "Default Account Status" msgstr "Varsayılan Hesap Durumu" #: classes/class.swpm-settings.php:152 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Yeni kayıtlı kullanıcılar için varsayılan hesap durumunu seçin. Üyeleri " "manuel olarak onaylamak istiyorsanız durumu \"Beklemede\" olarak " "ayarlayabilirsiniz." #: classes/class.swpm-settings.php:158 msgid "Members Must be Logged in to Comment" msgstr "Üyelerin Yorum Yapabilmeleri İçin Oturum Açmaları Gerekir" #: classes/class.swpm-settings.php:164 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Yalnızca site üyelerinin yorum yazabilmesini istiyorsanız bu seçeneği " "etkinleştirin." #: classes/class.swpm-settings.php:170 msgid "Enable Toggle Password Visibility in Login Form" msgstr "Oturum Açma Formunda Geçiş Parolası Görünürlüğünü Etkinleştir" #: classes/class.swpm-settings.php:176 msgid "" "You can use it to show a toggle password visibility option in the login " "form. It will add a Show Password checkbox." msgstr "" "Oturum açma formunda geçiş parolası görünürlük seçeneği göstermek için " "kullanabilirsiniz. Bir Parolayı Göster onay kutusu ekleyecektir." #: classes/class.swpm-settings.php:182 msgid "Enable Password Reset Using Link" msgstr "Bağlantıyı Kullanarak Parola Sıfırlamayı Etkinleştirin" #: classes/class.swpm-settings.php:188 msgid "" "You can enable this option if you want to handle the password reset " "functionality using a reset link that is emailed to the member. Read this documentation to learn " "more about the password reset function." msgstr "" "Üyeye E-Postayla gönderilen bir sıfırlama bağlantısını kullanarak parola " "sıfırlama işlevini gerçekleştirmek istiyorsanız bu seçeneği " "etkinleştirebilirsiniz. Oku bu " "belgeler Parola sıfırlama işlevi hakkında daha fazla bilgi edinmek için." #: classes/class.swpm-settings.php:193 msgid "Pages Settings" msgstr "Sayfa Ayarları" #: classes/class.swpm-settings.php:196 msgid "Login Page URL" msgstr "Giriş Sayfası URL'si" #: classes/class.swpm-settings.php:207 msgid "Registration Page URL" msgstr "Kayıt Sayfası URL'si" #: classes/class.swpm-settings.php:218 msgid "Join Us Page URL" msgstr "Bize Katılın Sayfa URL'si" #: classes/class.swpm-settings.php:229 msgid "Edit Profile Page URL" msgstr "Profil Sayfası URL'sini Düzenle" #: classes/class.swpm-settings.php:240 msgid "Password Reset Page URL" msgstr "Parola Sıfırlama Sayfası URL'si" #: classes/class.swpm-settings.php:251 msgid "Optional Pages Settings" msgstr "İsteğe Bağlı Sayfa Ayarları" #: classes/class.swpm-settings.php:254 msgid "Thank You Page URL" msgstr "Teşekkür Sayfası URL'si" #: classes/class.swpm-settings.php:260 msgid "" "It is useful to use a thank you page in your payment button configuration. " "Read this documentation to learn more." msgstr "" "Ödeme butonu yapılandırmanızda bir teşekkür sayfası kullanmanızda fayda var. " "Oku bu belgeler daha fazla öğrenmek " "için." #: classes/class.swpm-settings.php:265 msgid "Test & Debug Settings" msgstr "Test ve Hata Ayıklama Ayarları" #: classes/class.swpm-settings.php:294 msgid "Check this option to enable debug logging." msgstr "Hata ayıklama günlüğünü etkinleştirmek için bu seçeneği işaretleyin." #: classes/class.swpm-settings.php:295 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" " Bu, bir sorunu giderirken faydalı olabilir. Sorun giderme tamamlandıktan " "sonra kapatın ve günlük dosyalarını sıfırlayın." #: classes/class.swpm-settings.php:297 msgid "View general debug log file by clicking " msgstr "Genel hata ayıklama günlük dosyasını görüntülemek için tıklayın! " #: classes/class.swpm-settings.php:297 classes/class.swpm-settings.php:298 #: classes/class.swpm-settings.php:299 msgid "here" msgstr "burada" #: classes/class.swpm-settings.php:298 msgid "View login related debug log file by clicking " msgstr "" "Oturum açmayla ilgili hata ayıklama günlük dosyasını görüntülemek için " "tıklayın! " #: classes/class.swpm-settings.php:299 msgid "Reset debug log files by clicking " msgstr "Hata ayıklama günlük dosyalarını tıklayarak sıfırlayın " #: classes/class.swpm-settings.php:302 msgid "Enable Debug" msgstr "Hata Ayıklamayı Etkinleştir" #: classes/class.swpm-settings.php:322 msgid "Sandbox or Test Mode Payment Settings" msgstr "Korumalı Alan veya Test Modu Ödeme Ayarları" #: classes/class.swpm-settings.php:326 msgid "Enable Sandbox or Test Mode" msgstr "Sandbox veya Test Modunu Etkinleştirin" #: classes/class.swpm-settings.php:332 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "Korumalı alan ödeme testi yapmak istiyorsanız bu seçeneği etkinleştirin." #: classes/class.swpm-settings.php:337 msgid "PayPal Settings" msgstr "PayPal Ayarları" #: classes/class.swpm-settings.php:341 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "Canlı İstemci Kimliği" #: classes/class.swpm-settings.php:347 msgid "Enter your PayPal Client ID for live mode." msgstr "Canlı mod için PayPal Müşteri Kimliğinizi girin." #: classes/class.swpm-settings.php:352 classes/class.swpm-settings.php:437 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:420 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:418 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:180 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:172 msgid "Live Secret Key" msgstr "Canlı Gizli Anahtar" #: classes/class.swpm-settings.php:358 msgid "Enter your PayPal Secret Key for live mode." msgstr "Canlı mod için PayPal Gizli Anahtarınızı girin." #: classes/class.swpm-settings.php:363 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "Sandbox İstemci Kimliği" #: classes/class.swpm-settings.php:369 msgid "Enter your PayPal Client ID for sandbox mode." msgstr "Korumalı alan modu için PayPal İstemci Kimliğinizi girin." #: classes/class.swpm-settings.php:374 msgid "Sandbox Secret Key" msgstr "Sandbox Gizli Anahtarı" #: classes/class.swpm-settings.php:380 msgid "Enter your PayPal Secret Key for sandbox mode." msgstr "Korumalı alan modu için PayPal Gizli Anahtarınızı girin." #: classes/class.swpm-settings.php:389 msgid "Stripe Global Settings" msgstr "Şerit Genel Ayarları" #: classes/class.swpm-settings.php:393 msgid "Pre-fill Member Email Address" msgstr "Üye E-posta Adresini Önceden Doldurun" #: classes/class.swpm-settings.php:399 msgid "" "Pre-fills the email address of the logged-in member on the Stripe checkout " "form when possible" msgstr "" "Mümkün olduğunda Stripe ödeme formunda oturum açmış üyenin E-Posta adresini " "önceden doldurur" #: classes/class.swpm-settings.php:404 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:399 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:397 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:156 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:148 msgid "Test Publishable Key" msgstr "Yayınlanabilir Anahtarı Test Et" #: classes/class.swpm-settings.php:410 msgid "Stripe API Test publishable key" msgstr "Stripe API Testi yayınlanabilir anahtarı" #: classes/class.swpm-settings.php:415 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:406 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:404 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:164 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:156 msgid "Test Secret Key" msgstr "Gizli Anahtarı Test Et" #: classes/class.swpm-settings.php:421 msgid "Stripe API Test secret key" msgstr "Stripe API Testi gizli anahtarı" #: classes/class.swpm-settings.php:426 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:413 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:411 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:172 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:164 msgid "Live Publishable Key" msgstr "Canlı Yayınlanabilir Anahtar" #: classes/class.swpm-settings.php:432 msgid "Stripe API Live publishable key" msgstr "Stripe API Live yayınlanabilir anahtarı" #: classes/class.swpm-settings.php:443 msgid "Stripe API Live secret key" msgstr "Stripe API Live gizli anahtarı" #: classes/class.swpm-settings.php:453 msgid "Email Settings Overview" msgstr "E-Posta Ayarlarına Genel Bakış" #: classes/class.swpm-settings.php:454 msgid "Email Misc. Settings" msgstr "E-Posta Çeşitli Ayarlar" #: classes/class.swpm-settings.php:458 msgid "From Email Address" msgstr "E-Posta adresinden" #: classes/class.swpm-settings.php:470 msgid "Allow HTML in Emails" msgstr "E-Postalarda HTML'ye İzin Ver" #: classes/class.swpm-settings.php:481 msgid "Email Settings (Prompt to Complete Registration )" msgstr "E-Posta Ayarları (Kaydı Tamamlama İstemi)" #: classes/class.swpm-settings.php:484 classes/class.swpm-settings.php:515 #: classes/class.swpm-settings.php:596 classes/class.swpm-settings.php:621 #: classes/class.swpm-settings.php:657 classes/class.swpm-settings.php:682 msgid "Email Subject" msgstr "E-Posta konu" #: classes/class.swpm-settings.php:495 classes/class.swpm-settings.php:526 #: classes/class.swpm-settings.php:607 classes/class.swpm-settings.php:632 #: classes/class.swpm-settings.php:668 classes/class.swpm-settings.php:693 msgid "Email Body" msgstr "E-Posta Gövdesi" #: classes/class.swpm-settings.php:506 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Yönetici bildirim E-Postasının gönderilmesini istediğiniz E-Posta adresini " "girin." #: classes/class.swpm-settings.php:507 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" " Bildirimi birden çok E-Posta adresine göndermek için yukarıdaki alana " "virgülle (,) ayırarak birden çok E-Posta adresi girebilirsiniz." #: classes/class.swpm-settings.php:509 msgid "Enter the subject for the admin notification email." msgstr "Yönetici bildirim E-Postası için konuyu girin." #: classes/class.swpm-settings.php:510 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Bu E-Posta, yeni bir kullanıcı üyelik kaydını tamamladığında yöneticiye " "gönderilecektir. Yalnızca yukarıdaki \"Yöneticiye Bildirim Gönder\" " "seçeneğini etkinleştirdiyseniz çalışır." #: classes/class.swpm-settings.php:512 msgid "Email Settings (Registration Complete)" msgstr "E-Posta Ayarları (Kayıt Tamamlandı)" #: classes/class.swpm-settings.php:537 msgid "Send Notification to Admin" msgstr "Yöneticiye Bildirim Gönder" #: classes/class.swpm-settings.php:543 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Bir üye kaydolduğunda yöneticinin bir bildirim almasını istiyorsanız bu " "seçeneği etkinleştirin." #: classes/class.swpm-settings.php:548 msgid "Admin Email Address" msgstr "Yönetici E-Posta Adresi" #: classes/class.swpm-settings.php:559 msgid "Admin Notification Email Subject" msgstr "Yönetici Bildirimi E-Posta Konusu" #: classes/class.swpm-settings.php:570 msgid "Admin Notification Email Body" msgstr "Yönetici Bildirim E-Posta Gövdesi" #: classes/class.swpm-settings.php:582 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Yönetici Panosu aracılığıyla Eklendiğinde Üyeye E-Posta Gönder" #: classes/class.swpm-settings.php:593 msgid "Email Settings (Password Reset)" msgstr "E-Posta Ayarları (Şifre Sıfırlama)" #: classes/class.swpm-settings.php:618 msgid " Email Settings (Account Upgrade Notification)" msgstr " E-Posta Ayarları (Hesap Yükseltme Bildirimi)" #: classes/class.swpm-settings.php:643 msgid "Disable Email Notification After Upgrade" msgstr "Yükseltmeden Sonra E-Posta Bildirimini Devre Dışı Bırak" #: classes/class.swpm-settings.php:649 msgid "" "You can use this option to disable the email notification that gets sent to " "the members when they make a payment for upgrade or renewal." msgstr "" "Yükseltme veya yenileme için ödeme yaptıklarında üyelere gönderilen E-Posta " "bildirimini devre dışı bırakmak için bu seçeneği kullanabilirsiniz." #: classes/class.swpm-settings.php:654 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " E-Posta Ayarları (Toplu Hesap Aktivasyon Bildirimi)" #: classes/class.swpm-settings.php:679 msgid " Email Settings (Email Activation)" msgstr " E-Posta Ayarları (E-Posta Etkinleştirme)" #: classes/class.swpm-settings.php:717 msgid "Enable Expired Account Login" msgstr "Süresi Dolmuş Hesap Girişini Etkinleştir" #: classes/class.swpm-settings.php:723 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Etkinleştirildiğinde, süresi dolmuş üyeler sisteme giriş yapabilecek ancak " "korunan içeriği görüntüleyemeyecektir. Bu, başka bir ödeme yaparak " "hesaplarını kolayca yenilemelerini sağlar." #: classes/class.swpm-settings.php:729 msgid "Membership Renewal URL" msgstr "Üyelik Yenileme URL'si" #: classes/class.swpm-settings.php:735 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal " "page." msgstr "" "Siteniz için yenileme sayfası oluşturabilirsiniz. Oku bu belgeler yenileme sayfasının nasıl oluşturulacağını " "öğrenmek için." #: classes/class.swpm-settings.php:741 msgid "After Registration Redirect URL" msgstr "Kayıttan Sonra Yönlendirme URL'si" #: classes/class.swpm-settings.php:747 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after " "registration redirect." msgstr "" "Kayıt formunu gönderdikten sonra üyeleri bu sayfaya yönlendirmek için buraya " "bir URL girebilirsiniz. Oku bu " "belgeler kayıt yönlendirmesinden sonra nasıl kurulacağını öğrenmek için." #: classes/class.swpm-settings.php:753 msgid "Enable Auto Login After Registration" msgstr "Kayıttan Sonra Otomatik Oturum Açmayı Etkinleştir" #: classes/class.swpm-settings.php:759 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" "Üyelerin kaydı tamamladıktan hemen sonra sitenize otomatik olarak giriş " "yapmalarını istiyorsanız bu seçeneği kullanın. Bu seçenek, herhangi bir " "kayıt sonrası yeniden yönlendirmeyi geçersiz kılar ve bunun yerine oturum " "açma sonrası yeniden yönlendirmeyi tetikler. Oku bu belgeler daha fazla öğrenmek için." #: classes/class.swpm-settings.php:765 msgid "Hide Registration Form to Logged Users" msgstr "Kayıt Formunu Kayıtlı Kullanıcılara Gizle" #: classes/class.swpm-settings.php:771 msgid "" "Use this option if you want to hide the registration form to the logged-in " "members. If logged-in members visit the registration page, they will see a " "message instead of the registration form." msgstr "" "Kayıt formunu oturum açmış üyelerden gizlemek istiyorsanız bu seçeneği " "kullanın. Giriş yapan üyeler kayıt sayfasını ziyaret ederse, kayıt formu " "yerine bir mesaj görürler." #: classes/class.swpm-settings.php:777 msgid "After Logout Redirect URL" msgstr "Çıkış Yönlendirme URL'sinden Sonra" #: classes/class.swpm-settings.php:783 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" "Sitenizden çıkış yapmak için çıkış bağlantısına tıkladıktan sonra üyeleri bu " "sayfaya yönlendirmek için buraya bir URL girebilirsiniz." #: classes/class.swpm-settings.php:789 msgid "Logout Member on Browser Close" msgstr "Tarayıcıda Üye Oturumunu Kapat" #: classes/class.swpm-settings.php:795 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" "Üyenin tarayıcıyı kapattığında hesaptan çıkış yapmasını istiyorsanız bu " "seçeneği etkinleştirin." #: classes/class.swpm-settings.php:801 msgid "Allow Account Deletion" msgstr "Hesabın Silinmesine İzin Ver" #: classes/class.swpm-settings.php:807 msgid "Allow users to delete their accounts." msgstr "Kullanıcıların hesaplarını silmesine izin verin." #: classes/class.swpm-settings.php:813 msgid "Force Strong Password for Members" msgstr "Üyeler İçin Güçlü Parolayı Zorla" #: classes/class.swpm-settings.php:819 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" "Kullanıcıların hesapları için güçlü bir parola kullanmaya zorlanmasını " "istiyorsanız bunu etkinleştirin." #: classes/class.swpm-settings.php:825 msgid "Auto Delete Pending Account" msgstr "Bekleyen Hesabı Otomatik Sil" #: classes/class.swpm-settings.php:837 msgid "Select how long you want to keep \"pending\" account." msgstr "Hesabı ne kadar süreyle \"beklemede\" tutmak istediğinizi seçin." #: classes/class.swpm-settings.php:843 msgid "Admin Dashboard Access Permission" msgstr "Yönetici Panosu Erişim İzni" #: classes/class.swpm-settings.php:856 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user roles to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" "SWPM yönetici kontrol paneline yalnızca yönetici kullanıcılar erişebilir " "(tıpkı diğer eklentiler gibi). Burada bir değer seçerek, diğer WP kullanıcı " "rollerine sahip kullanıcıların SWPM yönetici panosuna erişmesine izin " "verebilirsiniz. Genel Ayarlarda \"WP Dashboard'a Erişimi Devre Dışı Bırak\" " "seçeneğini etkinleştirdiyseniz, bu seçeneğin çalışamayacağını unutmayın." #: classes/class.swpm-settings.php:862 msgid "Force WP User Synchronization" msgstr "WP Kullanıcı Senkronizasyonunu Zorla" #: classes/class.swpm-settings.php:868 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" "Üye girişini WP kullanıcı hesabıyla senkronize olmaya zorlamak istiyorsanız " "bu seçeneği etkinleştirin. Bu, WP kullanıcı kayıtlarını kullanan başka bir " "eklenti kullanıyorsanız faydalı olabilir. Örneğin: bbPress eklentisi." #: classes/class.swpm-settings.php:873 msgid "Create Member Accounts for New WP Users" msgstr "Yeni WP Kullanıcıları İçin Üye Hesapları Oluşturun" #: classes/class.swpm-settings.php:877 msgid "Enable Auto Create Member Accounts" msgstr "Üye Hesaplarını Otomatik Oluşturmayı Etkinleştir" #: classes/class.swpm-settings.php:883 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" "Başka bir eklenti tarafından oluşturulan herhangi bir yeni WP kullanıcısı " "için otomatik olarak üye hesapları oluşturmak için bu seçeneği etkinleştirin." #: classes/class.swpm-settings.php:890 msgid "Default Membership Level" msgstr "Varsayılan Üyelik Düzeyi" #: classes/class.swpm-settings.php:898 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" "Bu özelliği kullanarak otomatik olarak üye hesabı oluştururken, kullanıcının " "üyelik seviyesi burada belirttiğiniz seviyeye ayarlanacaktır." #: classes/class.swpm-settings.php:913 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" "Bu özelliği kullanarak otomatik olarak üye hesabı oluştururken, kullanıcının " "üyelik hesabı durumu burada belirteceğiniz şekilde ayarlanacaktır." #: classes/class.swpm-settings.php:919 msgid "Payment Notification Forward URL" msgstr "Ödeme Bildirimi Yönlendirme URL'si" #: classes/class.swpm-settings.php:925 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" "Üyelik ödemesi bu eklenti tarafından işlendikten sonra ödeme bildirimini " "iletmek için buraya bir URL girebilirsiniz. Ödeme bildirimini daha fazla " "işlenmek üzere harici bir komut dosyasına iletmek istiyorsanız kullanışlıdır." #: classes/class.swpm-settings.php:930 views/add.php:68 msgid "Terms and Conditions" msgstr "Şartlar ve koşullar" #: classes/class.swpm-settings.php:934 msgid "Enable Terms and Conditions" msgstr "Şartlar ve Koşulları Etkinleştir" #: classes/class.swpm-settings.php:940 msgid "Users must accept the terms before they can complete the registration." msgstr "Kullanıcılar, kaydı tamamlamadan önce şartları kabul etmelidir." #: classes/class.swpm-settings.php:945 msgid "Terms and Conditions Page URL" msgstr "Şartlar ve Koşullar Sayfası URL'si" #: classes/class.swpm-settings.php:951 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" "Şartlar ve koşullar sayfanızın URL'sini girin. Bir WordPress sayfası " "oluşturabilir ve orada terimlerinizi belirtebilir, ardından yukarıdaki " "alanda o sayfanın URL'sini belirtebilirsiniz." #: classes/class.swpm-settings.php:956 msgid "Enable Privacy Policy" msgstr "Gizlilik Politikasını Etkinleştir" #: classes/class.swpm-settings.php:962 msgid "Users must accept it before they can complete the registration." msgstr "Kullanıcılar, kaydı tamamlamadan önce bunu kabul etmelidir." #: classes/class.swpm-settings.php:967 msgid "Privacy Policy Page URL" msgstr "Gizlilik Politikası Sayfası URL'si" #: classes/class.swpm-settings.php:973 msgid "Enter the URL of your privacy policy page." msgstr "Gizlilik politikası sayfanızın URL'sini girin." #: classes/class.swpm-settings.php:984 msgid "Configure Blacklisting & Whitelisting" msgstr "Kara Liste ve Beyaz Listeyi Yapılandırma" #: classes/class.swpm-settings.php:987 msgid "Whitelisting" msgstr "Beyaz liste" #: classes/class.swpm-settings.php:991 msgid "Enable Whitelisting Feature" msgstr "Beyaz Liste Özelliğini Etkinleştir" #: classes/class.swpm-settings.php:997 msgid "When enabled, whitelisting feature will be activated." msgstr "Etkinleştirildiğinde, beyaz liste özelliği etkinleştirilecektir." #: classes/class.swpm-settings.php:1003 msgid "Email Address Whitelisting" msgstr "E-Posta Adresi Beyaz Liste" #: classes/class.swpm-settings.php:1009 msgid "Enter a list (comma separated) of email addresses to whitelist." msgstr "" "Beyaz listeye eklenecek E-Posta adreslerinin bir listesini (virgülle " "ayrılmış) girin." #: classes/class.swpm-settings.php:1015 msgid "Email Address Pattern Whitelisting" msgstr "E-posta Adresi Kalıbı Beyaz Listeye Alma" #: classes/class.swpm-settings.php:1021 msgid "" "Enter a list (comma separated) of email addresses pattern to whitelist. " "Example value: @gooddomain.com, @gmail.com, @yahoo.com" msgstr "" "Beyaz listeye eklenecek E-Posta adreslerinin bir listesini (virgülle " "ayrılmış) girin. Örneğin: @emsalara.com, @gmail.com, @yahoo.com" #: classes/class.swpm-settings.php:1027 msgid "Whitelist Message Customization" msgstr "Beyaz Liste Mesajı Özelleştirme" #: classes/class.swpm-settings.php:1033 msgid "" "Enter the message you want to show to the user when the whitelisted " "condition is met. Leave it empty to use the default message." msgstr "" "Beyaz liste koşulu karşılandığında kullanıcıya göstermek istediğiniz mesajı " "girin. Varsayılan mesajı kullanmak için boş bırakın." #: classes/class.swpm-settings.php:1038 msgid "Blacklisting" msgstr "Kara liste" #: classes/class.swpm-settings.php:1042 msgid "Enable Blacklisting Feature" msgstr "Kara Liste Özelliğini Etkinleştir" #: classes/class.swpm-settings.php:1048 msgid "When enabled, blacklisting feature will be activated." msgstr "Etkinleştirildiğinde, kara listeye alma özelliği etkinleştirilecektir." #: classes/class.swpm-settings.php:1054 msgid "Email Address Blacklisting" msgstr "E-Posta Adresinin Kara Listeye Alınması" #: classes/class.swpm-settings.php:1060 msgid "Enter a list (comma separated) of email addresses to blacklist." msgstr "" "Kara listeye alınacak E-Posta adreslerinin bir listesini (virgülle ayrılmış) " "girin." #: classes/class.swpm-settings.php:1066 msgid "Email Address Pattern Blacklisting" msgstr "E-Posta Adresi Modeli Kara Listeye Alma" #: classes/class.swpm-settings.php:1072 msgid "" "Enter a list (comma separated) of email addresses pattern to blacklist. " "Example value: @baddomain.com, @crazydomain.com" msgstr "" "Kara listeye alınacak E-Posta adreslerinin bir listesini (virgülle ayrılmış) " "girin. Örneğin; @baddomain.com, @crazydomain.com" #: classes/class.swpm-settings.php:1078 msgid "Blacklist Message Customization" msgstr "Kara Liste Mesajı Özelleştirme" #: classes/class.swpm-settings.php:1084 msgid "" "Enter the message you want to show to the user when the blacklisted " "condition is met. Leave it empty to use the default message." msgstr "" "Kara liste koşulu karşılandığında kullanıcıya göstermek istediğiniz mesajı " "girin. Varsayılan mesajı kullanmak için boş bırakın." #: classes/class.swpm-settings.php:1183 #, php-format msgid "Visit the %s to read setup and configuration documentation." msgstr "" "Kurulum ve yapılandırma belgelerini okumak için %s adresini ziyaret edin." #: classes/class.swpm-settings.php:1183 msgid "Simple Membership Plugin Site" msgstr "Basit Üyelik Eklenti Sitesi" #: classes/class.swpm-settings.php:1184 #, php-format msgid "Please %s if you like the plugin." msgstr "Eklentiyi beğendiyseniz lütfen %s." #: classes/class.swpm-settings.php:1184 msgid "give us a rating" msgstr "bize puan ver" #: classes/class.swpm-settings.php:1202 classes/class.swpm-settings.php:1232 #: classes/class.swpm-settings.php:1364 classes/class.swpm-settings.php:1392 #: classes/class.swpm-settings.php:1425 msgid "Settings updated!" msgstr "Ayarlar güncellendi!" #: classes/class.swpm-settings.php:1207 msgid "General Plugin Settings." msgstr "Genel Eklenti Ayarları." #: classes/class.swpm-settings.php:1211 msgid "Page Setup and URL Related settings." msgstr "Sayfa Yapısı ve URL ile İlgili ayarlar." #: classes/class.swpm-settings.php:1214 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" "Eklentinin doğru çalışması için aşağıdaki sayfalar gereklidir. Bu sayfalar, " "kurulum sırasında eklenti tarafından otomatik olarak oluşturulmuştur." #: classes/class.swpm-settings.php:1215 msgid "" " Read this documentation " "to learn how to recreate them (if needed)." msgstr "" " Oku bu belgeler onları " "nasıl yeniden yaratacağınızı öğrenmek (gerekirse)." #: classes/class.swpm-settings.php:1221 msgid "" "Optional page. It is automatically created by the plugin when you install " "the plugin for the first time." msgstr "" "İsteğe bağlı sayfa. Eklentiyi ilk kez yüklediğinizde eklenti tarafından " "otomatik olarak oluşturulur." #: classes/class.swpm-settings.php:1226 msgid "Testing and Debug Related Settings." msgstr "İlgili Ayarları Test Etme ve Hata Ayıklama." #: classes/class.swpm-settings.php:1237 msgid "" "This section allows you to enable/disable sandbox or test mode for the " "payment buttons." msgstr "" "Bu bölüm, ödeme düğmeleri için korumalı alan veya test modunu " "etkinleştirmenizi/devre dışı bırakmanızı sağlar." #: classes/class.swpm-settings.php:1241 msgid "Configure the PayPal API credentials for the new PayPal checkout." msgstr "Yeni PayPal ödemesi için PayPal API kimlik bilgilerini yapılandırın." #: classes/class.swpm-settings.php:1242 msgid "Read this documentation" msgstr "Bu belgeleri okuyun" #: classes/class.swpm-settings.php:1242 msgid "to learn how to get your PayPal API credentials." msgstr "payPal API kimlik bilgilerinizi nasıl alacağınızı öğrenmek için." #: classes/class.swpm-settings.php:1246 msgid "PayPal Webhooks" msgstr "PayPal Web Kancaları" #: classes/class.swpm-settings.php:1247 msgid "" "The PayPal payment buttons that uses the new API require webhooks. The " "plugin will auto-create the required webhooks when you create a PayPal " "payment button." msgstr "" "Yeni API'yi kullanan PayPal ödeme düğmeleri web kancaları gerektirir. Bir " "PayPal ödeme düğmesi oluşturduğunuzda, eklenti gerekli web kancalarını " "otomatik olarak oluşturacaktır." #: classes/class.swpm-settings.php:1248 msgid "" "If you have issues with the webhooks, you can delete it and create again." msgstr "" "Web kancalarıyla ilgili sorunlarınız varsa, onu silebilir ve yeniden " "oluşturabilirsiniz." #: classes/class.swpm-settings.php:1265 msgid "" "Live Webhook exists. If you still have issues with webhooks, you can delete " "it and create again." msgstr "" "Canlı Web kancası var. Hala web kancalarıyla ilgili sorunlarınız varsa, onu " "silebilir ve yeniden oluşturabilirsiniz." #: classes/class.swpm-settings.php:1271 msgid "" "Live PayPal API credentials are not set. Please set the Live PayPal API " "credentials first." msgstr "" "Canlı PayPal API kimlik bilgileri ayarlanmadı. Lütfen önce Canlı PayPal API " "kimlik bilgilerini ayarlayın." #: classes/class.swpm-settings.php:1275 msgid "" "No webhook found. Use the following Create Live Webhook link to create a new " "webhook automatically." msgstr "" "Web kancası bulunamadı. Otomatik olarak yeni bir web kancası oluşturmak için " "aşağıdaki Canlı Web Kancası Oluştur bağlantısını kullanın." #: classes/class.swpm-settings.php:1279 msgid "Create Live Webhook" msgstr "Canlı Web Kancası Oluştur" #: classes/class.swpm-settings.php:1293 msgid "" "Sandbox Webhook exists. If you still have issues with webhooks, you can " "delete it and create again." msgstr "" "Sandbox Webhook mevcuttur. Hala web kancalarıyla ilgili sorunlarınız varsa, " "onu silebilir ve yeniden oluşturabilirsiniz." #: classes/class.swpm-settings.php:1299 msgid "" "Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal " "API credentials first." msgstr "" "Sanbbox PayPal API kimlik bilgileri ayarlanmadı. Lütfen önce Sandbox PayPal " "API kimlik bilgilerini ayarlayın." #: classes/class.swpm-settings.php:1303 msgid "" "No webhook found. Use the following Create Sandbox Webhook link to create a " "new webhook automatically." msgstr "" "Web kancası bulunamadı. Otomatik olarak yeni bir web kancası oluşturmak için " "aşağıdaki Korumalı Alan Web Kancası Oluştur bağlantısını kullanın." #: classes/class.swpm-settings.php:1307 msgid "Create Sandbox Webhook" msgstr "Korumalı Alan Web Kancası Oluşturma" #: classes/class.swpm-settings.php:1314 classes/class.swpm-settings.php:1324 msgid "Delete Webhooks" msgstr "Web Kancalarını Sil" #: classes/class.swpm-settings.php:1319 msgid "" "PayPal API credentials are missing. Please set the PayPal API credentials." msgstr "" "PayPal API kimlik bilgileri eksik. Lütfen PayPal API kimlik bilgilerini " "ayarlayın." #: classes/class.swpm-settings.php:1335 msgid "This section allows you to configure Stripe payment related settings." msgstr "" "Bu bölüm, Stripe ödeme ile ilgili ayarları yapılandırmanıza izin verir." #: classes/class.swpm-settings.php:1339 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Bu E-Posta, kullanıcılarınıza kayıt işlemlerini tamamlayıp üye olduklarında " "gönderilecektir." #: classes/class.swpm-settings.php:1343 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Bu E-Posta, parola sıfırlama işlevini kullandıklarında kullanıcılarınıza " "gönderilecektir." #: classes/class.swpm-settings.php:1349 msgid "" "This interface lets you customize the various emails that get sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" "Bu ara yüz, çeşitli eylemler için üyelerinize gönderilen çeşitli E-Postaları " "özelleştirmenizi sağlar. Başlamak için varsayılan ayarlar iyi olmalıdır." #: classes/class.swpm-settings.php:1353 views/admin_tools_settings.php:88 msgid "This documentation" msgstr "Bu belgeler" #: classes/class.swpm-settings.php:1354 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" " özelleştirmek için (isterseniz) E-Posta gövde alanında hangi E-Posta " "birleştirme etiketlerini kullanabileceğinizi açıklar." #: classes/class.swpm-settings.php:1367 msgid "Settings in this section apply to all emails." msgstr "Bu bölümdeki ayarlar tüm E-Postalar için geçerlidir." #: classes/class.swpm-settings.php:1371 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Bu E-Posta, hesap yükseltme işleminden sonra (mevcut bir üye yeni bir üyelik " "düzeyi için ödeme yaptığında) kullanıcılarınıza gönderilecektir." #: classes/class.swpm-settings.php:1375 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Bu E-Posta, toplu hesap etkinleştirme ve bildirim eylemini kullandığınızda " "üyelerinize gönderilecektir." #: classes/class.swpm-settings.php:1376 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" " Bu E-Postada E-Posta birleştirme etiketleri kullanamazsınız. Yalnızca genel " "metin kullanabilirsiniz." #: classes/class.swpm-settings.php:1380 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" "Bu E-Posta, bir Üyelik Düzeyi için E-Posta Aktivasyonu etkinleştirildiğinde " "gönderilecektir." #: classes/class.swpm-settings.php:1384 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Bu E-Posta, kullanıcılardan ödeme yapıldıktan sonra kaydı tamamlamalarını " "istemek için gönderilecektir." #: classes/class.swpm-settings.php:1407 msgid "" "Note: You cannot enable both the \"Disable Access to WP Dashboard\" and " "\"Admin Dashboard Access Permission\" options at the same time. Only use one " "of those options." msgstr "" "Not: \"WP Dashboard'a Erişimi Devre Dışı Bırak\" ve \"Admin Dashboard Erişim " "İzni\" seçeneklerini aynı anda etkinleştiremezsiniz. Bu seçeneklerden " "yalnızca birini kullanın." #: classes/class.swpm-settings.php:1416 msgid "This page allows you to configure some advanced features of the plugin." msgstr "" "Bu sayfa, eklentinin bazı gelişmiş özelliklerini yapılandırmanıza izin verir." #: classes/class.swpm-settings.php:1430 msgid "" "This interface lets you configure blacklisting & whitelisting for email " "addresses. " msgstr "" "Bu ara yüz, E-Posta adresleri için kara liste ve beyaz listeyi " "yapılandırmanıza olanak tanır. " #: classes/class.swpm-settings.php:1431 msgid "This blacklisting & whitelisting documentation" msgstr "Bu kara listeye alma ve beyaz listeye alma belgeleri" #: classes/class.swpm-settings.php:1432 msgid " explains how to use this feautre." msgstr " bu özelliğin nasıl kullanılacağını açıklar." #: classes/class.swpm-settings.php:1438 msgid "This section allows you to configure whitelisting settings." msgstr "Bu bölüm, beyaz listeye alma ayarlarını yapılandırmanıza olanak tanır." #: classes/class.swpm-settings.php:1442 msgid "This section allows you to configure blacklisting settings." msgstr "Bu bölüm, kara listeye alma ayarlarını yapılandırmanıza izin verir." #: classes/class.swpm-settings.php:1446 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" "Bu bölüm, başka bir eklenti tarafından yeni WP Kullanıcı kayıtları " "oluşturulduğunda üye hesaplarının otomatik olarak oluşturulmasını " "yapılandırmanıza izin verir. WP kullanıcı kayıtları oluşturan başka bir " "eklenti kullanıyorsanız ve bunların üyelik eklentisinde tanınmasını " "istiyorsanız faydalı olabilir." #: classes/class.swpm-settings.php:1450 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" "Bu bölüm, kullanıcıların kayıt sırasında kabul etmesi gereken hüküm ve " "koşulları ve gizlilik politikasını yapılandırmanıza olanak tanır." #: classes/class.swpm-settings.php:1626 msgid "Simple WP Membership::Settings" msgstr "Basit WP Üyeliği: Ayarlar" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 #: classes/class.swpm-utils-member.php:68 msgid "User is not logged in." msgstr "Kullanıcı giriş yapmadı." #: classes/class.swpm-utils-member.php:88 msgid "No Expiry" msgstr "Sona Erme Yok" #: classes/class.swpm-utils-misc.php:57 msgid "Registration" msgstr "Kayıt" #: classes/class.swpm-utils-misc.php:85 msgid "Member Login" msgstr "Üye Girişi" #: classes/class.swpm-utils-misc.php:113 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:145 msgid "Profile" msgstr "Profil" #: classes/class.swpm-utils-misc.php:141 msgid "Password Reset" msgstr "Parola sıfırlama" #: classes/class.swpm-utils-misc.php:169 msgid "Thank You" msgstr "Teşekkürler" #: classes/class.swpm-utils-misc.php:224 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "" "Birkaç saniye içinde otomatik olarak yönlendirileceksiniz. Değilse, lütfen " "%s." #: classes/class.swpm-utils-misc.php:228 msgid "Action Status" msgstr "Eylem Durumu" #: classes/class.swpm-utils-misc.php:415 msgid "Not a Member?" msgstr "Üye değil misiniz?" #: classes/class.swpm-utils-misc.php:426 msgid "renew" msgstr "yenile" #: classes/class.swpm-utils-misc.php:426 msgid " your account to gain access to this content." msgstr " Bu içeriğe erişmek için hesabınızı." #: classes/class.swpm-utils-misc.php:484 classes/class.swpm-utils-misc.php:490 msgid "Error! This action (" msgstr "Hata! Bu hareket (" #: classes/class.swpm-utils-misc.php:962 msgid "(Please Select)" msgstr "(Lütfen seçin)" #: classes/class.swpm-utils-misc.php:978 #: views/payments/admin_create_payment_buttons.php:34 msgid "PayPal Buy Now" msgstr "Şimdi Satın Al" #: classes/class.swpm-utils-misc.php:979 #: views/payments/admin_create_payment_buttons.php:36 msgid "PayPal Subscription" msgstr "PayPal Aboneliği" #: classes/class.swpm-utils-misc.php:980 #: views/payments/admin_create_payment_buttons.php:38 msgid "PayPal Buy Now (New API)" msgstr "PayPal Şimdi Satın Al (Yeni API)" #: classes/class.swpm-utils-misc.php:981 #: views/payments/admin_create_payment_buttons.php:40 msgid "PayPal Subscription (New API)" msgstr "PayPal Aboneliği (Yeni API)" #: classes/class.swpm-utils-misc.php:982 msgid "PayPal Smart Checkout" msgstr "PayPal Akıllı Ödeme" #: classes/class.swpm-utils-misc.php:983 msgid "Stripe Buy Now" msgstr "Stripe Şimdi Satın Al" #: classes/class.swpm-utils-misc.php:984 msgid "Stripe Subscription" msgstr "Stripe Aboneliği" #: classes/class.swpm-utils-misc.php:985 #: views/payments/admin_create_payment_buttons.php:44 msgid "Stripe SCA Buy Now" msgstr "Çizgili SCA Şimdi Satın Al" #: classes/class.swpm-utils-misc.php:986 #: views/payments/admin_create_payment_buttons.php:46 msgid "Stripe SCA Subscription" msgstr "Stripe SCA Aboneliği" #: classes/class.swpm-utils-misc.php:987 #: views/payments/admin_create_payment_buttons.php:42 msgid "Braintree Buy Now" msgstr "Braintree'yi Şimdi Satın Al" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Hata! Belirtilen şablon için bir şablon yolu bulunamadı: " #: classes/class.swpm-utils.php:111 msgid "Never" msgstr "Asla" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Erkek" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Kadın" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "Belirtilmemiş" #: classes/class.swpm-utils.php:126 views/admin_members_list.php:33 msgid "Active" msgstr "Aktif" #: classes/class.swpm-utils.php:127 views/admin_members_list.php:34 msgid "Inactive" msgstr "Etkin değil" #: classes/class.swpm-utils.php:128 views/admin_members_list.php:35 msgid "Activation Required" msgstr "Aktivasyon gerekiyor" #: classes/class.swpm-utils.php:129 views/admin_members_list.php:36 msgid "Pending" msgstr "Askıda olması" #: classes/class.swpm-utils.php:130 views/admin_members_list.php:38 msgid "Expired" msgstr "Günü geçmiş" #: classes/class.swpm-utils.php:533 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Hesabı sil" #: classes/class.swpm-wp-loaded-tasks.php:118 msgid "" "You will be redirected to the previous page in a few seconds. If not, please " "click here." msgstr "" "Birkaç saniye içinde önceki sayfaya yönlendirileceksiniz. " "Yönlendirilmemişse, lütfen tıklayınız." #: classes/class.swpm-wp-loaded-tasks.php:121 msgid "Success!" msgstr "Başarılı!" #: classes/class.swpm-wp-loaded-tasks.php:129 msgid "No token provided." msgstr "Belirteç sağlanmadı." #: classes/class.swpm-wp-loaded-tasks.php:136 msgid "Nonce check failed." msgstr "Kontrol başarısız oldu." #: classes/class.swpm-wp-loaded-tasks.php:161 msgid "Subscription has been cancelled." msgstr "Abonelik iptal edildi." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:75 msgid "Your membership profile will be updated to reflect the payment." msgstr "Üyelik profiliniz ödemeyi yansıtacak şekilde güncellenecektir." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:76 msgid "Your profile username: " msgstr "Profil kullanıcı adınız: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:94 msgid "Click on the following link to complete the registration." msgstr "Kayıt işlemini tamamlamak için aşağıdaki bağlantıya tıklayın." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "Click here to complete your paid registration" msgstr "Ücretli kaydınızı tamamlamak için buraya tıklayın" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:102 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Üyelik ödemesi yaptıysanız, ödemeniz henüz işleme alınmamıştır. Lütfen bir " "kaç dakika sonra tekrar kontrol ediniz. Kısa süre içinde ayrıntıları içeren " "bir E-Posta gönderilecektir." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:119 msgid "Expiry: " msgstr "Son kullanma tarihi: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:166 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:248 msgid "You are not logged-in as a member" msgstr "Üye girişi yapmadınız" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:143 msgid "Logged in as: " msgstr "Olarak giriş yaptı: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:146 #: views/loggedin.php:31 msgid "Logout" msgstr "Çıkış Yap" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:149 msgid "Login Here" msgstr "Giriş yapın" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:150 msgid "Not a member? " msgstr "Üye değil misiniz? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:151 msgid "Join Now" msgstr "Şimdi Katıl" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:228 msgid "Unsubscribe from PayPal" msgstr "PayPal üyeliğinden çık" #. translators: %1$d is error code; %2$s is error message. #: ipn/swpm-smart-checkout-ipn.php:270 ipn/swpm-smart-checkout-ipn.php:297 #, php-format msgid "" "Error occured during payment verification. Error code: %1$d. Message: %2$s" msgstr "Ödeme doğrulaması sırasında hata oluştu. Hata kodu: %1$d. Mesaj: %2$s" #. translators: %1$s is expected amount, %2$s is expected currency. #: ipn/swpm-smart-checkout-ipn.php:311 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s " "%4$s." msgstr "" "Ödeme kontrolü başarısız oldu: Alınan geçersiz tutar. Beklenen %1$s %2$s, " "%3$s %4$s aldı." #: ipn/swpm-smart-checkout-ipn.php:347 msgid "Empty payment data received." msgstr "Boş ödeme verileri alındı." #: ipn/swpm-smart-checkout-ipn.php:406 msgid "IPN product validation failed. Check the debug log for more details." msgstr "" "IPN ürün doğrulaması başarısız oldu. Daha fazla ayrıntı için hata ayıklama " "günlüğünü kontrol edin." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:40 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:228 msgid "Empty data received." msgstr "Boş veri alındı." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:54 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:242 msgid "" "Nonce check failed. The page was most likely cached. Please reload the page " "and try again." msgstr "" "Hiçbir kontrol başarısız oldu. Sayfa büyük olasılıkla önbelleğe alındı. " "Lütfen sayfayı yeniden yükleyin ve tekrar deneyin." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:66 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:254 msgid "Empty transaction data received." msgstr "Boş işlem verileri alındı." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:324 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:325 msgid "Subscription created" msgstr "Abonelik oluşturuldu" #: lib/paypal/class-swpm-paypal-webhook.php:310 msgid "" "No webhook found. Use the following Create Webhook button to create a new " "webhook automatically in your PayPal account." msgstr "" "Web kancası bulunamadı. PayPal hesabınızda otomatik olarak yeni bir web " "kancası oluşturmak için aşağıdaki Web kancası oluştur düğmesini kullanın." #: lib/paypal/class-swpm-paypal-webhook.php:314 #, php-format msgid "" "PayPal API Credential information is missing in settings. Please enter valid " "PayPal API Credentials in the General Settings tab for %s mode." msgstr "" "Ayarlarda PayPal API Kimlik bilgileri eksik. Lütfen %s modu için Genel " "Ayarlar sekmesinde geçerli PayPal API Kimlik Bilgilerini girin." #: lib/paypal/class-swpm-paypal-webhook.php:316 #, php-format msgid "" "Invalid or Missing API Credentials! Check the plugin settings and enter " "valid API credentials in the PayPal Credentials section for %s mode." msgstr "" "Geçersiz veya Eksik API Kimlik Bilgileri! Eklenti ayarlarını kontrol edin ve " "%s modu için PayPal Kimlik Bilgileri bölümüne geçerli API kimlik bilgilerini " "girin." #: lib/paypal/class-swpm-paypal-webhook.php:326 msgid "" "Webhook exists. If you still have issues with webhooks, you can delete it " "and create again." msgstr "" "Web kancası var. Hala web kancalarıyla ilgili sorunlarınız varsa, onu " "silebilir ve yeniden oluşturabilirsiniz." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "Invalid webhook URL." msgstr "Geçersiz web kancası URL'si." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "" "Note that the PayPal subscription API requires your site to use HTTPS URLs. " "You must use an SSL certificate with HTTPS URLs to complete the setup of the " "subscription addon and use it." msgstr "" "PayPal abonelik API'sinin sitenizin HTTPS URL'lerini kullanmasını " "gerektirdiğini unutmayın. Abonelik eklentisinin kurulumunu tamamlamak ve " "kullanmak için HTTPS URL'lerine sahip bir SSL sertifikası kullanmalısınız." #: lib/paypal/class-swpm-paypal-webhook.php:362 msgid "Webhook has been created." msgstr "Web kancası oluşturuldu." #: lib/paypal/class-swpm-paypal-webhook.php:386 msgid "Webhook has been deleted." msgstr "Web kancası silindi." #: lib/paypal/class-swpm-paypal-webhook.php:399 msgid "No webhook found. Nothing to delete." msgstr "Web kancası bulunamadı. Silinecek bir şey yok." #: lib/paypal/class-swpm-paypal-webhook.php:416 msgid "Live mode credentials are not set. Cannot create webhook." msgstr "Canlı mod kimlik bilgileri ayarlanmadı. Web kancası oluşturulamıyor." #: lib/paypal/class-swpm-paypal-webhook.php:431 msgid "Sandbox mode credentials are not set. Cannot create webhook." msgstr "" "Korumalı alan modu kimlik bilgileri ayarlanmadı. Web kancası oluşturulamıyor." #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "Bir hesabı silmek üzeresiniz. Bu, bu hesapla ilişkili kullanıcı verilerini " "siler. " #: views/account_delete_warning.php:8 msgid "It will also delete the associated WordPress user account." msgstr "Ayrıca ilişkili WordPress kullanıcı hesabını da siler." #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(NOT: güvenlik için, yönetici rolüyle ilişkili herhangi bir WordPress " "hesabının silinmesine izin vermiyoruz)." #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "Devam etmek istiyor musunuz?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Şifre: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Hesap Silme İşlemini Onaylayın" #: views/add.php:26 views/admin_add.php:20 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:28 msgid "Password" msgstr "Şifre" #: views/add.php:30 views/edit.php:35 msgid "Repeat Password" msgstr "Şifreyi tekrar girin" #: views/add.php:68 msgid "I accept the " msgstr "Kabul ediyorum " #: views/add.php:80 msgid "I agree to the " msgstr "I agree to the " #: views/add.php:80 msgid "Privacy Policy" msgstr "Gizlilik Politikası" #: views/add.php:91 msgid "Register" msgstr "Kayıt" #: views/admin_add.php:8 msgid "Create a brand new user and add it to this site." msgstr "Yeni bir kullanıcı oluşturun ve bu siteye ekleyin." #: views/admin_add.php:12 views/admin_add.php:16 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(gerekli)" #: views/admin_add.php:16 views/admin_edit.php:40 msgid "E-mail" msgstr "E-Posta" #: views/admin_add.php:20 msgid "(twice, required)" msgstr "(iki kez, gerekli)" #: views/admin_add.php:25 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Güç göstergesi" #: views/admin_add.php:26 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "İpucu: Parola en az yedi karakter uzunluğunda olmalıdır. Daha güçlü hale " "getirmek için büyük ve küçük harfler, sayılar ve \" ? $ % ^ gibi semboller " "kullanın! & )." #: views/admin_add.php:30 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Hesap Durumu" #: views/admin_add.php:49 msgid "Add New Member " msgstr "Yeni Üye Ekle " #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Üyelik Düzeyi Ekle" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "Yeni üyelik düzeyi oluşturun." #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "Üyelik Düzeyi Adı" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "Varsayılan WordPress Rolü" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "Erişim Süresi" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Süre Sonu Yok (Bu seviyeye erişim, iptal edilene kadar sona ermeyecektir.)" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "Şu tarihten sonra sona eriyor" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "Günler (Erişim, belirtilen gün sayısından sonra sona erer.)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "Haftalar (Erişim, belirtilen sayıda haftadan sonra sona erer.)" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "Aylar (Erişim, belirtilen sayıda aydan sonra sona erer.)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "Yıllar (Verilen yıl sayısından sonra erişim sona erer.)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "Sabit Tarih Sonu" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(Erişim sabit bir tarihte sona erer.)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "E-Posta Aktivasyonu" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" "E-Posta yoluyla yeni kullanıcı aktivasyonunu etkinleştirin. " "Etkinleştirildiğinde, üyelerin hesabı etkinleştirmek için E-Posta " "adreslerine gönderilen bir etkinleştirme bağlantısına tıklamaları " "gerekecektir. Ücretsiz üyelik için kullanışlıdır. " #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "Belgeleri Görüntüle" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "Not:" #: views/admin_add_level.php:45 msgid "" "If enabled, the member's decryptable password is temporarily stored in the " "database until the account is activated." msgstr "" "Etkinleştirilirse, üyenin şifresi çözülebilir, hesap etkinleştirilene kadar " "geçici olarak veritabanında saklanır." #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "Yeni Üyelik Düzeyi Ekle " #: views/admin_add_ons_page.php:11 msgid "Simple WP Membership::Add-ons" msgstr "Basit WP Üyeliği: Eklentiler" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Basit üyelik eklentisinin eklenti ayarlarından ve seçeneklerinden bazıları " "burada görüntülenecektir (eğer varsa)" #: views/admin_addon_settings.php:10 msgid "Save Changes" msgstr "Değişiklikleri Kaydet" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Öncelikle aşağıdaki açılır kutudan \"Genel Koruma\" seçeneğini seçerek " "sitenizdeki kategoriyi global olarak koruyun ve ardından oturum açmamış " "kullanıcılardan korunması gereken kategorileri seçin." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Ardından, aşağıdaki açılır kutudan mevcut bir üyelik seviyesini seçin ve " "ardından erişim izni vermek istediğiniz kategorileri seçin (söz konusu " "üyelik seviyesi için)." #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 #: views/admin_post_list.php:11 msgid "Read the " msgstr "Oku " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "kategori koruma belgeleri" #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 msgid "to learn more." msgstr "daha fazla öğrenmek için." #: views/admin_category_list.php:19 views/admin_post_list.php:32 msgid "Membership Level:" msgstr "Üyelik Düzeyi:" #: views/admin_category_list.php:21 views/admin_post_list.php:34 msgid "General Protection" msgstr "Genel Koruma" #: views/admin_category_list.php:26 views/admin_post_list.php:39 #: views/edit.php:84 msgid "Update" msgstr "Güncelleme" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Üyeyi Düzenle" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Mevcut üye ayrıntılarını düzenleyin." #: views/admin_edit.php:14 msgid " You are currently editing member with member ID: " msgstr " Şu anda üye kimliğine sahip üyeyi düzenliyorsunuz: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(iki kez, eski şifreyi korumak için boş bırakın)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" "Bu, üyenin hesap durumudur. Süresi dolmuş bir üyenin hesabını manuel olarak " "etkinleştirmek istiyorsanız, okuyun" #: views/admin_edit.php:60 msgid "this documentation" msgstr "bu belgeler" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " nasıl yapılacağını öğrenmek için." #: views/admin_edit.php:66 msgid "Notify User" msgstr "Kullanıcıyı Bildir" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" "Bu üyeye hızlı bir bildirim E-Postası göndermek için bu seçeneği " "kullanabilirsiniz (E-Posta aşağıdaki kaydet düğmesine bastığınızda " "gönderilecektir)." #: views/admin_edit.php:103 msgid "Subscriber ID/Reference" msgstr "Abone Kimliği/Referansı" #: views/admin_edit.php:107 msgid "Expiry Date" msgstr "Son kullanma tarihi" #: views/admin_edit.php:114 msgid "" "This is calculated based on the current membership level assigned to this " "member and the expiry condition that you have set for that membership level." msgstr "" "Bu, bu üyeye atanan mevcut üyelik düzeyine ve o üyelik düzeyi için " "belirlediğiniz sona erme koşuluna göre hesaplanır." #: views/admin_edit.php:119 msgid "Last Accessed Date" msgstr "Son Erişim Tarihi" #: views/admin_edit.php:122 views/admin_edit.php:129 msgid "This value gets updated when this member logs into your site." msgstr "Bu üye sitenize giriş yaptığında bu değer güncellenir." #: views/admin_edit.php:126 msgid "Last Accessed From IP" msgstr "Son Erişim IP'den" #: views/admin_edit.php:137 msgid "Save Data" msgstr "Veri kaydet" #: views/admin_edit.php:142 msgid "Delete User Profile" msgstr "Kullanıcı Profilini Sil" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Üyelik seviyesini düzenle" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "Bu ara yüzden seçilen bir üyelik seviyesinin ayrıntılarını " "düzenleyebilirsiniz. " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "Şu anda düzenliyorsunuz: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Süre Sonu Yok (Bu seviyeye erişim, iptal edilene kadar sona ermeyecektir.)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "Haftalar (Erişim, belirtilen hafta sayısından sonra sona erer.)" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" "E-Posta yoluyla yeni kullanıcı aktivasyonunu etkinleştirin. " "Etkinleştirildiğinde, üyelerin hesabı etkinleştirmek için E-Posta " "adreslerine gönderilen bir etkinleştirme bağlantısına tıklamaları " "gerekecektir. Ücretsiz üyelik için kullanışlıdır." #: views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" "Etkinleştirilirse, şifresi çözülebilir üye parolası, hesap etkinleştirilene " "kadar veri tabanında geçici olarak saklanır." #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "Üyelik Düzeyini Kaydet " #: views/admin_member_form_common_part.php:14 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Cinsiyet" #: views/admin_member_form_common_part.php:21 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Telefon" #: views/admin_member_form_common_part.php:25 views/edit.php:51 msgid "Street" msgstr "Sokak" #: views/admin_member_form_common_part.php:29 views/edit.php:55 msgid "City" msgstr "Şehir" #: views/admin_member_form_common_part.php:33 views/edit.php:59 msgid "State" msgstr "Mahalle" #: views/admin_member_form_common_part.php:37 views/edit.php:63 msgid "Zipcode" msgstr "Posta kodu" #: views/admin_member_form_common_part.php:41 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Ülke" #: views/admin_member_form_common_part.php:45 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Şirket" #: views/admin_member_form_common_part.php:49 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Tarihinden beri üye" #: views/admin_members_list.php:32 msgid "All" msgstr "Tüm" #: views/admin_members_list.php:37 views/admin_members_list.php:47 msgid "Incomplete" msgstr "Eksik" #: views/admin_membership_manage.php:5 msgid "content protection documentation" msgstr "içerik koruma belgeleri" #: views/admin_membership_manage.php:7 msgid "How to Apply Content Protection" msgstr "İçerik Koruması Nasıl Uygulanır" #: views/admin_membership_manage.php:9 msgid "" "Take the following steps to apply protection to your content so only members " "can have access to it." msgstr "" "İçeriğinize yalnızca üyelerin erişebilmesi için koruma uygulamak üzere " "aşağıdaki adımları uygulayın." #: views/admin_membership_manage.php:12 msgid "Edit the Post or Page that you want to protect in WordPress editor." msgstr "" "Korumak istediğiniz Gönderiyi veya Sayfayı WordPress düzenleyicide " "düzenleyin." #: views/admin_membership_manage.php:13 msgid "Scroll down to the section titled 'Simple WP Membership Protection'." msgstr "'Simple WP Membership Protection' başlıklı bölüme gidin." #: views/admin_membership_manage.php:14 msgid "Select 'Yes, Protect this content' option." msgstr "'Evet, Bu içeriği koru' seçeneğini seçin." #: views/admin_membership_manage.php:15 msgid "" "Check the membership levels that should have access to that page's content." msgstr "" "O sayfanın içeriğine erişimi olması gereken üyelik düzeylerini kontrol edin." #: views/admin_membership_manage.php:16 msgid "Hit the Update/Save Button to save the changes." msgstr "Değişiklikleri kaydetmek için Güncelle/Kaydet Düğmesine basın." #: views/admin_membership_manage.php:19 msgid "Example Content Protection Settings" msgstr "Örnek İçerik Koruma Ayarları" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" "Her şeyden önce, aşağıdaki açılır kutudan \"Genel Koruma\"yı seçerek " "sitenizdeki gönderileri ve sayfaları küresel olarak koruyun ve ardından " "oturum açmamış kullanıcılardan korunması gereken gönderileri ve sayfaları " "seçin." #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" "Ardından, aşağıdaki açılır kutudan mevcut bir üyelik düzeyi seçin ve " "ardından erişim izni vermek istediğiniz gönderileri ve sayfaları seçin (söz " "konusu üyelik düzeyi için)." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "toplu koruma gönderileri ve sayfaları belgeleri" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr " Nasıl kullanılacağını öğrenmek için." #: views/admin_post_list.php:21 msgid "Posts" msgstr "Gönderiler" #: views/admin_post_list.php:22 msgid "Pages" msgstr "Sayfalar" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "Özel Gönderiler" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "Gerekli sayfalar yeniden oluşturuldu." #: views/admin_tools_settings.php:22 msgid "This interface contains useful tools for various admin operations." msgstr "Bu ara yüz, çeşitli yönetici işlemleri için faydalı araçlar içerir." #: views/admin_tools_settings.php:27 msgid "Generate a Registration Completion link" msgstr "Bir Kayıt Tamamlama bağlantısı oluşturun" #: views/admin_tools_settings.php:30 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Burada manuel olarak bir kayıt tamamlama bağlantısı oluşturabilir ve " "ödemeden sonra kendilerine otomatik olarak gönderilen e-postayı kaçıran " "müşterinize verebilirsiniz." #: views/admin_tools_settings.php:35 msgid "Generate Registration Completion Link" msgstr "Kayıt Tamamlama Bağlantısı Oluştur" #: views/admin_tools_settings.php:36 msgid "For a Particular Member ID" msgstr "Belirli bir Üye Kimliği için" #: views/admin_tools_settings.php:38 msgid "OR" msgstr "veya" #: views/admin_tools_settings.php:39 msgid "For All Incomplete Registrations" msgstr "Tüm Eksik Kayıtlar İçin" #: views/admin_tools_settings.php:44 msgid "Send Registration Reminder Email Too" msgstr "Tüm Eksik Kayıtlar İçin" #: views/admin_tools_settings.php:50 msgid "Submit" msgstr "Gönder" #: views/admin_tools_settings.php:59 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Bağlantı(lar) başarıyla oluşturuldu. Kayıt işlemini tamamlamak için " "aşağıdaki bağlantı(lar) kullanılabilir." #: views/admin_tools_settings.php:61 msgid "Registration completion links will appear below" msgstr "Kayıt tamamlama bağlantıları aşağıda görünecektir" #: views/admin_tools_settings.php:71 msgid "A prompt to complete registration email was also sent." msgstr "Kayıt E-Postasını tamamlama istemi de gönderildi." #: views/admin_tools_settings.php:84 views/admin_tools_settings.php:94 msgid "Re-create the Required Pages" msgstr "Gerekli Sayfaları Yeniden Oluşturun" #: views/admin_tools_settings.php:87 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" "Bu eklentinin yükleme sırasında oluşturduğu gerekli sayfaları yanlışlıkla " "sildiyseniz, yeniden oluşturmak için bu seçeneği kullanabilirsiniz." #: views/admin_tools_settings.php:88 msgid " has full explanation." msgstr " tam açıklaması var." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Geçerli parolayı korumak için boş bırakın" #: views/edit.php:71 msgid "Company Name" msgstr "Firma Adı" #: views/forgot_password.php:12 views/reset_password_using_link.php:54 msgid "Reset Password" msgstr "Şifreyi yenile" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Olarak giriş yaptı" #: views/loggedin.php:14 msgid "Membership" msgstr "Üyelik" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Hesap Sona Erme" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Profili Düzenle" #: views/login.php:7 msgid "Username or Email" msgstr "Kullanıcı adı ya da E-Posta" #: views/login.php:36 msgid "Show password" msgstr "Şifreyi göster" #: views/login.php:41 msgid "Remember Me" msgstr "Beni Hatırla" #: views/login.php:50 msgid "Forgot Password?" msgstr "Parolanızı mı unuttunuz?" #: views/payments/admin_add_edit_transaction_manually.php:11 msgid "" "You can add a new transaction record manually using this interface. It can " "be useful if you manually accept cash payment for your memberships." msgstr "" "Bu arayüzü kullanarak manuel olarak yeni bir işlem kaydı ekleyebilirsiniz. " "Üyelikleriniz için manuel olarak nakit ödeme kabul etmeniz yararlı olabilir." #: views/payments/admin_add_edit_transaction_manually.php:54 msgid "Manual transaction added successfully. " msgstr "Manuel işlem başarıyla eklendi. " #: views/payments/admin_add_edit_transaction_manually.php:68 msgid "Add New Transaction" msgstr "Yeni İşlem Ekle" #: views/payments/admin_add_edit_transaction_manually.php:99 #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "Kullanıcı Kimliği" #: views/payments/admin_add_edit_transaction_manually.php:160 msgid "Save Transaction Data" msgstr "İşlem Verilerini Kaydet" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Üyelerinizin tüm ödemeleri/işlemleri burada kayıt altına alınır." #: views/payments/admin_all_payment_transactions.php:12 msgid "" "Search for a transaction by using email, name, transaction ID or Subscr ID." msgstr "" "E-Posta, Ad, İşlem Kimliği veya Abone Kimliği kullanarak bir işlem arayın." #: views/payments/admin_all_payment_transactions.php:50 msgid "Add a Transaction Manually" msgstr "Manuel Olarak İşlem Ekleme" #: views/payments/admin_create_payment_buttons.php:19 msgid "" "You can create a new payment button for your memberships using this " "interface." msgstr "" "Bu arayüzü kullanarak üyelikleriniz için yeni bir ödeme butonu " "oluşturabilirsiniz." #: views/payments/admin_create_payment_buttons.php:27 msgid "Select Payment Button Type" msgstr "Ödeme Düğmesi Türünü Seçin" #: views/payments/admin_create_payment_buttons.php:48 msgid "Stripe Legacy Buy Now (deprecated)" msgstr "Stripe Legacy Şimdi Satın Al (Kullanımdan kaldırıldı)" #: views/payments/admin_create_payment_buttons.php:50 msgid "Stripe Legacy Subscription (deprecated)" msgstr "Stripe Legacy Aboneliği (kullanımdan kaldırıldı)" #: views/payments/admin_create_payment_buttons.php:62 msgid "Next" msgstr "Sonraki" #: views/payments/admin_create_payment_buttons.php:69 msgid "" "You can also use payment buttons from the following plugins to accept " "payments for your memberships." msgstr "" "Üyelikleriniz için ödeme kabul etmek için aşağıdaki eklentilerden ödeme " "düğmelerini de kullanabilirsiniz." #: views/payments/admin_edit_payment_buttons.php:19 msgid "You can edit a payment button using this interface." msgstr "Bu arayüzü kullanarak bir ödeme düğmesini düzenleyebilirsiniz." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Eklentide oluşturduğunuz tüm üyelik düğmeleri burada görüntülenir." #: views/payments/admin_payment_settings.php:7 msgid "You can create membership payment buttons from the " msgstr "Üyelik ödeme butonlarını menüden oluşturabilirsiniz. " #: views/payments/admin_payment_settings.php:8 msgid "payments menu" msgstr "ödeme menüsü" #: views/payments/admin_payment_settings.php:9 msgid "" " of this plugin (useful if you want to offer paid memberships on the site)." msgstr "" " bu eklentinin (sitede ücretli üyelikler sunmak istiyorsanız kullanışlıdır)." #: views/payments/admin_payment_settings.php:10 msgid " Read the " msgstr " Oku " #: views/payments/admin_payment_settings.php:11 msgid "membership payment section" msgstr "üyelik ödeme bölümü" #: views/payments/admin_payment_settings.php:12 msgid "" " of our documentation to learn more about creating membership payment " "buttons." msgstr "" " Üyelik ödeme düğmeleri oluşturma hakkında daha fazla bilgi edinmek için " "belgelerimizi inceleyin." #: views/payments/admin_payment_settings.php:31 #: views/payments/admin_payment_settings.php:47 msgid " Success! " msgstr " Başarı! " #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Braintree Şimdi Satın Al Düğmesi Yapılandırması" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:216 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:160 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:182 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:316 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:314 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:92 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:92 msgid "Button ID" msgstr "Düğme kimliği" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:224 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:168 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:190 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:323 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:321 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:100 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:100 msgid "Button Title" msgstr "Düğme Başlığı" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:242 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:230 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:337 msgid "Payment Amount" msgstr "Ödeme miktarı" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Braintree API anahtarı ve hesap ayrıntıları. Bunu Braintree hesabınızdan " "alabilirsiniz." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Tüccar kimliği" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Genel anahtar" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Private Key" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "Tüccar hesap kimliği" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:429 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:427 msgid "The following details are optional." msgstr "Aşağıdaki ayrıntılar isteğe bağlıdır." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:318 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:459 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:419 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:442 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:448 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:235 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:219 msgid "Return URL" msgstr "Dönüş URL'si" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:128 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:325 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:329 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:215 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:488 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:430 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:472 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:196 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:478 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:256 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:240 msgid "Save Payment Data" msgstr "Ödeme Verilerini Kaydet" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:207 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal Şimdi Satın Al Düğme Yapılandırması" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:250 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:190 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:330 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:237 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:344 msgid "Payment Currency" msgstr "Ödeme Para Birimi" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:298 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:370 msgid "PayPal Email" msgstr "PayPal E-Postası" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:306 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:467 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:450 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:174 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:456 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:243 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:227 msgid "Button Image URL" msgstr "Düğme Resmi URL'si" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:314 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:475 msgid "Custom Checkout Page Logo Image" msgstr "Özel Ödeme Sayfası Logo Resmi" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:148 msgid "PayPal Buy Now (New API) Button Configuration" msgstr "PayPal Şimdi Satın Al (Yeni API) Düğme Yapılandırması" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:186 msgid "Payment Details" msgstr "Ödeme detayları" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:233 msgid "" "Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not " "enter currency symbol)." msgstr "" "Ödeme tutarını girin. Örnek değerler: 9,90 veya 25,00 veya 299,90 vb (para " "birimi simgesi girmeyin)." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:238 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:339 msgid "Button Style Settings (Optional)" msgstr "Düğme Stili Ayarları (Opsiyonel)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:242 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:343 msgid "Button Type/Label" msgstr "Düğme Tipi/Etiket" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:245 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:346 msgid "Checkout" msgstr "Çıkış yap" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:246 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:347 msgid "Pay" msgstr "Öde" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:247 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:348 msgid "PayPal" msgstr "PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:248 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:349 #: views/payments/payment-gateway/braintree_button_shortcode_view.php:21 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:100 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:102 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:161 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:160 msgid "Buy Now" msgstr "Şimdi Al" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:249 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:350 msgid "Subscribe" msgstr "Abone" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:251 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:352 msgid "Select button type/label." msgstr "Düğme tipini/etiketini seçin." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:255 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:356 msgid "Button Shape" msgstr "Düğme Şekli" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:257 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:358 msgid "Rectangular" msgstr "Dikdörtgen" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:258 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:359 msgid "Pill" msgstr "Hap" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:259 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:360 msgid "Select button shape." msgstr "Düğme şeklini seçin." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:263 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:364 msgid "Button Layout" msgstr "Düğme Düzeni" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:265 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:366 msgid "Vertical" msgstr "Dikey" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:266 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:367 msgid "Horizontal" msgstr "Yatay" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:267 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:368 msgid "Select button layout." msgstr "Düğme düzenini seçin." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:271 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:372 msgid "Button Height" msgstr "Düğme Yüksekliği" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:375 msgid "Small" msgstr "Küçük" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:275 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:376 msgid "Medium" msgstr "Orta" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:276 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:377 msgid "Large" msgstr "Büyük" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:277 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:378 msgid "Extra Large" msgstr "Ekstra büyük" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:279 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:380 msgid "Select button height." msgstr "Düğme yüksekliğini seçin." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:283 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:384 msgid "Button Width" msgstr "Düğme Genişliği" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:286 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:387 msgid "Select button width." msgstr "Düğme genişliğini seçin." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:391 msgid "Button Color" msgstr "Düğme rengi" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:293 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:394 msgid "Gold" msgstr "Altın" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:294 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:395 msgid "Blue" msgstr "Mavi" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:295 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:396 msgid "Silver" msgstr "Gümüş" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:296 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:397 msgid "White" msgstr "Beyaz" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:297 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:398 msgid "Black" msgstr "Siyah" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:299 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:400 msgid "Select button color." msgstr "Düğme rengini seçin." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:405 msgid "Additional Settings (Optional)" msgstr "Ek Ayarlar (Opsiyonel)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:308 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:409 msgid "Disable Funding" msgstr "Finansmanı Devre Dışı Bırak" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:310 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:411 msgid "Credit or debit cards" msgstr "Kredi veya banka kartları" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:311 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:412 msgid "PayPal Credit" msgstr "PayPal Kredisi" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:413 msgid "Venmo" msgstr "Venmo" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:313 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:414 msgid "" "By default, funding source eligibility is smartly decided based on a variety " "of factors. You can force disable funding options by selecting them here." msgstr "" "Varsayılan olarak, finansman kaynağı uygunluğuna çeşitli faktörlere dayalı " "olarak akıllıca karar verilir. Finansman seçeneklerini burada seçerek devre " "dışı bırakmaya zorlayabilirsiniz." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "PayPal Akıllı Ödeme Düğmesi Yapılandırması" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" "PayPal Smart Checkout API Kimlik Bilgileri (Bunu PayPal hesabınızdan " "alabilirsiniz)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "Gizli Canlı" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "Sandbox Sırrı" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Düğme Görünüm Ayarları" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Boyut" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "Duyarlı" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Düğme boyutunu seçin." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Renk" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Şekil" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Düzen" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Ek ayarlar" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Ödeme metodları" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" "Müşteriler tarafından kullanılabilecek ödeme yöntemlerini seçin. Kartlarla " "ödemenin her zaman etkin olduğunu unutmayın." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "Aşağıdaki ayrıntılar isteğe bağlıdır" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:298 msgid "PayPal Subscription Button Configuration" msgstr "PayPal Abonelik Düğmesi Yapılandırması" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:378 msgid "Billing Amount Each Cycle" msgstr "Her Döngüde Fatura Tutarı" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:386 msgid "Billing Cycle" msgstr "Fatura döngüsü" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:399 msgid "Billing Cycle Count" msgstr "Fatura Döngüsü Sayısı" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:407 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:306 msgid "Re-attempt on Failure" msgstr "Başarısızlık durumunda yeniden deneme" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:422 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:314 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "Deneme Fatura Ayrıntıları (Deneme süresi sunmuyorsanız boş bırakın)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:428 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:318 msgid "Trial Billing Amount" msgstr "Deneme Fatura Tutarı" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:436 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:326 msgid "Trial Billing Period" msgstr "Deneme Fatura Dönemi" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:213 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:205 msgid "Optional Details" msgstr "Opsiyonel Detaylar" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:170 msgid "PayPal Subscription (New API) Button Configuration" msgstr "PayPal Aboneliği (Yeni API) Düğme Yapılandırması" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:212 msgid "PayPal Billing Plan Details for This Button" msgstr "Bu Düğme için PayPal Faturalandırma Planı Ayrıntıları" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:216 msgid "Subscription Plan Mode" msgstr "Abonelik Planı Modu" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:223 msgid "Subscription Plan ID" msgstr "Abonelik Planı Kimliği" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:233 msgid "Subscription/Recurring Billing Details" msgstr "Abonelik/Yinelenen Faturalandırma Ayrıntıları" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:277 msgid "Recurring Billing Amount" msgstr "Yinelenen Fatura Tutarı" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:280 msgid "" "Amount to be charged on every billing cycle. If used with a trial period " "then this amount will be charged after the trial period is over. Example " "values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol)." msgstr "" "Her faturalandırma döngüsünde tahsil edilecek tutar. Deneme süresi ile " "kullanılması halinde, deneme süresi sona erdikten sonra bu tutar tahsil " "edilecektir. Örnek değerler: 9,90 veya 25,00 veya 299,90 vb (para birimi " "simgesi girmeyin)." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:285 msgid "Recurring Billing Cycle" msgstr "Yinelenen Faturalandırma Döngüsü" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:293 msgid "" "Set the interval of the recurring payment. Example value: 1 Month (if you " "want to charge every month)" msgstr "" "Yinelenen ödemenin aralığını ayarlayın. Örnek değer: 1 Ay (her ay " "ücretlendirmek istiyorsanız)" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:298 msgid "Recurring Billing Cycle Count" msgstr "Yinelenen Fatura Döngüsü Sayısı" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:301 msgid "" "After how many cycles should billing stop. Leave this field empty (or enter " "0) if you want the payment to continue until the subscription is canceled." msgstr "" "Faturalama kaç döngüden sonra durmalıdır? Abonelik iptal edilene kadar " "ödemenin devam etmesini istiyorsanız bu alanı boş bırakın (veya 0 girin)." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:309 msgid "" "When checked, the payment will be re-attempted two more times if the payment " "fails. After the third failure, the subscription will be canceled." msgstr "" "İşaretlendiğinde, ödeme başarısız olursa ödeme iki kez daha denenecektir. " "Üçüncü başarısızlıktan sonra abonelik iptal edilecektir." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:26 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:307 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:305 msgid "Stripe Buy Now Button Configuration" msgstr "Şerit Şimdi Satın Al Düğme Yapılandırması" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:386 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:384 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Şerit API anahtarları. Bunu Stripe hesabınızdan alabilirsiniz." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:391 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:389 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:148 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:140 msgid "Use Global API Keys Settings" msgstr "Global API Anahtarları Ayarlarını Kullan" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:394 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:392 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:151 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:143 msgid "" "Use API keys from Payment " "Settings tab." msgstr "" "Şuradaki API anahtarlarını kullan: Ödeme Ayarları sekme." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:434 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:432 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:219 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:211 msgid "Collect Customer Address" msgstr "Müşteri Adresini Topla" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:26 msgid "Stripe SCA Buy Now Button Configuration" msgstr "Stripe SCA Şimdi Satın Al Düğme Yapılandırması" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:440 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:227 msgid "Enable Automatic Tax" msgstr "Otomatik Vergiyi Etkinleştir" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:84 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:84 msgid "Stripe Subscription Button Configuration" msgstr "Şerit Abonelik Düğmesi Yapılandırması" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:118 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:118 msgid "Stripe API ID" msgstr "Şerit API Kimliği" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:129 msgid "Trial Period" msgstr "Deneme süresi" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:142 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:134 msgid "Stripe API Settings" msgstr "Şerit API Ayarları" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:188 msgid "Webhook Endpoint URL" msgstr "Web kancası Uç Nokta URL'si" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:180 msgid "Webook Endpoint URL" msgstr "Web Kitabı Uç Nokta URL'si" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:235 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:237 msgid "Subscribe Now" msgstr "Şimdi Abone Ol" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:80 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:77 msgid "Transaction completed successfully!" msgstr "İşlem başarıyla tamamlandı!" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:227 msgid "Error occurred during PayPal checkout process." msgstr "PayPal ödeme işlemi sırasında hata oluştu." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:155 msgid "Error occurred during PayPal Smart Checkout process." msgstr "PayPal Smart Checkout işlemi sırasında hata oluştu." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:184 msgid "HTTP error occurred during payment process:" msgstr "Ödeme işlemi sırasında HTTP hatası oluştu:" #: views/reset_password_using_link.php:9 msgid "" "Error! The password reset key is invalid. Please generate a new request." msgstr "" "Hata! Parola sıfırlama anahtarı geçersiz. Lütfen yeni bir istek oluşturun." #: views/reset_password_using_link.php:36 msgid "New password" msgstr "New password" #: views/reset_password_using_link.php:44 msgid "Re-enter new password" msgstr "Yeni şifreyi tekrar giriniz" #. Plugin Name of the plugin/theme msgid "Simple WordPress Membership" msgstr "Simple WordPress Üyeliği" #. Plugin URI of the plugin/theme #. Author URI of the plugin/theme msgid "https://simple-membership-plugin.com/" msgstr "https://simple-membership-plugin.com/" #. Description of the plugin/theme msgid "" "A flexible, well-supported, and easy-to-use WordPress membership plugin for " "offering free and premium content from your WordPress site." msgstr "" "WordPress sitenizden ücretsiz ve premium içerik sunmak için esnek, iyi " "desteklenen ve kullanımı kolay bir WordPress üyelik eklentisi." #. Author of the plugin/theme msgid "smp7, wp.insider" msgstr "smp7, wp.insider" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Şifreyi buraya yazın" msgid "Retype password here" msgstr "Şifreyi buraya tekrar yazın" msgid "Registration is complete. You can now log into the site." msgstr "Kayıt tamamlandı. Artık siteye giriş yapabilirsiniz." msgid " Field has invalid character" msgstr " Alanda geçersiz karakter var" msgid " Password does not match" msgstr " Parola eşleşmiyor" msgid "Already taken." msgstr "Zaten alınmış." msgid "Street Address" msgstr "Açık adres" msgid "Apt, Suite, Bldg. (optional)" msgstr "Daire, Süit, Kat. (isteğe bağlı)" msgid "State / Province / Region" msgstr "Eyalet / İl / Bölge" msgid "Postal / Zip Code" msgstr "Posta / Posta Kodu" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Resmi silmek için bu kutuyu işaretleyin. Profili kaydettiğinizde resim " "silinecektir." msgid "You will need to re-login since you changed your password." msgstr "Parolanızı değiştirdiğiniz için yeniden oturum açmanız gerekecek." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" "Lütfen herhangi iki haneyi girin Hayır boşluklar (Örnek: 12)" msgid "Verification" msgstr "Doğrulama" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Lütfen iki rakamı boşluk bırakmadan girin (Örnek: 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Kullanıcı adı yalnızca şunları içerebilir: harfler, sayılar ve .-*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "İzin verilen karakterler şunlardır: harfler, sayılar ve .-_*@" msgid "Please check at least one." msgstr "Lütfen en az birini kontrol edin." #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Bu içeriği görüntüleme izniniz yok." msgid "Your membership level does not have permission to view this content." msgstr "Üyelik seviyenizin bu içeriği görüntüleme izni yok." msgid "This content is for members only." msgstr "Bu içerik sadece üyeler içindir." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Üye Dizini" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Seviye" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adres" #: includes/swpm_mda_show_profile.php:48 msgid "Postcode" msgstr "Posta kodu" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Ara." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Aramayı Temizle" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Üyeliğinizi yükseltmek için giriş yapmalısınız." msgid "Membership level has been updated." msgstr "Üyelik seviyesi güncellendi." msgid "Already a member of this level." msgstr "Zaten bu seviyenin bir üyesi." languages/simple-membership-tr_TR.mo000064400000300321147206617610013532 0ustar00'T?2C.C4C"CD-DFD E EDE}\EEF2kGGN$HsH"HeHIN(IKwI&IIJ JB'J-jJ JiJ#K 3K+>KjK |KKKK69LpL LLL;LLM ,M:MIMbMwMMM MMVMR8NN N NNNNNNOO%O9OXOhO!pOOO OOOP1PPMP@Q[QrQ%Q2QQ RRsRRR#nSS6SST T )T3T MT[ToTuT TTTTTU&*UQUpUU)U'UU V V $V.V ?V MVZV kV V VV VVVcW~WW,WW W X XX/XHXKeXXX* Y5Y>Y CY PY-[Y9YYY%YZ Z%ZACZZZ /[9[?[G['[[[[0[[[\ 0\=\B\0\\\\\\\\\ ]](9]b]$r]]] ] ]]]]C^I^O^ `^n^"^"^^^ ^__)_1I_&{__ ____ ``0` M`"n`$``` ``a(a Cadazaa/aaab[{cYc[1ded=d1eqepfgwg~h?h?hai*}iiROjj#k3k*k-l+1l.]lJl4l. mB;m[~m&monmqnkngKo<oNoL?pJp@p>qFWq6q.qHrMrbr#r ss %s1s :sFs MsXs&tt u#u!>u`u~uuIuuv v$v=vPv%av'vvv+v v& w2w/w xx /x=xMxDPxmxsywyIzJzz {{${5{K{d{{|:|!}*}2}C}I}\}r} }}(}}}_}7~ZF~~ ~~`~93mt  'GNU f p} !ـ$ #"%Fl&ρ9 "Eh |4Ƃ 1+0ۃ @AЄ*=M^z&*$߅cfhwφ Gh+|Z  . hlj$0U[jsъ88 q|J+_-#   0QF*Í׍2((Qap ȎQLU]ch!oŏI9hϐ]< ͑ՑXL it ǒ ߒ: CPf/8  " BMbg1n`"c5<%֖ *<DRK **J _lƘܘ34ghiЙp:9? y3Λ$4Tje-4FL cqx$ם'3[zk! /%Msy  ϟݟ,L;g#֠"'8'Ks(ȡ ϡ ١  "9 N&o6c֢:Om# ̣֣Gnt7+;c"#¦(s.FCu!8ۨN'Svʩatv֪^MUBSIkGE5 {;yŰ;?W{ӱ=^# ۳JH ]jox7ƶ'4@#uθ6?FW ɹҹ (.;J [.1һ27˼V55پ 5B PP2Cv]hXt!0RdNF3h3I@[y>(hJsCw;<0)%.i:i/vIKg:8D?=a}*!*L e p ~%  &09jy/55e+ Al9C}i u5Eh]S'*B-mB+&tA 5*>Q5# = ^O* $8Pdu qj'   ' 2=Tfl#"'#&JKH75A6Ufx ($'4L*!!' ITn]s64&$[ >- &;Laq#  >(]  SWBO 8"G[2 *I2!|Ebio:&5 8Y t@ &B^ bn,< %0V^br!*S@H\)k'*%?&Q,x&! 9K^r65$;`, -=$9'^$I% $s.ZhpfN&eXuYi(1Vo153=i4=K7f/=f +s  <  P I K Ij c Y Br < < //P_ ]~' &3Z"vS # < I'W-0.FEB$Hm}r{\  $>< 4BQmu /yo 3@zUI (H] t !# .3 8D Y fs%!>  / (L u  )    !>!Y!x!!!:!!" "0"E"M"# #L#L $m$$$$$$2$G+%1s%%=&& ~''6''{(((())O*e*j* }*l** +6+?+O+V+"i+ +++++$,E3,y,,,,T-=m--"-<-1.N.].o..U.2. /2/6O/+/////0"040$F0k0a|0 00011$ 1)11"[1"~1#1#1Q1;;2w2)2222 3 3'3e?33$3 33 3j4~4 4)4%4455 15=5$V5${55555:586 N6\6r6{6@66666 7q89+9;9|S9R9.#:R: j:v:::=:;P;V;=[;.;; ;!; <!<9<X<r<< <<B<&=m=e>|>5 ?V?Fv???? @'@&B@%i@"@h@A9#A]AsA(zAAAAAAB$BCB)aBBBBByB)KCuC-CCCC CC CDD)*DTDtD*D DBDE10EbE;yE5EE5 F?FUF+gFFFFFFFF G G17G iG4vGrGH%4H ZH!{HH.H HH IIUJ K8K=K-L.ELtL&M;MTM4Na8N#N5N NbOqcOOnP QfQcRsRSL'SdtSSTwUTxUNUQVJnWWNTX}X!YY=Z[[![ 2[S[f[K|[[[[[\ #\/\+\\^a_`8`I`Ke`-`(`a!aO@a?aEa b7b =bHbNbebLzb]bL%c rccds&dddd@dB)ele ffK2g~gEGhh"h hhiWlj]j<"k_kW{k[k/lKlklm4mNmsmXbnn;oDoX,pwpqr8swt4uuvOwlwxx(Nywy*z*Cz7nzzJ'{;r{{S3|y|I}K}}~9~CN~|~ -18j %7GN _HkC( grI0dTh2MTa^w)Zksrj QB_WRt%b wh{;P'^N=5Q7&A\M0xSX ,  f&F2l<O $Z/k;S u+HWf.!3`l-~ e@X>cH]d {|-_CQ3D3u[x|McO9~v]u9qj@DzoC"\<L a8:$76)E**>}VIV6dfHz ,}#A"0@?=gK~4'y/`=[ 5{8) bb vYD"VsqgYiiNOo,mN!%/\+ tm'j4aJw_%UJc$1l:;v?E .!URxt?14*Ln6: Y&^2Wy}KP.i!sZ&e F1GzTy$Fh#>`Gnp#p Ip'nKeo(XU mJE"Gq[k-|(B5#8+LA ]% R r<9B7SP Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match Read this documentation to learn how to recreate them (if needed). Read the Success! The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currently editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains how to use this feautre. explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. of our documentation to learn more about creating membership payment buttons. of this plugin (useful if you want to offer paid memberships on the site). page to pay for a premium membership. to learn how to do it. to learn how to use it. to log in. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterA flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site.A prompt to complete registration email was also sent.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add New TransactionAdd a Transaction ManuallyAdd-onsAdditional SettingsAdditional Settings (Optional)Addons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Logout Redirect URLAfter Registration Redirect URLAfter how many cycles should billing stop. Leave this field empty (or enter 0) if you want the payment to continue until the subscription is canceled.AllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow HTML in EmailsAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountAmount to be charged on every billing cycle. If used with a trial period then this amount will be charged after the trial period is over. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Apostrophe character is not allowedApt, Suite, Bldg. (optional)Are you sure that you want to cancel the subscription?Assign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlacklist Message CustomizationBlacklistingBlacklisting & WhitelistingBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton ColorButton HeightButton IDButton Image URLButton LayoutButton ShapeButton ShortcodeButton Style Settings (Optional)Button TitleButton TypeButton Type/LabelButton WidthBuy NowBy default, funding source eligibility is smartly decided based on a variety of factors. You can force disable funding options by selecting them here.Can't find member account.Cancel SubscriptionCannot find member account.Captcha validation failed on the login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check the membership levels that should have access to that page's content.Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CheckoutCityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameConfigure Blacklisting & WhitelistingConfigure the PayPal API credentials for the new PayPal checkout.Confirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate Live WebhookCreate Member Accounts for New WP UsersCreate New ButtonCreate Sandbox WebhookCreate a brand new user and add it to this site.Create new membership level.Credit or debit cardsCustom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDelete WebhooksDescriptionDisable Access to WP DashboardDisable Email Notification After UpgradeDisable FundingDo you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEdit the Post or Page that you want to protect in WordPress editor.EmailEmail ActivationEmail AddressEmail Address BlacklistingEmail Address Pattern BlacklistingEmail Address Pattern WhitelistingEmail Address WhitelistingEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty data received.Empty payment data received.Empty transaction data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable Automatic TaxEnable Blacklisting FeatureEnable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Password Reset Using LinkEnable Privacy PolicyEnable Sandbox or Test ModeEnable Terms and ConditionsEnable Toggle Password Visibility in Login FormEnable Whitelisting FeatureEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter a list (comma separated) of email addresses pattern to blacklist. Example value: @baddomain.com, @crazydomain.comEnter a list (comma separated) of email addresses pattern to whitelist. Example value: @gooddomain.com, @gmail.com, @yahoo.comEnter a list (comma separated) of email addresses to blacklist.Enter a list (comma separated) of email addresses to whitelist.Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Enter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the message you want to show to the user when the blacklisted condition is met. Leave it empty to use the default message.Enter the message you want to show to the user when the whitelisted condition is met. Leave it empty to use the default message.Enter the subject for the admin notification email.Enter your PayPal Client ID for live mode.Enter your PayPal Client ID for sandbox mode.Enter your PayPal Secret Key for live mode.Enter your PayPal Secret Key for sandbox mode.Error occured during payment verification. Error code: %1$d. Message: %2$sError occurred during PayPal Smart Checkout process.Error occurred during PayPal checkout process.Error! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Invalid password reset request.Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again.Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again.Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again.Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Password fields do not match. Please try again.Error! Please select a membership level first.Error! The password reset key is invalid. Please generate a new request.Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry DateExpiry: Extra LargeFemaleFirst NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate Registration Completion LinkGenerate a Registration Completion linkGo back to the home page by GoldHTTP error occurred during payment process:Hide AdminbarHide Registration Form to Logged UsersHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).Hit the Update/Save Button to save the changes.HorizontalHow to Apply Content ProtectionI accept the I agree to the IDIPN product validation failed. Check the debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If enabled, the member's decryptable password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have issues with the webhooks, you can delete it and create again.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelInvalid or Missing API Credentials! Check the plugin settings and enter valid API credentials in the PayPal Credentials section for %s mode.Invalid webhook URL.It is useful to use a thank you page in your payment button configuration. Read this documentation to learn more.It will also delete the associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Client IDLive PayPal API credentials are not set. Please set the Live PayPal API credentials first.Live Publishable KeyLive SecretLive Secret KeyLive Webhook exists. If you still have issues with webhooks, you can delete it and create again.Live mode credentials are not set. Cannot create webhook.Log InLogged Out Successfully.Logged in asLogged in as: Login HereLogin Page URLLogoutLogout Member on Browser CloseMaleManage Content ProtectionManage Payment ButtonsManual transaction added successfully. MediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew passwordNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No active subscriptionsNo category found.No items found.No member found.No membership levels found.No token provided.No user found with that email address.No user found with that username or email.No webhook found. Nothing to delete.No webhook found. Use the following Create Live Webhook link to create a new webhook automatically.No webhook found. Use the following Create Sandbox Webhook link to create a new webhook automatically.No webhook found. Use the following Create Webhook button to create a new webhook automatically in your PayPal account.No, Do not protect this content.Nonce check failed.Nonce check failed. Please reload the page.Nonce check failed. The page was most likely cached. Please reload the page and try again.Not SpecifiedNot a Member?Not a member? Note that the PayPal subscription API requires your site to use HTTPS URLs. You must use an SSL certificate with HTTPS URLs to complete the setup of the subscription addon and use it.Note:Note: You cannot enable both the "Disable Access to WP Dashboard" and "Admin Dashboard Access Permission" options at the same time. Only use one of those options.Notify UserOROptional DetailsOptional Pages SettingsOptional page. It is automatically created by the plugin when you install the plugin for the first time.Page Setup and URL Related settings.PagesPages SettingsPasswordPassword ResetPassword Reset Page URLPassword Reset Successful. Password empty or invalid.Password field cannot be empty.Password is requiredPassword mismatchPassword must contain at least:Password reset link has been sent to your email address.Password: PayPayPalPayPal API Credential information is missing in settings. Please enter valid PayPal API Credentials in the General Settings tab for %s mode.PayPal API credentials are missing. Please set the PayPal API credentials.PayPal Billing Plan Details for This ButtonPayPal Buy NowPayPal Buy Now (New API)PayPal Buy Now (New API) Button ConfigurationPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription (New API)PayPal Subscription (New API) Button ConfigurationPayPal Subscription Button ConfigurationPayPal WebhooksPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment DetailsPayment MethodsPayment Notification Forward URLPayment SettingsPayment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s.PaymentsPendingPhonePillPleasePlease %s if you like the plugin.Please Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostcodePostsPre-fill Member Email AddressPre-fills the email address of the logged-in member on the Stripe checkout form when possiblePrivacy PolicyPrivacy Policy Page URLPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRe-enter new passwordRead the Read this documentationRectangularRecurring Billing AmountRecurring Billing CycleRecurring Billing Cycle CountRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReset debug log files by clicking Return URLRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user roles to access the SWPM admin dashboard by selecting a value here. Note that this option cannot work if you enabled the "Disable Access to WP Dashboard" option in General Settings.Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal API credentials first.Sandbox Client IDSandbox SecretSandbox Secret KeySandbox Webhook exists. If you still have issues with webhooks, you can delete it and create again.Sandbox mode credentials are not set. Cannot create webhook.Sandbox or Test Mode Payment SettingsSave ChangesSave DataSave Membership Level Save Payment DataSave Transaction DataScroll down to the section titled 'Simple WP Membership Protection'.SearchSearch for a transaction by using email, name, transaction ID or Subscr ID.Search...Security check: captcha validation failed.Select 'Yes, Protect this content' option.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button height.Select button layout.Select button shape.Select button size.Select button type/label.Select button width.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSet the interval of the recurring payment. Example value: 1 Month (if you want to charge every month)SettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminShow passwordSilverSimple Membership Plugin SiteSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSimple WordPress MembershipSizeSmallSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the Access Starts date value.StateState / Province / RegionStatusStatus/NoteStreetStreet AddressStrength indicatorStripe API IDStripe API Live publishable keyStripe API Live secret keyStripe API SettingsStripe API Test publishable keyStripe API Test secret keyStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe Global SettingsStripe Legacy Buy Now (deprecated)Stripe Legacy Subscription (deprecated)Stripe SCA Buy NowStripe SCA Buy Now Button ConfigurationStripe SCA SubscriptionStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribeSubscribe NowSubscriber IDSubscriber ID/ReferenceSubscription Plan IDSubscription Plan ModeSubscription createdSubscription has been cancelled.Subscription/Recurring Billing DetailsSuccess!Success! Your account has been activated successfully.Take the following steps to apply protection to your content so only members can have access to it.Terms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.Thank YouThank You Page URLThe PayPal payment buttons that uses the new API require webhooks. The plugin will auto-create the required webhooks when you create a PayPal payment button.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The email address you used is blacklisted on this site.The email address you used is not whitelisted on this site.The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This blacklisting & whitelisting documentationThis content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis interface contains useful tools for various admin operations.This interface lets you configure blacklisting & whitelisting for email addresses. This interface lets you customize the various emails that get sent to your members for various actions. The default settings should be good to get your started.This is calculated based on the current membership level assigned to this member and the expiry condition that you have set for that membership level.This is the member's account status. If you want to manually activate an expired member's account then readThis page allows you to configure some advanced features of the plugin.This section allows you to configure Stripe payment related settings.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure blacklisting settings.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This section allows you to configure whitelisting settings.This section allows you to enable/disable sandbox or test mode for the payment buttons.This unique registration link (see the URL in the browser's address bar) has already been used. You don't need to create another account. Log into the existing account to access the protected content.This unique registration link (see the URL in the browser's address bar) is invalid. Could not find a match for the given member ID and the security code. Please contact the site administrator.This value gets updated when this member logs into your site.TitleToolsTransaction IDTransaction completed successfully!TransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTrial PeriodTypeType password hereUnsubscribe from PayPalUpdateUse API keys from Payment Settings tab.Use Global API Keys SettingsUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to hide the registration form to the logged-in members. If logged-in members visit the registration page, they will see a message instead of the registration form.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername field cannot be empty.Username is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVenmoVerificationVerticalView DocumentationView ProfileView general debug log file by clicking View login related debug log file by clicking Visit the %s to read setup and configuration documentation.WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Webhook Endpoint URLWebhook exists. If you still have issues with webhooks, you can delete it and create again.Webhook has been created.Webhook has been deleted.Webook Endpoint URLWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled.When enabled, blacklisting feature will be activated.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.When enabled, whitelisting feature will be activated.WhiteWhitelist Message CustomizationWhitelistingWordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will prevent any non-admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But the given username doesn't match.Wordpress account exists with given username. But the given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are already logged in. You don't need to create another account. So the registration form is hidden.You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can add a new transaction record manually using this interface. It can be useful if you manually accept cash payment for your memberships.You can also use payment buttons from the following plugins to accept payments for your memberships.You can create a new payment button for your memberships using this interface.You can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enable this option if you want to handle the password reset functionality using a reset link that is emailed to the member. Read this documentation to learn more about the password reset function.You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to be logged in to view the rest of the content. You need to be logged in to view this content. You need to confirm your email address. Please check your email and follow instructions to complete your registration.You will be automatically redirected in a few seconds. If not, please %s.You will be redirected to the previous page in a few seconds. If not, please click here.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herecontent protection documentationgive us a ratingherehttps://simple-membership-plugin.com/incompletemembership payment sectionpayments menurenewsmp7, wp.insiderthis documentationto learn how to get your PayPal API credentials.to learn more.Project-Id-Version: Simple WordPress Membership PO-Revision-Date: 2023-03-08 22:52+0300 Last-Translator: Language-Team: Language: tr_TR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.2.2 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: simple-wp-membership.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js E-Posta Ayarları (Hesap Yükseltme Bildirimi) E-Posta Ayarları (Toplu Hesap Aktivasyon Bildirimi) E-Posta Ayarları (E-Posta Etkinleştirme) Alanda geçersiz karakter var Parola eşleşmiyor Oku bu belgeler onları nasıl yeniden yaratacağınızı öğrenmek (gerekirse). Oku Başarı! Üyelik seviyeniz için içeriğin geri kalanına izin verilmez. Bu, bir sorunu giderirken faydalı olabilir. Sorun giderme tamamlandıktan sonra kapatın ve günlük dosyalarını sıfırlayın. Kaydı tamamlamak için farklı bir e-posta adresi kullanın. Bu e-postayı kullanmak istiyorsanız, o hesaba bağlanmak için mevcut WP kullanıcısıyla ilişkili doğru kullanıcı adını girmelisiniz. Kaydı tamamlamak için farklı bir kullanıcı adı kullanın! Bu kullanıcı adını kullanmak istiyorsanız, o hesaba bağlanmak için mevcut WP kullanıcısıyla ilişkili doğru e-posta adresini girmelisiniz. Şu anda üye kimliğine sahip üyeyi düzenliyorsunuz: Bildirimi birden çok E-Posta adresine göndermek için yukarıdaki alana virgülle (,) ayırarak birden çok E-Posta adresi girebilirsiniz. Bu E-Postada E-Posta birleştirme etiketleri kullanamazsınız. Yalnızca genel metin kullanabilirsiniz. gerekli karakterler bu özelliğin nasıl kullanılacağını açıklar. özelleştirmek için (isterseniz) E-Posta gövde alanında hangi E-Posta birleştirme etiketlerini kullanabileceğinizi açıklar. tam açıklaması var. Üyelik ödeme düğmeleri oluşturma hakkında daha fazla bilgi edinmek için belgelerimizi inceleyin. bu eklentinin (sitede ücretli üyelikler sunmak istiyorsanız kullanışlıdır). premium üyelik için ödeme sayfası. nasıl yapılacağını öğrenmek için. Nasıl kullanılacağını öğrenmek için. giriş yapın. Bu tarayıcıda oturum açmış olduğunuz profili görmek için. Bu içeriğe erişmek için hesabınızı.(Erişim sabit bir tarihte sona erer.)(NOT: güvenlik için, yönetici rolüyle ilişkili herhangi bir WordPress hesabının silinmesine izin vermiyoruz).(Lütfen seçin)(gerekli)(iki kez, eski şifreyi korumak için boş bırakın)(iki kez, gerekli)- rakam (1-2-3)- küçük harf (a)- büyük harf (A)WordPress sitenizden ücretsiz ve premium içerik sunmak için esnek, iyi desteklenen ve kullanımı kolay bir WordPress üyelik eklentisi.Kayıt E-Postasını tamamlama istemi de gönderildi.Erişim SüresiErişim BaşlangıçlarıErişim Geçerlilik Süresi/SonuErişim süresi > 0 olmalıdır.Erişim başlangıç ​​tarihi değiştirme işlemi başarıyla tamamlandı.Erişim başlangıçları alanı geçersizHesap Sona ErmeHesap DurumuHesap DurumuHesap zaten aktif. Hesabın süresi doldu.Hesap etkin değil.Hesap beklemede.Hesap durumu alanı geçersizEylem DurumuAktivasyon gerekiyorAktivasyon kodu uyuşmazlığı. Bu hesap etkinleştirilemiyor. Lütfen site yöneticisi ile iletişime geçiniz.Etkinleştirme E-Postası gönderildi. Lütfen E-Postanızı kontrol edin ve hesabınızı etkinleştirin.AktifSeviye EkleÜye EkleÜyelik Düzeyi EkleYeni EkleYeni Üye Ekle Yeni Üyelik Düzeyi Ekle Yeni İşlem EkleManuel Olarak İşlem EklemeEklentilerEk ayarlarEk Ayarlar (Opsiyonel)Eklenti AyarlarıAdresYönetici Panosu Erişim İzniYönetici E-Posta AdresiYönetici Bildirim E-Posta GövdesiYönetici Bildirimi E-Posta KonusuGelişmiş AyarlarÇıkış Yönlendirme URL'sinden SonraKayıttan Sonra Yönlendirme URL'siFaturalama kaç döngüden sonra durmalıdır? Abonelik iptal edilene kadar ödemenin devam etmesini istiyorsanız bu alanı boş bırakın (veya 0 girin).TümEklentide oluşturduğunuz tüm üyelik düğmeleri burada görüntülenir.Üyelerinizin tüm ödemeleri/işlemleri burada kayıt altına alınır.Hesabın Silinmesine İzin VerE-Postalarda HTML'ye İzin VerKullanıcıların hesaplarını silmesine izin verin.İzin verilen karakterler şunlardır: harfler, sayılar ve .-_*@Zaten bu seviyenin bir üyesi.Zaten alınmışZaten alınmış.Alternatif olarak, üyelik girişini test etmek için (Yönetici olarak giriş yapmadığınız) farklı bir tarayıcı kullanabilirsiniz.TutarHer faturalandırma döngüsünde tahsil edilecek tutar. Deneme süresi ile kullanılması halinde, deneme süresi sona erdikten sonra bu tutar tahsil edilecektir. Örnek değerler: 9,90 veya 25,00 veya 299,90 vb (para birimi simgesi girmeyin).Kesme işareti karakterine izin verilmezDaire, Süit, Kat. (isteğe bağlı)Aboneliği iptal etmek istediğinizden emin misiniz?Ücretsiz üyelik düzeyi kimliği atayınYazarBekleyen Hesabı Otomatik SilMevcutHer Döngüde Fatura TutarıFatura döngüsüFatura Döngüsü SayısıSiyahKara Liste Mesajı ÖzelleştirmeKara listeKara Liste ve Beyaz ListeMaviBraintree API anahtarı ve hesap ayrıntıları. Bunu Braintree hesabınızdan alabilirsiniz.Braintree'yi Şimdi Satın AlBraintree Şimdi Satın Al Düğmesi YapılandırmasıToplu Değişiklik Erişim Başlangıç ​​TarihiToplu Üyelik Düzeyini DeğiştirmeToplu İşlemToplu Güncelleme Erişimi Üyelerin Başlangıç ​​TarihiÜyelerin Toplu Üyelik Düzeyini GüncellemeDüğme Görünüm AyarlarıDüğme rengiDüğme YüksekliğiDüğme kimliğiDüğme Resmi URL'siDüğme DüzeniDüğme ŞekliDüğme Kısa KoduDüğme Stili Ayarları (Opsiyonel)Düğme BaşlığıDüğme TipiDüğme Tipi/EtiketDüğme GenişliğiŞimdi AlVarsayılan olarak, finansman kaynağı uygunluğuna çeşitli faktörlere dayalı olarak akıllıca karar verilir. Finansman seçeneklerini burada seçerek devre dışı bırakmaya zorlayabilirsiniz.Üye hesabı bulunamıyor.Aboneliği İptal EtÜye hesabı bulunamıyor.Oturum açma formunda Captcha doğrulaması başarısız oldu.CAPTCHA doğrulaması başarısız oldu.KategorilerKategori IDKategori AdıKategori KorumasıKategori TipiKategori koruması güncellendi!O sayfanın içeriğine erişimi olması gereken üyelik düzeylerini kontrol edin.Resmi silmek için bu kutuyu işaretleyin. Profili kaydettiğinizde resim silinecektir.Hata ayıklama günlüğünü etkinleştirmek için bu seçeneği işaretleyin.Çıkış yapŞehirAramayı TemizleBuraya tıklayınÜcretli kaydınızı tamamlamak için buraya tıklayınKayıt işlemini tamamlamak için aşağıdaki bağlantıya tıklayın.Müşteri Adresini ToplaRenkÜye olmayanların yorum yapmasına izin verilmez.ŞirketFirma AdıKara Liste ve Beyaz Listeyi YapılandırmaYeni PayPal ödemesi için PayPal API kimlik bilgilerini yapılandırın.Hesap Silme İşlemini OnaylayınSite yöneticisiyle iletişime geçin ve hesabınızın kullanıcı girişiyle ilgili ne olduğunu öğrenmek için kullanıcı adınızı kontrol etmelerini isteyin.Devam etmek istiyor musunuz?SaymakÜlkeCanlı Web Kancası OluşturYeni WP Kullanıcıları İçin Üye Hesapları OluşturunYeni Buton OluşturKorumalı Alan Web Kancası OluşturmaYeni bir kullanıcı oluşturun ve bu siteye ekleyin.Yeni üyelik düzeyi oluşturun.Kredi veya banka kartlarıÖzel Ödeme Sayfası Logo ResmiÖzel GönderilerTarihTarih biçimi geçerli değil.Günler (Erişim, belirtilen gün sayısından sonra sona erer.)Varsayılan Hesap DurumuVarsayılan Üyelik DüzeyiVarsayılan WordPress RolüSilHesabı silKullanıcı Profilini SilWeb Kancalarını SilTanımWP Dashboard'a Erişimi Devre Dışı BırakYükseltmeden Sonra E-Posta Bildirimini Devre Dışı BırakFinansmanı Devre Dışı BırakBu içeriği korumak istiyor musunuz?E-PostaELVÜyeyi DüzenleProfili DüzenleProfil Sayfası URL'sini DüzenleMevcut üye ayrıntılarını düzenleyin.Üyelik seviyesini düzenleKorumak istediğiniz Gönderiyi veya Sayfayı WordPress düzenleyicide düzenleyin.E-PostaE-Posta AktivasyonuE-Posta AdresiE-Posta Adresinin Kara Listeye AlınmasıE-Posta Adresi Modeli Kara Listeye AlmaE-posta Adresi Kalıbı Beyaz Listeye AlmaE-Posta Adresi Beyaz ListeE-posta Adresi: E-Posta GövdesiE-Posta Çeşitli AyarlarE-Posta AyarlarıE-Posta Ayarları (Şifre Sıfırlama)E-Posta Ayarları (Kaydı Tamamlama İstemi)E-Posta Ayarları (Kayıt Tamamlandı)E-Posta Ayarlarına Genel BakışE-Posta konuE-posta adresi geçerli değil.E-posta zaten kullanılmış.E-posta geçersizE-posta gereklidirBoş veri alındı.Boş ödeme verileri alındı.Boş işlem verileri alındı.Üye Hesaplarını Otomatik Oluşturmayı EtkinleştirKayıttan Sonra Otomatik Oturum Açmayı EtkinleştirOtomatik Vergiyi EtkinleştirKara Liste Özelliğini EtkinleştirHata Ayıklamayı EtkinleştirSüresi Dolmuş Hesap Girişini EtkinleştirÜcretsiz Üyeliği EtkinleştirDaha Fazla Etiket Korumasını EtkinleştirinBağlantıyı Kullanarak Parola Sıfırlamayı EtkinleştirinGizlilik Politikasını EtkinleştirSandbox veya Test Modunu EtkinleştirinŞartlar ve Koşulları EtkinleştirOturum Açma Formunda Geçiş Parolası Görünürlüğünü EtkinleştirBeyaz Liste Özelliğini EtkinleştirE-Posta yoluyla yeni kullanıcı aktivasyonunu etkinleştirin. Etkinleştirildiğinde, üyelerin hesabı etkinleştirmek için E-Posta adreslerine gönderilen bir etkinleştirme bağlantısına tıklamaları gerekecektir. Ücretsiz üyelik için kullanışlıdır.E-Posta yoluyla yeni kullanıcı aktivasyonunu etkinleştirin. Etkinleştirildiğinde, üyelerin hesabı etkinleştirmek için E-Posta adreslerine gönderilen bir etkinleştirme bağlantısına tıklamaları gerekecektir. Ücretsiz üyelik için kullanışlıdır. Kullanıcıların hesapları için güçlü bir parola kullanmaya zorlanmasını istiyorsanız bunu etkinleştirin.Yalnızca site üyelerinin yorum yazabilmesini istiyorsanız bu seçeneği etkinleştirin.Bir üye kaydolduğunda yöneticinin bir bildirim almasını istiyorsanız bu seçeneği etkinleştirin.Üyenin tarayıcıyı kapattığında hesaptan çıkış yapmasını istiyorsanız bu seçeneği etkinleştirin.Korumalı alan ödeme testi yapmak istiyorsanız bu seçeneği etkinleştirin.Üye girişini WP kullanıcı hesabıyla senkronize olmaya zorlamak istiyorsanız bu seçeneği etkinleştirin. Bu, WP kullanıcı kayıtlarını kullanan başka bir eklenti kullanıyorsanız faydalı olabilir. Örneğin: bbPress eklentisi.Başka bir eklenti tarafından oluşturulan herhangi bir yeni WP kullanıcısı için otomatik olarak üye hesapları oluşturmak için bu seçeneği etkinleştirin.Ücretsiz üyelik düzeyi için kaydı etkinleştirin/devre dışı bırakın. Bu seçeneği etkinleştirdiğinizde, aşağıdaki alanda ücretsiz bir üyelik düzeyi kimliği belirttiğinizden emin olun.Gönderilerde ve sayfalarda "daha fazla" etiket korumasını etkinleştirir veya devre dışı bırakır. Daha fazla etiketinden sonraki her şey korunur. Daha fazla etiketinden önceki her şey tanıtım içeriğidir.Kara listeye alınacak E-Posta adreslerinin bir listesini (virgülle ayrılmış) girin. Örneğin; @baddomain.com, @crazydomain.comBeyaz listeye eklenecek E-Posta adreslerinin bir listesini (virgülle ayrılmış) girin. Örneğin: @emsalara.com, @gmail.com, @yahoo.comKara listeye alınacak E-Posta adreslerinin bir listesini (virgülle ayrılmış) girin.Beyaz listeye eklenecek E-Posta adreslerinin bir listesini (virgülle ayrılmış) girin.Ödeme tutarını girin. Örnek değerler: 9,90 veya 25,00 veya 299,90 vb (para birimi simgesi girmeyin).Gizlilik politikası sayfanızın URL'sini girin.Şartlar ve koşullar sayfanızın URL'sini girin. Bir WordPress sayfası oluşturabilir ve orada terimlerinizi belirtebilir, ardından yukarıdaki alanda o sayfanın URL'sini belirtebilirsiniz.Yönetici bildirim E-Postasının gönderilmesini istediğiniz E-Posta adresini girin.Kara liste koşulu karşılandığında kullanıcıya göstermek istediğiniz mesajı girin. Varsayılan mesajı kullanmak için boş bırakın.Beyaz liste koşulu karşılandığında kullanıcıya göstermek istediğiniz mesajı girin. Varsayılan mesajı kullanmak için boş bırakın.Yönetici bildirim E-Postası için konuyu girin.Canlı mod için PayPal Müşteri Kimliğinizi girin.Korumalı alan modu için PayPal İstemci Kimliğinizi girin.Canlı mod için PayPal Gizli Anahtarınızı girin.Korumalı alan modu için PayPal Gizli Anahtarınızı girin.Ödeme doğrulaması sırasında hata oluştu. Hata kodu: %1$d. Mesaj: %2$sPayPal Smart Checkout işlemi sırasında hata oluştu.PayPal ödeme işlemi sırasında hata oluştu.Hata! Belirtilen şablon için bir şablon yolu bulunamadı: Hata! Geçersiz istek. Verilen güvenlik kodu ve kullanıcı kimliği için bir eşleşme bulunamadı.Hata! Geçersiz parola sıfırlama isteği.Hata! Toplu Erişim Başlangıç ​​Tarihini Değiştir eylemi için güvenlik doğrulaması başarısız oldu. Önbelleği temizleyin ve tekrar deneyin.Hata! Güvenlik doğrulaması, Toplu Üyelik Düzeyini Değiştirme eylemi için başarısız oldu. Önbelleği temizleyin ve tekrar deneyin.Hata! Kategori Koruma Güncellemesi eylemi için güvenlik doğrulaması başarısız oldu. Önbelleği temizleyin ve tekrar deneyin.Hata! Koruma Sonrası Güncelleme eylemi için güvenlik doğrulaması başarısız oldu. Önbelleği temizleyin ve tekrar deneyin.Hata! Kullanıcı profil düzenlemesi için doğrulama başarısız oldu.Hata! Yönetici üyelik düzeyi oluşturma doğrulaması başarısız oldu.Hata! Yönetici üyelik düzeyi silme için doğrulama başarısız oldu.Hata! Yönetici tarafından üyelik düzeyinde düzenleme için zaman doğrulama başarısız oldu.Hata! Kullanıcının yönetici tarafından silinmesi için doğrulama başarısız oldu.Hata! Kullanıcı düzenlemesi için doğrulama başarısız oldu.Hata! Kullanıcı kaydı için doğrulama başarısız oldu.Hata! Parola alanları eşleşmiyor. Lütfen tekrar deneyin.Hata! Lütfen önce bir üyelik düzeyi seçin.Hata! Parola sıfırlama anahtarı geçersiz. Lütfen yeni bir istek oluşturun.Hata! Bu hareket (Hata! Bu site, ayarlarda zorunlu kullanıcı girişi özelliğini etkinleştirmiştir. Verilen kullanıcı adı için bir kullanıcı kaydı bulamadık: Örnek İçerik Koruma AyarlarıŞu tarihten sonra sona eriyorGünü geçmişSon kullanma tarihiSon kullanma tarihi: Ekstra büyükKadınAdınızHer şeyden önce, aşağıdaki açılır kutudan "Genel Koruma"yı seçerek sitenizdeki gönderileri ve sayfaları küresel olarak koruyun ve ardından oturum açmamış kullanıcılardan korunması gereken gönderileri ve sayfaları seçin.Öncelikle aşağıdaki açılır kutudan "Genel Koruma" seçeneğini seçerek sitenizdeki kategoriyi global olarak koruyun ve ardından oturum açmamış kullanıcılardan korunması gereken kategorileri seçin.Sabit Tarih SonuTüm Eksik Kayıtlar İçinBelirli bir Üye Kimliği içinÜyeler İçin Güçlü Parolayı ZorlaWP Kullanıcı Senkronizasyonunu ZorlaParolanızı mı unuttunuz?Ücretsiz Üyelik Düzeyi KimliğiBu sitede ücretsiz üyelik devre dışıdır. Lütfen şu adresten ödeme yapın: E-Posta adresindenCinsiyetCinsiyet alanı geçersizGenel Eklenti Ayarları.Genel KorumaGenel AyarlarKayıt Tamamlama Bağlantısı OluşturBir Kayıt Tamamlama bağlantısı oluşturunAna sayfaya geri dön AltınÖdeme işlemi sırasında HTTP hatası oluştu:Yönetici Çubuğunu GizleKayıt Formunu Kayıtlı Kullanıcılara Gizleİpucu: Parola en az yedi karakter uzunluğunda olmalıdır. Daha güçlü hale getirmek için büyük ve küçük harfler, sayılar ve " ? $ % ^ gibi semboller kullanın! & ).Değişiklikleri kaydetmek için Güncelle/Kaydet Düğmesine basın.Yatayİçerik Koruması Nasıl UygulanırKabul ediyorum I agree to the IDIPN ürün doğrulaması başarısız oldu. Daha fazla ayrıntı için hata ayıklama günlüğünü kontrol edin.Etkinleştirilirse, şifresi çözülebilir üye parolası, hesap etkinleştirilene kadar veri tabanında geçici olarak saklanır.Etkinleştirilirse, üyenin şifresi çözülebilir, hesap etkinleştirilene kadar geçici olarak veritabanında saklanır.Bu eklentinin yükleme sırasında oluşturduğu gerekli sayfaları yanlışlıkla sildiyseniz, yeniden oluşturmak için bu seçeneği kullanabilirsiniz.Web kancalarıyla ilgili sorunlarınız varsa, onu silebilir ve yeniden oluşturabilirsiniz.Üyelik ödemesi yaptıysanız, ödemeniz henüz işleme alınmamıştır. Lütfen bir kaç dakika sonra tekrar kontrol ediniz. Kısa süre içinde ayrıntıları içeren bir E-Posta gönderilecektir.Etkin değilEksikGeçersiz E-Posta adresiGeçersiz kullanıcı adıGeçersiz E-Posta adresiGeçersiz üyelik düzeyiGeçersiz veya Eksik API Kimlik Bilgileri! Eklenti ayarlarını kontrol edin ve %s modu için PayPal Kimlik Bilgileri bölümüne geçerli API kimlik bilgilerini girin.Geçersiz web kancası URL'si.Ödeme butonu yapılandırmanızda bir teşekkür sayfası kullanmanızda fayda var. Oku bu belgeler daha fazla öğrenmek için.Ayrıca ilişkili WordPress kullanıcı hesabını da siler.Şimdi KatılBize katılınBize Katılın Sayfa URL'siBüyükSon Erişim TarihiSon Erişim IP'denSon Giriş TarihiSoyadınızDüzenGeçerli parolayı korumak için boş bırakınSeviyeDeğiştirilecek Düzey: Bağlantı(lar) başarıyla oluşturuldu. Kayıt işlemini tamamlamak için aşağıdaki bağlantı(lar) kullanılabilir.Canlı İstemci KimliğiCanlı PayPal API kimlik bilgileri ayarlanmadı. Lütfen önce Canlı PayPal API kimlik bilgilerini ayarlayın.Canlı Yayınlanabilir AnahtarGizli CanlıCanlı Gizli AnahtarCanlı Web kancası var. Hala web kancalarıyla ilgili sorunlarınız varsa, onu silebilir ve yeniden oluşturabilirsiniz.Canlı mod kimlik bilgileri ayarlanmadı. Web kancası oluşturulamıyor.Giriş YapınOturum Başarıyla Kapatıldı.Olarak giriş yaptıOlarak giriş yaptı: Giriş yapınGiriş Sayfası URL'siÇıkış YapTarayıcıda Üye Oturumunu KapatErkekİçerik Korumasını YönetinÖdeme Düğmelerini YönetManuel işlem başarıyla eklendi. OrtaÜyeÜye DiziniKullanıcı KimliğiÜye GirişiÜye ProfiliTarihinden beri üyeÜye kaydı başarıyla oluşturuldu.Alan geçersiz olduğu için üyeÜyelerÜyelerin Yorum Yapabilmeleri İçin Oturum Açmaları GerekirÜyelikÜyelik DüzeyiÜyelik Düzeyi bulunamadı.Üyelik Seviyesi Oluşturma Başarılı.Üyelik Seviye KimliğiÜyelik Düzeyi AdıÜyelik Düzeyi Başarıyla Güncellendi.Üyelik Düzeyi:Üyelik Düzeyi: Üyelik DüzeyleriÜyelik Yenileme URL'siÜyelik seviyesi değiştirme işlemi başarıyla tamamlandı.Üyelik seviyesi güncellendi.Tüccar hesap kimliğiTüccar kimliğiEn az Aylar (Erişim, belirtilen sayıda aydan sonra sona erer.)Ad geçersiz karakter içeriyorAslaNew passwordE-posta adresinize yeni şifre gönderilmiştir.SonrakiArdından, aşağıdaki açılır kutudan mevcut bir üyelik düzeyi seçin ve ardından erişim izni vermek istediğiniz gönderileri ve sayfaları seçin (söz konusu üyelik düzeyi için).Ardından, aşağıdaki açılır kutudan mevcut bir üyelik seviyesini seçin ve ardından erişim izni vermek istediğiniz kategorileri seçin (söz konusu üyelik seviyesi için).Sona Erme YokSüre Sonu Yok (Bu seviyeye erişim, iptal edilene kadar sona ermeyecektir.)Süre Sonu Yok (Bu seviyeye erişim, iptal edilene kadar sona ermeyecektir.)Aktif Abonelik YokKategori bulunamadı.Hiçbir öğe bulunamadı.Üye bulunamadı.Üyelik düzeyi bulunamadı.Belirteç sağlanmadı.Bu E-Posta adresine sahip kullanıcı bulunamadı.Bu kullanıcı adına veya e-postaya sahip bir kullanıcı bulunamadı.Web kancası bulunamadı. Silinecek bir şey yok.Web kancası bulunamadı. Otomatik olarak yeni bir web kancası oluşturmak için aşağıdaki Canlı Web Kancası Oluştur bağlantısını kullanın.Web kancası bulunamadı. Otomatik olarak yeni bir web kancası oluşturmak için aşağıdaki Korumalı Alan Web Kancası Oluştur bağlantısını kullanın.Web kancası bulunamadı. PayPal hesabınızda otomatik olarak yeni bir web kancası oluşturmak için aşağıdaki Web kancası oluştur düğmesini kullanın.Hayır, bu içeriği korumayın.Kontrol başarısız oldu.Kontrol başarısız oldu. Lütfen sayfayı yenileyin.Hiçbir kontrol başarısız oldu. Sayfa büyük olasılıkla önbelleğe alındı. Lütfen sayfayı yeniden yükleyin ve tekrar deneyin.BelirtilmemişÜye değil misiniz?Üye değil misiniz? PayPal abonelik API'sinin sitenizin HTTPS URL'lerini kullanmasını gerektirdiğini unutmayın. Abonelik eklentisinin kurulumunu tamamlamak ve kullanmak için HTTPS URL'lerine sahip bir SSL sertifikası kullanmalısınız.Not:Not: "WP Dashboard'a Erişimi Devre Dışı Bırak" ve "Admin Dashboard Erişim İzni" seçeneklerini aynı anda etkinleştiremezsiniz. Bu seçeneklerden yalnızca birini kullanın.Kullanıcıyı BildirveyaOpsiyonel Detaylarİsteğe Bağlı Sayfa Ayarlarıİsteğe bağlı sayfa. Eklentiyi ilk kez yüklediğinizde eklenti tarafından otomatik olarak oluşturulur.Sayfa Yapısı ve URL ile İlgili ayarlar.SayfalarSayfa AyarlarıŞifreParola sıfırlamaParola Sıfırlama Sayfası URL'siParola Sıfırlama Başarılı. Şifre boş veya geçersiz.Şifre alanı boş geçilemez.Şifre gereklidirŞifre eşleşmiyorParola en az şunları içermelidir:Şifre sıfırlama bağlantısı e-posta adresinize gönderilmiştir.Şifre: ÖdePayPalAyarlarda PayPal API Kimlik bilgileri eksik. Lütfen %s modu için Genel Ayarlar sekmesinde geçerli PayPal API Kimlik Bilgilerini girin.PayPal API kimlik bilgileri eksik. Lütfen PayPal API kimlik bilgilerini ayarlayın.Bu Düğme için PayPal Faturalandırma Planı AyrıntılarıŞimdi Satın AlPayPal Şimdi Satın Al (Yeni API)PayPal Şimdi Satın Al (Yeni API) Düğme YapılandırmasıPayPal Şimdi Satın Al Düğme YapılandırmasıPayPal KredisiPayPal E-PostasıPayPal AyarlarıPayPal Akıllı ÖdemePayPal Smart Checkout API Kimlik Bilgileri (Bunu PayPal hesabınızdan alabilirsiniz)PayPal Akıllı Ödeme Düğmesi YapılandırmasıPayPal AboneliğiPayPal Aboneliği (Yeni API)PayPal Aboneliği (Yeni API) Düğme YapılandırmasıPayPal Abonelik Düğmesi YapılandırmasıPayPal Web KancalarıÖdeme miktarıÖdeme Düğmesi KimliğiÖdeme Düğmesi BaşlığıÖdeme Para BirimiÖdeme detaylarıÖdeme metodlarıÖdeme Bildirimi Yönlendirme URL'siÖdeme AyarlarıÖdeme kontrolü başarısız oldu: Alınan geçersiz tutar. Beklenen %1$s %2$s, %3$s %4$s aldı.ÖdemelerAskıda olmasıTelefonHapLütfenEklentiyi beğendiyseniz lütfen %s.Lütfen yorum yapmak için giriş yapın.Lütfen en az birini kontrol edin.Lütfen aşağıdakileri düzeltinLütfen aşağıdakileri düzeltin.Lütfen aşağıdakileri düzeltin:Lütfen herhangi iki haneyi girin Hayır boşluklar (Örnek: 12)Lütfen iki rakamı boşluk bırakmadan girin (Örnek: 12)*Lütfen tekrar giriş yapın.Lütfen yorum yapmak için giriş yapın.Eklenti BelgeleriGönderi ve Sayfa KorumasıPosta / Posta KoduPosta koduGönderilerÜye E-posta Adresini Önceden DoldurunMümkün olduğunda Stripe ödeme formunda oturum açmış üyenin E-Posta adresini önceden doldururGizlilik PolitikasıGizlilik Politikası Sayfası URL'siPrivate KeyProfilProfil başarıyla güncellendi.Profil başarıyla güncellendi. Parolanızı değiştirdiğiniz için yeniden oturum açmanız gerekecek.Koruma ayarları güncellendi!Genel anahtarBaşarısızlık durumunda yeniden denemeGerekli Sayfaları Yeniden OluşturunYeni şifreyi tekrar girinizOku Bu belgeleri okuyunDikdörtgenYinelenen Fatura TutarıYinelenen Faturalandırma DöngüsüYinelenen Fatura Döngüsü SayısıKayıtKayıtKayıt Sayfası URL'siKayıt başarılı. Kayıt tamamlama bağlantıları aşağıda görünecektirKayıt tamamlandı. Artık siteye giriş yapabilirsiniz.Beni HatırlaŞifreyi tekrar girinDuyarlıŞifreyi yenileHata ayıklama günlük dosyalarını tıklayarak sıfırlayın Dönüş URL'siŞifreyi buraya tekrar yazınRolSıra KimliğiSWPM yönetici kontrol paneline yalnızca yönetici kullanıcılar erişebilir (tıpkı diğer eklentiler gibi). Burada bir değer seçerek, diğer WP kullanıcı rollerine sahip kullanıcıların SWPM yönetici panosuna erişmesine izin verebilirsiniz. Genel Ayarlarda "WP Dashboard'a Erişimi Devre Dışı Bırak" seçeneğini etkinleştirdiyseniz, bu seçeneğin çalışamayacağını unutmayın.Sanbbox PayPal API kimlik bilgileri ayarlanmadı. Lütfen önce Sandbox PayPal API kimlik bilgilerini ayarlayın.Sandbox İstemci KimliğiSandbox SırrıSandbox Gizli AnahtarıSandbox Webhook mevcuttur. Hala web kancalarıyla ilgili sorunlarınız varsa, onu silebilir ve yeniden oluşturabilirsiniz.Korumalı alan modu kimlik bilgileri ayarlanmadı. Web kancası oluşturulamıyor.Korumalı Alan veya Test Modu Ödeme AyarlarıDeğişiklikleri KaydetVeri kaydetÜyelik Düzeyini Kaydet Ödeme Verilerini Kaydetİşlem Verilerini Kaydet'Simple WP Membership Protection' başlıklı bölüme gidin.AraE-Posta, Ad, İşlem Kimliği veya Abone Kimliği kullanarak bir işlem arayın.Ara.Güvenlik kontrolü: CAPTCHA doğrulaması başarısız oldu.'Evet, Bu içeriği koru' seçeneğini seçin.Mevcut Seviyeyi SeçinSeviye seçÖdeme Düğmesi Türünü SeçinHedef Düzey SeçinDüğme rengini seçin.Düğme yüksekliğini seçin.Düğme düzenini seçin.Düğme şeklini seçin.Düğme boyutunu seçin.Düğme tipini/etiketini seçin.Düğme genişliğini seçin.Hesabı ne kadar süreyle "beklemede" tutmak istediğinizi seçin.Müşteriler tarafından kullanılabilecek ödeme yöntemlerini seçin. Kartlarla ödemenin her zaman etkin olduğunu unutmayın.Üyelik seviyesini seçin (bu seviyedeki tüm üyelerin erişim başlangıç ​​tarihi güncellenecektir).Mevcut üyelik seviyesini seçin (bu seviyedeki tüm üyelerin üyelik seviyeleri güncellenecektir).Yeni kayıtlı kullanıcılar için varsayılan hesap durumunu seçin. Üyeleri manuel olarak onaylamak istiyorsanız durumu "Beklemede" olarak ayarlayabilirsiniz.Bu içeriğe erişebilecek üyelik seviyesini seçin:Yeni üyelik seviyesini seçin.Yönetici Panosu aracılığıyla Eklendiğinde Üyeye E-Posta GönderYöneticiye Bildirim GönderTüm Eksik Kayıtlar İçinOturum süresi doldu.Durumu Etkin olarak ayarlaDurumu Aktif Yap ve BildirDurumu Süresi Doldu olarak ayarlayınDurumu Etkin Değil olarak ayarlayınDurumu Beklemede olarak ayarlayınYinelenen ödemenin aralığını ayarlayın. Örnek değer: 1 Ay (her ay ücretlendirmek istiyorsanız)AyarlarBu bölümdeki ayarlar tüm E-Postalar için geçerlidir.Ayarlar güncellendi!ŞekilYönetici Çubuğunu Yöneticiye GösterŞifreyi gösterGümüşBasit Üyelik Eklenti SitesiÜyelik Koruması seçenekleriBasit Üyelik::ÖdemelerÜyelik KorumasıBasit WP Üyeliği: EklentilerSimple WP Membership::ÜyelerSimple WP Membership : Üyelik SeviyeleriBasit WP Üyeliği: AyarlarSimple WordPress ÜyeliğiBoyutKüçükBasit üyelik eklentisinin eklenti ayarlarından ve seçeneklerinden bazıları burada görüntülenecektir (eğer varsa)Üzgünüz, doğrulama başarısız oldu.Üzgünüz, parola eşleşmedi.Erişim Başlangıç ​​tarihini belirtin.MahalleEyalet / İl / BölgeDurumDurum/NotSokakAçık adresGüç göstergesiŞerit API KimliğiStripe API Live yayınlanabilir anahtarıStripe API Live gizli anahtarıŞerit API AyarlarıStripe API Testi yayınlanabilir anahtarıStripe API Testi gizli anahtarıŞerit API anahtarları. Bunu Stripe hesabınızdan alabilirsiniz.Stripe Şimdi Satın AlŞerit Şimdi Satın Al Düğme YapılandırmasıŞerit Genel AyarlarıStripe Legacy Şimdi Satın Al (Kullanımdan kaldırıldı)Stripe Legacy Aboneliği (kullanımdan kaldırıldı)Çizgili SCA Şimdi Satın AlStripe SCA Şimdi Satın Al Düğme YapılandırmasıStripe SCA AboneliğiStripe AboneliğiŞerit Abonelik Düğmesi YapılandırmasıGönderAboneŞimdi Abone Olİşlem KimliğiAbone Kimliği/ReferansıAbonelik Planı KimliğiAbonelik Planı ModuAbonelik oluşturulduAbonelik iptal edildi.Abonelik/Yinelenen Faturalandırma AyrıntılarıBaşarılı!Tebrikler! Hesabınız başarıyla etkinleştirildi.İçeriğinize yalnızca üyelerin erişebilmesi için koruma uygulamak üzere aşağıdaki adımları uygulayın.Şartlar ve koşullarŞartlar ve Koşullar Sayfası URL'siTest ve Hata Ayıklama AyarlarıYayınlanabilir Anahtarı Test EtGizli Anahtarı Test Etİlgili Ayarları Test Etme ve Hata Ayıklama.TeşekkürlerTeşekkür Sayfası URL'siYeni API'yi kullanan PayPal ödeme düğmeleri web kancaları gerektirir. Bir PayPal ödeme düğmesi oluşturduğunuzda, eklenti gerekli web kancalarını otomatik olarak oluşturacaktır.Bir üyenin erişim başlangıç ​​tarihi, kullanıcının kayıt olduğu gün olarak belirlenir. Bu tarih, üyelik düzeyinde bir süre tipi koruma ile korunan içeriğinize üyenin ne kadar süreyle erişebileceğini hesaplamak için kullanılır. Bu sitenin yöneticisi, kullanıcıların kontrol paneline erişmesine izin vermiyor.Bu gönderinin kategorisi veya üst kategorisi korumalıdır. Kategori koruma ayarlarını şu adresten değiştirebilirsiniz: Kullandığınız E-Posta adresi bu sitede kara listede.Kullandığınız E-Posta adresi bu sitede beyaz listede yok.Aşağıdaki ayrıntılar isteğe bağlıdırAşağıdaki ayrıntılar isteğe bağlıdır.Eklentinin doğru çalışması için aşağıdaki sayfalar gereklidir. Bu sayfalar, kurulum sırasında eklenti tarafından otomatik olarak oluşturulmuştur.Gerekli sayfalar yeniden oluşturuldu.Seçilen Giriş Silindi!Site yöneticisi, bu özelliği devre dışı bırakmak için ayarlarda Kullanıcı Senkronizasyonunu Zorla özelliğini devre dışı bırakabilir ve bu hata ortadan kalkar.Bu kara listeye alma ve beyaz listeye alma belgeleriBu içerik yalnızca tarihinde veya daha önce katılan üyeler tarafından görüntülenebilir. Bu içerik sadece üyeler içindir.Üyelik seviyeniz için bu içeriğe izin verilmiyor.Bu belgelerBu E-Posta, bir Üyelik Düzeyi için E-Posta Aktivasyonu etkinleştirildiğinde gönderilecektir.Bu E-Posta, kullanıcılardan ödeme yapıldıktan sonra kaydı tamamlamalarını istemek için gönderilecektir.Bu E-Posta, yeni bir kullanıcı üyelik kaydını tamamladığında yöneticiye gönderilecektir. Yalnızca yukarıdaki "Yöneticiye Bildirim Gönder" seçeneğini etkinleştirdiyseniz çalışır.Bu E-Posta, toplu hesap etkinleştirme ve bildirim eylemini kullandığınızda üyelerinize gönderilecektir.Bu E-Posta, hesap yükseltme işleminden sonra (mevcut bir üye yeni bir üyelik düzeyi için ödeme yaptığında) kullanıcılarınıza gönderilecektir.Bu E-Posta, kullanıcılarınıza kayıt işlemlerini tamamlayıp üye olduklarında gönderilecektir.Bu E-Posta, parola sıfırlama işlevini kullandıklarında kullanıcılarınıza gönderilecektir.Bu hata, bir üye hesabının karşılık gelen bir kullanıcı hesabı olmadığında tetiklenir. Bu nedenle eklenti, Kullanıcı sisteminde oturum açamıyor.Bu alan gereklidirBu ara yüz, çeşitli yönetici işlemleri için faydalı araçlar içerir.Bu ara yüz, E-Posta adresleri için kara liste ve beyaz listeyi yapılandırmanıza olanak tanır. Bu ara yüz, çeşitli eylemler için üyelerinize gönderilen çeşitli E-Postaları özelleştirmenizi sağlar. Başlamak için varsayılan ayarlar iyi olmalıdır.Bu, bu üyeye atanan mevcut üyelik düzeyine ve o üyelik düzeyi için belirlediğiniz sona erme koşuluna göre hesaplanır.Bu, üyenin hesap durumudur. Süresi dolmuş bir üyenin hesabını manuel olarak etkinleştirmek istiyorsanız, okuyunBu sayfa, eklentinin bazı gelişmiş özelliklerini yapılandırmanıza izin verir.Bu bölüm, Stripe ödeme ile ilgili ayarları yapılandırmanıza izin verir.Bu bölüm, başka bir eklenti tarafından yeni WP Kullanıcı kayıtları oluşturulduğunda üye hesaplarının otomatik olarak oluşturulmasını yapılandırmanıza izin verir. WP kullanıcı kayıtları oluşturan başka bir eklenti kullanıyorsanız ve bunların üyelik eklentisinde tanınmasını istiyorsanız faydalı olabilir.Bu bölüm, kara listeye alma ayarlarını yapılandırmanıza izin verir.Bu bölüm, kullanıcıların kayıt sırasında kabul etmesi gereken hüküm ve koşulları ve gizlilik politikasını yapılandırmanıza olanak tanır.Bu bölüm, beyaz listeye alma ayarlarını yapılandırmanıza olanak tanır.Bu bölüm, ödeme düğmeleri için korumalı alan veya test modunu etkinleştirmenizi/devre dışı bırakmanızı sağlar.Bu benzersiz kayıt bağlantısı (tarayıcının adres çubuğundaki URL'ye bakın) zaten kullanılmış. Başka bir hesap oluşturmanıza gerek yoktur. Korunan içeriğe erişmek için mevcut hesapta oturum açın.Bu benzersiz kayıt bağlantısı (tarayıcının adres çubuğundaki URL'ye bakın) geçersiz. Verilen üye kimliği ve güvenlik kodu için bir eşleşme bulunamadı. Lütfen site yöneticisiyle iletişime geçin.Bu üye sitenize giriş yaptığında bu değer güncellenir.BaşlıkAletlerİşlem Kimliğiİşlem başarıyla tamamlandı!Ödeme İşlemleriDeneme Fatura TutarıDeneme Fatura Ayrıntıları (Deneme süresi sunmuyorsanız boş bırakın)Deneme Fatura DönemiDeneme süresiTipŞifreyi buraya yazınPayPal üyeliğinden çıkGüncellemeŞuradaki API anahtarlarını kullan: Ödeme Ayarları sekme.Global API Anahtarları Ayarlarını KullanÜyelerin kaydı tamamladıktan hemen sonra sitenize otomatik olarak giriş yapmalarını istiyorsanız bu seçeneği kullanın. Bu seçenek, herhangi bir kayıt sonrası yeniden yönlendirmeyi geçersiz kılar ve bunun yerine oturum açma sonrası yeniden yönlendirmeyi tetikler. Oku bu belgeler daha fazla öğrenmek için.Kayıt formunu oturum açmış üyelerden gizlemek istiyorsanız bu seçeneği kullanın. Giriş yapan üyeler kayıt sayfasını ziyaret ederse, kayıt formu yerine bir mesaj görürler.Yönetici araç çubuğunu yalnızca yönetici kullanıcılara göstermek istiyorsanız bu seçeneği kullanın. Yönetici araç çubuğu diğer tüm kullanıcılar için gizlenecektir.Kullanıcı giriş yapmadı.Kullanıcı AdıKullanıcı adı zaten var.Kullanıcı adı yalnızca şunları içerebilir: harfler, sayılar ve .-*@Kullanıcı adı geçersiz karakter içeriyorKullanıcı adı alanı boş geçilemez.Kullanıcı adı gerekliKullanıcı adı ya da E-PostaKullanıcı adları yalnızca şunları içerebilir: harfler, sayılar ve .-_*@Kullanıcılar, kaydı tamamlamadan önce bunu kabul etmelidir.Kullanıcılar, kaydı tamamlamadan önce şartları kabul etmelidir.Doğrulanıyor, lütfen bekleyinVenmoDoğrulamaDikeyBelgeleri GörüntüleProfili GörüntüleGenel hata ayıklama günlük dosyasını görüntülemek için tıklayın! Oturum açmayla ilgili hata ayıklama günlük dosyasını görüntülemek için tıklayın! Kurulum ve yapılandırma belgelerini okumak için %s adresini ziyaret edin.WP ÜyeliğiUyarı! Simple Membership plugin, WP Admin'den yanlışlıkla çıkış yapmanızı önlemek için bu oturum açma isteğini işleyemez.Web kancası Uç Nokta URL'siWeb kancası var. Hala web kancalarıyla ilgili sorunlarınız varsa, onu silebilir ve yeniden oluşturabilirsiniz.Web kancası oluşturuldu.Web kancası silindi.Web Kitabı Uç Nokta URL'siHaftalar (Erişim, belirtilen sayıda haftadan sonra sona erer.)Haftalar (Erişim, belirtilen hafta sayısından sonra sona erer.)Bu özelliği kullanarak otomatik olarak üye hesabı oluştururken, kullanıcının üyelik hesabı durumu burada belirteceğiniz şekilde ayarlanacaktır.Bu özelliği kullanarak otomatik olarak üye hesabı oluştururken, kullanıcının üyelik seviyesi burada belirttiğiniz seviyeye ayarlanacaktır.İşaretlendiğinde, ödeme başarısız olursa ödeme iki kez daha denenecektir. Üçüncü başarısızlıktan sonra abonelik iptal edilecektir.Etkinleştirildiğinde, kara listeye alma özelliği etkinleştirilecektir.Etkinleştirildiğinde, süresi dolmuş üyeler sisteme giriş yapabilecek ancak korunan içeriği görüntüleyemeyecektir. Bu, başka bir ödeme yaparak hesaplarını kolayca yenilemelerini sağlar.Etkinleştirildiğinde, beyaz liste özelliği etkinleştirilecektir.BeyazBeyaz Liste Mesajı ÖzelleştirmeBeyaz listeWordPress, standart bir wp kullanıcısının wp-admin URL'sine gitmesine ve profiline wp panosundan erişmesine izin verir. Bu seçeneğin kullanılması, yönetici olmayan kullanıcıların wp kontrol paneline gitmesini engelleyecektir.WordPress, sitenin oturum açmış kullanıcılarına bir yönetici araç çubuğu gösterir. Bu yönetici araç çubuğunu sitenizin ön ucunda gizlemek istiyorsanız bunu işaretleyin.Verilen e-posta ile wordpress hesabı var. Ancak verilen kullanıcı adı eşleşmiyor.Verilen kullanıcı adı ile wordpress hesabı mevcuttur. Ancak verilen e-posta eşleşmiyor.Yıllar (Verilen yıl sayısından sonra erişim sona erer.)Evet, bu içeriği koruyun.Bir hesabı silmek üzeresiniz. Bu, bu hesapla ilişkili kullanıcı verilerini siler. Zaten giriş yaptınız. Başka bir hesap oluşturmanıza gerek yok. Kayıt formu gizlidir.Şu anda düzenliyorsunuz: Şu şekilde oturum açtınız:Bu tarayıcıda siteye Yönetici kullanıcısı olarak giriş yaptınız. İlk olarak, WP Yönetici'den çıkış yapın, ardından normal bir üye olarak giriş yapabileceksiniz.Giriş yapılamadı.Üye girişi yapmadınızBu arayüzü kullanarak manuel olarak yeni bir işlem kaydı ekleyebilirsiniz. Üyelikleriniz için manuel olarak nakit ödeme kabul etmeniz yararlı olabilir.Üyelikleriniz için ödeme kabul etmek için aşağıdaki eklentilerden ödeme düğmelerini de kullanabilirsiniz.Bu arayüzü kullanarak üyelikleriniz için yeni bir ödeme butonu oluşturabilirsiniz.Siteniz için yenileme sayfası oluşturabilirsiniz. Oku bu belgeler yenileme sayfasının nasıl oluşturulacağını öğrenmek için.Üyelik ödeme butonlarını menüden oluşturabilirsiniz. Bu arayüzü kullanarak bir ödeme düğmesini düzenleyebilirsiniz.Bu ara yüzden seçilen bir üyelik seviyesinin ayrıntılarını düzenleyebilirsiniz. Üyeye E-Postayla gönderilen bir sıfırlama bağlantısını kullanarak parola sıfırlama işlevini gerçekleştirmek istiyorsanız bu seçeneği etkinleştirebilirsiniz. Oku bu belgeler Parola sıfırlama işlevi hakkında daha fazla bilgi edinmek için.Üyelik ödemesi bu eklenti tarafından işlendikten sonra ödeme bildirimini iletmek için buraya bir URL girebilirsiniz. Ödeme bildirimini daha fazla işlenmek üzere harici bir komut dosyasına iletmek istiyorsanız kullanışlıdır.Sitenizden çıkış yapmak için çıkış bağlantısına tıkladıktan sonra üyeleri bu sayfaya yönlendirmek için buraya bir URL girebilirsiniz.Kayıt formunu gönderdikten sonra üyeleri bu sayfaya yönlendirmek için buraya bir URL girebilirsiniz. Oku bu belgeler kayıt yönlendirmesinden sonra nasıl kurulacağını öğrenmek için.Üyeler menüsünden kaydı düzenleyerek herhangi bir üyenin üyelik seviyesini manuel olarak değiştirebilirsiniz. Burada manuel olarak bir kayıt tamamlama bağlantısı oluşturabilir ve ödemeden sonra kendilerine otomatik olarak gönderilen e-postayı kaçıran müşterinize verebilirsiniz.Aşağıdaki seçeneği kullanarak, belirli bir düzeye ait tüm üyelerin belirli bir erişim başlangıç ​​tarihini manuel olarak ayarlayabilirsiniz.Oturum açma formunda geçiş parolası görünürlük seçeneği göstermek için kullanabilirsiniz. Bir Parolayı Göster onay kutusu ekleyecektir.Siteye geri dönmek için tarayıcınızın geri düğmesini kullanabilirsiniz.Aşağıda seçtiğiniz seviyeye ait olan kullanıcıların üyelik seviyelerini toplu olarak güncellemek için aşağıdaki seçeneği kullanabilirsiniz.Yükseltme veya yenileme için ödeme yaptıklarında üyelere gönderilen E-Posta bildirimini devre dışı bırakmak için bu seçeneği kullanabilirsiniz.Bu üyeye hızlı bir bildirim E-Postası göndermek için bu seçeneği kullanabilirsiniz (E-Posta aşağıdaki kaydet düğmesine bastığınızda gönderilecektir).Bu içeriği görüntüleme izniniz yok.Eklenti ayarlarında korumalı alan ödeme modunu etkinleştirdiniz. Canlı işlemler yapmak istediğinizde korumalı alan modunu kapattığınızdan emin olun.Şartlar ve koşulları kabul etmelisiniz.Gizlilik politikasını kabul etmelisiniz.Üyeliğinizi yükseltmek için giriş yapmalısınız.Hesabınızı etkinleştirmeniz gerekiyor. Bir e-posta almadıysanız, etkinleştirme e-postasını yeniden göndermek için %s.İçeriğin geri kalanını görüntülemek için giriş yapmalısınız. Bu içeriği görüntülemek için giriş yapmalısınız. E-posta adresinizi onaylamanız gerekiyor. Lütfen e-postanızı kontrol edin ve kaydınızı tamamlamak için talimatları izleyin.Birkaç saniye içinde otomatik olarak yönlendirileceksiniz. Değilse, lütfen %s.Birkaç saniye içinde önceki sayfaya yönlendirileceksiniz. Yönlendirilmemişse, lütfen tıklayınız.Parolanızı değiştirdiğiniz için yeniden oturum açmanız gerekecek.Ödemeden sonra e-posta yoluyla benzersiz bir bağlantı alacaksınız. Premium üyelik kaydını tamamlamak için bu bağlantıyı kullanabileceksiniz.Hesabınızın süresi doldu. Mevcut şifrenizÜyelik seviyenizin bu içeriği görüntüleme izni yok.Üyelik profiliniz ödemeyi yansıtacak şekilde güncellenecektir.Normal ziyaretçileriniz veya üyeleriniz bu mesajı asla görmeyecek. Bu mesaj Yalnızca Yönetici kullanıcısı içindir.Profil kullanıcı adınız: Posta kodutoplu koruma gönderileri ve sayfaları belgelerikategori koruma belgelerikategori koruma menüsüburaya tıklayınburaya tıklayınıziçerik koruma belgeleribize puan verburadahttps://simple-membership-plugin.com/eksiküyelik ödeme bölümüödeme menüsüyenilesmp7, wp.insiderbu belgelerpayPal API kimlik bilgilerinizi nasıl alacağınızı öğrenmek için.daha fazla öğrenmek için.languages/simple-membership-sv_SE.po000064400000463675147206617610013550 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "POT-Creation-Date: 2023-02-28 19:14+1100\n" "PO-Revision-Date: 2023-10-15 20:08+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: sv_SE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.4\n" "X-Poedit-Basepath: ..\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: simple-wp-membership.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.min.js\n" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Payment Button ID" msgstr "Betalknapp ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 msgid "Payment Button Title" msgstr "Titel betalningsknapp" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:81 msgid "Membership Level ID" msgstr "Medlemskapsnivå ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:82 msgid "Button Type" msgstr "Knapptyp" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:83 msgid "Button Shortcode" msgstr "Shortcode för knappar" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:98 #: classes/admin-includes/class.swpm-payments-list-table.php:118 #: classes/class.swpm-members.php:51 #: classes/class.swpm-membership-levels.php:36 msgid "Delete" msgstr "Radera" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:135 #: views/admin_members_list.php:8 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "Den valda posten togs bort!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:23 msgid "Simple Membership::Payments" msgstr "Simple WP Membership::Betalningar" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 msgid "Transactions" msgstr "Transaktioner" #: classes/admin-includes/class.swpm-payments-admin-menu.php:28 msgid "Manage Payment Buttons" msgstr "Hantera betalningsknappar" #: classes/admin-includes/class.swpm-payments-admin-menu.php:29 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Lägg till ny knapp" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Visa profil" #: classes/admin-includes/class.swpm-payments-list-table.php:91 msgid "Row ID" msgstr "Rad-ID" #: classes/admin-includes/class.swpm-payments-list-table.php:92 #: views/forgot_password.php:5 #: views/payments/admin_add_edit_transaction_manually.php:75 msgid "Email Address" msgstr "E-postadress" #: classes/admin-includes/class.swpm-payments-list-table.php:93 #: classes/class.swpm-members.php:23 views/add.php:34 #: views/admin_member_form_common_part.php:6 views/edit.php:39 #: views/payments/admin_add_edit_transaction_manually.php:83 #: includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Förnamn" #: classes/admin-includes/class.swpm-payments-list-table.php:94 #: classes/class.swpm-members.php:24 views/add.php:38 #: views/admin_member_form_common_part.php:10 views/edit.php:43 #: views/payments/admin_add_edit_transaction_manually.php:91 #: includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Efternamn" #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Member Profile" msgstr "Medlemsprofil" #: classes/admin-includes/class.swpm-payments-list-table.php:96 #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: views/payments/admin_add_edit_transaction_manually.php:125 msgid "Date" msgstr "Datum" #: classes/admin-includes/class.swpm-payments-list-table.php:97 #: views/payments/admin_add_edit_transaction_manually.php:133 msgid "Transaction ID" msgstr "Transaktions-ID" #: classes/admin-includes/class.swpm-payments-list-table.php:98 #: views/payments/admin_add_edit_transaction_manually.php:141 msgid "Subscriber ID" msgstr "Prenumerant-ID" #: classes/admin-includes/class.swpm-payments-list-table.php:99 #: views/payments/admin_add_edit_transaction_manually.php:117 msgid "Amount" msgstr "Belopp" #: classes/admin-includes/class.swpm-payments-list-table.php:100 #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:26 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 views/add.php:42 views/admin_add.php:37 #: views/admin_edit.php:74 views/admin_members_list.php:50 views/edit.php:75 #: views/payments/admin_add_edit_transaction_manually.php:107 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:232 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:176 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:198 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:330 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:328 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:108 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:108 msgid "Membership Level" msgstr "Medlemskapsnivå" #: classes/admin-includes/class.swpm-payments-list-table.php:101 #: views/payments/admin_add_edit_transaction_manually.php:149 msgid "Status/Note" msgstr "Status/Notering" #: classes/class-swpm-member-subscriptions.php:121 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:174 msgid "No active subscriptions" msgstr "Inga aktiva prenumerationer" #: classes/class-swpm-member-subscriptions.php:132 msgid "Cancel Subscription" msgstr "Avbryt prenumeration" #: classes/class-swpm-member-subscriptions.php:134 msgid "Are you sure that you want to cancel the subscription?" msgstr "Är du säker att du vill avbryta prenumerationen?" #: classes/class.simple-wp-membership.php:243 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "Administratören på den här webbplatsen tillåter inte användare att komma åt " "wp-adminpanelen." #: classes/class.simple-wp-membership.php:244 msgid "Go back to the home page by " msgstr "Gå tillbaka till startsidan av " #: classes/class.simple-wp-membership.php:244 msgid "clicking here" msgstr "klicka här" #: classes/class.simple-wp-membership.php:309 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "Fel! Denna webbplats har funktionen tvinga WP-användaren-inloggning " "aktiverat i inställningarna. Vi kunde inte hitta en WP användarpost för " "användarnamnet: " #: classes/class.simple-wp-membership.php:310 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "Detta fel utlöses när ett medlemskonto inte har ett motsvarande WP-" "användarkonto. Så SM-tillägget misslyckas med att logga användaren in i WP-" "användarsystemet." #: classes/class.simple-wp-membership.php:311 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Kontakta webbplatsens admin och be dem att kolla ditt användarnamn i menyn " "WP-användare för att se vad som hände med WP-användarposten på ditt konto." #: classes/class.simple-wp-membership.php:312 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" "Webbplatsadministratören kan inaktivera funktionen Force WP-" "användarsynkronisering i inställningarna för att inaktivera denna funktion " "och därmed kommer detta fel att försvinna." #: classes/class.simple-wp-membership.php:313 msgid "You can use the back button of your browser to go back to the site." msgstr "" "Du kan använda webbläsarens bakåtknapp för att gå tillbaka till webbplatsen." #: classes/class.simple-wp-membership.php:513 #: classes/class.swpm-wp-loaded-tasks.php:141 msgid "You are not logged in." msgstr "Du är inte inloggad." #: classes/class.simple-wp-membership.php:601 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "Du har betalningsläget för sandlåda aktiverat i plugin-inställningar. Se " "till att du stänger av sandlådeläget när du vill göra live-transaktioner." #: classes/class.simple-wp-membership.php:616 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership Protection" #: classes/class.simple-wp-membership.php:628 msgid "Simple Membership Protection options" msgstr "Alternativ för Simple WP Membership Protection" #: classes/class.simple-wp-membership.php:646 msgid "Do you want to protect this content?" msgstr "Vill du skydda detta innehåll?" #: classes/class.simple-wp-membership.php:647 msgid "No, Do not protect this content." msgstr "Nej, skydda inte detta innehåll." #: classes/class.simple-wp-membership.php:648 msgid "Yes, Protect this content." msgstr "Ja, skydda detta innehåll." #: classes/class.simple-wp-membership.php:651 msgid "Select the membership level that can access this content:" msgstr "Välj vilken medlemskapsnivå som ska kunna läsa detta innehåll:" #: classes/class.simple-wp-membership.php:816 #: classes/class.simple-wp-membership.php:820 msgid "Validating, please wait" msgstr "Validerar, var god vänta" #: classes/class.simple-wp-membership.php:823 msgid "Invalid email address" msgstr "Ogiltig e-postadress" #: classes/class.simple-wp-membership.php:826 msgid "This field is required" msgstr "Detta fält är obligatoriskt" #: classes/class.simple-wp-membership.php:829 msgid "Password must contain at least:" msgstr "Lösenordet måste minst innehålla:" #: classes/class.simple-wp-membership.php:829 msgid "- a digit" msgstr "- en siffra" #: classes/class.simple-wp-membership.php:829 msgid "- an uppercase letter" msgstr "- en stor bokstav" #: classes/class.simple-wp-membership.php:829 msgid "- a lowercase letter" msgstr "- en liten bokstav" #: classes/class.simple-wp-membership.php:832 classes/class.swpm-auth.php:342 msgid "Invalid Username" msgstr "Ogiltigt användarnamn" #: classes/class.simple-wp-membership.php:832 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Användarnamn kan endast innehålla: bokstäver, siffror och .-_*@" #: classes/class.simple-wp-membership.php:835 msgid "Minimum " msgstr "Minst " #: classes/class.simple-wp-membership.php:836 msgid " characters required" msgstr " tecken som krävs för" #: classes/class.simple-wp-membership.php:839 msgid "Apostrophe character is not allowed" msgstr "Apostrof är inte tillåtet" #: classes/class.simple-wp-membership.php:883 msgid "WP Membership" msgstr "WP medlemskap" #: classes/class.simple-wp-membership.php:884 classes/class.swpm-members.php:12 #: classes/class.swpm-members.php:730 msgid "Members" msgstr "Medlemmar" #: classes/class.simple-wp-membership.php:885 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:273 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Medlemsnivåer" #: classes/class.simple-wp-membership.php:886 msgid "Settings" msgstr "Inställningar" #: classes/class.simple-wp-membership.php:887 msgid "Payments" msgstr "Betalningar" #: classes/class.simple-wp-membership.php:888 msgid "Add-ons" msgstr "Tillägg" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to be logged in to view this content. " msgstr "Du måste logga in för att se detta innehåll. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Användarkontot har upphört att gälla. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "Detta innehåll kan endast ses av medlemmar som gått med på eller före " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Innehållet är inte tillgängligt för din medlemsnivå." #: classes/class.swpm-access-control.php:204 msgid "You need to be logged in to view the rest of the content. " msgstr "Du måste logga in för att läsa resten av innehållet. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " Resterande innehåll är inte tillgängligt för din medlemsnivå." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "Fel! Nonceverifieringen misslyckades för användarregistrering från " "adminläget (back-end)." #: classes/class.swpm-admin-registration.php:79 msgid "Member record added successfully." msgstr "Medlemsposten lades till korrekt." #: classes/class.swpm-admin-registration.php:87 #: classes/class.swpm-admin-registration.php:149 #: classes/class.swpm-admin-registration.php:187 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Vänligen rätta till följande:" #: classes/class.swpm-admin-registration.php:100 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "Fel! Nonceverifieringen misslyckades för användarregistrering från " "adminläget (back-end)." #: classes/class.swpm-admin-registration.php:166 msgid "Your current password" msgstr "Ditt nuvarande lösenord" #: classes/class.swpm-ajax.php:16 classes/class.swpm-ajax.php:36 #: ipn/swpm-smart-checkout-ipn.php:332 msgid "Nonce check failed. Please reload the page." msgstr "Nonkontroll misslyckades. Vänligen ladda om sidan." #: classes/class.swpm-ajax.php:20 msgid "Invalid Email Address" msgstr "Ogiltig e-postadress" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:46 msgid "Already taken" msgstr "Upptaget" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:47 msgid "Available" msgstr "Tillgängligt" #: classes/class.swpm-ajax.php:40 msgid "Name contains invalid character" msgstr "Namn innehåller ogiltiga tecken" #: classes/class.swpm-auth.php:50 msgid "Username field cannot be empty." msgstr "Användarnamnfältet kan inte vara tomt." #: classes/class.swpm-auth.php:57 msgid "Password field cannot be empty." msgstr "Lösenordsfältet kan inte vara tomt." #: classes/class.swpm-auth.php:75 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Varning! Simple membership-tillägget kan inte behandla denna " "inloggningsbegäran att förhindra att du blir utloggad från WP Admin av " "misstag." #: classes/class.swpm-auth.php:76 msgid "Click here" msgstr "Klicka här" #: classes/class.swpm-auth.php:76 msgid " to see the profile you are currently logged into in this browser." msgstr "" " för att se profilen du för närvarande är inloggad som i denna webbläsare." #: classes/class.swpm-auth.php:77 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "Du är inloggad på webbplatsen som ADMIN-användare i denna webbläsaren. Logga " "ut först från WP Admin så kommer du att kunna logga in som en vanlig medlem." #: classes/class.swpm-auth.php:78 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Alternativt kan du använda en annan webbläsare (där du inte är inloggad som " "ADMIN) för att testa medlemskapsinloggningen." #: classes/class.swpm-auth.php:79 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Dina vanliga besökare eller medlemmar kommer aldrig att se detta meddelande. " "Det här meddelandet är ENDAST för ADMIN-användare." #: classes/class.swpm-auth.php:86 msgid "Captcha validation failed on the login form." msgstr "CAPTCHA validering misslyckades på inloggningsformuläret." #: classes/class.swpm-auth.php:111 msgid "No user found with that username or email." msgstr "Ingen användare hittades med detta användarnamn eller e-postadress." #: classes/class.swpm-auth.php:118 msgid "Password empty or invalid." msgstr "Lösenordet är tomt eller ogiltigt." #: classes/class.swpm-auth.php:159 msgid "Account is inactive." msgstr "Användarkontot är ej aktivt." #: classes/class.swpm-auth.php:162 classes/class.swpm-auth.php:191 msgid "Account has expired." msgstr "Användarkontot har gått ut." #: classes/class.swpm-auth.php:165 msgid "Account is pending." msgstr "Kontot är väntande." #: classes/class.swpm-auth.php:175 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Du måste aktivera ditt konto. Om du inte fick ett e-postmeddelande ska %s " "skicka om aktiverings-e-postmeddelandet." #: classes/class.swpm-auth.php:175 #: classes/class.swpm-front-registration.php:561 #: classes/class.swpm-front-registration.php:614 #: classes/class.swpm-utils-misc.php:225 msgid "click here" msgstr "klicka här" #: classes/class.swpm-auth.php:199 msgid "You are logged in as:" msgstr "Du är inloggad som:" #: classes/class.swpm-auth.php:269 msgid "Logged Out Successfully." msgstr "Lyckad utloggning." #: classes/class.swpm-auth.php:333 msgid "Session Expired." msgstr "Slut på sessionen." #: classes/class.swpm-auth.php:350 msgid "Please login again." msgstr "Vänligen logga in igen." #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Kategori-ID" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Kategorinamn" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Typ av kategori (Taxonomy)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Beskrivning" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Antal" #: classes/class.swpm-category-list.php:78 msgid "" "Error! Nonce security verification failed for Category Protection Update " "action. Clear cache and try again." msgstr "" "Fel! Nonce-säkerhetsverifiering misslyckades för åtgärden Uppdatering av " "kategoriskydd. Rensa cacheminnet och försök igen." #: classes/class.swpm-category-list.php:99 msgid "Category protection updated!" msgstr "Kategoriskydd uppdaterad!" #: classes/class.swpm-category-list.php:137 msgid "No category found." msgstr "Ingen kategori hittades." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Logga in för att kommentera." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Vänligen logga in för att kommentera." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Kommentarer är inte tillåtna av icke-medlemmar." #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But the given email doesn't " "match." msgstr "" "Wordpress-konto finns med ett givet användarnamn. Men given e-post matchar " "\"\n" "\"inte." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " Använd ett annat användarnamn för att slutföra registreringen. Om du vill " "använda det användarnamnet måste du ange du den e-postadress som är " "associerad med den befintliga WP-användaren." #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But the given username doesn't " "match." msgstr "" "Wordpress-konto finns med angivet användarnamn. Men angiven e-post matchar " "inte." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " Använd en annan e-postadress för att slutföra registreringen. Om du vill " "använda denna e-postadress måste du ange rätt användarnamn är associerad med " "den befintliga WP-användaren." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Användarnamn krävs" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Användarnamn innehåller ogiltiga tecken" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Användarnamnet existerar redan." #: classes/class.swpm-form.php:81 msgid "Password is required" msgstr "Lösenord krävs" #: classes/class.swpm-form.php:88 msgid "Password mismatch" msgstr "Lösenord matchar inte" #: classes/class.swpm-form.php:99 msgid "Email is required" msgstr "E-post krävs" #: classes/class.swpm-form.php:103 msgid "Email is invalid" msgstr "Ogiltig e-postadress" #: classes/class.swpm-form.php:119 msgid "Email is already used." msgstr "E-postadressen används redan." #: classes/class.swpm-form.php:171 msgid "Member since field is invalid" msgstr "Medlem sedan-fältet är ogiltigt" #: classes/class.swpm-form.php:182 msgid "Access starts field is invalid" msgstr "Åtkomst-fältet är ogiltigt" #: classes/class.swpm-form.php:192 msgid "Gender field is invalid" msgstr "Kön-fältet är ogiltigt" #: classes/class.swpm-form.php:203 msgid "Account state field is invalid" msgstr "Kontostatus-fältet är ogiltigt" #: classes/class.swpm-form.php:210 msgid "Invalid membership level" msgstr "Ogiltig medlemskapsnivå" #: classes/class.swpm-front-registration.php:25 msgid "" "You are already logged in. You don't need to create another account. So the " "registration form is hidden." msgstr "" "Du är redan inloggad. Du behöver inte skapa ett annat konto. Så " "registreringsformuläret är dolt." #: classes/class.swpm-front-registration.php:35 msgid "" "This unique registration link (see the URL in the browser's address bar) has " "already been used. You don't need to create another account. Log into the " "existing account to access the protected content." msgstr "" "Denna unika registreringslänk (se URL:en i webbläsarens adressfält) har " "redan använts. Du behöver inte skapa ett annat konto. Logga in på det " "befintliga kontot för att komma åt det skyddade innehållet." #: classes/class.swpm-front-registration.php:44 msgid "" "This unique registration link (see the URL in the browser's address bar) is " "invalid. Could not find a match for the given member ID and the security " "code. Please contact the site administrator." msgstr "" "Denna unika registreringslänk (se URL:en i webbläsarens adressfält) är " "ogiltig. Det gick inte att hitta en matchning för det angivna medlems-ID och " "säkerhetskoden. Kontakta webbplatsens administratör." #: classes/class.swpm-front-registration.php:65 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "Fel! Ogiltig begäran. Kunde inte hitta en matchning för angiven säkerhetskod " "och användar-ID." #: classes/class.swpm-front-registration.php:77 #: classes/class.swpm-utils-misc.php:415 views/login.php:53 msgid "Join Us" msgstr "Bli medlem." #: classes/class.swpm-front-registration.php:79 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "Gratis medlemskap är inaktiverad på denna webbplats. Vänligen gör en " "betalning från " #: classes/class.swpm-front-registration.php:81 msgid " page to pay for a premium membership." msgstr " sida för att betala för ett premium-medlemskap." #: classes/class.swpm-front-registration.php:83 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Du kommer att få en unik länk via e-post efter betalningen. Du kommer att " "kunna använda den länken för att slutföra medlemskapsregistreringen." #: classes/class.swpm-front-registration.php:115 msgid "Security check: captcha validation failed." msgstr "Säkerhetskontroll: captcha-validering misslyckades." #: classes/class.swpm-front-registration.php:128 msgid "You must accept the terms and conditions." msgstr "Du måste acceptera villkoren." #: classes/class.swpm-front-registration.php:142 msgid "You must agree to the privacy policy." msgstr "Du måste godkänna Integritetspolicyn." #: classes/class.swpm-front-registration.php:183 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "Du måste bekräfta din e-postadress. Kontrollera din e-post och följ " "instruktionerna för att slutföra din registrering." #: classes/class.swpm-front-registration.php:196 msgid "Registration Successful. " msgstr "Registreringen lyckades! " #: classes/class.swpm-front-registration.php:196 #: classes/class.swpm-init-time-tasks.php:199 #: classes/class.swpm-utils-misc.php:414 classes/class.swpm-utils-misc.php:426 msgid "Please" msgstr "Vänligen" #: classes/class.swpm-front-registration.php:196 #: classes/class.swpm-init-time-tasks.php:199 #: classes/class.swpm-utils-misc.php:414 views/login.php:47 msgid "Log In" msgstr "Logga in" #: classes/class.swpm-front-registration.php:215 msgid "Please correct the following" msgstr "Vänligen rätta till följande" #: classes/class.swpm-front-registration.php:267 msgid "Membership Level Couldn't be found." msgstr "Medlemsskapsnivå kunde inte hittas." #: classes/class.swpm-front-registration.php:319 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" "Fel! Verifiering av nonce misslyckades vid redigering av profilen (front-" "end)." #: classes/class.swpm-front-registration.php:330 msgid "Profile updated successfully." msgstr "Profil uppdaterad." #: classes/class.swpm-front-registration.php:350 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profilen uppdaterades. Du behöver logga in på nytt då du ändrade ditt " "lösenord." #: classes/class.swpm-front-registration.php:378 msgid "Please correct the following." msgstr "Vänligen rätta till följande." #: classes/class.swpm-front-registration.php:394 msgid "Captcha validation failed." msgstr "Captcha-validering misslyckades." #: classes/class.swpm-front-registration.php:405 msgid "Email address not valid." msgstr "Ogiltig e-postadress." #: classes/class.swpm-front-registration.php:421 #: classes/class.swpm-front-registration.php:515 msgid "No user found with that email address." msgstr "Ingen användare hittades med den e-postadressen." #: classes/class.swpm-front-registration.php:422 #: classes/class.swpm-front-registration.php:492 #: classes/class.swpm-front-registration.php:516 msgid "Email Address: " msgstr "E-postadress: " #: classes/class.swpm-front-registration.php:449 msgid "Password reset link has been sent to your email address." msgstr "Länk för återställning av lösenord har skickats till din e-postadress." #: classes/class.swpm-front-registration.php:467 msgid "New password has been sent to your email address." msgstr "Ett nytt lösenord har skickats till din e-postadress." #: classes/class.swpm-front-registration.php:556 msgid "Can't find member account." msgstr "Det går inte att hitta medlemskontot." #: classes/class.swpm-front-registration.php:561 #: classes/class.swpm-front-registration.php:614 msgid "Account already active. " msgstr "Kontot är redan aktivt. " #: classes/class.swpm-front-registration.php:561 #: classes/class.swpm-front-registration.php:614 msgid " to log in." msgstr " för att logga in." #: classes/class.swpm-front-registration.php:568 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "Aktiveringskoden stämmer inte. Det går inte att aktivera det här kontot. " "Vänligen kontakta administratören för webbplatsen." #: classes/class.swpm-front-registration.php:582 msgid "Success! Your account has been activated successfully." msgstr "Japp! Ditt konto har framgångsrikt aktiverats." #: classes/class.swpm-front-registration.php:609 msgid "Cannot find member account." msgstr "Det går inte att hitta medlemskontot." #: classes/class.swpm-front-registration.php:631 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "E-post för aktivering har skickats. Kontrollera din e-post och aktivera ditt " "konto." #: classes/class.swpm-init-time-tasks.php:141 msgid "Sorry, Nonce verification failed." msgstr "Tyvärr, verifiering av Nonce misslyckades." #: classes/class.swpm-init-time-tasks.php:148 msgid "Sorry, Password didn't match." msgstr "Tyvärr, lösenordet matchade inte." #: classes/class.swpm-init-time-tasks.php:177 msgid "Error! Password fields do not match. Please try again." msgstr "Fel! Lösenordsfälten matchar inte. Var god försök igen." #: classes/class.swpm-init-time-tasks.php:182 msgid "Error! Invalid password reset request." msgstr "Fel! Ogiltig begäran om återställning av lösenord." #: classes/class.swpm-init-time-tasks.php:199 msgid "Password Reset Successful. " msgstr "Lösenordsåterställningen lyckades. " #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "Ogiltigt datumformat." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "Åtkomstens varaktighet måste vara > 0." #: classes/class.swpm-members.php:11 msgid "Member" msgstr "Medlem" #: classes/class.swpm-members.php:21 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:22 views/add.php:18 views/admin_add.php:12 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Användarnamn" #: classes/class.swpm-members.php:25 views/add.php:22 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "E-post" #: classes/class.swpm-members.php:27 views/admin_member_form_common_part.php:2 msgid "Access Starts" msgstr "Tillgång startar" #: classes/class.swpm-members.php:28 views/admin_members_list.php:45 #: includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Kontostatus" #: classes/class.swpm-members.php:29 msgid "Last Login Date" msgstr "Senaste datum för inloggning" #: classes/class.swpm-members.php:52 msgid "Set Status to Active" msgstr "Ställ in status till Aktiv" #: classes/class.swpm-members.php:53 msgid "Set Status to Active and Notify" msgstr "Ställ in status till Aktiv och Meddela" #: classes/class.swpm-members.php:54 msgid "Set Status to Inactive" msgstr "Ställ in status till Inaktiv" #: classes/class.swpm-members.php:55 msgid "Set Status to Pending" msgstr "Ställ in status till Väntande" #: classes/class.swpm-members.php:56 msgid "Set Status to Expired" msgstr "Ange Status till Utgången" #: classes/class.swpm-members.php:84 msgid "incomplete" msgstr "ofullständig" #: classes/class.swpm-members.php:227 msgid "No member found." msgstr "Medlem ej hittad." #: classes/class.swpm-members.php:384 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "Fel! Nonce-verifiering misslyckades från adminläget (back-end) för att ta " "bort användaren." #: classes/class.swpm-members.php:534 msgid "" "Error! Nonce security verification failed for Bulk Change Membership Level " "action. Clear cache and try again." msgstr "" "Fel! Säkerhetsverifiering med nonce misslyckades för åtgärden Bulk Change " "Membership Level. Rensa cacheminnet och försök igen." #: classes/class.swpm-members.php:542 classes/class.swpm-members.php:579 msgid "Error! Please select a membership level first." msgstr "Fel! Välj en medlemsnivå först." #: classes/class.swpm-members.php:559 msgid "Membership level change operation completed successfully." msgstr "Ändring av medlemsnivå slutfördes." #: classes/class.swpm-members.php:571 msgid "" "Error! Nonce security verification failed for Bulk Change Access Starts Date " "action. Clear cache and try again." msgstr "" "Fel! Säkerhetsverifiering med nonce misslyckades för åtgärden Bulk Change " "Access Starts Date. Rensa cacheminnet och försök igen." #: classes/class.swpm-members.php:596 msgid "Access starts date change operation successfully completed." msgstr "Ändring av åtkomstdatum slutfördes." #: classes/class.swpm-members.php:605 msgid "Bulk Update Membership Level of Members" msgstr "Massuppdatering av medlemsnivå av medlemmar" #: classes/class.swpm-members.php:608 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Du kan ändra medlemskap manuellt för en medlem genom att redigera posten " "från menyn medlemmar. " #: classes/class.swpm-members.php:609 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "Du kan använda följande alternativ för att massuppdatera medlemsnivån för " "medlemmar med nivån du väljer nedan." #: classes/class.swpm-members.php:617 classes/class.swpm-members.php:666 msgid "Membership Level: " msgstr "Medlemskapsnivå: " #: classes/class.swpm-members.php:621 msgid "Select Current Level" msgstr "Välj nuvarande nivå" #: classes/class.swpm-members.php:624 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" "Välj den nuvarande medlemsnivå (medlemskap nivån på alla medlemmar som är i " "denna nivå kommer att uppdateras)." #: classes/class.swpm-members.php:630 msgid "Level to Change to: " msgstr "Ändra nivå till: " #: classes/class.swpm-members.php:634 msgid "Select Target Level" msgstr "Välj målnivå" #: classes/class.swpm-members.php:637 msgid "Select the new membership level." msgstr "Välj ny medlemskapsnivå." #: classes/class.swpm-members.php:643 msgid "Bulk Change Membership Level" msgstr "Massändra medlemskapsnivå" #: classes/class.swpm-members.php:653 msgid "Bulk Update Access Starts Date of Members" msgstr "Massuppdatera åtkomstsstartdatum för medlemmar" #: classes/class.swpm-members.php:657 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "Åtkomststartdatum är inställt till den dag då användaren registrerar sig. " "Värdet avvänds för att beräkna hur länge medlemmen får åtkomst till " "nivåskyddat innehåll. " #: classes/class.swpm-members.php:658 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Du kan ställa in ett specifikt startdatum för alla medlemmar på en viss nivå " "med följande inställning." #: classes/class.swpm-members.php:669 msgid "Select Level" msgstr "Välj nivå" #: classes/class.swpm-members.php:672 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Välj medlemskapsnivå (åtkomstsstartdatum för alla medlemmar som är i denna " "nivå kommer att uppdateras)." #: classes/class.swpm-members.php:681 msgid "Specify the Access Starts date value." msgstr "Specifiera startdatum för åtkomst." #: classes/class.swpm-members.php:687 msgid "Bulk Change Access Starts Date" msgstr "Massuppdatera startdatum för åtkomst" #: classes/class.swpm-members.php:725 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Medlemmar" #: classes/class.swpm-members.php:726 #: classes/class.swpm-membership-levels.php:232 views/admin_members_list.php:70 msgid "Add New" msgstr "Lägg till" #: classes/class.swpm-members.php:731 views/admin_add.php:7 msgid "Add Member" msgstr "Lägg till medlem" #: classes/class.swpm-members.php:732 msgid "Bulk Operation" msgstr "Massåtgärder" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" "Fel! Nounce-verifiering misslyckades för att skapa medlemsskapsnivå från " "adminläget (back-end)." #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Ny medlemsskapsnivå har skapats." #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "Fel! Nounce-verifieringen misslyckades för att redigera medlemskapsnivå från " "adminläge (back-end)." #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Uppdatering av medlemskapsnivå lyckades." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Roll" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Åtkomst giltig till" #: classes/class.swpm-membership-levels.php:135 msgid "No membership levels found." msgstr "Ingen medlemsskapsnivå hittades." #: classes/class.swpm-membership-levels.php:203 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" "Fel! Nounce-verifieringen misslyckades för att radera medlemskapsnivån från " "adminläge (back-end)." #: classes/class.swpm-membership-levels.php:222 views/admin_members_list.php:56 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Sök" #: classes/class.swpm-membership-levels.php:269 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Medlemsnivåer" #: classes/class.swpm-membership-levels.php:274 msgid "Add Level" msgstr "Lägg till nivå" #: classes/class.swpm-membership-levels.php:275 msgid "Manage Content Protection" msgstr "Redigera innehållsskydd" #: classes/class.swpm-membership-levels.php:276 msgid "Category Protection" msgstr "Kategoriskydd" #: classes/class.swpm-membership-levels.php:277 msgid "Post and Page Protection" msgstr "Post- och sidskydd" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Titel" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Författare" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Status" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Kategorier" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Typ" #: classes/class.swpm-post-list.php:109 msgid "" "Error! Nonce security verification failed for Post Protection Update action. " "Clear cache and try again." msgstr "" "Fel! Nonce säkerhetsverifiering misslyckades för åtgärden Post Protection " "Update. Rensa cacheminnet och försök igen." #: classes/class.swpm-post-list.php:132 msgid "Protection settings updated!" msgstr "Skyddsinställningar uppdaterade!" #: classes/class.swpm-post-list.php:237 msgid "No items found." msgstr "Inga objekt hittades." #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "Kategorin eller föräldrakategorin för detta inlägg är skyddad. Du kan ändra " "inställningarna för kategoriskydd från " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "menyn för kategoriskydd" #: classes/class.swpm-self-action-handler.php:164 #: classes/class.swpm-self-action-handler.php:231 msgid "The email address you used is not whitelisted on this site." msgstr "E-postadressen du använde är inte vitlistad på denna webbplats." #: classes/class.swpm-self-action-handler.php:175 #: classes/class.swpm-self-action-handler.php:242 msgid "The email address you used is blacklisted on this site." msgstr "E-postadressen du använde är svartlistad på denna sida." #: classes/class.swpm-settings.php:42 classes/class.swpm-settings.php:74 msgid "General Settings" msgstr "Allmänna inställningar" #: classes/class.swpm-settings.php:43 msgid "Payment Settings" msgstr "Betalningsinställningar" #: classes/class.swpm-settings.php:44 msgid "Email Settings" msgstr "E-postinställningar" #: classes/class.swpm-settings.php:45 msgid "Tools" msgstr "Verktyg" #: classes/class.swpm-settings.php:46 classes/class.swpm-settings.php:713 msgid "Advanced Settings" msgstr "Avancerade inställningar" #: classes/class.swpm-settings.php:47 msgid "Blacklisting & Whitelisting" msgstr "Svartlistning och vitlistning" #: classes/class.swpm-settings.php:48 msgid "Addons Settings" msgstr "Tilläggsinställningar" #: classes/class.swpm-settings.php:71 msgid "Plugin Documentation" msgstr "Dokumentation för plugin" #: classes/class.swpm-settings.php:77 msgid "Enable Free Membership" msgstr "Möjliggör gratis medlemskapsnivå" #: classes/class.swpm-settings.php:83 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Aktivera/inaktivera registrering för gratis medlemsnivå. När du aktiverar " "det här alternativet, se till att du anger ett gratis medlemsnivå ID i " "fältet nedan." #: classes/class.swpm-settings.php:88 msgid "Free Membership Level ID" msgstr "Gratis medlemskapsnivå ID" #: classes/class.swpm-settings.php:94 msgid "Assign free membership level ID" msgstr "Tilldela gratis medlemskapsnivå ID" #: classes/class.swpm-settings.php:99 msgid "Enable More Tag Protection" msgstr "Möjliggör ”läs mer”-taggskydd" #: classes/class.swpm-settings.php:105 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Möjliggör eller möjliggör ej ”läs mer”-tag skydd hos inlägg och sidor. Allt " "efter ”Läs mer” tag är skyddat. Allt innan ”läs mer” är teaser." #: classes/class.swpm-settings.php:110 msgid "Hide Adminbar" msgstr "Göm Adminpanel" #: classes/class.swpm-settings.php:116 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "Wordpress visar en Adminpanel för inloggade användare på sidan. Bocka " "checkboxen om du vill gömma Adminpanelen på framsidan av din sida." #: classes/class.swpm-settings.php:121 msgid "Show Adminbar to Admin" msgstr "Visa adminpanel för administratörer" #: classes/class.swpm-settings.php:127 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Använd detta alternativ om du vll visa adminpanel enbart för " "administratörer. Panelen döljs för andra användare." #: classes/class.swpm-settings.php:132 msgid "Disable Access to WP Dashboard" msgstr "Inaktivera åtkomst till WP-panelen" #: classes/class.swpm-settings.php:138 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashboard. Using this option will prevent any " "non-admin users from going to the wp dashboard." msgstr "" "WordPress tillåter en standard WP-användare för att kunna gå till WP-admin " "webbadressen och hans profil från den WP-instrumentpanel. Med det här " "alternativet kommer att förhindra icke administratörsanvändare från att gå " "till WP-instrumentpanel." #: classes/class.swpm-settings.php:144 classes/class.swpm-settings.php:905 msgid "Default Account Status" msgstr "Standard kontostatus" #: classes/class.swpm-settings.php:152 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Välj standard kontostatus för de nyregistrerade användare. Om du vill " "godkänna medlemmarna manuellt så kan du sätta statusen till ”avvaktande”." #: classes/class.swpm-settings.php:158 msgid "Members Must be Logged in to Comment" msgstr "Medlem måste vara inloggad för att lägga till en kommentar" #: classes/class.swpm-settings.php:164 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Aktivera det här alternativet om du bara vill medlemmarna i webbplatsen för " "att kunna skriva en kommentar." #: classes/class.swpm-settings.php:170 msgid "Enable Toggle Password Visibility in Login Form" msgstr "Aktivera Växla lösenordssynlighet i inloggningsformulär" #: classes/class.swpm-settings.php:176 msgid "" "You can use it to show a toggle password visibility option in the login " "form. It will add a Show Password checkbox." msgstr "" "Du kan använda den för att visa ett alternativ för att växla " "lösenordssynlighet i inloggningsformuläret. Det kommer att lägga till en " "kryssruta Visa lösenord." #: classes/class.swpm-settings.php:182 msgid "Enable Password Reset Using Link" msgstr "Aktivera lösenordsåterställning med länk" #: classes/class.swpm-settings.php:188 msgid "" "You can enable this option if you want to handle the password reset " "functionality using a reset link that is emailed to the member. Read this documentation to learn " "more about the password reset function." msgstr "" "Du kan aktivera detta alternativ om du vill hantera " "lösenordsåterställningsfunktionen med hjälp av en återställningslänk som " "skickas till medlemmen via e-post. Läs denna dokumentation för att lära dig mer om funktionen " "för lösenordsåterställning." #: classes/class.swpm-settings.php:193 msgid "Pages Settings" msgstr "Sidinställningar" #: classes/class.swpm-settings.php:196 msgid "Login Page URL" msgstr "Inloggningssida URL" #: classes/class.swpm-settings.php:207 msgid "Registration Page URL" msgstr "Registreringssida URL" #: classes/class.swpm-settings.php:218 msgid "Join Us Page URL" msgstr "Bli medlemsida URL" #: classes/class.swpm-settings.php:229 msgid "Edit Profile Page URL" msgstr "Profilredigeringssida URL" #: classes/class.swpm-settings.php:240 msgid "Password Reset Page URL" msgstr "Sida för återställning av lösenord" #: classes/class.swpm-settings.php:251 msgid "Optional Pages Settings" msgstr "Valfria Sidinställningar" #: classes/class.swpm-settings.php:254 msgid "Thank You Page URL" msgstr "Tacksida URL" #: classes/class.swpm-settings.php:260 msgid "" "It is useful to use a thank you page in your payment button configuration. " "Read this documentation to learn more." msgstr "" "Det är användbart att använda en tacksida i din " "betalningsknappkonfiguration. Läs denna " "dokumentation om du vill veta mer." #: classes/class.swpm-settings.php:265 msgid "Test & Debug Settings" msgstr "Inställningar för test och felsökning" #: classes/class.swpm-settings.php:294 msgid "Check this option to enable debug logging." msgstr "Markera detta alternativ för att aktivera felsökningsloggning." #: classes/class.swpm-settings.php:295 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" " Detta kan vara användbart vid felsökning av ett problem. Stäng av den och " "återställ loggfilerna när felsökningen är klar." #: classes/class.swpm-settings.php:297 msgid "View general debug log file by clicking " msgstr "Visa allmän felsökningslogg genom att klicka " #: classes/class.swpm-settings.php:297 classes/class.swpm-settings.php:298 #: classes/class.swpm-settings.php:299 msgid "here" msgstr "här" #: classes/class.swpm-settings.php:298 msgid "View login related debug log file by clicking " msgstr "Visa inloggningsrelaterad felsökningslogg genom att klicka " #: classes/class.swpm-settings.php:299 msgid "Reset debug log files by clicking " msgstr "Återställ felsökningslogg genom att klicka " #: classes/class.swpm-settings.php:302 msgid "Enable Debug" msgstr "Aktivera felsökning" #: classes/class.swpm-settings.php:322 msgid "Sandbox or Test Mode Payment Settings" msgstr "Möjliggör Sandbox-test" #: classes/class.swpm-settings.php:326 msgid "Enable Sandbox or Test Mode" msgstr "Aktivera sandlåda eller testläge" #: classes/class.swpm-settings.php:332 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Möjliggör detta om du vill ha sandbox betalningstest." #: classes/class.swpm-settings.php:337 msgid "PayPal Settings" msgstr "PayPal-inställningar" #: classes/class.swpm-settings.php:341 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "Live Client ID" #: classes/class.swpm-settings.php:347 msgid "Enter your PayPal Client ID for live mode." msgstr "Ange ditt PayPal-klient-ID för live-läge." #: classes/class.swpm-settings.php:352 classes/class.swpm-settings.php:437 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:420 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:418 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:180 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:172 msgid "Live Secret Key" msgstr "Live Secret Key" #: classes/class.swpm-settings.php:358 msgid "Enter your PayPal Secret Key for live mode." msgstr "Ange din hemliga PayPal-nyckel för live-läge." #: classes/class.swpm-settings.php:363 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "Sandbox Client ID" #: classes/class.swpm-settings.php:369 msgid "Enter your PayPal Client ID for sandbox mode." msgstr "Ange ditt PayPal-klient-ID för sandlådeläge." #: classes/class.swpm-settings.php:374 msgid "Sandbox Secret Key" msgstr "Sandlådans hemliga nyckel" #: classes/class.swpm-settings.php:380 msgid "Enter your PayPal Secret Key for sandbox mode." msgstr "Ange din hemliga PayPal-nyckel för sandlådeläge." #: classes/class.swpm-settings.php:389 msgid "Stripe Global Settings" msgstr "Stripe Globala inställningar" #: classes/class.swpm-settings.php:393 msgid "Pre-fill Member Email Address" msgstr "Fyll i medlemmens e-postadress i förväg" #: classes/class.swpm-settings.php:399 msgid "" "Pre-fills the email address of the logged-in member on the Stripe checkout " "form when possible" msgstr "" "Fyller i e-postadressen till den inloggade medlemmen på Stripe-" "utcheckningsformuläret när det är möjligt" #: classes/class.swpm-settings.php:404 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:399 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:397 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:156 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:148 msgid "Test Publishable Key" msgstr "Testa publicerbar nyckel" #: classes/class.swpm-settings.php:410 msgid "Stripe API Test publishable key" msgstr "Stripe API Test publicerbar nyckel" #: classes/class.swpm-settings.php:415 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:406 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:404 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:164 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:156 msgid "Test Secret Key" msgstr "Test Secret Key" #: classes/class.swpm-settings.php:421 msgid "Stripe API Test secret key" msgstr "Stripe API Test secret key" #: classes/class.swpm-settings.php:426 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:413 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:411 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:172 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:164 msgid "Live Publishable Key" msgstr "Live Publishable Key" #: classes/class.swpm-settings.php:432 msgid "Stripe API Live publishable key" msgstr "Stripe API Live publishable key" #: classes/class.swpm-settings.php:443 msgid "Stripe API Live secret key" msgstr "Stripe API Live secret key" #: classes/class.swpm-settings.php:453 msgid "Email Settings Overview" msgstr "Översikt av e-postinställningar" #: classes/class.swpm-settings.php:454 msgid "Email Misc. Settings" msgstr "Inställningar för e-post" #: classes/class.swpm-settings.php:458 msgid "From Email Address" msgstr "Från e-postadress" #: classes/class.swpm-settings.php:470 msgid "Allow HTML in Emails" msgstr "Tillåt HTML i e-postmeddelanden" #: classes/class.swpm-settings.php:481 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Inställningar för e-post (uppmaning att slutföra registreringen)" #: classes/class.swpm-settings.php:484 classes/class.swpm-settings.php:515 #: classes/class.swpm-settings.php:596 classes/class.swpm-settings.php:621 #: classes/class.swpm-settings.php:657 classes/class.swpm-settings.php:682 msgid "Email Subject" msgstr "E-postsämne" #: classes/class.swpm-settings.php:495 classes/class.swpm-settings.php:526 #: classes/class.swpm-settings.php:607 classes/class.swpm-settings.php:632 #: classes/class.swpm-settings.php:668 classes/class.swpm-settings.php:693 msgid "Email Body" msgstr "E-postmeddelande" #: classes/class.swpm-settings.php:506 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "Ange den e-postadress dit admin-e-postmeddelanden ska skickas." #: classes/class.swpm-settings.php:507 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" " Du kan skriva flera adresser separerade med ett komma (,) i fältet ovan för " "att skicka till flera adresser." #: classes/class.swpm-settings.php:509 msgid "Enter the subject for the admin notification email." msgstr "Ange ämne för e-postmeddelande till Admin." #: classes/class.swpm-settings.php:510 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Detta mail skickas till Admin när en ny användare slutför registrering. " "Fungerar bara om du har aktiverat alternativet ”skickar anmälan till Admin” " "ovan." #: classes/class.swpm-settings.php:512 msgid "Email Settings (Registration Complete)" msgstr "Inställningar för e-post (lyckad registrering)" #: classes/class.swpm-settings.php:537 msgid "Send Notification to Admin" msgstr "Skicka notifiering till Admin" #: classes/class.swpm-settings.php:543 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Aktivera det här alternativet om du vill att Admin får ett meddelande när en " "ny medlem registrerar." #: classes/class.swpm-settings.php:548 msgid "Admin Email Address" msgstr "E-postadress till administratören" #: classes/class.swpm-settings.php:559 msgid "Admin Notification Email Subject" msgstr "Ämne för meddelande till Admin" #: classes/class.swpm-settings.php:570 msgid "Admin Notification Email Body" msgstr "Meddelande till Admin" #: classes/class.swpm-settings.php:582 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Skicka e-post till medlem när den läggs till via Admin Dashboard" #: classes/class.swpm-settings.php:593 msgid "Email Settings (Password Reset)" msgstr "E-postinställningar (Återställ lösenord)" #: classes/class.swpm-settings.php:618 msgid " Email Settings (Account Upgrade Notification)" msgstr " E-postinställningar (Meddelande om kontouppgradering)" #: classes/class.swpm-settings.php:643 msgid "Disable Email Notification After Upgrade" msgstr "Inaktivera e-postmeddelande efter uppgradering" #: classes/class.swpm-settings.php:649 msgid "" "You can use this option to disable the email notification that gets sent to " "the members when they make a payment for upgrade or renewal." msgstr "" "Du kan använda det här alternativet för att inaktivera e-postmeddelandet som " "skickas till medlemmarna när de gör en betalning för uppgradering eller " "förnyelse." #: classes/class.swpm-settings.php:654 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " E-postinställningar (Masskonto Aktivering)" #: classes/class.swpm-settings.php:679 msgid " Email Settings (Email Activation)" msgstr " E-postinställningar (E-postaktivering)" #: classes/class.swpm-settings.php:717 msgid "Enable Expired Account Login" msgstr "Aktivera inloggning för utgånget konto" #: classes/class.swpm-settings.php:723 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "När det är aktiverat, kommer medlemmar vars medlemskap har gått ut, kunna " "logga in i systemet men kan inte se något skyddat innehåll. Detta gör att de " "enkelt kan förnya sitt konto genom att göra en ny betalning." #: classes/class.swpm-settings.php:729 msgid "Membership Renewal URL" msgstr "URL för förnyelse av medlemskap" #: classes/class.swpm-settings.php:735 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal " "page." msgstr "" "Du kan skapa en förnyelse sida för din webbplats. Läs denna dokumentation om hur du skapar en förnyelse sida." #: classes/class.swpm-settings.php:741 msgid "After Registration Redirect URL" msgstr "Efter-registreringssida URL" #: classes/class.swpm-settings.php:747 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after " "registration redirect." msgstr "" "Du kan ange en webbadress här för att omdirigera medlemmarna till den här " "sidan efter att de har skickat in registreringsformuläret. Läs den här dokumentationen för att lära dig hur " "du konfigurerar efter registrering omdirigering." #: classes/class.swpm-settings.php:753 msgid "Enable Auto Login After Registration" msgstr "Aktivera automatisk inloggning efter registrering" #: classes/class.swpm-settings.php:759 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" "Använd det här alternativet om du vill att medlemmarna ska loggas in " "automatiskt på din webbplats direkt efter att de har slutfört " "registreringen. Det här alternativet åsidosätter någon efter omdirigering av " "registreringen och istället kommer den att aktivera omdirigering efter " "inloggning. Läs denna " "dokumentation för mer information." #: classes/class.swpm-settings.php:765 msgid "Hide Registration Form to Logged Users" msgstr "Dölj registreringsformulär för inloggade användare" #: classes/class.swpm-settings.php:771 msgid "" "Use this option if you want to hide the registration form to the logged-in " "members. If logged-in members visit the registration page, they will see a " "message instead of the registration form." msgstr "" "Använd det här alternativet om du vill dölja registreringsformuläret för " "inloggade medlemmar. Om inloggade medlemmar besöker registreringssidan " "kommer de att se ett meddelande istället för registreringsformuläret." #: classes/class.swpm-settings.php:777 msgid "After Logout Redirect URL" msgstr "URL omdirigering efter utloggning" #: classes/class.swpm-settings.php:783 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" "Du kan ange en URL här för att omdirigera medlemmarna till den här sidan " "efter att de klickar på utloggningslänken för att logga ut från din " "webbplats." #: classes/class.swpm-settings.php:789 msgid "Logout Member on Browser Close" msgstr "Logga ut Medlem vid stängning av webbläsare" #: classes/class.swpm-settings.php:795 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" "Aktivera detta alternativ om du vill att medlemmen ska loggas ut från kontot " "när medlemmen stänger webbläsaren." #: classes/class.swpm-settings.php:801 msgid "Allow Account Deletion" msgstr "Tillåt radering av konto" #: classes/class.swpm-settings.php:807 msgid "Allow users to delete their accounts." msgstr "Tillåt användare att radera sina konton." #: classes/class.swpm-settings.php:813 msgid "Force Strong Password for Members" msgstr "Tvinga fram starkt lösenord för medlemmar" #: classes/class.swpm-settings.php:819 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" "Aktivera detta om du vill att användarna ska tvingas använda ett starkt " "lösenord för sina konton." #: classes/class.swpm-settings.php:825 msgid "Auto Delete Pending Account" msgstr "Automatisk borttagning av väntande konton" #: classes/class.swpm-settings.php:837 msgid "Select how long you want to keep \"pending\" account." msgstr "Välj hur länge du vill behålla ”väntande” konton." #: classes/class.swpm-settings.php:843 msgid "Admin Dashboard Access Permission" msgstr "Adminpanel åtkomstbehörighet" #: classes/class.swpm-settings.php:856 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user roles to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" "SWPM adminpanel är bara tillgänglig för administratörer (precis som för " "andra tillägg). Du kan tillåta användare med andra WP-roller att få tillgång " "till SWPM adminpanel genom att välja ett värde här. Observera att det här " "alternativet inte kan fungera om du aktiverade alternativet \"Inaktivera " "åtkomst till WP adminpanel\" i allmänna inställningar." #: classes/class.swpm-settings.php:862 msgid "Force WP User Synchronization" msgstr "Tvinga WP-användarsynkronisering" #: classes/class.swpm-settings.php:868 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" "Aktivera detta alternativ för att tving synkronisering med WP-användare. " "Användbart om ni använder andra tillägg som använder WP-användare. Ex " "bbPress." #: classes/class.swpm-settings.php:873 msgid "Create Member Accounts for New WP Users" msgstr "Skapa medlemskonton för nya WP-användare" #: classes/class.swpm-settings.php:877 msgid "Enable Auto Create Member Accounts" msgstr "Aktivera att skapa medlemskonton automatiskt" #: classes/class.swpm-settings.php:883 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" "Aktivera det här alternativet för att automatiskt skapa medlemskonton för " "alla nya WP-användare som skapas av ett annat plugin." #: classes/class.swpm-settings.php:890 msgid "Default Membership Level" msgstr "Standard medlemsnivå" #: classes/class.swpm-settings.php:898 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" "När du skapar ett medlemskonto automatiskt med den här funktionen kommer \"\n" "\"användarnas medlemsnivå att ställas in till den du anger här." #: classes/class.swpm-settings.php:913 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" "När du automatiskt skapar ett medlemskonto med den här funktionen kommer " "användarens medlemskontos status att ställas in till den du anger här." #: classes/class.swpm-settings.php:919 msgid "Payment Notification Forward URL" msgstr "Vidarebefordran av betalningsmeddelande" #: classes/class.swpm-settings.php:925 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" "Du kan ange en URL här för att vidarebefordra betalningsmeddelandet efter " "att medlemsbetalningen har behandlats med detta plugin. Användbar om du vill " "vidarebefordra betalningsmeddelandet till ett externt skript för vidare " "bearbetning." #: classes/class.swpm-settings.php:930 views/add.php:68 msgid "Terms and Conditions" msgstr "Villkor" #: classes/class.swpm-settings.php:934 msgid "Enable Terms and Conditions" msgstr "Aktivera Villkor" #: classes/class.swpm-settings.php:940 msgid "Users must accept the terms before they can complete the registration." msgstr "" "Användare måste acceptera villkoren innan de kan slutföra registreringen." #: classes/class.swpm-settings.php:945 msgid "Terms and Conditions Page URL" msgstr "URL till sidan med villkor" #: classes/class.swpm-settings.php:951 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" "Ange webbadressen till sidan med villkor. Du kan skapa en WordPress-sida och " "ange dina villkor där och sedan ange webbadressen för den sidan i fältet " "ovan." #: classes/class.swpm-settings.php:956 msgid "Enable Privacy Policy" msgstr "Aktivera Integritetspolicy" #: classes/class.swpm-settings.php:962 msgid "Users must accept it before they can complete the registration." msgstr "Användare måste acceptera det innan de kan slutföra registreringen." #: classes/class.swpm-settings.php:967 msgid "Privacy Policy Page URL" msgstr "URL för Integritetspolicy" #: classes/class.swpm-settings.php:973 msgid "Enter the URL of your privacy policy page." msgstr "Ange webbadressen till din Integritetspolicy." #: classes/class.swpm-settings.php:984 msgid "Configure Blacklisting & Whitelisting" msgstr "Konfigurera svartlistning och vitlistning" #: classes/class.swpm-settings.php:987 msgid "Whitelisting" msgstr "Vitlistning" #: classes/class.swpm-settings.php:991 msgid "Enable Whitelisting Feature" msgstr "Aktivera vitlistningsfunktionen" #: classes/class.swpm-settings.php:997 msgid "When enabled, whitelisting feature will be activated." msgstr "När den är aktiverad kommer vitlistningsfunktionen att aktiveras." #: classes/class.swpm-settings.php:1003 msgid "Email Address Whitelisting" msgstr "Vitlistning av e-postadresser" #: classes/class.swpm-settings.php:1009 msgid "Enter a list (comma separated) of email addresses to whitelist." msgstr "Ange en lista (kommaseparerad) med e-postadresser som ska vitlistas." #: classes/class.swpm-settings.php:1015 msgid "Email Address Pattern Whitelisting" msgstr "Vitlistning av e-postadressmönster" #: classes/class.swpm-settings.php:1021 msgid "" "Enter a list (comma separated) of email addresses pattern to whitelist. " "Example value: @gooddomain.com, @gmail.com, @yahoo.com" msgstr "" "Ange en lista (kommaseparerad) med e-postadressmönster för att vitlista. " "Exempelvärde: @gooddomain.com, @gmail.com, @yahoo.com" #: classes/class.swpm-settings.php:1027 msgid "Whitelist Message Customization" msgstr "Vitlista meddelandeanpassning" #: classes/class.swpm-settings.php:1033 msgid "" "Enter the message you want to show to the user when the whitelisted " "condition is met. Leave it empty to use the default message." msgstr "" "Ange meddelandet du vill visa för användaren när det vitlistade villkoret är " "uppfyllt. Lämna det tomt för att använda standardmeddelandet." #: classes/class.swpm-settings.php:1038 msgid "Blacklisting" msgstr "Svartlistning" #: classes/class.swpm-settings.php:1042 msgid "Enable Blacklisting Feature" msgstr "Aktivera svartlistningsfunktionen" #: classes/class.swpm-settings.php:1048 msgid "When enabled, blacklisting feature will be activated." msgstr "När den är aktiverad kommer svartlistningsfunktionen att aktiveras." #: classes/class.swpm-settings.php:1054 msgid "Email Address Blacklisting" msgstr "Svartlistning av e-postadresser" #: classes/class.swpm-settings.php:1060 msgid "Enter a list (comma separated) of email addresses to blacklist." msgstr "Ange en lista (kommaseparerad) med e-postadresser som ska svartlistas." #: classes/class.swpm-settings.php:1066 msgid "Email Address Pattern Blacklisting" msgstr "Svartlistning av e-postadressmönster" #: classes/class.swpm-settings.php:1072 msgid "" "Enter a list (comma separated) of email addresses pattern to blacklist. " "Example value: @baddomain.com, @crazydomain.com" msgstr "" "Ange en lista (kommaseparerad) med e-postadressmönster för att svartlista. " "Exempelvärde: @baddomain.com, @crazydomain.com" #: classes/class.swpm-settings.php:1078 msgid "Blacklist Message Customization" msgstr "Svartlista meddelandeanpassning" #: classes/class.swpm-settings.php:1084 msgid "" "Enter the message you want to show to the user when the blacklisted " "condition is met. Leave it empty to use the default message." msgstr "" "Ange meddelandet du vill visa för användaren när det svartlistade villkoret " "är uppfyllt. Lämna det tomt för att använda standardmeddelandet." #: classes/class.swpm-settings.php:1183 #, php-format msgid "Visit the %s to read setup and configuration documentation." msgstr "" "Besök %s för att läsa installations- och konfigurationsdokumentationen." #: classes/class.swpm-settings.php:1183 msgid "Simple Membership Plugin Site" msgstr "Simple Membership Plugin webbplats" #: classes/class.swpm-settings.php:1184 #, php-format msgid "Please %s if you like the plugin." msgstr "Vänligen %s om du gillar insticksprogrammet." #: classes/class.swpm-settings.php:1184 msgid "give us a rating" msgstr "ge oss ett betyg" #: classes/class.swpm-settings.php:1202 classes/class.swpm-settings.php:1232 #: classes/class.swpm-settings.php:1364 classes/class.swpm-settings.php:1392 #: classes/class.swpm-settings.php:1425 msgid "Settings updated!" msgstr "Inställningar uppdaterade!" #: classes/class.swpm-settings.php:1207 msgid "General Plugin Settings." msgstr "Allmänna inställningar för detta plugin." #: classes/class.swpm-settings.php:1211 msgid "Page Setup and URL Related settings." msgstr "Sidinställningar och URL-relaterade inställningar." #: classes/class.swpm-settings.php:1214 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" "Följande sidor behövs för att SWMP-tillägget ska fungera korrekt. Dessa \"\n" "\"skapades automatiskt när tillägget installerades." #: classes/class.swpm-settings.php:1215 msgid "" " Read this documentation " "to learn how to recreate them (if needed)." msgstr "" " Läs denna dokumentation " "för att lära dig hur du återskapar dem ( om det behövs)." #: classes/class.swpm-settings.php:1221 msgid "" "Optional page. It is automatically created by the plugin when you install " "the plugin for the first time." msgstr "" "Valfri sida. Den skapas automatiskt av plugin-programmet när du installerar " "plugin-programmet för första gången." #: classes/class.swpm-settings.php:1226 msgid "Testing and Debug Related Settings." msgstr "Inställningar för test och felsökning." #: classes/class.swpm-settings.php:1237 msgid "" "This section allows you to enable/disable sandbox or test mode for the " "payment buttons." msgstr "" "Det här avsnittet låter dig aktivera/avaktivera sandlåda eller testläge för " "betalningsknapparna." #: classes/class.swpm-settings.php:1241 msgid "Configure the PayPal API credentials for the new PayPal checkout." msgstr "" "Konfigurera autentiseringsuppgifterna för PayPal API för den nya PayPal-" "utcheckningen." #: classes/class.swpm-settings.php:1242 msgid "Read this documentation" msgstr "Läs denna dokumentation" #: classes/class.swpm-settings.php:1242 msgid "to learn how to get your PayPal API credentials." msgstr "för att lära dig hur du får dina PayPal API-uppgifter." #: classes/class.swpm-settings.php:1246 msgid "PayPal Webhooks" msgstr "PayPal Webhooks" #: classes/class.swpm-settings.php:1247 msgid "" "The PayPal payment buttons that uses the new API require webhooks. The " "plugin will auto-create the required webhooks when you create a PayPal " "payment button." msgstr "" "PayPal-betalningsknapparna som använder det nya API:et kräver webhooks. " "Insticksprogrammet kommer automatiskt att skapa de nödvändiga webhooks när " "du skapar en PayPal-betalningsknapp." #: classes/class.swpm-settings.php:1248 msgid "" "If you have issues with the webhooks, you can delete it and create again." msgstr "Om du har problem med webhooks kan du ta bort det och skapa igen." #: classes/class.swpm-settings.php:1265 msgid "" "Live Webhook exists. If you still have issues with webhooks, you can delete " "it and create again." msgstr "" "Live Webhook finns. Om du fortfarande har problem med webhooks kan du ta " "bort det och skapa igen." #: classes/class.swpm-settings.php:1271 msgid "" "Live PayPal API credentials are not set. Please set the Live PayPal API " "credentials first." msgstr "" "Live PayPal API-uppgifter är inte inställda. Vänligen ställ in " "autentiseringsuppgifterna för Live PayPal API först." #: classes/class.swpm-settings.php:1275 msgid "" "No webhook found. Use the following Create Live Webhook link to create a new " "webhook automatically." msgstr "" "Ingen webhook hittades. Använd följande Skapa Live Webhook-länk för att " "skapa en ny webhook automatiskt." #: classes/class.swpm-settings.php:1279 msgid "Create Live Webhook" msgstr "Skapa Live Webhook" #: classes/class.swpm-settings.php:1293 msgid "" "Sandbox Webhook exists. If you still have issues with webhooks, you can " "delete it and create again." msgstr "" "Sandbox Webhook finns. Om du fortfarande har problem med webhooks kan du ta " "bort det och skapa igen." #: classes/class.swpm-settings.php:1299 msgid "" "Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal " "API credentials first." msgstr "" "Sandbox PayPal API-uppgifter är inte inställda. Vänligen ställ in " "användaruppgifterna för Sandbox PayPal API först." #: classes/class.swpm-settings.php:1303 msgid "" "No webhook found. Use the following Create Sandbox Webhook link to create a " "new webhook automatically." msgstr "" "Ingen webhook hittades. Använd följande länk Skapa Sandbox Webhook för att " "skapa en ny webhook automatiskt." #: classes/class.swpm-settings.php:1307 msgid "Create Sandbox Webhook" msgstr "Skapa Sandbox Webhook" #: classes/class.swpm-settings.php:1314 classes/class.swpm-settings.php:1324 msgid "Delete Webhooks" msgstr "Ta bort Webhooks" #: classes/class.swpm-settings.php:1319 msgid "" "PayPal API credentials are missing. Please set the PayPal API credentials." msgstr "PayPal API-referenser saknas. Vänligen ange PayPal API-referenser." #: classes/class.swpm-settings.php:1335 msgid "This section allows you to configure Stripe payment related settings." msgstr "" "I det här avsnittet kan du konfigurera inställningar för Stripe-betalningar." #: classes/class.swpm-settings.php:1339 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Detta e-postmeddelande kommer att skickas till dina användare när de slutför " "registreringen och blir medlem." #: classes/class.swpm-settings.php:1343 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Detta e-postmeddelande kommer att skickas till dina användare när de " "använder funktionen för lösenordsåterställning." #: classes/class.swpm-settings.php:1349 msgid "" "This interface lets you customize the various emails that get sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" "Detta gränssnitt låter dig anpassa de olika e-postmeddelanden som skickas " "till dina medlemmar för olika åtgärder. Standardinställningarna bör vara bra " "för att komma igång." #: classes/class.swpm-settings.php:1353 views/admin_tools_settings.php:88 msgid "This documentation" msgstr "Denna dokumentation" #: classes/class.swpm-settings.php:1354 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" " förklarar vilka e-postsammanfogningstaggar du kan använda i e-" "postmeddelandefältet för att anpassa det (om du vill)." #: classes/class.swpm-settings.php:1367 msgid "Settings in this section apply to all emails." msgstr "Inställningarna i det här avsnittet gäller för alla e-postmeddelanden." #: classes/class.swpm-settings.php:1371 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Detta e-postmeddelande kommer att skickas till dina användare efter " "kontouppgradering (när en befintlig medlem betalar för en ny medlemsnivå)." #: classes/class.swpm-settings.php:1375 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Det här e-postmeddelandet kommer att skickas till dina medlemmar när du " "använder masskontots aktiverings- och meddelandeåtgärd." #: classes/class.swpm-settings.php:1376 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" " Du kan inte använda e-postmergetaggar i detta e-mail. Du kan endast använda " "generiska text." #: classes/class.swpm-settings.php:1380 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" "Det här e-postmeddelandet kommer att skickas om e-postaktivering är " "aktiverad för en medlemsnivå." #: classes/class.swpm-settings.php:1384 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Denna e-post kommer att skickas för att uppmana användarna att slutföra " "registreringen efter betalning." #: classes/class.swpm-settings.php:1407 msgid "" "Note: You cannot enable both the \"Disable Access to WP Dashboard\" and " "\"Admin Dashboard Access Permission\" options at the same time. Only use one " "of those options." msgstr "" "Obs: Du kan inte aktivera både \"Inaktivera åtkomst till WP Dashboard\" och " "\"Admin Dashboard Access Permission\" alternativen samtidigt. Använd bara " "ett av dessa alternativ." #: classes/class.swpm-settings.php:1416 msgid "This page allows you to configure some advanced features of the plugin." msgstr "" "På den här sidan kan du konfigurera några avancerade funktioner i tillägget." #: classes/class.swpm-settings.php:1430 msgid "" "This interface lets you configure blacklisting & whitelisting for email " "addresses. " msgstr "" "Detta gränssnitt låter dig konfigurera svartlistning och vitlistning för e-" "postadresser. " #: classes/class.swpm-settings.php:1431 msgid "This blacklisting & whitelisting documentation" msgstr "Denna svartlistnings- och vitlistningsdokumentation" #: classes/class.swpm-settings.php:1432 msgid " explains how to use this feature." msgstr " förklarar hur du använder den här funktionen." #: classes/class.swpm-settings.php:1438 msgid "This section allows you to configure whitelisting settings." msgstr "I det här avsnittet kan du konfigurera inställningar för vitlista." #: classes/class.swpm-settings.php:1442 msgid "This section allows you to configure blacklisting settings." msgstr "I det här avsnittet kan du konfigurera svartlistningsinställningar." #: classes/class.swpm-settings.php:1446 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" "Det här avsnittet låter dig konfigurera automatiskt skapande av " "medlemskonton när nya WP-användarposter skapas av ett annat plugin. Det kan " "vara användbart om du använder ett annat plugin som skapar WP-användarposter " "och du vill att de ska kännas igen i medlemskapsplugin." #: classes/class.swpm-settings.php:1450 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" "Det här avsnittet låter dig konfigurera villkor och sekretesspolicy som " "användare måste acceptera vid registreringstillfället." #: classes/class.swpm-settings.php:1626 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Inställningar" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 #: classes/class.swpm-utils-member.php:68 msgid "User is not logged in." msgstr "Användaren är inte inloggad." #: classes/class.swpm-utils-member.php:88 msgid "No Expiry" msgstr "Inget utgångsdatum" #: classes/class.swpm-utils-misc.php:57 msgid "Registration" msgstr "Registrering" #: classes/class.swpm-utils-misc.php:85 msgid "Member Login" msgstr "Login för medlem" #: classes/class.swpm-utils-misc.php:113 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:145 msgid "Profile" msgstr "Profil" #: classes/class.swpm-utils-misc.php:141 msgid "Password Reset" msgstr "Återställ lösenordet" #: classes/class.swpm-utils-misc.php:169 msgid "Thank You" msgstr "Tack" #: classes/class.swpm-utils-misc.php:224 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "Du omdirigeras automatiskt om några sekunder. Om inte, vänligen %s." #: classes/class.swpm-utils-misc.php:228 msgid "Action Status" msgstr "Åtgärdsstatus" #: classes/class.swpm-utils-misc.php:415 msgid "Not a Member?" msgstr "Inte medlem?" #: classes/class.swpm-utils-misc.php:426 msgid "renew" msgstr "förnya" #: classes/class.swpm-utils-misc.php:426 msgid " your account to gain access to this content." msgstr " ditt konto för att få tillgång till detta innehåll." #: classes/class.swpm-utils-misc.php:484 classes/class.swpm-utils-misc.php:490 msgid "Error! This action (" msgstr "Fel! Denna åtgärd (" #: classes/class.swpm-utils-misc.php:962 msgid "(Please Select)" msgstr "(Vänligen välj)" #: classes/class.swpm-utils-misc.php:978 #: views/payments/admin_create_payment_buttons.php:34 msgid "PayPal Buy Now" msgstr "PayPal Köp nu" #: classes/class.swpm-utils-misc.php:979 #: views/payments/admin_create_payment_buttons.php:36 msgid "PayPal Subscription" msgstr "PayPal-prenumeration" #: classes/class.swpm-utils-misc.php:980 #: views/payments/admin_create_payment_buttons.php:38 msgid "PayPal Buy Now (New API)" msgstr "PayPal Köp nu (nytt API)" #: classes/class.swpm-utils-misc.php:981 #: views/payments/admin_create_payment_buttons.php:40 msgid "PayPal Subscription (New API)" msgstr "PayPal-prenumeration (nytt API)" #: classes/class.swpm-utils-misc.php:982 msgid "PayPal Smart Checkout" msgstr "PayPal Smart Checkout" #: classes/class.swpm-utils-misc.php:983 msgid "Stripe Buy Now" msgstr "Stripe Köp nu" #: classes/class.swpm-utils-misc.php:984 msgid "Stripe Subscription" msgstr "Stripe Prenumeration" #: classes/class.swpm-utils-misc.php:985 #: views/payments/admin_create_payment_buttons.php:44 msgid "Stripe SCA Buy Now" msgstr "Stripe SCA Köp nu" #: classes/class.swpm-utils-misc.php:986 #: views/payments/admin_create_payment_buttons.php:46 msgid "Stripe SCA Subscription" msgstr "Stripe SCA-abonnemang" #: classes/class.swpm-utils-misc.php:987 #: views/payments/admin_create_payment_buttons.php:42 msgid "Braintree Buy Now" msgstr "Braintree Köp nu" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Fel! Misslyckades med att hitta en mallsökväg för den angivna mallen: " #: classes/class.swpm-utils.php:111 msgid "Never" msgstr "Aldrig" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Man" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Kvinna" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "Ej angivet" #: classes/class.swpm-utils.php:126 views/admin_members_list.php:33 msgid "Active" msgstr "Aktiv" #: classes/class.swpm-utils.php:127 views/admin_members_list.php:34 msgid "Inactive" msgstr "Inaktiv" #: classes/class.swpm-utils.php:128 views/admin_members_list.php:35 msgid "Activation Required" msgstr "Aktivering krävs" #: classes/class.swpm-utils.php:129 views/admin_members_list.php:36 msgid "Pending" msgstr "Avvaktande" #: classes/class.swpm-utils.php:130 views/admin_members_list.php:38 msgid "Expired" msgstr "Utgånget" #: classes/class.swpm-utils.php:533 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Radera konto" #: classes/class.swpm-wp-loaded-tasks.php:118 msgid "" "You will be redirected to the previous page in a few seconds. If not, please " "click here." msgstr "" "Du kommer att omdirigeras till föregående sida inom några sekunder. Om inte, " "klicka här." #: classes/class.swpm-wp-loaded-tasks.php:121 msgid "Success!" msgstr "Lyckades!" #: classes/class.swpm-wp-loaded-tasks.php:129 msgid "No token provided." msgstr "Ingen token tillhandahålls." #: classes/class.swpm-wp-loaded-tasks.php:136 msgid "Nonce check failed." msgstr "Nonce-kontroll misslyckades." #: classes/class.swpm-wp-loaded-tasks.php:161 msgid "Subscription has been cancelled." msgstr "Prenumerationen har avslutats." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:75 msgid "Your membership profile will be updated to reflect the payment." msgstr "Din medlemsprofil kommer att uppdateras efter betalningen." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:76 msgid "Your profile username: " msgstr "Din profils användarnamn: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:94 msgid "Click on the following link to complete the registration." msgstr "Klicka på följande länk för att slutföra registreringen." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "Click here to complete your paid registration" msgstr "Klicka här för att slutföra din betalda registrering" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:102 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Om du just har gjort en medlemsbetalning så har den ännu inte behandlats. " "Vänligen kontrollera om några minuter. Ett e-postmeddelande kommer att " "skickas till dig med detaljerna inom kort." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:119 msgid "Expiry: " msgstr "Utgångsdatum: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:166 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:248 msgid "You are not logged-in as a member" msgstr "Du är inte inloggad som medlem" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:143 msgid "Logged in as: " msgstr "Inloggad som: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:146 #: views/loggedin.php:31 msgid "Logout" msgstr "Logga ut" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:149 msgid "Login Here" msgstr "Logga in här" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:150 msgid "Not a member? " msgstr "Inte medlem? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:151 msgid "Join Now" msgstr "Gå med nu" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:228 msgid "Unsubscribe from PayPal" msgstr "Avsluta prenumeration från PayPal" #. translators: %1$d is error code; %2$s is error message. #: ipn/swpm-smart-checkout-ipn.php:270 ipn/swpm-smart-checkout-ipn.php:297 #, php-format msgid "" "Error occured during payment verification. Error code: %1$d. Message: %2$s" msgstr "" "Fel inträffade under betalningsverifiering. Felkod: %1$d. Meddelande: %2$s" #. translators: %1$s is expected amount, %2$s is expected currency. #: ipn/swpm-smart-checkout-ipn.php:311 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s " "%4$s." msgstr "" "Betalningskontroll misslyckades: ogiltigt belopp mottaget. Förväntat %1$s " "%2$s, mottog %3$s %4$s." #: ipn/swpm-smart-checkout-ipn.php:347 msgid "Empty payment data received." msgstr "Tom betalningsdata mottagen." #: ipn/swpm-smart-checkout-ipn.php:406 msgid "IPN product validation failed. Check the debug log for more details." msgstr "" "IPN-produktvalidering misslyckades. Se felsökningsloggen för mer information." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:40 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:228 msgid "Empty data received." msgstr "Tom data mottagen." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:54 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:242 msgid "" "Nonce check failed. The page was most likely cached. Please reload the page " "and try again." msgstr "" "Nonce-kontroll misslyckades. Sidan var troligen cachad. Ladda om sidan och " "försök igen." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:66 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:254 msgid "Empty transaction data received." msgstr "Tom transaktionsdata mottagen." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:324 #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:325 msgid "subscription created" msgstr "prenumeration skapad" #: lib/paypal/class-swpm-paypal-webhook.php:310 msgid "" "No webhook found. Use the following Create Webhook button to create a new " "webhook automatically in your PayPal account." msgstr "" "Ingen webhook hittades. Använd följande Create Webhook-knapp för att skapa " "en ny webhook automatiskt i ditt PayPal-konto." #: lib/paypal/class-swpm-paypal-webhook.php:314 #, php-format msgid "" "PayPal API Credential information is missing in settings. Please enter valid " "PayPal API Credentials in the General Settings tab for %s mode." msgstr "" "PayPal API-uppgifter saknas i inställningarna. Ange giltiga PayPal API-" "uppgifter på fliken Allmänna inställningar för %s-läge." #: lib/paypal/class-swpm-paypal-webhook.php:316 #, php-format msgid "" "Invalid or Missing API Credentials! Check the plugin settings and enter " "valid API credentials in the PayPal Credentials section for %s mode." msgstr "" "Ogiltiga eller saknade API-uppgifter! Kontrollera plugin-inställningarna och " "ange giltiga API-uppgifter i avsnittet PayPal-uppgifter för %s-läge." #: lib/paypal/class-swpm-paypal-webhook.php:326 msgid "" "Webhook exists. If you still have issues with webhooks, you can delete it " "and create again." msgstr "" "Webhook finns. Om du fortfarande har problem med webhooks kan du ta bort det " "och skapa igen." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "Invalid webhook URL." msgstr "Ogiltig webhook-URL." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "" "Note that the PayPal subscription API requires your site to use HTTPS URLs. " "You must use an SSL certificate with HTTPS URLs to complete the setup of the " "subscription addon and use it." msgstr "" "Observera att PayPals prenumerations-API kräver att din webbplats använder " "HTTPS-URL:er. Du måste använda ett SSL-certifikat med HTTPS-URL:er för att " "slutföra installationen av prenumerationstillägget och använda det." #: lib/paypal/class-swpm-paypal-webhook.php:362 msgid "Webhook has been created." msgstr "Webhook har skapats." #: lib/paypal/class-swpm-paypal-webhook.php:386 msgid "Webhook has been deleted." msgstr "Webhook har tagits bort." #: lib/paypal/class-swpm-paypal-webhook.php:399 msgid "No webhook found. Nothing to delete." msgstr "Ingen webhook hittades. Inget att radera." #: lib/paypal/class-swpm-paypal-webhook.php:416 msgid "Live mode credentials are not set. Cannot create webhook." msgstr "" "Inloggningsuppgifter för liveläge är inte inställda. Det går inte att skapa " "webhook." #: lib/paypal/class-swpm-paypal-webhook.php:431 msgid "Sandbox mode credentials are not set. Cannot create webhook." msgstr "" "Autentiseringsuppgifter för sandlådeläge är inte inställda. Det går inte att " "skapa webhook." #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "Du håller på att radera ett konto. Detta raderar användardata som är " "kopplade till detta konto. " #: views/account_delete_warning.php:8 msgid "It will also delete the associated WordPress user account." msgstr "Det tar också bort tillhörande WordPress-användarkonto." #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(OBS: av säkerhetsskäl tillåter vi inte radering av något associerat " "WordPress-konto med administratörsroll)." #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "Fortsätta?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Lösenord: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Bekräfta radering av konto" #: views/add.php:26 views/admin_add.php:20 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:28 msgid "Password" msgstr "Lösenord" #: views/add.php:30 views/edit.php:35 msgid "Repeat Password" msgstr "Upprepa lösenord" #: views/add.php:68 msgid "I accept the " msgstr "Jag accepterar " #: views/add.php:80 msgid "I agree to the " msgstr "Jag godkänner " #: views/add.php:80 msgid "Privacy Policy" msgstr "Integritetspolicy" #: views/add.php:91 msgid "Register" msgstr "Registrera" #: views/admin_add.php:8 msgid "Create a brand new user and add it to this site." msgstr "Skapa en helt ny användare och lägg till på denna webbplats." #: views/admin_add.php:12 views/admin_add.php:16 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(obligatorisk)" #: views/admin_add.php:16 views/admin_edit.php:40 msgid "E-mail" msgstr "E-post" #: views/admin_add.php:20 msgid "(twice, required)" msgstr "(två gånger, obligatoriskt)" #: views/admin_add.php:25 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Säkerhetsindikation" #: views/admin_add.php:26 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Lösenordet ska vara minst sju tecken långt. För att göra det starkare, " "använd stora och små bokstäver, siffror och symboler som! ”? $% ^ & )." #: views/admin_add.php:30 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Kontostatus" #: views/admin_add.php:49 msgid "Add New Member " msgstr "Lägg till ny medlem " #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Lägg till medlemsskapsnivå" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "Lägg till ny medlemskapsnivå." #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "Namn på medlemskapsnivå" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "Standard Wordpressroll" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "Åtkomstens varaktighet" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Inget utgångsdatum (Tillgång för denna nivå kommer inte att löpa ut förrän " "den avbrutits" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "Upphör efter" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "Dagar (antal dagar till att medlemskapet upphör)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "Veckor (antal veckor till att medlemskapet upphör)" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "Månader (antal månader till att medlemskapet upphör)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "År (antal år till att medlemskapet upphör)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "Fast utgångsdatum" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(Åtkomst upphör detta datum)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "E-postaktivering" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" "Möjliggör aktivering av nya användare via e-post. När det är aktiverat måste " "medlemmarna klicka på en aktiveringslänk som skickas till deras e-postadress " "för att aktivera kontot. Användbar för gratis medlemskap. " #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "Se dokumentation" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "OBS:" #: views/admin_add_level.php:45 msgid "" "If enabled, the member's decryptable password is temporarily stored in the " "database until the account is activated." msgstr "" "Vid aktivering av denna funktion lagras dekrypterbart medlemslösenord " "tillfälligt i databasen tills kontot aktiveras." #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "Lägg till ny medlemsnivå " #: views/admin_add_ons_page.php:11 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Tillägg" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Vissa av medlemskapspluginens tilläggsinställningar och alternativ kommer " "att visas här (om du har dem)" #: views/admin_addon_settings.php:10 msgid "Save Changes" msgstr "Spara ändringarna" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Först och främst skydda kategorin globalt på din webbplats genom att välja " "”Allmänt skydd” i rullgardinsmenyn nedan och välj sedan de kategorier som " "ska skyddas från användare som inte är inloggade." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Välj sedan en befintlig medlemsnivå i rullgardinsmenyn nedan och välj sedan " "de kategorier som du vill ge åtkomst till (för den särskilda medlemsnivån)." #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 #: views/admin_post_list.php:11 msgid "Read the " msgstr "Läs " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "dokumentation för kategoriskydd" #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 msgid "to learn more." msgstr "för att lära dig mer." #: views/admin_category_list.php:19 views/admin_post_list.php:32 msgid "Membership Level:" msgstr "Medlemsskapsnivå:" #: views/admin_category_list.php:21 views/admin_post_list.php:34 msgid "General Protection" msgstr "Allmänt skydd" #: views/admin_category_list.php:26 views/admin_post_list.php:39 #: views/edit.php:84 msgid "Update" msgstr "Uppdatera" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Redigera medlem" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Redigera befintliga medlemsuppgifter." #: views/admin_edit.php:14 msgid " You are currently editing member with member ID: " msgstr " Du redigerar för närvarande medlem med medlems-ID: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(två gånger, lämna tomt för att behålla det gamla lösenordet)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" "Detta är medlemmens kontostatus. Om du vill aktivera ett utgånget medlems " "\"\n" "\"konto manuellt, läs då" #: views/admin_edit.php:60 msgid "this documentation" msgstr "denna dokumentation" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " för att lära dig hur du gör det." #: views/admin_edit.php:66 msgid "Notify User" msgstr "Meddela användaren" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" "Du kan använda det här alternativet för att skicka ett e-postmeddelande till " "den här medlemmen (e-postmeddelandet skickas när du trycker på spara-knappen " "nedan)." #: views/admin_edit.php:103 msgid "Subscriber ID/Reference" msgstr "Prenumerant ID / Referens" #: views/admin_edit.php:107 msgid "Expiry Date" msgstr "Utgångsdatum" #: views/admin_edit.php:114 msgid "" "This is calculated based on the current membership level assigned to this " "member and the expiry condition that you have set for that membership level." msgstr "" "Detta beräknas baserat på den aktuella medlemsnivån som tilldelats den här " "medlemmen och det utgångsvillkor som du har angett för den medlemsnivån." #: views/admin_edit.php:119 msgid "Last Accessed Date" msgstr "Senast tillgängliga datum" #: views/admin_edit.php:122 views/admin_edit.php:129 msgid "This value gets updated when this member logs into your site." msgstr "" "Detta värde uppdateras när den här medlemmen loggar in på din webbplats." #: views/admin_edit.php:126 msgid "Last Accessed From IP" msgstr "Senast åtkomst från IP" #: views/admin_edit.php:137 msgid "Save Data" msgstr "Spara data" #: views/admin_edit.php:142 msgid "Delete User Profile" msgstr "Radera användarprofil" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Redigera medlemsskapsnivån" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "Du kan redigera information om en vald medlemsnivå från detta gränssnitt. " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "Du redigerar för närvarande: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Inget giltighetstid (Åtkomst för denna nivå upphör först när den avbryts)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "Veckor (Åtkomst upphör efter angivet antal veckor)" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" "Möjliggör aktivering av nya användare via e-post. När det är aktiverat måste " "medlemmarna klicka på en aktiveringslänk som skickas till deras e-postadress " "för att aktivera kontot. Användbar för gratis medlemskap." #: views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" "Vid aktivering av denna funktion lagras dekrypterbart medlemslösenord " "tillfälligt i databasen tills kontot aktiveras." #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "Spara medlemsnivå " #: views/admin_member_form_common_part.php:14 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Kön" #: views/admin_member_form_common_part.php:21 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Telefonnummer" #: views/admin_member_form_common_part.php:25 views/edit.php:51 msgid "Street" msgstr "Gata" #: views/admin_member_form_common_part.php:29 views/edit.php:55 msgid "City" msgstr "Ort" #: views/admin_member_form_common_part.php:33 views/edit.php:59 msgid "State" msgstr "Stat" #: views/admin_member_form_common_part.php:37 views/edit.php:63 msgid "Zipcode" msgstr "Postnummer" #: views/admin_member_form_common_part.php:41 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Land" #: views/admin_member_form_common_part.php:45 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Företag" #: views/admin_member_form_common_part.php:49 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Medlem sedan" #: views/admin_members_list.php:32 msgid "All" msgstr "Alla" #: views/admin_members_list.php:37 views/admin_members_list.php:47 msgid "Incomplete" msgstr "Ofullständig" #: views/admin_membership_manage.php:5 msgid "content protection documentation" msgstr "innehållsskyddsdokumentation" #: views/admin_membership_manage.php:7 msgid "How to Apply Content Protection" msgstr "Hur man tillämpar innehållsskydd" #: views/admin_membership_manage.php:9 msgid "" "Take the following steps to apply protection to your content so only members " "can have access to it." msgstr "" "Utför följande steg för att tillämpa skydd på ditt innehåll så att endast " "medlemmar kan ha tillgång till det." #: views/admin_membership_manage.php:12 msgid "Edit the Post or Page that you want to protect in WordPress editor." msgstr "" "Redigera inlägget eller sidan som du vill skydda i WordPress-redigeraren." #: views/admin_membership_manage.php:13 msgid "Scroll down to the section titled 'Simple WP Membership Protection'." msgstr "Rulla ner till avsnittet \"Enkelt WP-medlemskapsskydd\"." #: views/admin_membership_manage.php:14 msgid "Select 'Yes, Protect this content' option." msgstr "Välj alternativet \"Ja, skydda detta innehåll\"." #: views/admin_membership_manage.php:15 msgid "" "Check the membership levels that should have access to that page's content." msgstr "Kontrollera medlemsnivåerna som ska ha tillgång till sidans innehåll." #: views/admin_membership_manage.php:16 msgid "Hit the Update/Save Button to save the changes." msgstr "Tryck på Uppdatera/Spara-knappen för att spara ändringarna." #: views/admin_membership_manage.php:19 msgid "Example Content Protection Settings" msgstr "Exempel på inställningar för innehållsskydd" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" "Först och främst skydda kategorin globalt på din webbplats genom att välja " "”Allmänt skydd” i rullgardinsmenyn nedan och välj sedan de kategorier som " "ska skyddas från användare som inte är inloggade." #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" "Välj sedan en befintlig medlemsnivå från rullgardinsmenyn nedan och välj " "sedan inlägg och sidor som du vill ge åtkomst till (för just den " "medlemsnivån)." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "masskydda inlägg och sidordokumentation" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr " att lära sig att använda den." #: views/admin_post_list.php:21 msgid "Posts" msgstr "Inlägg" #: views/admin_post_list.php:22 msgid "Pages" msgstr "Sidor" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "Anpassade inlägg" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "De nödvändiga sidorna har skapats på nytt." #: views/admin_tools_settings.php:22 msgid "This interface contains useful tools for various admin operations." msgstr "" "Det här gränssnittet innehåller användbara verktyg för olika " "adminoperationer." #: views/admin_tools_settings.php:27 msgid "Generate a Registration Completion link" msgstr "Skapa en länk för Fullfölj registrering" #: views/admin_tools_settings.php:30 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Du kan manuellt skapa en länk för registreringens fullföljande här och ge " "den till din kund om de har missat e-postmeddelandet som skickades " "automatiskt till dem efter betalningen." #: views/admin_tools_settings.php:35 msgid "Generate Registration Completion Link" msgstr "Skapa länk för att slutföra registreringen" #: views/admin_tools_settings.php:36 msgid "For a Particular Member ID" msgstr "För ett särskilt medlems-ID" #: views/admin_tools_settings.php:38 msgid "OR" msgstr "ELLER" #: views/admin_tools_settings.php:39 msgid "For All Incomplete Registrations" msgstr "För alla ofullständiga registreringar" #: views/admin_tools_settings.php:44 msgid "Send Registration Reminder Email Too" msgstr "Skicka även registreringspåminnelse via e-post" #: views/admin_tools_settings.php:50 msgid "Submit" msgstr "Registrera" #: views/admin_tools_settings.php:59 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Länk(ar) genererades framgångsrikt. Följande länk(ar) kan användas för att " "slutföra registreringen." #: views/admin_tools_settings.php:61 msgid "Registration completion links will appear below" msgstr "Länkar för att fullfölja registreringen visas nedan" #: views/admin_tools_settings.php:71 msgid "A prompt to complete registration email was also sent." msgstr "En uppmaning att slutföra registrerings-e-post skickades också." #: views/admin_tools_settings.php:84 views/admin_tools_settings.php:94 msgid "Re-create the Required Pages" msgstr "Återskapa nödvändiga sidor" #: views/admin_tools_settings.php:87 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" "Om du av misstag har raderat de nödvändiga sidorna som detta plugin skapar " "vid installationen kan du använda det här alternativet för att återskapa dem." #: views/admin_tools_settings.php:88 msgid " has full explanation." msgstr " har fullständig förklaring." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Lämna tomt för att behålla det aktuella lösenordet" #: views/edit.php:71 msgid "Company Name" msgstr "Företagsnamn" #: views/forgot_password.php:12 views/reset_password_using_link.php:54 msgid "Reset Password" msgstr "Återställ lösenordet" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Inloggad som" #: views/loggedin.php:14 msgid "Membership" msgstr "Medlemsskap" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Kontot upphör" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Redigera profil" #: views/login.php:7 msgid "Username or Email" msgstr "Användarnamn eller E-post" #: views/login.php:36 msgid "Show password" msgstr "Visa lösenord" #: views/login.php:41 msgid "Remember Me" msgstr "Kom ihåg mig" #: views/login.php:50 msgid "Forgot Password?" msgstr "Glömt ditt lösenord?" #: views/payments/admin_add_edit_transaction_manually.php:11 msgid "" "You can add a new transaction record manually using this interface. It can " "be useful if you manually accept cash payment for your memberships." msgstr "" "Du kan lägga till en ny transaktionspost manuellt med detta gränssnitt. Det " "kan vara användbart om du manuellt accepterar kontant betalning för dina " "medlemskap." #: views/payments/admin_add_edit_transaction_manually.php:54 msgid "Manual transaction added successfully. " msgstr "Manuell transaktion har lagts till. " #: views/payments/admin_add_edit_transaction_manually.php:68 msgid "Add New Transaction" msgstr "Lägg till ny transaktion" #: views/payments/admin_add_edit_transaction_manually.php:99 #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "Medlems-ID" #: views/payments/admin_add_edit_transaction_manually.php:160 msgid "Save Transaction Data" msgstr "Spara transaktionsdata" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Alla medlemmars betalningar/transaktioner registreras här." #: views/payments/admin_all_payment_transactions.php:12 msgid "" "Search for a transaction by using email, name, transaction ID or Subscr ID." msgstr "" "Sök efter en transaktion med E-post, namn. transaktions-ID eller " "prenumerations-ID." #: views/payments/admin_all_payment_transactions.php:50 msgid "Add a Transaction Manually" msgstr "Lägg till en transaktion manuellt" #: views/payments/admin_create_payment_buttons.php:19 msgid "" "You can create a new payment button for your memberships using this " "interface." msgstr "" "Du kan skapa en ny betalningsknapp för dina medlemskap med detta gränssnitt." #: views/payments/admin_create_payment_buttons.php:27 msgid "Select Payment Button Type" msgstr "Välj typ av betalknapp" #: views/payments/admin_create_payment_buttons.php:48 msgid "Stripe Legacy Buy Now (deprecated)" msgstr "Stripe Legacy Köp nu (utfasad)" #: views/payments/admin_create_payment_buttons.php:50 msgid "Stripe Legacy Subscription (deprecated)" msgstr "Stripe Legacy-prenumeration (utfasad)" #: views/payments/admin_create_payment_buttons.php:62 msgid "Next" msgstr "Nästa" #: views/payments/admin_create_payment_buttons.php:69 msgid "" "You can also use payment buttons from the following plugins to accept " "payments for your memberships." msgstr "" "Du kan också använda betalningsknappar från följande plugins för att " "acceptera betalningar för dina medlemskap." #: views/payments/admin_edit_payment_buttons.php:19 msgid "You can edit a payment button using this interface." msgstr "Du kan redigera en betalknapp med detta gränssnitt." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Här visas alla knappar för medlems som du skapat i plugin-programmet." #: views/payments/admin_payment_settings.php:7 msgid "You can create membership payment buttons from the " msgstr "Du kan skapa betalknappar för medlemskap från " #: views/payments/admin_payment_settings.php:8 msgid "payments menu" msgstr "betalningsmenyn" #: views/payments/admin_payment_settings.php:9 msgid "" " of this plugin (useful if you want to offer paid memberships on the site)." msgstr "" " av detta plugin (användbart om du vill erbjuda betalmedlemskap på " "webbplatsen)." #: views/payments/admin_payment_settings.php:10 msgid " Read the " msgstr " Läs " #: views/payments/admin_payment_settings.php:11 msgid "membership payment section" msgstr "sektionen för medlemsbetalning" #: views/payments/admin_payment_settings.php:12 msgid "" " of our documentation to learn more about creating membership payment " "buttons." msgstr "" " i vår dokumentation för att lära dig mer om att skapa " "medlemsbetalningsknappar." #: views/payments/admin_payment_settings.php:31 #: views/payments/admin_payment_settings.php:47 msgid " Success! " msgstr " Lyckades! " #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Braintree Köp nu-knappkonfiguration" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:216 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:160 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:182 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:316 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:314 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:92 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:92 msgid "Button ID" msgstr "Knapp-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:224 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:168 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:190 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:323 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:321 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:100 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:100 msgid "Button Title" msgstr "Knappens titel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:242 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:230 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:337 msgid "Payment Amount" msgstr "Betalningsbelopp" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Braintree API-nyckel och kontouppgifter. Du får detta från ditt Braintree-" "konto." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Handels-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Offentlig nyckel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Hemlig nyckel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "Handelskonto-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:429 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:427 msgid "The following details are optional." msgstr "Följande detaljer är valfria." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:318 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:459 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:419 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:442 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:448 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:235 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:219 msgid "Return URL" msgstr "URL för tillbaka" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:128 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:325 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:329 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:215 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:488 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:430 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:472 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:196 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:478 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:256 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:240 msgid "Save Payment Data" msgstr "Spara betalningsdata" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:207 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal Buy Now Knappkonfiguration" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:250 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:190 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:330 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:237 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:344 msgid "Payment Currency" msgstr "Betalningsvaluta" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:298 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:370 msgid "PayPal Email" msgstr "PayPal E-post" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:306 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:467 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:450 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:174 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:456 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:243 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:227 msgid "Button Image URL" msgstr "Knappbildens URL" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:314 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:475 msgid "Custom Checkout Page Logo Image" msgstr "Anpassad Logo för Checkout-sidan" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:148 msgid "PayPal Buy Now (New API) Button Configuration" msgstr "PayPal Buy Now (Ny API) Knappkonfiguration" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:186 msgid "Payment Details" msgstr "Betalningsinformation" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:233 msgid "" "Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not " "enter currency symbol)." msgstr "" "Ange betalningsbelopp. Exempelvärden: 9,90 eller 25,00 eller 299,90 etc " "(ange inte valutasymbol)." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:238 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:339 msgid "Button Style Settings (Optional)" msgstr "Knappstilsinställningar (valfritt)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:242 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:343 msgid "Button Type/Label" msgstr "Knapptyp/etikett" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:245 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:346 msgid "Checkout" msgstr "Checkout" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:246 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:347 msgid "Pay" msgstr "Betala" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:247 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:348 msgid "PayPal" msgstr "PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:248 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:349 #: views/payments/payment-gateway/braintree_button_shortcode_view.php:21 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:100 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:102 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:161 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:160 msgid "Buy Now" msgstr "Köp nu" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:249 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:350 msgid "Subscribe" msgstr "Prenumerera" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:251 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:352 msgid "Select button type/label." msgstr "Välj knapptyp/etikett." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:255 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:356 msgid "Button Shape" msgstr "Knappform" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:257 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:358 msgid "Rectangular" msgstr "Rektangulär" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:258 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:359 msgid "Pill" msgstr "Boll" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:259 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:360 msgid "Select button shape." msgstr "Välj knappform." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:263 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:364 msgid "Button Layout" msgstr "Knapplayout" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:265 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:366 msgid "Vertical" msgstr "Vertikal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:266 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:367 msgid "Horizontal" msgstr "Horisontell" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:267 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:368 msgid "Select button layout." msgstr "Välj knapplayout." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:271 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:372 msgid "Button Height" msgstr "Knapphöjd" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:375 msgid "Small" msgstr "Liten" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:275 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:376 msgid "Medium" msgstr "Medium" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:276 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:377 msgid "Large" msgstr "Stor" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:277 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:378 msgid "Extra Large" msgstr "Extra stor" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:279 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:380 msgid "Select button height." msgstr "Välj knapphöjd." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:283 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:384 msgid "Button Width" msgstr "Knappbredd" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:286 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:387 msgid "Select button width." msgstr "Välj knappbredd." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:391 msgid "Button Color" msgstr "Knappfärg" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:293 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:394 msgid "Gold" msgstr "Guld" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:294 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:395 msgid "Blue" msgstr "Blå" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:295 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:396 msgid "Silver" msgstr "Silver" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:296 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:397 msgid "White" msgstr "Vit" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:297 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:398 msgid "Black" msgstr "Svart" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:299 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:400 msgid "Select button color." msgstr "Välj knappfärg." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:405 msgid "Additional Settings (Optional)" msgstr "Ytterligare inställningar" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:308 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:409 msgid "Disable Funding" msgstr "Inaktivera finansiering" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:310 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:411 msgid "Credit or debit cards" msgstr "Kredit- eller betalkort" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:311 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:412 msgid "PayPal Credit" msgstr "PayPal Kredit" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:413 msgid "Venmo" msgstr "Venmo" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:313 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:414 msgid "" "By default, funding source eligibility is smartly decided based on a variety " "of factors. You can force disable funding options by selecting them here." msgstr "" "Som standard avgörs finansieringskällan smart baserat på en mängd olika " "faktorer. Du kan tvinga Inaktivering av finansieringsalternativ genom att " "välja dem här." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "PayPal Smart Checkout-knappkonfiguration" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" "PayPal Smart Checkout API Credentials (du kan få detta från ditt PayPal-\"\n" "\"konto)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "Live Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "Sandbox Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Inställningar för knappens utseende" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Storlek" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "Repsonsiv" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Välj knappstorlek." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Färg" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Form" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Layout" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Ytterligare inställningar" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Betalningsmetoder" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" "Välj betalningsmetoder som kan användas av kunder. Observera att betalning " "med kort alltid är aktiverat." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "Följande detaljer är valfria" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:298 msgid "PayPal Subscription Button Configuration" msgstr "Konfiguration av PayPal prenumerationsknapp" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:378 msgid "Billing Amount Each Cycle" msgstr "Faktureringsbelopp för varje period" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:386 msgid "Billing Cycle" msgstr "Faktureringsperiod" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:399 msgid "Billing Cycle Count" msgstr "Antal faktureringsperioder" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:407 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:306 msgid "Re-attempt on Failure" msgstr "Försök igen vid misslyckande" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:422 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:314 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Betalningsuppgifter vid Provperiod (lämna tomt om du inte erbjuder en " "provperiod)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:428 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:318 msgid "Trial Billing Amount" msgstr "Belopp vid Provperiod" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:436 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:326 msgid "Trial Billing Period" msgstr "Tid för Provperiod" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:213 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:205 msgid "Optional Details" msgstr "Valfria detaljer" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:170 msgid "PayPal Subscription (New API) Button Configuration" msgstr "Konfiguration av PayPal prenumerationsknapp" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:212 msgid "PayPal Billing Plan Details for This Button" msgstr "PayPal-faktureringsplandetaljer för denna knapp" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:216 msgid "Subscription Plan Mode" msgstr "Prenumerationsplanläge" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:223 msgid "Subscription Plan ID" msgstr "Prenumerationsplan ID" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:233 msgid "Subscription/Recurring Billing Details" msgstr "Prenumeration/Återkommande faktureringsinformation" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:277 msgid "Recurring Billing Amount" msgstr "Återkommande faktureringsbelopp" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:280 msgid "" "Amount to be charged on every billing cycle. If used with a trial period " "then this amount will be charged after the trial period is over. Example " "values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol)." msgstr "" "Belopp som ska debiteras vid varje faktureringscykel. Om den används med en " "provperiod kommer detta belopp att debiteras efter att provperioden är över. " "Exempelvärden: 9,90 eller 25,00 eller 299,90 etc (ange inte valutasymbol)." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:285 msgid "Recurring Billing Cycle" msgstr "Återkommande faktureringscykel" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:293 msgid "" "Set the interval of the recurring payment. Example value: 1 Month (if you " "want to charge every month)" msgstr "" "Ställ in intervallet för den återkommande betalningen. Exempelvärde: 1 månad " "(om du vill ladda varje månad)" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:298 msgid "Recurring Billing Cycle Count" msgstr "Återkommande faktureringscykelräkning" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:301 msgid "" "After how many cycles should billing stop. Leave this field empty (or enter " "0) if you want the payment to continue until the subscription is canceled." msgstr "" "Efter hur många cykler ska faktureringen sluta. Lämna detta fält tomt (eller " "ange 0) om du vill att betalningen ska fortsätta tills prenumerationen " "avslutas." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:309 msgid "" "When checked, the payment will be re-attempted two more times if the payment " "fails. After the third failure, the subscription will be canceled." msgstr "" "När det är markerat kommer betalningen att göras om två gånger till om " "betalningen misslyckas. Efter det tredje misslyckandet kommer " "prenumerationen att avslutas." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:26 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:307 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:305 msgid "Stripe Buy Now Button Configuration" msgstr "Stripe Buy Now Button konfigurering" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:386 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:384 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Stripe API-nycklar. Du kan få detta från ditt Stripe-konto." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:391 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:389 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:148 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:140 msgid "Use Global API Keys Settings" msgstr "Använd inställningar för globala API-nycklar" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:394 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:392 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:151 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:143 msgid "" "Use API keys from Payment " "Settings tab." msgstr "" "Använd API-nycklar från fliken Betalningsinställningar." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:434 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:432 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:219 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:211 msgid "Collect Customer Address" msgstr "Samla in kundadress" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:26 msgid "Stripe SCA Buy Now Button Configuration" msgstr "Stripe SCA Köp nu knappkonfiguration" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:440 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:227 msgid "Enable Automatic Tax" msgstr "Aktivera automatisk skatt" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:84 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:84 msgid "Stripe Subscription Button Configuration" msgstr "Konfiguration av Stripe prenumerationsknapp" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:118 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:118 msgid "Stripe API ID" msgstr "Stripe API ID" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:129 msgid "Trial Period" msgstr "Provperiod" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:142 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:134 msgid "Stripe API Settings" msgstr "Stripe API Inställningar" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:188 msgid "Webhook Endpoint URL" msgstr "Webhook Endpoint URL" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:180 msgid "Webook Endpoint URL" msgstr "Webhook Endpoint URL" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:235 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:237 msgid "Subscribe Now" msgstr "Prenumerera nu" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:80 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:77 msgid "Transaction completed successfully!" msgstr "Transaktionen slutförd framgångsrikt!" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:227 msgid "Error occurred during PayPal checkout process." msgstr "Ett fel uppstod under PayPals utcheckning." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:155 msgid "Error occurred during PayPal Smart Checkout process." msgstr "Ett fel uppstod under PayPal Smart Checkout-processen." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:184 msgid "HTTP error occurred during payment process:" msgstr "HTTP-fel uppstod under betalningsprocessen:" #: views/reset_password_using_link.php:9 msgid "" "Error! The password reset key is invalid. Please generate a new request." msgstr "" "Fel! Lösenordsåterställningsnyckeln är ogiltig. Vänligen skapa en ny begäran." #: views/reset_password_using_link.php:36 msgid "New password" msgstr "Nytt lösenord" #: views/reset_password_using_link.php:44 msgid "Re-enter new password" msgstr "Ange nytt lösenord igen" #. Plugin Name of the plugin/theme msgid "Simple WordPress Membership" msgstr "Simple WordPress Membership" #. Plugin URI of the plugin/theme #. Author URI of the plugin/theme msgid "https://simple-membership-plugin.com/" msgstr "https://simple-membership-plugin.com/" #. Description of the plugin/theme msgid "" "A flexible, well-supported, and easy-to-use WordPress membership plugin for " "offering free and premium content from your WordPress site." msgstr "" "En flexibel, välstödd och lättanvänd WordPress-medlemskapsplugin för att " "erbjuda gratis och premiuminnehåll från din WordPress-webbplats." #. Author of the plugin/theme msgid "smp7, wp.insider" msgstr "smp7, wp.insider" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Skriv lösenord här" msgid "Retype password here" msgstr "Skriv lösenordet här också" msgid "Registration is complete. You can now log into the site." msgstr "Registreringen är klar. Du kan nu logga in på webbplatsen." msgid " Field has invalid character" msgstr " Fältet har ogiltigt tecken" msgid " Password does not match" msgstr " Lösenordet matchar inte" msgid "Already taken." msgstr "Redan taget." msgid "Street Address" msgstr "Gatuadress" msgid "Apt, Suite, Bldg. (optional)" msgstr "Vån, lght-nr (valfritt)" msgid "State / Province / Region" msgstr "Stat / provins / region" msgid "Postal / Zip Code" msgstr "Postnummer" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Markera den här rutan för att ta bort bilden. Bilden raderas när du sparar " "profilen." msgid "You will need to re-login since you changed your password." msgstr "Du måste logga in igen eftersom du ändrade lösenordet." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" "Vänligen ange två siffror med inga mellanslag (Exempel: 12)" msgid "Verification" msgstr "Verifiering" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Vänligen ange två siffror utan mellanslag (Exempel: 12) *" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Användarnamnet kan endast innehålla: bokstäver, siffror och .- * @" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Tillåtna tecken är: bokstäver, siffror och .-_ * @" msgid "Please check at least one." msgstr "Vänligen välj minst en." msgid "Do you really want to delete the form?" msgstr "Vill du verkligen ta bort formuläret?" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Du har inte behörighet att se detta innehåll." msgid "Your membership level does not have permission to view this content." msgstr "Din medlemsnivå har inte behörighet att se detta innehåll." msgid "This content is for members only." msgstr "Detta innehåll är endast för medlemmar." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Medlemskatalog" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Nivå" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adress" #: includes/swpm_mda_show_profile.php:48 msgid "Postcode" msgstr "Postnummer" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Sök…" #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Rensa Sök" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Du måste vara inloggad för att uppgradera ett medlemskap." msgid "Membership level has been updated." msgstr "Medlemskapsnivån har uppdaterats." msgid "Already a member of this level." msgstr "Redan medlem på denna nivå." languages/simple-membership-pl_PL.mo000064400000210041147206617610013505 0ustar00W)%02.124`2"222D2}333x41B5t5N5I6e^66&677 37B>7-7 7i7:8 J8+U88688 888;9X9w9 9999999 :':V;:R:: : :;;;.;H;P;d;t;!|;;; ;;<<=<MA<@<<%< =s==#== ==> > (>2> L>Z>n>t>Ty>>&>?&?C?)R?'|?? ??? ? ?@ @'@(C@l@ @ @ @@@@X@*OAzA A A-A9AAB%BDB LBYBrB C CC'CCC0UCCC CCC0C D7DPDgDnD}D DD$DDD D DEE9EOEUE fEtE EEEE1E&F,F DFRFkFFFF"F$F GG4GKGfG|GGGmH[,IYI[Ie>J=JJqK!LLUM*sMMREN3N3NFOBGO[O<ON#PLrPJP@ Q>KQFQ.Q R!R6R#R RRR S SST TT!TU3UDUI]UUUUUUV V%$V'JV=rVVV*V V W W WWW@WmXXYY YYYYZ6+ZbZkZsZZZZZ ZZ(ZZ[_[x[[ [[[ [[[ [[ \\3\M\d\k\r\ \ \\ \!\\\$\ #].]#?]%c]]]&]]]]^9(^b^ v^^4^^^1^___ r`@|`A``a"a3a&Oa va aaa aaa$aabbb8bGb_btb bb#b b bbbQc*ccc(ccccdd "dCdITdddddddddeI3e9}eeeeef$f*f9f Qf]fefXff fgg 7g AgMg Vgcgyg/g8g gh h#h"2h Uh`huhzhh@iRi ai nixiii/i i*i j "j/jJj^jsjjj3jgjiNkpk)l9l l3mLm$gmmmmmmmn-nLn^ndn{n$nnnno'oGofokko!oo%p=pCp]pdpkpzpp;pp#pqq(3q\q cq qqq6qqqrr,r#X!*#39&Ov h(<Lj $:G%m| 8 .!4 C Q]"y< ?*C!Rt:1F+y!A' -1_o" ?E`6i$!"-*P {u9T-r ! ?P,c* 34hz 1!g>p$%<b$#8[</Clpp1skljW/DM3aS WWsw Xy  &> .J0yAW Wa  ? PM #<8`8##\U/0b2Ng%$=bdWAZOceMN  5; q & 1) n[  ;P 2 U > T   M Un~"C f-s%    UTM!T[1nj~OD'LVD<5^?Uy0ww3= kEy(x+u%7 ["_nrPe-g W5Q. c#" ?r)x/,X@z}9 KIk. {)}IG tQJ R|L2` %_:8Am!`&oG58$Ob/PFe#WHO]F{+BQIZ/|] H2%NR v63@PKvNi9EY7s*d:NJ<sh3=VR\faaC+(d>oL '*;ZHV1CMY4g2E'ic?&pBtqK=*zB:Ul7,;>SF^$8h p-J;D\<0X9S6M)&lA>C$qTu.4 (~S@014 WGj ,-!mA6f "#b Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. page to pay for a premium membership. to learn how to do it. to learn how to use it. to login. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)A prompt to complete registration email was also sent.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add-onsAdditional SettingsAddons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Logout Redirect URLAfter Registration Redirect URLAllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Already taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApostrophe character is not allowedApt, Suite, Bldg. (optional)Aready takenAssign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCan't find member account.Cannot find member account.Captcha validation failed on login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameConfirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate Member Accounts for New WP UsersCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.Custom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDisable Access to WP DashboardDo you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEmailEmail ActivationEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty payment data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Privacy PolicyEnable Sandbox TestingEnable Terms and ConditionsEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the subject for the admin notification email.Error occured during PayPal Smart Checkout process.Error occured during payment verification. Error code: %d. Message: %sError! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! The membership level ID (Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry: First NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo back to the home page by GoldHTTP error occured during payment process:Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).HorizontalI accept the I agree to the IDIPN product validation failed. Check debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelIt will also delete associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Client IDLive Publishable KeyLive SecretLive Secret KeyLogged Out Successfully.Logged in asLogged in as: LoginLogin HereLogin Page URLLogoutLogout Member on Browser CloseManage Content ProtectionManage Payment ButtonsMediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No items found.No member found.No membership levels found.No user found with that email address.No, Do not protect this content.Not a Member?Not a member? Note:Notify UserOROptional DetailsPage Setup and URL Related settings.PagesPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPassword: PayPal Buy NowPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal Integration SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment MethodsPayment Notification Forward URLPayment SettingsPayment check failed: invalid amount received. Expected %s %s, got %s %s.PaymentsPendingPhonePillPleasePlease Login to Comment.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostsPrivacy PolicyPrivacy Policy Page URLPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRead the RectangularRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReset debug log files by clicking Return URLRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here.Sandbox Client IDSandbox SecretSave ChangesSave DataSave Membership Level Save Payment DataSearchSearch for a transaction by using email or nameSearch...Security check: captcha validation failed.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button layout.Select button shape.Select button size.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminSilverSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSizeSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the access starts date value.StateState / Province / RegionStatusStreetStreet AddressStrength indicatorStripe API SettingsStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe Plan IDStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceSuccess! Your account has been activated successfully.Terms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis interface lets you custsomize the various emails that gets sent to your members for various actions. The default settings should be good to get your started.This is the member's account status. If you want to manually activate an expired member's account then readThis page allows you to configure some advanced features of the plugin.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This value gets updated when this member logs into your site.TitleToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTypeType password hereUpdateUse WordPress TimezoneUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVerificationVerticalView DocumentationView ProfileView general debug log file by clicking View login related debug log file by clicking WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Webook Endpoint URLWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the payments menu of this plugin (useful if you want to offer paid membership on the site).You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to confirm your email address. Please check your email and follow instructions to complete your registration.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herehereincompleterenewthis documentationProject-Id-Version: Simple Membership POT-Creation-Date: 2019-05-26 13:48+0600 PO-Revision-Date: 2019-05-29 00:39+0200 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 2.2.3 X-Poedit-KeywordsList: __;_e;e X-Poedit-Basepath: . Last-Translator: Marcin J. Gajewski Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2); Language: pl_PL X-Poedit-SearchPath-0: . Ustawienie email ( Informacja o aktualizacji konta ) Ustawienia poczty elektronicznej (powiadomienie o masowej aktywacji kont ) Ustawienia poczty elektronicznej (Aktywacja poczty elektronicznej) Pole ma nieprawidłowy znak Hasło nie pasuje Reszta treści nie jest dozwolona dla Twojego poziomu członkostwa. Może to być przydatne przy rozwiązywaniu problemów. Wyłącz i zresetuj pliki dziennika po zakończeniu rozwiązywania problemów. Użyj innego adresu e-mail, aby dokończyć rejestrację. Jeśli chcesz użyć tego e-maila, musisz wpisać poprawną nazwę użytkownika powiązaną z istniejącym użytkownikiem WP, aby połączyć się z tym kontem. Użyj innej nazwy użytkownika, aby zakończyć rejestrację. Jeśli chcesz użyć tej nazwy użytkownika, musisz podać poprawny adres e-mail powiązany z istniejącym użytkownikiem WP, aby połączyć się z tym kontem. Obecnie edytujesz użytkownika z identyfikatorem: Możesz umieścić wiele adresów e-mail oddzielonych przecinkiem (,) w powyższym polu, aby wysłać powiadomienie na wiele adresów e-mail. W tej wiadomości e-mail nie można używać tagów scalających wiadomości e-mail. Możesz używać tylko domyślnego tekstu. znaki są wymagane wyjaśnia, jakich tagów scalania wiadomości e-mail można użyć w polu treść wiadomości e-mail, aby je dostosować (jeśli chcesz). ma pełne wyjaśnienie. Strona płatności za członkostwo premium. by nauczyć się, jak to zrobić. by nauczyć się, jak tego używać. aby się zalogować. aby zobaczyć profil, do którego jesteś aktualnie zalogowany w tej przeglądarce. twoje konto aby uzyskać dostęp do tej zawartości.(Dostęp wygasa w ustalonym terminie)(UWAGA: dla bezpieczeństwa, nie zezwalamy na usunięcie żadnego powiązanego konta WordPressa z rolą administratora).(Proszę wybrać)(wymagane)(dwukrotnie, pozostawić puste, aby zachować stare hasło)(dwukrotnie, wymagane)Wysłano również prośbę o wypełnienie e-maila rejestracyjnego.Czas dostępuDostęp rozpoczyna sięSubskrypcja ważna doCzas trwania subskrypcji musi być większy od 0.Dostęp rozpoczyna operację zmiany daty, która została pomyślnie zakończona.Pole 'początek subskrypcji' - błędneKonto straciło ważnośćAccount StateStatus kontaKonto już aktywne. Konto wygasło.Konto jest nieaktywne.Konto jest oczekujące.Pole "Account State" jest nieprawidłoweStatus akcjiWymagana aktywacjaNiedopasowanie kodu aktywacji. Nie można aktywować tego konta. Prosimy o kontakt z administratorem strony.E-mail aktywacyjny został wysłany. Proszę sprawdzić swoją skrzynkę e-mail i aktywować konto.AktywujDodaj nowy poziom dostępuDodaj użytkownikaDodaj nowy poziom członkostwaDodaj nowyDodaj nowego członka Dodaj nowy poziom dostępu DodatkiDodatkowe ustawieniaUstawienia dodatkówAdresZezwolenie na dostęp do panelu administratoraAdres email administratoraTreść powiadomienia wysyłanego do administratoraPowiadomienie administratora: Temat wiadomości e-mailUstawienia zaawansowanePo wylogowaniu przekieruj na adres stronyAdres URL przekierowania po rejestracjiWszystkoTutaj wyświetlane są wszystkie przyciski członkowskie, które utworzyłeś w wtyczce.Wszystkie płatności/transakcje członków są rejestrowane tutaj.Zezwól na usunięcie kontaPozwól użytkownikom usunąć swoje konta.Już zajęte.Alternatywnie, możesz użyć innej przeglądarki (w której nie jesteś zalogowany jako ADMIN), aby przetestować logowanie się.KwotaZnak apostrofu nie jest dozwolonyApt, Suite, Bldg. (nieobowiązkowo)ZajętePrzyciel Level ID do darmowego członkowstwaAutorAutomatyczne usuwanie konta oczekującegoDostępnyKwota rozliczeniowa każdego cyklOkres rozliczeniowyLicznik cykli rozliczeniowychCzarnyNiebieskiKlucz API Braintree i szczegóły dotyczące konta. Możesz to uzyskać ze swojego konta Braintree.Braintree (Kup teraz)Konfiguracja przycisków "Kup teraz" BraintreeMasowa zmiana daty rozpoczęcie dostępuMasowa zmiana poziomu członkostwaOperacja masowaMasowa aktualizacja daty rozpoczęcia członkostwaMasowa aktualizacja poziomu członkostwa użytkownikówPrzycisk - ustawienia wygląduID PrzyciskuAdres obrazka PrzyciskuShortcode przyciskuTytuł przyciskuTyp przyciskuKup terazNie mogę znaleźć konta członka.Nie można znaleźć konta użytkownika.Walidacja Captcha nie powiodła się na formularzu logowania.Zatwierdzenie Captcha nie powiodła się.KategorieID kategoriiNazwa kategoriiOchrona kategoriiTyp Kategorii (Taksonomia)Aktualizacja ochrony kategorii uaktualniona!Zaznacz to pole, aby usunąć zdjęcie. Obraz zostanie usunięty po zapisaniu profilu.Zaznacz tę opcję, aby włączyć debugowanie rejestracji.MiastoWyczyść wyszukiwanieKliknij tutajKliknij tutaj, aby zakończyć płatną rejestracjęKliknij na poniższy link, aby zakończyć rejestrację.Pobierz adres klientaKolorKomentarze niedozwolone przez osoby niebędące członkami.FirmaNazwa firmyPotwierdź usunięcie kontaSkontaktuj się z administratorem strony i poproś, aby sprawdzili Twoją nazwę użytkownika w menu Użytkownicy WP i zobaczyli, co się stało z wpisem użytkownika WP na Twoim koncie.Kontynuować?LicznikKrajTworzenie kont członkowskich dla nowych użytkowników WPStwórz nowy przyciskDodaj nowego użytkownika do tej strony.Stwórz nowy poziom dostępu.Obrazek logo własnej strony potwierdzenia płatnościWybrane wpisyDataNiewłaściwy format daty.Dni (dostęp wygasa po określonej liczbie dni)Domyślny status kontaDomyślny poziom członkostwaDomyślna uprawnienia WordPressSkasujUsuń KontoUsuń profil użytkownikaOpisWyłączyć dostęp do panelu WPCzy chcesz chronić tę zawartość?E-mailELVEdycja użytkownikaEdytuj profilStrona edycji profiluEdytuj istniejącego użytkownika.Edycja poziomu dostępuEmailAktywacja za pomocą poczty elektronicznejAdres emailAdres e-mail: Treść emailRóżne ustawienia emailUstawienia e-mailUstawienia email (reset hasła)Ustawienia poczty e-mail (Podpowiedź do zakończenia rejestracji )Ustawienia email (rejestracja zakończona)Przegląd ustawień poczty elektronicznejTemat emailBłędny adres e-mail.Taki adres email jest już użyty.Błędny emailWymagany emailOtrzymane pusty zapis danych dotyczących płatności.Włącz automatyczne tworzenie kont użytkownikówWłącz automatyczne logowanie po rejestracjiWłącz debugowanieWłączenie wygasłego logowania do kontaPozwól na darmowe członkostwoWłącz ochrony znaczników "więcej"Włączyć politykę prywatnościWłącz testy SandboxUdostępnij regulamin stronyWłączenie aktywacji nowego użytkownika za pośrednictwem poczty elektronicznej. Po włączeniu, członkowie będą musieli kliknąć na link aktywacyjny, który jest wysyłany na ich adres e-mail, aby aktywować konto. Przydatne dla darmowego członkostwa.Włączenie aktywacji nowego użytkownika za pośrednictwem poczty elektronicznej. Po włączeniu, członkowie będą musieli kliknąć na link aktywacyjny, który jest wysyłany na ich adres e-mail, aby aktywować konto. Przydatne dla darmowego członkostwa. Włącz to, jeśli chcesz, aby użytkownicy byli zmuszeni do używania silnego hasła do swoich kont.Włącz tę opcję, jeśli chcesz, aby tylko członkowie serwisu mogli zamieszczać komentarze.Włącz tę opcję, jeśli chcesz, aby administrator otrzymywał powiadomienia podczas rejestracji członka.Włącz tę opcję, jeśli chcesz, aby użytkownik był wylogowany z konta, gdy zamknie przeglądarkę.Włącz tę opcję, jeśli chcesz zrobić testy płatności (sandbox)Włącz tę opcję, jeśli chcesz wymusić synchronizację loginu użytkownika z kontem użytkownika WP. Może to być przydatne, jeśli używasz innej wtyczki, która wykorzystuje rekordy użytkownika WP. Na przykład: bbPress plugin.Włącz tę opcję, aby automatycznie tworzyć konta członkowskie dla każdego nowego użytkownika WP, który jest tworzony przez inną wtyczkę.Włączenie/wyłączenie rejestracji dla bezpłatnego poziomu członkostwa. Po włączeniu tej opcji, upewnij się, że w polu poniżej podano identyfikator bezpłatnego poziomu członkostwa.Włącza lub wyłącza ochronę znaczników "więcej" w postach i stronach. Wszystko po oznaczeniu "więcej" jest chronione. Wszystko, co znajduje się przed tagiem więcej, to zawartość zajawki.Wpisz ID poziomuWprowadź adres URL strony z polityką prywatności.Wprowadź adres URL strony z regulaminem. Możesz utworzyć stronę WordPressa i określić tam swoje warunki, a następnie podać adres URL tej strony w powyższym polu.Wprowadź adres e-mail, na który ma zostać wysłana wiadomość e-mail z powiadomieniem od administratora.Wprowadź temat wiadomości e-mail z powiadomieniem administratora.Błąd wystąpił podczas procesu płatności PayPal Smart Checkout.Błąd wystąpił podczas weryfikacji płatności. Kod błędu: %d. Wiadomość: %sBłąd! Nie udało się znaleźć ścieżki szablonu dla określonego szablonu Błąd! Nieprawidłowe żądanie. Nie udało się znaleźć zgodności z podanym kodem bezpieczeństwa i identyfikatorem użytkownika.Błąd! Chwilowo weryfikacja nie powiodła się.Błąd! Weryfikacja chwilowo nie powiodła się dla tworzenia poziomu członkostwa z końcówki administracyjnej.Błąd! Weryfikacja chwilowo nie powiodła się dla usuwania poziomu członkostwa z końcówki administracyjnej.Błąd! Weryfikacja chwilowo nie powiodła się dla edycji poziomu członkostwa z końcówki administracyjnej.Błąd! Weryfikacja chwilowo nie powiodła się w przypadku usuwania użytkownika z końcówki administracyjnej.Błąd! Chwilowo weryfikacja nie powiodła się z trybu edycji użytkownika z panelu administracyjnego.Błąd! Weryfikacja bezskuteczna nie powiodła się w przypadku rejestracji użytkownika przez administratora.Błąd!. Najpierw wybierz poziom dostępu.Błąd! Identyfikator poziomu członkostwa (Błąd! To działanie (Błąd! Ta strona ma włączoną w ustawieniach funkcję wymuszenia logowania użytkownika WP. Nie mogliśmy znaleźć rekordu użytkownika WP dla podanej nazwy użytkownika: Przykład ustawienia ochrony zawartościWygasa poWygasłoWażność rejestracji: ImięPo pierwsze, globalnie chroń posty i strony na swojej stronie wybierając "Ochrona ogólna" z rozwijanej listy poniżej, a następnie wybierz posty i strony, które powinny być chronione przed niezalogowanymi użytkownikami.Na początek, globalnie chroń kategorię na swojej stronie, wybierając opcję "Ochrona ogólna" z rozwijanego pola poniżej, a następnie wybierz kategorie, które powinny być chronione przed niezalogowanymi użytkownikami.Stała data wygaśnięcia ważnościDla wszystkich niekompletnych rejestracjiDla szczególnego identyfikatora członkaWymuś silne hasło dla członkówWymuszenie synchronizacji użytkowników WPZapomniałeś hasła?Level ID darmowego członkowstwaDarmowe członkostwo jest wyłączone na tej stronie. Prosimy o dokonanie płatności Z adresu emailPłećPole "płeć" jest nieprawidłowaOgólne ustawienia wtyczki.Ochrona ogólnaGłówne ustawieniaWygeneruj kodGenerowanie linku zakończenia rejestracjiGenerowanie linku zakończenia rejestracjiGenrowany "Advanced Variables" kod dla twojego przycisku PayPalWróć do strony głównej przez ZłotyBłąd HTTP wystąpił podczas procesu płatności:Showaj AdminibarPodpowiedź: Hasło powinno mieć conajmniej 7 znaków. Aby było silniejsze można używać dużych i małych liter, znaków, symboli takich jak ! " ? $ % ^ & )PoziomyAkceptuję Zgadzam się IDWalidacja produktu IPN nie powiodła się. Sprawdź dziennik debugów, aby uzyskać więcej szczegółów.Jeśli opcja jest włączona, hasło członka, które można odszyfrować, jest tymczasowo przechowywane w bazie danych do momentu aktywacji konta.Jeśli przypadkowo usunąłeś wymagane strony, które plugin tworzy podczas instalacji, możesz użyć tej opcji do ich ponownego utworzenia.Jeśli właśnie dokonałeś płatności członkowskiej, wówczas płatność ta nie została jeszcze zrealizowana. Proszę sprawdzić za kilka minut. Wkrótce zostanie do Ciebie wysłana wiadomość e-mail z podaniem szczegółów.NieaktywnyNiekompletneNieprawidłowy adres e-mailNieprawidłowa Nazwa UżytkownikaNieprawidłowy adres emailBłędny poziom członkostwaUsuwa również powiązane z nim konto użytkownika WordPressa.Przyłącz sięPrzyłącz sięStrona dołącz do nasDużyData ostatniego logowaniaOstatni dostęp z IPData ostatniego logowaniaNazwiskoUkładZostaw puste, aby zachować aktualne hasłoPoziomPoziom do zmiany na: Łącze(-a) wygenerowane pomyślnie. Poniższy link(y) może(ą) być użyty(e) w celu uzupełnienia rejestracji.Live Client IDProdukcyjny klucz publicznyLive SecretSekretny kluczWylogowano poprawnie.Jesteś zalogowany jakoZalogowany jako: LoginZaloguj się tutajStrona logowaniaWylogujWylogowanie członka lub zamknięcie przeglądarkiZarządzanie ustawieniami ochrony zawartościZarządzanie przyciskami płatnościŚredniCzłonekLista członkówID użytkownikaStrona logowaniaProfil CzłonkaUżytkownik odRekord członka dodany z powodzeniem.Pole "użytkownik" jest nieprawidłoweCzłonkowieCzłonkowie muszą być zalogowani aby komentowaćCzłonkostwoPoziom dostępuPozim członkostwa nie znaleziony.Pomyślnie utworzono poziom członkostwa.ID poziomu subskrypcjiNazwa poziomu dostępuPoziom członkostwa zaktualizowany pomyślnie.Poziom członkostwa:Poziom członkostwa: Poziomy członkostwaAdres URL odnowienia członkostwaDodano nowy poziom członkostwa.Identyfikator konta handlowegoIdentyfikator sprzedawcyMinimum Miesiące (dostęp wygasa po określonej liczbie miesięcy)Nazwa zawiera nieprawidłowy znakNigdyNowe hasło zostało wysłane na podany adres email.DalejNastępnie wybierz istniejący poziom członkostwa z rozwijanej listy poniżej, a następnie wybierz posty i strony, do których chcesz przyznać dostęp (dla tego konkretnego poziomu członkostwa).Następnie wybierz istniejący poziom członkostwa z rozwijanej listy poniżej, a następnie wybierz kategorie, do których chcesz przyznać dostęp (dla tego konkretnego poziomu członkostwa).Nie wygasłoBezterminowo (dostęp do tego poziomu nie wygaśnie do czasu anulowaniaBezterminowo (dostęp do tego poziomu nie wygaśnie do czasu anulowania)Nie znaleziono żadnej kategorii.Nie znaleziono wyników.Nie znaleziono użytkownika.Nie znaleziono żadnych poziomów członkostwa.Nie znaleziono żadnego użytkownika z tym adresem e-mail.Nie, nie chroń tej treści.Nie masz konta?Nie masz konta? Uwaga:Powiadom użytkownikaLUBDane opcjonalneUstawienia strony i ustawienia powiązane z URL .StronyUstawienia stronyHasłoBrak hasła lub hasło błędne.Reset hasłaStrona zmiany hasłaWymagane hasłoPodano różne hasłaHasło: PayPal Kup terazKonfiguracja przycisków PayPal "Kup Teraz"Kredyt PayPalPayPal e-mailPayPal Ustawienia integracyjnePayPal Smart CheckoutPayPal Smart Checkout API Credentials (można to uzyskać z konta PayPal)Konfiguracja przycisku PayPal Smart CheckoutSubskrypcja PayPalKonfiguracja przycisku subskrypcji PayPalKwota płatnościIdentyfikator przycisku płatnościPrzycisk płatności TytułWaluta PłatnościMetody płatnościURL przekierowania do potwierdzenia płatnościUstawienia płatnościWeryfikacja płatności nie powiodła się: otrzymana kwota jest niewłaściwa. Oczekiwane było %s %s, otrzymano %s %s.PłatnościOczekujeNr telefonuPigułkaProszęProszę się zalogować, aby skomentować.Proszę poprawić następująceProszę poprawić następujące.Popraw następujące:Proszę podać jakiekolwiek dwie cyfry bez spacji (Przykład: 12)Proszę wpisać dowolne dwie cyfry bez spacji (przykład: 12)*Proszę się ponownie zalogować.Proszę się zalogować, aby skomentować.Plugin DocumentationOchrona wpisu i strony internetowejPoczta / kod pocztowyWpisyPolityka prywatnościAdres URL strony polityki prywatnościKlucz prywatnyTwój profilAktualizacja pomyślna.Profil został pomyślnie zaktualizowany. Musisz się ponownie zalogować, ponieważ zmieniłeś hasło.Aktualizacja ustawień ochrony dokonana!Klucz publicznyNiepowodzenie ponownej próbyOdtwórz wymagane stronyPrzeczytaj ProstokątnyRejestrujRejestracjaStrona rejestracjiInstalacja zakończona powodzeniem. Odnośniki zakończenia rejestracji pojawią się poniżejRejestracja jest zakończona. Teraz możesz zalogować się na stronie.Pamiętaj mniePowtórz hasłoResponsywnyReset hasłaZresetuj pliki dziennika debugowania klikając przycisk Zwrotny adres URLWpisz tutaj hasło ponownieUprawnieniaIdentyfikator wierszaPanel administracyjny SWPM jest dostępny tylko dla administratorów (tak jak każda inna wtyczka). Możesz tutaj zezwolić użytkownikom z innymi rolami w WP na dostęp do panelu administracyjnego SWPM poprzez wybór odpowiedniej wartości .ID Klienta SandboxSandbox SecretZapisz zmianyZapisz daneZapisz poziom członkostwa Zapisz dane dotyczące płatnościSzukajWyszukaj transakcję za pomocą wiadomości e-mail lub nazwySzukaj...Kontrola bezpieczeństwa: walidacja Captcha nie powiodła się.Wybierz bieżący poziomWybierz poziomWybierz typ przycisku płatnościWybierz poziom docelowyWybierz kolor przycisku.Wybierz układ przycisku.Wybierz kształt przycisku.Wybierz rozmiar przycisku.Wybierz, jak długo chcesz tolerować konto "oczekujące".Wybierz metody płatności, z których mogą korzystać klienci. Należy pamiętać, że płatność kartą jest zawsze włączona.Wybierz poziom członkostwa (data rozpoczęcia dostępu wszystkich członków, którzy znajdują się na tym poziomie, zostanie zaktualizowana).Wybierz aktualny poziom członkostwa (poziom członkostwa wszystkich członków, którzy znajdują się na tym poziomie, zostanie zaktualizowany).Wybierz domyślny status konta dla nowo zarejestrowanych użytkowników. Jeśli chcesz ręcznie zatwierdzić członków, możesz ustawić status "oczekujący".Wybierz poziom dostępu do tej zawartości:Wybierz nowy poziom członkostwa.Wyślij email to dodanego użytkownika przez panel administratoraWyślij powiadomienie do administratoraWyślij również przypomnienie o rejestracjiSesja wygasła.Ustaw status na AktywnyUstaw status na Aktywny i PowiadomUstaw status na wygasłyUstaw status na NieaktywnyUstaw status na oczekującyUstawieniaUstawienia w tej sekcji dotyczą wszystkich wiadomości e-mail.Ustawienia zaktualizowane!KształtPokaż belkę administracyjną do konta administratoraSrebrnySimple Membership Protection optionsSimple WP Membership::PłatnościSimple WP Membership ProtectionSimple WP Membership::DodatkiSimple WP Membership::UżytkownicySimple WP Membership::Poziom członkowstwaSimple WP Membership::UstawieniaRozmiarNiektóre ustawienia i opcje dodatków do wtyczki Simple Membership będą wyświetlane tutaj (jeśli je posiadasz)Przykro nam, ale chwilowo weryfikacja się nie powiodła.Podane hasła się różnią.Określ wartość daty rozpoczęcia dostępu.WojewództwoWojewództwo / Prowincja / RegionStatusUlicaUlica i numerWskaźnik siłyUstawienia API StripeKlucze API Stripe. Możesz je uzyskać ze swojego konta Stripe.Stripe (kup teraz)Konfiguracja przycisku "Kup teraz " Stripe'aIdentyfikator planu paskowegoSubskrypcja StripeCzas trwania subskrypcjiWyślijPrzyłącz sięIdentyfikator abonentaIdentyfikator abonenta/referencja abonentaSukces! Twoje konto zostało pomyślnie aktywowane.Regulamin SerwisuWarunki i regulaminy URL stronyUstawienia testów i debugowaniaTestowy klucz publicznyTestowy klucz prywatnyTestowanie i ustawienia związane z debugowaniem.Data rozpoczęcia dostępu członka jest ustawiana na dzień, w którym użytkownik się zarejestruje. Ta wartość daty jest używana do obliczenia, jak długo członek może uzyskiwać dostęp do treści, które są chronione przez czas trwania ochrony typu w tym poziomie członkostwa. Administrator tej strony nie zezwala użytkownikom na dostęp do panelu administracyjnego wp dashboard.Kategoria lub kategoria rodzicielska tego postu jest chroniona. Ustawienia ochrony kategorii można zmienić w Poniższe szczegóły są opcjonalnePoniższe szczegóły są opcjonalne.Aby wtyczka działała prawidłowo, te strony są wymagane. Strony te zostały automatycznie utworzone przez wtyczkę w momencie instalacji.Wymagane strony zostały odtworzone.Wybrana pozycja została usunięta!Administrator strony może wyłączyć funkcję wymuszenia synchronizacji z WP w ustawieniach, wyłączenie tej funkcji spowoduje, że ten błąd zniknie.Ta zawartość może być oglądana tylko przez członków, którzy dołączyli wcześniej Ta zawartość jest przeznaczona wyłącznie dla członków.Ta zawartość nie jest dozwolona dla Twojego poziomu członkostwa.Ta dokumentacjaTen e-mail zostanie wysłany, jeśli aktywowanie poczty elektronicznej jest włączone dla poziomu członkostwa.Ten e-mail zostanie wysłany do użytkowników, którzy chcą dokończyć rejestrację po dokonaniu płatności.Ten e-mail zostanie wysłany do administratora, gdy nowy użytkownik zakończy rejestrację członkostwa. Działa tylko wtedy, gdy włączono opcję "Wyślij powiadomienie do administratora" powyżej.Ten e-mail zostanie wysłany do członków, gdy użyjesz zbiorczej aktywacji kont i akcji zbiorczego powiadomienia.Ten e-mail zostanie wysłany do Twoich użytkowników po aktualizacji konta (gdy istniejący członek płaci za nowy poziom członkostwa).Ten e-mail zostanie wysłany do Twoich użytkowników, gdy zakończą rejestrację i staną się członkami.Ten e-mail zostanie wysłany do użytkowników, gdy użyją funkcji resetowania hasła.Błąd ten jest wyzwalany, gdy konto członkowskie nie posiada odpowiedniego konta użytkownika WP. Wtyczka nie pozwala na zalogowanie użytkownika do systemu użytkownika WP.To pole jest wymaganeInterfejs ten pozwala na dostosowywanie różnych wiadomości e-mail, które są wysyłane do członków podczas różnych działań. Domyślne ustawienia powinny być odpowiednie, abyś mógł rozpocząć pracę.Jest to status konta członka. Jeśli chcesz ręcznie aktywować konto członka, którego okres ważności upłynął, przeczytajTa strona umożliwia skonfigurowanie zaawansowanych funkcji wtyczki.Ta sekcja pozwala skonfigurować automatyczne tworzenie kont członkowskich, gdy nowe rekordy użytkowników WP są tworzone przez inną wtyczkę. Może to być przydatne, jeśli używasz innej wtyczki, która tworzy rekordy użytkowników WP i chcesz, aby zostały one rozpoznane we wtyczce członkowskiej.Ta sekcja pozwala skonfigurować warunki i zasady oraz politykę prywatności, które użytkownicy muszą zaakceptować podczas rejestracji.Wartość ta jest aktualizowana po zalogowaniu się tego członka na Twoją stronę internetową.TytułNarzędziaID TranskacjiTransakcjePłatność w okresie próbnymSzczegóły rozliczania próbnego (zostaw puste, jeśli nie oferujesz okresu próbnego)Próbny okres rozliczeniowyTypWpisz tutaj hasłoAktualizacjaUżyj strefy czasowej WordPressaUżyj tej opcji, jeśli chcesz, aby członkowie byli automatycznie zalogowani na Twoją stronę zaraz po zakończeniu rejestracji. Opcja ta zastąpi każde przekierowanie po rejestracji i zamiast tego wyzwoli przekierowanie po zalogowaniu. Przeczytaj tę dokumentację, aby dowiedzieć się więcej.Użyj tej opcji, jeśli chcesz, aby pasek narzędzi administratora był widoczny tylko dla administratorów. Pasek narzędzi administratora zostanie ukryty dla wszystkich pozostałych użytkowników.Użyj tej opcji, jeśli chcesz użyć wartości strefy czasowej określonej w interfejsie ogólnych ustawień WordPressa.Nie znaleziono użytkownika.Użytkownik nie jest zalogowany.UżytkownikTaka nazwa użytkownika już istnieje.Nazwa użytkownika może zawierać tylko: litery, cyfry i .-*@Nazwa użytkownika zawiera nieprawidłowy znakTo pole jest wymagane. Podaj nazwę użytkownikaNazwa użytkownika lub emailNazwy użytkowników mogą zawierać tylko: litery, cyfry i .-_*@Użytkownicy muszą zaakceptować warunki, zanim będą mogli dokończyć rejestrację.Użytkownicy muszą zaakceptować warunki, zanim będą mogli dokończyć rejestrację.Walidacja, proszę zaczekaćWeryfikacjaPionowoZobacz dokumentacjęZobacz ProfilObejrzyj ogólnu pliku dziennik debugowania klikając przycisk Wyświetl plik dziennika debugowania związany z logowaniem, klikając przycisk WP MembershipOstrzeżenie! Wtyczka Simple Membership nie może przetworzyć tego żądania logowania, by zapobiec przypadkowemu wylogowaniu się z WP Admin.Adres URL punktu końcowego WebookaTygodnie (dostęp wygasa po określonej liczbie tygodni)Tygodnie (dostęp wygasa po określonej liczbie tygodni)Podczas automatycznego tworzenia konta członkowskiego za pomocą tej funkcji, status konta członkowskiego użytkownika zostanie ustawiony na ten, który tutaj określisz.Podczas automatycznego tworzenia konta członkowskiego za pomocą tej funkcji, poziom członkostwa użytkownika zostanie ustawiony na ten, który tutaj określisz.Po włączeniu tej opcji, członkowie, których okres ważności upłynął, będą mogli zalogować się do systemu, ale nie będą mogli przeglądać żadnych chronionych treści. Pozwala to na łatwe odnowienie konta poprzez dokonanie kolejnej wpłaty.WordPress pozwala standardowemu użytkownikowi na przejście do adresu URL wp-admin i uzyskanie dostępu do jego profilu z panelu wp. Użycie tej opcji uniemożliwi użytkownikom bez uprawnień administratora przejście do panelu administracyjnego wp.WordPress pokazuje pasek narzędzi administratora zalogowanym użytkownikom witryny. Zaznacz to, jeśli chcesz ukryć pasek narzędzi administratora w przedniej części witryny.Konto Wordpress istnieje z podanym adresem e-mail. Ale podana nazwa użytkownika nie pasuje.Konto Wordpress istnieje z podaną nazwą użytkownika. Ale podany e-mail nie pasuje.Lata (dostęp wygasa po określonej liczbie lat)Tak, chroń tę treść.Masz zamiar usunąć konto. Spowoduje to usunięcie danych użytkownika związanych z tym kontem. Obecnie dokonujesz edycji: Jesteś zalogowany jako:Jesteś zalogowany na stronie jako użytkownik ADMIN w tej przeglądarce. Najpierw wyloguj się od administratora WP, a następnie będziesz mógł zalogować się jako zwykły użytkownik.Nie jesteś zalogowany.Nie jesteś zalogowany jako członekMożesz stworzyć stronę odnowienia rejestracji dla swojej witryny. Przeczytaj tę dokumentację, aby dowiedzieć się, jak utworzyć stronę odnowienia.Możesz utworzyć przyciski płatności członkowskich z menu płatności tej wtyczki (przydatne, jeśli chcesz zaoferować płatne członkostwo na stronie).Za pomocą tego interfejsu możesz utworzyć nowy przycisk płatności za członkostwo.Za pomocą tego interfejsu można edytować przycisk płatności.Z tego interfejsu można edytować szczegóły wybranego poziomu członkostwa. Możesz wpisać tutaj adres URL, aby przekazać powiadomienie o płatności po tym, jak płatność członkowska zostanie przetworzona przez tę wtyczkę. Przydatne, jeśli chcesz przekazać powiadomienie o płatności do zewnętrznego skryptu w celu dalszego przetwarzania.Możesz wprowadzić adres URL tutaj, aby przekierować członków na tę stronę po kliknięciu linku wylogowania z Twojej strony.Możesz wprowadzić adres URL tutaj, aby przekierować członków na tę stronę po wysłaniu formularza rejestracyjnego. Przeczytaj tę dokumentację, aby dowiedzieć się, jak skonfigurować konfigurację po przekierowaniu rejestracji.Możesz ręcznie zmienić poziom członkostwa każdego członka, edytując rekord z menu członków. Tutaj można ręcznie wygenerować link zakończenia rejestracji i wysłać go do klienta , jeśli nie został pominięty e-mail , który został automatycznie wysłany po dokonaniu płatności .Możesz ręcznie ustawić konkretną wartość daty rozpoczęcia dostępu dla wszystkich członków, którzy należą do danego poziomu, korzystając z następującej opcji.Możesz użyć przycisku Wstecz swojej przeglądarki, aby wrócić na stronę.Możesz użyć tej opcji, aby masowo aktualizować poziom członkostwa użytkowników, którzy należą do poziomu, który wybierzesz poniżej.Możesz skorzystać z tej opcji, aby wysłać szybkie powiadomienie do tego członka (email zostanie wysłany po naciśnięciu przycisku "Zapisz" poniżej).Nie masz uprawnień do przeglądania tej zawartości.W ustawieniach wtyczki włączono tryb płatności w Sandbox. Upewnij się, że wyłączasz tryb Sandbox, gdy chcesz robić transakcje na żywo.Musisz zaakceptować warunki i zasady.Musisz wyrazić zgodę na politykę prywatności.Musisz aktywować swoje konto. Jeśli nie otrzymałeś emaila, wówczas %s ponownie wysyła email aktywacyjny.Musisz potwierdzić swój adres e-mail. Sprawdź swój adres e-mail i postępuj zgodnie z instrukcjami, aby dokończyć rejestrację.Musisz się zalogować, aby zobaczyć resztę zawartości. Musisz się zalogować aby zobaczyć zawartość. Zostaniesz automatycznie przekierowany w kilka sekund. Jeśli nie, proszę podać %s.Musisz się ponownie zalogować, ponieważ zmieniłeś hasło.Otrzymasz unikalny link poprzez e-mail po dokonaniu płatności. Będziesz mógł skorzystać z tego linku, aby dokończyć rejestrację członkostwa premium.Twoje konto wygasło. Twoje aktualne hasłoTwój poziom członkostwa nie ma uprawnień do przeglądania tej zawartości.Twój profil członkowski zostanie zaktualizowany w wyniku potwierdzenia płatności.Twoi zwykli goście lub członkowie nigdy nie zobaczą tej wiadomości. Ten komunikat jest WYŁĄCZNIE dla użytkownika ADMIN.Nazwa twojego profil użytkownika Kod pocztowyzbiorcza ochrona wpisów i stron dokumentacjidokumentacja zabezpieczenia kategoriimenu ochrony kategoriikliknij tukliknij tutajtutajniekompletnyodnówta dokumentacjalanguages/simple-membership-hu_HU.po000064400000215531147206617610013523 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: Tue May 03 2016 12:35:48 GMT+0200 (Mitteleuropäische " "Sommerzeit)\n" "PO-Revision-Date: Mon Jul 11 2016 10:12:04 GMT+0200 (CEST)\n" "Last-Translator: boltberendezo \n" "Language-Team: \n" "Language: Hungarian\n" "Plural-Forms: nplurals=2; plural=n != 1\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-Basepath: .\n" "X-Poedit-SearchPath-0: ../../plugins/simple-membership\n" "X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;" "__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;" "_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;" "esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;" "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n" "X-Loco-Target-Locale: hu_HU\n" "X-Generator: Loco - https://localise.biz/" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:133 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:194 msgid "Admin Dashboard Access Permission" msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:197 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here." msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:49 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:341 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-membership-level.php:57 msgid "Membership Level Updated Successfully." msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:46 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:47 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a member." msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:48 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:49 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" #: ../../plugins/simple-membership/classes/class.swpm-membership-levels.php:241 msgid "Add Level" msgstr "" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payment- #: buttons-list-table.php:78 msgid "Button Type" msgstr "" #: ../../plugins/simple-membership/views/admin_edit.php:8 msgid " You are currenty editing member with member ID: " msgstr "" #: ../../plugins/simple-membership/views/admin_edit.php:77 msgid "Delete User Profile" msgstr "" #: ../../plugins/simple-membership/views/admin_tools_settings.php:23 msgid "Send Registration Reminder Email Too" msgstr "" #: ../../plugins/simple-membership/views/admin_edit_level.php:8 msgid "You can edit details of a selected membership level from this interface. " msgstr "" #: ../../plugins/simple-membership/views/admin_edit_level.php:9 msgid "You are currently editing: " msgstr "" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:29 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:236 msgid "Stripe Buy Now Button Configuration" msgstr "" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:104 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:314 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:108 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:318 msgid "Test Secret Key" msgstr "" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:115 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:325 msgid "Test Publishable Key" msgstr "" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:122 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 msgid "Live Secret Key" msgstr "" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:129 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 msgid "Live Publishable Key" msgstr "" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:137 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:347 msgid "The following details are optional." msgstr "" #. Name of the plugin msgid "Simple WordPress Membership" msgstr "Simple WordPress Tagság" #. URI of the plugin msgid "https://simple-membership-plugin.com" msgstr "https://simple-membership-plugin.com" #. Author of the plugin msgid "smp7, wp.insider" msgstr "smp7, wp.insider" #. Description of the plugin msgid "" "A flexible, well-supported, and easy-to-use WordPress membership plugin for " "offering free and premium content from your WordPress site." msgstr "" "Egy flexibilis, jól támogatott és könnyen használtható WordPress tagsági " "bővítmény ingyenes és fizetős tartalmakért a WordPress oldaladon." #: ../../plugins/simple-membership/classes/class.swpm-settings.php:27 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:55 msgid "General Settings" msgstr "Általános beállítások" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:28 msgid "Payment Settings" msgstr "Fizetés beállításai" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:29 msgid "Email Settings" msgstr "Email beállítások" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:30 msgid "Tools" msgstr "Eszközök" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:31 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:178 msgid "Advanced Settings" msgstr "Haladó beállítások" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:32 msgid "Addons Settings" msgstr "Addon beállítások" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:54 msgid "Plugin Documentation" msgstr "Bővítmény leírása" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:56 msgid "Enable Free Membership" msgstr "Ingyenes tagság engedélyezése" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:57 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Engedélyezi/tiltja az ingyenes regisztrációt. Ha engedélyezed ezt az opciót, " "bizonyosodj meg róla, hogy megadod az ingyenes tagsági szint ID kódját is az " "alábbi sorban. " #: ../../plugins/simple-membership/classes/class.swpm-settings.php:58 msgid "Free Membership Level ID" msgstr "Ingyenes tagsági szint ID kódja" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:59 msgid "Assign free membership level ID" msgstr "Rendeld hozzá az ingyenes tagsági szint ID kóját" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:60 msgid "Enable More Tag Protection" msgstr "More tag védelem engedélyezése" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:61 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Engedélyezi vagy tiltja a \"more\" tag védelmet a bejegyzésekben és az " "oldalakon. Minden am ia mora tag után áll, védelem alá kerül. Minden ami a " "more tag előtt van, teaserként (ingyenes tartalom) funkcionál" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:62 msgid "Hide Adminbar" msgstr "Admin sáv elrejtése" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:63 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "Wordpress mutatja az admin eszköztárat a bejelntkezett felhasználók számára. " "Jelöld be, ha szeretnéd elrejteni az admin eszköztárat az oldaladon" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:64 msgid "Show Adminbar to Admin" msgstr "Mutassa az admin sávot az adminoknak" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:65 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Ezt a beállítást válaszd, ha kizárólag az adminok számára szeretnéd " "láthatóvá tenni az admin eszköztárat. Az admin eszköztár a többi felhasználó " "számára rejtett lesz." #: ../../plugins/simple-membership/classes/class.swpm-settings.php:67 msgid "Default Account Status" msgstr "Alapértelmezett felhasználói státusz" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:70 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Válaszd ki az alapértelmezett felhasználói státuszt az ú jregisztrálók " "számára. Ha manuálisan szeretnéd elfogadni a felhasználókat, akkor állítsd a " "státuszt \"függőben\"-re. " #: ../../plugins/simple-membership/classes/class.swpm-settings.php:72 msgid "Members Must be Logged in to Comment" msgstr "A felhasználóknak be kell jelentkezniük, hogy kommentelni tudjanak." #: ../../plugins/simple-membership/classes/class.swpm-settings.php:73 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Engedélyezd ezt a beállítást, ha szeretnéd, hogy csak az oldal felhasználói " "kommentelhessenek." #: ../../plugins/simple-membership/classes/class.swpm-settings.php:82 msgid "Pages Settings" msgstr "Oldalak beállításai" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:83 msgid "Login Page URL" msgstr "Bejelentkező oldal url-je" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:85 msgid "Registration Page URL" msgstr "Regisztrációs oldal url-je" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:87 msgid "Join Us Page URL" msgstr "Csatlakozz hozzánk odlal url-je" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:89 msgid "Edit Profile Page URL" msgstr "Profilom oldal url-je" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:91 msgid "Password Reset Page URL" msgstr "ÚJ jelszó igénylés url-je" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:94 msgid "Test & Debug Settings" msgstr "Test és debug beállítások" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:96 msgid "Check this option to enable debug logging." msgstr "Jelöld be ezt a négyzetet, ha szeretnéd engedélyezni a debug bejelentkezést" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:101 msgid "Enable Sandbox Testing" msgstr "Sandbox test engedélyezése" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:102 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Jelöld be a négyzetet, ha szeretnéd engedélyezni a sandbox fizetés tesztjét." #: ../../plugins/simple-membership/classes/class.swpm-settings.php:115 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:173 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:287 msgid "Settings updated!" msgstr "Beállítások frissítve!" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "Különböző email beállítások" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:121 msgid "From Email Address" msgstr "Email -től beállítások" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:125 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Email beállítások (Regisztráció után azonnali email)" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:126 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:135 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:148 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:153 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:158 msgid "Email Subject" msgstr "Email tárgya" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:128 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:137 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:149 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:154 ../.. #: /plugins/simple-membership/classes/class.swpm-settings.php:159 msgid "Email Body" msgstr "Email szövege" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:132 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "Add meg az email címet, ahova szeretnéd, hogy az admin értesítések érkezzenek" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:134 msgid "Email Settings (Registration Complete)" msgstr "Email beállítások (Kész regisztráció)" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:139 msgid "Send Notification to Admin" msgstr "Küldjön értesítést az adminnak" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:140 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Engedélyezd ezt a lehetőséget, ha szeretnéd, hogy az admin értesítést kapjon " "a felhasználói regisztrációkról" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:141 msgid "Admin Email Address" msgstr "Admin email címe" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:143 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Küldjön értesítést a felhasználónak, ha az admin felületen elfogadásra " "került a regisztrációja" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:147 msgid "Email Settings (Password Reset)" msgstr "Email beállítások (új jelszó)" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:152 msgid " Email Settings (Account Upgrade Notification)" msgstr "Email beállítások (Èrtesítés a felhasználói szint aktualizálásáról)" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:157 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "Email beállítások (csoportos felhasználó aktiválás értesítő)" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:180 msgid "Enable Expired Account Login" msgstr "Lejárt felhasználói fiókba való belépés negedélyezése" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:181 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Ha engedélyezed, lejárt fiókú felhasználók is beléphetnek a rendszerbe, de " "nem látják majd a védett tartalmakat. Ezzel megkönnyítheted számukra fiókjuk " "megújítását és egy újabb fizetés kezdeményezését." #: ../../plugins/simple-membership/classes/class.swpm-settings.php:183 msgid "Membership Renewal URL" msgstr "Felhasználói fiók megújításának url-je" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:184 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Létrehozhatsz megújító oldalt. Részletes leírást itt találsz hozzá: this documentation" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:186 msgid "Allow Account Deletion" msgstr "Felhasználói fiók törlésének engedélyezése" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:188 msgid "Allow users to delete their accounts." msgstr "A felhasználó maga is törölheti fiókját." #: ../../plugins/simple-membership/classes/class.swpm-settings.php:189 msgid "Auto Delete Pending Account" msgstr "Függőben lévő fiókok automatikus törlése" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:192 msgid "Select how long you want to keep \"pending\" account." msgstr "Válaszd ki, hogy mennyi ideig akarod megtartani, a függőben lévő fiókokat" #: ../../plugins/simple-membership/classes/class.swpm-settings.php:433 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership: beállítások" #: ../../plugins/simple-membership/classes/class.swpm-form.php:29 msgid "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Ilyen felhasználónévvel már létezik Wordpress fiók, de a megadott email nem " "hozzá tartozik." #: ../../plugins/simple-membership/classes/class.swpm-form.php:34 msgid "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Ilyen email címmel már létezik Wordpress fiók, de a megadott felhasználónév " "nem hozzá tartozik." #: ../../plugins/simple-membership/classes/class.swpm-form.php:43 msgid "Username is required" msgstr "Felhasználónév megadása szükséges." #: ../../plugins/simple-membership/classes/class.swpm-form.php:47 msgid "Username contains invalid character" msgstr "Felhasználónév érvénytelen karaktert tartalmaz" #: ../../plugins/simple-membership/classes/class.swpm-form.php:55 msgid "Username already exists." msgstr "Felahsználónév már létezik" #: ../../plugins/simple-membership/classes/class.swpm-form.php:78 msgid "Password is required" msgstr "Jelszó megadása szükséges" #: ../../plugins/simple-membership/classes/class.swpm-form.php:85 msgid "Password mismatch" msgstr "Jelszó nem egyezik" #: ../../plugins/simple-membership/classes/class.swpm-form.php:96 msgid "Email is required" msgstr "Email cím megadása szükséges" #: ../../plugins/simple-membership/classes/class.swpm-form.php:100 msgid "Email is invalid" msgstr "Email cím helytelen" #: ../../plugins/simple-membership/classes/class.swpm-form.php:116 msgid "Email is already used." msgstr "Ezzel az email címmel már regisztráltak." #: ../../plugins/simple-membership/classes/class.swpm-form.php:173 msgid "Member since field is invalid" msgstr "Tag -óta mező érvénytelen" #: ../../plugins/simple-membership/classes/class.swpm-form.php:184 msgid "Access starts field is invalid" msgstr "Hozzáférés kezdete mező érvénytelen" #: ../../plugins/simple-membership/classes/class.swpm-form.php:194 msgid "Gender field is invalid" msgstr "Nem mező érvénytelen" #: ../../plugins/simple-membership/classes/class.swpm-form.php:205 msgid "Account state field is invalid" msgstr "Felhasználói szint mező érvénytelen" #: ../../plugins/simple-membership/classes/class.swpm-form.php:212 msgid "Invalid membership level" msgstr "Nem létező felhasználói szint" #: ../../plugins/simple-membership/classes/class.swpm-init-time-tasks.php:111 msgid "Sorry, Nonce verification failed." msgstr "Sajnáljuk, a hitelesítést nem sikerült." #: ../../plugins/simple-membership/classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Password didn't match." msgstr "Sajnáljuk, a jelszó nem egyezik." #: ../../plugins/simple-membership/classes/class.swpm-utils-member.php:21 ../.. #: /plugins/simple-membership/classes/class.swpm-utils-member.php:29 ../.. #: /plugins/simple-membership/classes/class.swpm-utils-member.php:37 ../.. #: /plugins/simple-membership/classes/class.swpm-utils-member.php:47 msgid "User is not logged in." msgstr "Felahsználó nincs bejeletkezve" #: ../../plugins/simple-membership/classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Kérlek, lépj be hogy kommentelhess." #: ../../plugins/simple-membership/classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Kérlek, lépj be hogy kommentelhess." #: ../../plugins/simple-membership/classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "A kommentelés csak felhasználók számára engedélyezett." #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:77 msgid "Security check: captcha validation failed." msgstr "Biztonsági ellenőrzés: captcha hitelesítés nem sikerült" #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:86 msgid "Registration Successful. " msgstr "Regisztráció sikeres." #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:86 .. #: /../plugins/simple-membership/classes/class.swpm-utils-misc.php:218 ../.. #: /plugins/simple-membership/classes/class.swpm-utils-misc.php:230 msgid "Please" msgstr " Kérlek" #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:86 .. #: /../plugins/simple-membership/classes/class.swpm-utils-misc.php:218 ../.. #: /plugins/simple-membership/views/login.php:27 msgid "Login" msgstr "Jelentkezz be" #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:98 .. #: /../plugins/simple-membership/classes/class.swpm-front-registration.php:185 msgid "Please correct the following" msgstr "Kérlek javítsd a következőket" #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:129 msgid "Membership Level Couldn't be found." msgstr "Felhasználói szint nem található" #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:168 msgid "Profile updated successfully." msgstr "Profil frissítés sikeres" #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:176 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profil frissítés sikeres. Újra be kell jelentkezned, miután megváltoztattad " "a jelszavad." #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:195 msgid "Email address not valid." msgstr "Email cím érvénytelen." #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:206 msgid "No user found with that email address." msgstr "Nem található felhasználó ezzel az email címmel." #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:207 . #: ./../plugins/simple-membership/classes/class.swpm-front-registration.php:233 msgid "Email Address: " msgstr "Email cím:" #: ../../plugins/simple-membership/classes/class.swpm-front-registration.php:232 msgid "New password has been sent to your email address." msgstr "Az új jelszót elküldtük az email címedre" #: ../../plugins/simple-membership/classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Felhasználó mező sikeresen hozzáadva" #: ../../plugins/simple-membership/classes/class.swpm-admin-registration.php:59 .. #: /../plugins/simple-membership/classes/class.swpm-admin-registration.php:81 ../. #: ./plugins/simple-membership/classes/class.swpm-admin-registration.php:105 ../.. #: /plugins/simple-membership/classes/class.swpm-membership-level.php:43 ../.. #: /plugins/simple-membership/classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Kérlek, javítsd a következőket:" #: ../../plugins/simple-membership/classes/class.swpm-admin-registration.php:96 msgid "Your current password" msgstr "Az jelenlegi jelszavad" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:294 msgid "You are not logged in." msgstr "Nem vagy bejelentkezve" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:356 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership védelem" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:368 msgid "Simple Membership Protection options" msgstr "Simple WP Membership védelmi opciók" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:384 msgid "Do you want to protect this content?" msgstr "Szeretnéd ezt a tarlamat védetté tenni?" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:389 msgid "Select the membership level that can access this content:" msgstr "Válaszd ki a felhasználói szintet, akik számára elérhető lesz a tartalom:" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:518 ../. #: ./plugins/simple-membership/classes/class.simple-wp-membership.php:518 msgid "WP Membership" msgstr "WP Membership" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:519 ../. #: ./plugins/simple-membership/classes/class.simple-wp-membership.php:519 ../.. #: /plugins/simple-membership/classes/class.swpm-members.php:12 ../.. #: /plugins/simple-membership/classes/class.swpm-members.php:385 msgid "Members" msgstr "Felhasználók" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:520 ../. #: ./plugins/simple-membership/classes/class.simple-wp-membership.php:520 ../.. #: /plugins/simple-membership/classes/class.swpm-category-list.php:20 ../.. #: /plugins/simple-membership/classes/class.swpm-membership-levels.php:12 ../.. #: /plugins/simple-membership/classes/class.swpm-membership-levels.php:240 msgid "Membership Levels" msgstr "Tagsági szintek" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:521 ../. #: ./plugins/simple-membership/classes/class.simple-wp-membership.php:521 msgid "Settings" msgstr "Beállítások" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:522 ../. #: ./plugins/simple-membership/classes/class.simple-wp-membership.php:522 msgid "Payments" msgstr "Fizetések" #: ../../plugins/simple-membership/classes/class.simple-wp-membership.php:523 ../. #: ./plugins/simple-membership/classes/class.simple-wp-membership.php:523 msgid "Add-ons" msgstr "Add-ons" #: ../../plugins/simple-membership/classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Felhasználó fiók létrehozása sikerült." #: ../../plugins/simple-membership/classes/class.swpm-access-control.php:47 ../.. #: /plugins/simple-membership/classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Be kell jelentkezned, hogy láthasd ezt a tartalmat. " #: ../../plugins/simple-membership/classes/class.swpm-access-control.php:56 ../.. #: /plugins/simple-membership/classes/class.swpm-access-control.php:128 ../.. #: /plugins/simple-membership/classes/class.swpm-access-control.php:209 msgid "Your account has expired. " msgstr "Lejárt a felhasználói fiókod" #: ../../plugins/simple-membership/classes/class.swpm-access-control.php:79 ../.. #: /plugins/simple-membership/classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Ez a tartalom nem elérhető a Te tagsági szinteden." #: ../../plugins/simple-membership/classes/class.swpm-access-control.php:201 msgid "You need to login to view the rest of the content. " msgstr "Be kell jelentkezned, hogy láthasd a tartalom többi részét is." #: ../../plugins/simple-membership/classes/class.swpm-access-control.php:214 msgid " The rest of the content is not permitted for your membership level." msgstr "A tartalom további része nem elérhető a Te tagsági szinteden." #: ../../plugins/simple-membership/classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Érvénytelen email cím" #: ../../plugins/simple-membership/classes/class.swpm-ajax.php:21 ../.. #: /plugins/simple-membership/classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "Már foglalt" #: ../../plugins/simple-membership/classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "A név érvénytelen karaktert tartalmaz." #: ../../plugins/simple-membership/classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Még szabad" #: ../../plugins/simple-membership/classes/class.swpm-members.php:11 msgid "Member" msgstr "Felhasználó" #: ../../plugins/simple-membership/classes/class.swpm-members.php:20 ../.. #: /plugins/simple-membership/classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: ../../plugins/simple-membership/classes/class.swpm-members.php:21 ../.. #: /plugins/simple-membership/views/admin_edit.php:13 ../../plugins/simple- #: membership/views/edit.php:5 ../../plugins/simple-membership/views/admin_add. #: php:10 ../../plugins/simple-membership/views/login.php:11 ../../plugins/simple- #: membership/views/add.php:6 msgid "Username" msgstr "Felhasználónév" #: ../../plugins/simple-membership/classes/class.swpm-members.php:22 ../.. #: /plugins/simple-membership/classes/admin-includes/class.swpm-payments-list- #: table.php:78 ../../plugins/simple- #: membership/views/admin_member_form_common_part.php:15 ../../plugins/simple- #: membership/views/edit.php:21 ../../plugins/simple-membership/views/add.php:22 msgid "First Name" msgstr "Keresztnév" #: ../../plugins/simple-membership/classes/class.swpm-members.php:23 ../.. #: /plugins/simple-membership/classes/admin-includes/class.swpm-payments-list- #: table.php:79 ../../plugins/simple- #: membership/views/admin_member_form_common_part.php:19 ../../plugins/simple- #: membership/views/edit.php:25 ../../plugins/simple-membership/views/add.php:26 msgid "Last Name" msgstr "Vezetéknév" #: ../../plugins/simple-membership/classes/class.swpm-members.php:24 ../.. #: /plugins/simple-membership/views/edit.php:9 ../../plugins/simple- #: membership/views/add.php:10 msgid "Email" msgstr "Email" #: ../../plugins/simple-membership/classes/class.swpm-members.php:25 ../.. #: /plugins/simple-membership/classes/class.swpm-category-list.php:19 ../.. #: /plugins/simple-membership/classes/class.swpm-membership-levels.php:11 ../.. #: /plugins/simple-membership/classes/class.swpm-membership-levels.php:21 ../.. #: /plugins/simple-membership/classes/admin-includes/class.swpm-payments-list- #: table.php:85 ../../plugins/simple- #: membership/views/admin_member_form_common_part.php:2 ../../plugins/simple- #: membership/views/edit.php:53 ../../plugins/simple-membership/views/add.php:30 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:47 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:34 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:216 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:35 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 307 msgid "Membership Level" msgstr "Tagsági szint" #: ../../plugins/simple-membership/classes/class.swpm-members.php:26 ../.. #: /plugins/simple-membership/views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Hozzáférés kezdete" #: ../../plugins/simple-membership/classes/class.swpm-members.php:27 msgid "Account State" msgstr "Fiók állapota" #: ../../plugins/simple-membership/classes/class.swpm-members.php:43 ../.. #: /plugins/simple-membership/classes/class.swpm-membership-levels.php:36 ../.. #: /plugins/simple-membership/classes/admin-includes/class.swpm-payment-buttons- #: list-table.php:94 ../../plugins/simple-membership/classes/admin-includes/class. #: swpm-payments-list-table.php:102 msgid "Delete" msgstr "Törlés" #: ../../plugins/simple-membership/classes/class.swpm-members.php:44 msgid "Set Status to Active" msgstr "Státusz aktívra állítása" #: ../../plugins/simple-membership/classes/class.swpm-members.php:45 msgid "Set Status to Active and Notify" msgstr "Státusz aktívra állítása és értesítés" #: ../../plugins/simple-membership/classes/class.swpm-members.php:46 msgid "Set Status to Inactive" msgstr "Státusz inaktívra állítása" #: ../../plugins/simple-membership/classes/class.swpm-members.php:47 msgid "Set Status to Pending" msgstr "Státusz függőben" #: ../../plugins/simple-membership/classes/class.swpm-members.php:48 msgid "Set Status to Expired" msgstr "Státusz lejárt" #: ../../plugins/simple-membership/classes/class.swpm-members.php:69 msgid "incomplete" msgstr "befejezetlen" #: ../../plugins/simple-membership/classes/class.swpm-members.php:184 msgid "No member found." msgstr "Nem találtunk ilyen felhasználót" #: ../../plugins/simple-membership/classes/class.swpm-members.php:380 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership: Felhasználók" #: ../../plugins/simple-membership/classes/class.swpm-members.php:381 ../.. #: /plugins/simple-membership/views/admin_members_list.php:40 msgid "Add New" msgstr "Új hozzáadása" #: ../../plugins/simple-membership/classes/class.swpm-members.php:386 ../.. #: /plugins/simple-membership/views/admin_add.php:5 msgid "Add Member" msgstr "Új tag hozzáadása" #: ../../plugins/simple-membership/classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Regisztráció" #: ../../plugins/simple-membership/classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Felhasználói bejelentkezés" #: ../../plugins/simple-membership/classes/class.swpm-utils-misc.php:96 msgid "Profile" msgstr "Profil" #: ../../plugins/simple-membership/classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Új jelszó kérése" #: ../../plugins/simple-membership/classes/class.swpm-utils-misc.php:219 msgid "Not a Member?" msgstr "Nem vagy még felhasználó?" #: ../../plugins/simple-membership/classes/class.swpm-utils-misc.php:219 ../.. #: /plugins/simple-membership/views/login.php:33 msgid "Join Us" msgstr "Csatlakozz hozzánk!" #: ../../plugins/simple-membership/classes/class.swpm-utils-misc.php:230 msgid "renew" msgstr "megújít" #: ../../plugins/simple-membership/classes/class.swpm-utils-misc.php:230 msgid " your account to gain access to this content." msgstr "fiókodat, hogy hozzáférhess ehhez a tartalomhoz" #: ../../plugins/simple-membership/classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Dátum formátum nem megfelelő" #: ../../plugins/simple-membership/classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "A hozzáférés idejének nagyobbnak kell lennie 0-nál" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:64 msgid "User Not Found." msgstr "Felhasználó nem található" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:71 msgid "Password Empty or Invalid." msgstr "Jelszó üres vagy érvénytelen" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:97 msgid "Account is inactive." msgstr "Felhasználói fiók inaktív" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:100 ../.. #: /plugins/simple-membership/classes/class.swpm-auth.php:121 msgid "Account has expired." msgstr "Felhasználói fiók lejárt" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:103 msgid "Account is pending." msgstr "Felhasználói fiók függőben" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:129 msgid "You are logged in as:" msgstr "Be vagy jelentkezve, mint:" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:175 msgid "Logged Out Successfully." msgstr "Sikeres kijelentkezés" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:227 msgid "Session Expired." msgstr "Szekció lejárt" #: ../../plugins/simple-membership/classes/class.swpm-auth.php:236 msgid "Invalid Username" msgstr "Érvénytelen felhasználónév." #: ../../plugins/simple-membership/classes/class.swpm-auth.php:244 msgid "Please login again." msgstr "Kérlek, jelentkezz be újra." #: ../../plugins/simple-membership/classes/class.swpm-utils.php:67 msgid "Active" msgstr "Aktív" #: ../../plugins/simple-membership/classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Inaktív" #: ../../plugins/simple-membership/classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Függőben" #: ../../plugins/simple-membership/classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Lejárt" #: ../../plugins/simple-membership/classes/class.swpm-utils.php:303 msgid "Never" msgstr "Soha" #: ../../plugins/simple-membership/classes/class.swpm-utils.php:395 msgid "Delete Account" msgstr "Felhasználói fiók törlése" #: ../../plugins/simple-membership/classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Kategória ID" #: ../../plugins/simple-membership/classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Kategória neve" #: ../../plugins/simple-membership/classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Kategória fajtája" #: ../../plugins/simple-membership/classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Leírás" #: ../../plugins/simple-membership/classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Számláló" #: ../../plugins/simple-membership/classes/class.swpm-category-list.php:89 msgid "Category protection updated!" msgstr "Kategória védelme frissítve" #: ../../plugins/simple-membership/classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Szerep" #: ../../plugins/simple-membership/classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Jogosultság érvényes -ig" #: ../../plugins/simple-membership/classes/class.swpm-membership-levels.php:198 .. #: /../plugins/simple-membership/views/admin_members_list.php:27 ../.. #: /plugins/simple-membership/views/payments/admin_all_payment_transactions.php:16 msgid "Search" msgstr "Keresés" #: ../../plugins/simple-membership/classes/class.swpm-membership-levels.php:236 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership: Felhasználói szintek" #: ../../plugins/simple-membership/classes/class.swpm-membership-levels.php:242 msgid "Manage Content Production" msgstr "Tartalom létrehozásának menedzselése" #: ../../plugins/simple-membership/classes/class.swpm-membership-levels.php:243 msgid "Category Protection" msgstr "Kategória védelem" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Lista nézet" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Kibontott nézet" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "Nem található iylen elem." #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "Válaszd ki a csoportos műveletet" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "Csoportos műveletek" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Jelentkezés" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Keresés dátum szerint" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Minden dátum" #. translators: 1: month name, 2: 4-digit year #. translators: 1: month name, 2: 4-digit year #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "%1$s %2$d" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "%s függőben" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:678 .. #: /../plugins/simple-membership/classes/common/class.swpm-list-table.php:1086 #, php-format msgid "1 item" msgid_plural "%s items" msgstr[0] "1 elem" msgstr[1] "%s elemek" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:695 msgid "Go to the first page" msgstr "Menj az első odlalra" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:698 msgid "Go to the previous page" msgstr "Menj az előző oldalra" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "Válaszd ki az oldalt" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:704 msgid "Current page" msgstr "Jelenlegi oldal" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:708 #, php-format msgctxt "paging" msgid "%1$s of %2$s" msgstr "%1$s of %2$s" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:710 msgid "Go to the next page" msgstr "Menj a következő oldalra" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:713 msgid "Go to the last page" msgstr "Menj az utolsó oldalra" #: ../../plugins/simple-membership/classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "Mind kiválasztása" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payment- #: buttons-list-table.php:75 msgid "Payment Button ID" msgstr "Fizetési gomb ID-ja" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payment- #: buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Fizetési gomb felriata" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payment- #: buttons-list-table.php:77 msgid "Membership Level ID" msgstr "Felhasználói szint ID-je" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payment- #: buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Gomb shortcode-ja" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payment- #: buttons-list-table.php:120 ../../plugins/simple- #: membership/views/admin_members_list.php:6 ../../plugins/simple- #: membership/views/payments/admin_all_payment_transactions.php:31 msgid "The selected entry was deleted!" msgstr "A kiválasztott bejegyés törlésre került." #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple Membership: Fizetések" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: list-table.php:57 msgid "View Profile" msgstr "Profil megtekintése." #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: list-table.php:76 msgid "Row ID" msgstr "Sor ID-ja" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: list-table.php:77 ../../plugins/simple-membership/views/forgot_password.php:5 msgid "Email Address" msgstr "Email cím" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: list-table.php:80 msgid "Member Profile" msgstr "Felhasználó profilja" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: list-table.php:81 msgid "Date" msgstr "Dátum" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: list-table.php:82 msgid "Transaction ID" msgstr "Tranzakció ID-je" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: list-table.php:83 msgid "Subscriber ID" msgstr "Feliratkozó ID-je" #: ../../plugins/simple-membership/classes/admin-includes/class.swpm-payments- #: list-table.php:84 msgid "Amount" msgstr "Összeg" #: ../../plugins/simple-membership/classes/shortcode-related/class.swpm- #: shortcodes-handler.php:55 msgid "Your membership profile will be updated to reflect the payment." msgstr "A felhasználói fiókodat a fizetésnek megfelelően frissíteni fogjuk." #: ../../plugins/simple-membership/classes/shortcode-related/class.swpm- #: shortcodes-handler.php:56 msgid "Your profile username: " msgstr "A profilod felhasználóneve:" #: ../../plugins/simple-membership/classes/shortcode-related/class.swpm- #: shortcodes-handler.php:68 msgid "Click on the following link to complete the registration." msgstr "Kattints a következő linkre, hogy a regisztrációt befejezd." #: ../../plugins/simple-membership/classes/shortcode-related/class.swpm- #: shortcodes-handler.php:69 msgid "Click here to complete your paid registration" msgstr "Kattints ide, hogy a fizetős regisztrációt befejezd" #: ../../plugins/simple-membership/classes/shortcode-related/class.swpm- #: shortcodes-handler.php:74 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Ha felhasználói befizetést hajtottál végre, akkor a befizetést fel kell, " "hogy dolgozzuk. Kérlek, nézz vissza egy pár perc múlva. Hamarosan egy emailt " "kapsz tőlünk a pontos részletekkel." #: ../../plugins/simple-membership/classes/shortcode-related/class.swpm- #: shortcodes-handler.php:88 msgid "Expiry: " msgstr "Lejárat:" #: ../../plugins/simple-membership/classes/shortcode-related/class.swpm- #: shortcodes-handler.php:90 msgid "You are not logged-in as a member" msgstr "Felhasználóként vagy bejelentkezve" #: ../../plugins/simple-membership/views/admin_edit.php:5 msgid "Edit Member" msgstr "Felhasználó szerkesztése" #: ../../plugins/simple-membership/views/admin_edit.php:7 msgid "Edit existing member details." msgstr "Meglévő felhasználók adatainak szerkesztése" #: ../../plugins/simple-membership/views/admin_edit.php:13 ../../plugins/simple- #: membership/views/admin_edit.php:34 ../../plugins/simple- #: membership/views/admin_edit_level.php:15 ../../plugins/simple- #: membership/views/admin_edit_level.php:19 ../../plugins/simple- #: membership/views/admin_edit_level.php:23 ../../plugins/simple- #: membership/views/admin_add.php:10 ../../plugins/simple- #: membership/views/admin_add.php:14 ../../plugins/simple- #: membership/views/admin_add_level.php:11 ../../plugins/simple- #: membership/views/admin_add_level.php:15 ../../plugins/simple- #: membership/views/admin_add_level.php:19 msgid "(required)" msgstr "kötelező" #: ../../plugins/simple-membership/views/admin_edit.php:34 ../../plugins/simple- #: membership/views/admin_add.php:14 msgid "E-mail" msgstr "Email" #: ../../plugins/simple-membership/views/admin_edit.php:38 ../../plugins/simple- #: membership/views/edit.php:13 ../../plugins/simple-membership/views/admin_add. #: php:18 ../../plugins/simple-membership/views/login.php:17 ../../plugins/simple- #: membership/views/add.php:14 msgid "Password" msgstr "Jelszó" #. translators: password input field #: ../../plugins/simple-membership/views/admin_edit.php:38 msgid "(twice, leave empty to retain old password)" msgstr "(kétszer, hagyd üresen, ha a régi jelszavadat szeretnéd használni)" #: ../../plugins/simple-membership/views/admin_edit.php:42 ../../plugins/simple- #: membership/views/admin_add.php:23 msgid "Strength indicator" msgstr "Erősség jelző" #: ../../plugins/simple-membership/views/admin_edit.php:43 ../../plugins/simple- #: membership/views/admin_add.php:24 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? $ " "% ^ & )." msgstr "" "Tipp: A jelszónak minimum 7 karakter hosszúnak kell lennie. Hogy erősebbé " "tedd használj alsó és felső karaktereket, számokat, szimbólumokat is." #: ../../plugins/simple-membership/views/admin_edit.php:47 ../../plugins/simple- #: membership/views/loggedin.php:10 ../../plugins/simple- #: membership/views/admin_add.php:28 msgid "Account Status" msgstr "Felhasználói státusz" #: ../../plugins/simple-membership/views/admin_edit.php:54 msgid "Notify User" msgstr "Felhasználó értesítése" #: ../../plugins/simple-membership/views/admin_edit.php:61 msgid "Subscriber ID/Reference" msgstr "Feliratkozó ID-je" #: ../../plugins/simple-membership/views/admin_edit.php:65 msgid "Last Accessed From IP" msgstr "Utolsó hozzáférés az IP címről" #: ../../plugins/simple-membership/views/admin_edit.php:73 msgid "Edit User " msgstr "Felhasználó szerkesztése" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Nem" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:30 ../. #: ./plugins/simple-membership/views/edit.php:29 msgid "Phone" msgstr "Telefon" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:34 ../. #: ./plugins/simple-membership/views/edit.php:33 msgid "Street" msgstr "Utca" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:38 ../. #: ./plugins/simple-membership/views/edit.php:37 msgid "City" msgstr "Város" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:42 ../. #: ./plugins/simple-membership/views/edit.php:41 msgid "State" msgstr "Megye" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:46 ../. #: ./plugins/simple-membership/views/edit.php:45 msgid "Zipcode" msgstr "Irányítószám" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:50 ../. #: ./plugins/simple-membership/views/edit.php:49 msgid "Country" msgstr "Ország" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Cég" #: ../../plugins/simple-membership/views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Tag óta" #: ../../plugins/simple-membership/views/loggedin.php:6 msgid "Logged in as" msgstr "Bejelentkezve, mint" #: ../../plugins/simple-membership/views/loggedin.php:14 msgid "Membership" msgstr "Tagság" #: ../../plugins/simple-membership/views/loggedin.php:18 msgid "Account Expiry" msgstr "Felhasználói fiók lejárta" #: ../../plugins/simple-membership/views/loggedin.php:22 msgid "Logout" msgstr "Kijelentkezés" #: ../../plugins/simple-membership/views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Először is általánosan védd le a kategóriát az oldaladon kiválasztva az " "\"Általános Védelem\" pontot a drop-down menüből majd válaszd ki a " "kategóriákat, amiket amiket a nem bejelentkezett felhasználók elől meg " "szeretnél védeni" #: ../../plugins/simple-membership/views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Következő, válassz ki egy már létező felhasználói szintet a drop-down " "menüből és válaszd ki a kategóriát amelyhez hozzáférést szeretnél " "biztosítani a megadott felhasználók számára." #: ../../plugins/simple-membership/views/admin_tools_settings.php:6 msgid "Generate a Registration Completion link" msgstr "Regisztráció befejezése link generálása" #: ../../plugins/simple-membership/views/admin_tools_settings.php:9 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Itt manuálisan is létrehozhatsz regisztráció befejezési linkeket és " "elküldheted a vásárlóidnak, ha esetleg nem kapták volna meg az automatikus " "emailt, amit a fizetés után küldtél nekik." #: ../../plugins/simple-membership/views/admin_tools_settings.php:14 msgid "Generate Registration Completion Link" msgstr "Regisztráció befejezése link generálása" #: ../../plugins/simple-membership/views/admin_tools_settings.php:17 msgid "OR" msgstr "VAGY" #: ../../plugins/simple-membership/views/admin_tools_settings.php:18 msgid "For All Incomplete Registrations" msgstr "Minden befejezetlen regisztráció számára" #: ../../plugins/simple-membership/views/admin_tools_settings.php:29 msgid "Submit" msgstr "Elküld" #: ../../plugins/simple-membership/views/admin_tools_settings.php:38 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Linkek sikeresen generálva. A következő linkek használhatóak a regisztrációk " "befejezéséhez." #: ../../plugins/simple-membership/views/admin_tools_settings.php:40 msgid "Registration completion links will appear below" msgstr "Regisztráció befejezése link alul fog megjelenni" #: ../../plugins/simple-membership/views/forgot_password.php:11 msgid "Reset Password" msgstr "Új jelszó" #: ../../plugins/simple-membership/views/edit.php:17 ../../plugins/simple- #: membership/views/add.php:18 msgid "Repeat Password" msgstr "Jelszó megismétlése" #: ../../plugins/simple-membership/views/edit.php:60 msgid "Update" msgstr "Frissítés" #: ../../plugins/simple-membership/views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership: Add-onok" #: ../../plugins/simple-membership/views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Felhasználói szint szerkesztése" #: ../../plugins/simple-membership/views/admin_edit_level.php:15 ../.. #: /plugins/simple-membership/views/admin_add_level.php:11 msgid "Membership Level Name" msgstr "Felhasználói szint neve" #: ../../plugins/simple-membership/views/admin_edit_level.php:19 ../.. #: /plugins/simple-membership/views/admin_add_level.php:15 msgid "Default WordPress Role" msgstr "Alapértelmezett Wordpress szerep" #: ../../plugins/simple-membership/views/admin_edit_level.php:23 ../.. #: /plugins/simple-membership/views/admin_add_level.php:19 msgid "Access Duration" msgstr "Lejárat ideje" #: ../../plugins/simple-membership/views/admin_edit_level.php:26 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Nincs lejárat (A felhasználói fiók hozzáférése nem fog lejárni)" #: ../../plugins/simple-membership/views/admin_edit_level.php:27 ../.. #: /plugins/simple-membership/views/admin_edit_level.php:30 ../../plugins/simple- #: membership/views/admin_edit_level.php:33 ../../plugins/simple- #: membership/views/admin_edit_level.php:36 ../../plugins/simple- #: membership/views/admin_add_level.php:23 ../../plugins/simple- #: membership/views/admin_add_level.php:25 ../../plugins/simple- #: membership/views/admin_add_level.php:27 ../../plugins/simple- #: membership/views/admin_add_level.php:29 msgid "Expire After" msgstr "Lejár után" #: ../../plugins/simple-membership/views/admin_edit_level.php:28 ../.. #: /plugins/simple-membership/views/admin_add_level.php:24 msgid "Days (Access expires after given number of days)" msgstr "" "Napok (A felhasználói fiók hozzáférése a megadott napok száma után fog " "lejárni)" #: ../../plugins/simple-membership/views/admin_edit_level.php:31 msgid "Weeks (Access expires after given number of weeks)" msgstr "" "Hetek (A felhasználói fiók hozzáférése a megadott hetek száma után fog " "lejárni)" #: ../../plugins/simple-membership/views/admin_edit_level.php:34 ../.. #: /plugins/simple-membership/views/admin_add_level.php:28 msgid "Months (Access expires after given number of months)" msgstr "" "Hónapok (A felhasználói fiók hozzáférése a megadott hónapok száma után fog " "lejárni)" #: ../../plugins/simple-membership/views/admin_edit_level.php:37 ../.. #: /plugins/simple-membership/views/admin_add_level.php:30 msgid "Years (Access expires after given number of years)" msgstr "Évek (A felhasználói fiók hozzáférése a megadott évek száma után fog lejárni)" #: ../../plugins/simple-membership/views/admin_edit_level.php:39 ../.. #: /plugins/simple-membership/views/admin_add_level.php:31 msgid "Fixed Date Expiry" msgstr "Fix napos lejárat" #: ../../plugins/simple-membership/views/admin_edit_level.php:40 ../.. #: /plugins/simple-membership/views/admin_add_level.php:32 msgid "(Access expires on a fixed date)" msgstr "(Hozzáférés egy fix napon lejár)" #: ../../plugins/simple-membership/views/admin_edit_level.php:46 msgid "Edit Membership Level " msgstr "Felhasználói szint szerkesztése" #: ../../plugins/simple-membership/views/admin_add.php:6 msgid "Create a brand new user and add it to this site." msgstr "Új felhasználó hozzáadása az oldalhoz." #. translators: password input field #: ../../plugins/simple-membership/views/admin_add.php:18 msgid "(twice, required)" msgstr "(kétszer, szükséges)" #: ../../plugins/simple-membership/views/admin_add.php:38 msgid "Add New Member " msgstr "Új felhasználó hozzáadása" #: ../../plugins/simple-membership/views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Példa tartalmak védelmének beállítása" #: ../../plugins/simple-membership/views/login.php:24 msgid "Remember Me" msgstr "Emlékezz rám" #: ../../plugins/simple-membership/views/login.php:30 msgid "Forgot Password" msgstr "Elfelejtett jelszó" #: ../../plugins/simple-membership/views/add.php:41 msgid "Register" msgstr "Regisztráció" #: ../../plugins/simple-membership/views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Néhány, a simple membership addon beállítások közül (amennyiben rendelkezel " "ilyenekkel) itt jelenik meg" #: ../../plugins/simple-membership/views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Változások mentése" #: ../../plugins/simple-membership/views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Új felhasználói szint létrehozása" #: ../../plugins/simple-membership/views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Nincs lejárat ( A hozzáférés, ehhez a szinthez, nem jár le, míg vissza nem " "vonod)" #: ../../plugins/simple-membership/views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Hetek (A hozzáférés a megadott hetek száma után lejár)" #: ../../plugins/simple-membership/views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Új felhasználói szint megadása" #: ../../plugins/simple-membership/views/payments/admin_payment_settings.php:26 msgid "PayPal Integration Settings" msgstr "PayPal integráció beállítások" #: ../../plugins/simple-membership/views/payments/admin_payment_settings.php:29 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "\"Haladó változók\" kód generálása a PayPal gomb számára" #: ../../plugins/simple-membership/views/payments/admin_payment_settings.php:32 msgid "Enter the Membership Level ID" msgstr "Add meg a felhasználó szint ID-ját" #: ../../plugins/simple-membership/views/payments/admin_payment_settings.php:34 msgid "Generate Code" msgstr "Kód generálása" #: ../../plugins/simple-membership/views/payments/admin_payment_buttons.php:6 msgid "All the membership buttons that you created in the plugin are displayed here." msgstr "" "Minden felhasználói fiók gomb, amit létrehoztál a bővítményben itt jelenik " "meg." #: ../../plugins/simple-membership/views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "Szerkesztheted a fizetési gombot ezt at interfacet használva" #: ../../plugins/simple-membership/views/payments/admin_create_payment_buttons. #: php:14 msgid "You can create new payment button for your memberships using this interface." msgstr "" "Új fizetési gombot hozhatsz létre a felhasználóid számára, ezt az interfacet " "használva." #: ../../plugins/simple-membership/views/payments/admin_create_payment_buttons. #: php:22 msgid "Select Payment Button Type" msgstr "Fizetési mód gomb választása" #: ../../plugins/simple-membership/views/payments/admin_create_payment_buttons. #: php:36 msgid "Next" msgstr "Következő" #: ../../plugins/simple-membership/views/payments/admin_all_payment_transactions. #: php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Minden felhasználói befizetés itt kerül rögzítésre" #: ../../plugins/simple-membership/views/payments/admin_all_payment_transactions. #: php:12 msgid "Search for a transaction by using email or name" msgstr "Keress tranzakciókat az email cím vagy név megadásával" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:39 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:252 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:26 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:208 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:27 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 299 msgid "Button Title" msgstr "Gomb felirata" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:57 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:268 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:44 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:226 msgid "Payment Amount" msgstr "Fizetési összeg" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:65 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:275 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:52 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:234 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:45 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 317 msgid "Payment Currency" msgstr "Fizetési valuta" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:141 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:351 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:91 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:273 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:171 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 443 msgid "Return URL" msgstr "Vissza url" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:151 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:117 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:299 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:191 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 463 msgid "Save Payment Data" msgstr "Fizetési adatok mentése" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_stripe_buy_now_button.php:245 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:200 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:291 msgid "Button ID" msgstr "Gomb ID-je" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:16 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:191 msgid "PayPal Buy Now Button Configuration" msgstr "PayPAl \"Vedd meg most\" gomb beállítása" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:99 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:281 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:84 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 356 msgid "PayPal Email" msgstr "PayPal email" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:107 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:289 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:179 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 451 msgid "Button Image URL" msgstr "Gomb képének url-je" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:18 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 285 msgid "PayPal Subscription Button Configuration" msgstr "PayPal előfizetői gomb beállítása" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:92 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 364 msgid "Billing Amount Each Cycle" msgstr "Számlázási összeg periódusonként" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:100 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 372 msgid "Billing Cycle" msgstr "Számlázási periódus" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:113 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 385 msgid "Billing Cycle Count" msgstr "Számlázási periódus számolása" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:121 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 393 msgid "Re-attempt on Failure" msgstr "Hiba esetén próbáld úrja" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:134 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 406 msgid "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "Próba számlázó részletek (hagyd szabadon, ha nem kínálsz próba időszakot)" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:140 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 412 msgid "Trial Billing Amount" msgstr "Próba számlázó összeg" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:148 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 420 msgid "Trial Billing Period" msgstr "Próba számlázó időszak" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/admin_paypal_subscription_button.php:165 ../../plugins/simple- #: membership/views/payments/payment-gateway/admin_paypal_subscription_button.php: #: 437 msgid "Optional Details" msgstr "Opcionális beállítások" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/paypal_button_shortcode_view.php:85 ../../plugins/simple- #: membership/views/payments/payment-gateway/paypal_button_shortcode_view.php:87 . #: ./../plugins/simple-membership/views/payments/payment- #: gateway/stripe_button_shortcode_view.php:17 msgid "Buy Now" msgstr "Megvásárolom" #: ../../plugins/simple-membership/views/payments/payment- #: gateway/paypal_button_shortcode_view.php:213 ../../plugins/simple- #: membership/views/payments/payment-gateway/paypal_button_shortcode_view.php:215 msgid "Subscribe Now" msgstr "Feliratkozom" languages/simple-membership-lv_LV.po000064400000121001147206617610013521 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2015-08-15 13:27+1000\n" "PO-Revision-Date: 2015-08-19 18:17+0200\n" "Last-Translator: \n" "Language-Team: Uldis \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.7.5\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" "Language: lv_LV\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:262 msgid "You are not logged in." msgstr "Nepieciešams ielogoties." #: classes/class.simple-wp-membership.php:296 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership aizsardzība" #: classes/class.simple-wp-membership.php:308 msgid "Simple Membership Protection options" msgstr "Simple Membership aizsardzības uzstādījumi" #: classes/class.simple-wp-membership.php:324 msgid "Do you want to protect this content?" msgstr "Vai vēlaties aizsargāt šo saturu?" #: classes/class.simple-wp-membership.php:329 msgid "Select the membership level that can access this content:" msgstr "Norādiet dalības līmeni, kas nepieciešams satura piekļuvei:" #: classes/class.simple-wp-membership.php:462 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:463 classes/class.swpm-members.php:8 #: views/admin_members_menu.php:2 msgid "Members" msgstr "Dalībnieki" #: classes/class.simple-wp-membership.php:464 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "Līdzdalības līmeņi" #: classes/class.simple-wp-membership.php:465 msgid "Settings" msgstr "Uzstādījumi" #: classes/class.simple-wp-membership.php:466 msgid "Payments" msgstr "Maksājumi" #: classes/class.simple-wp-membership.php:467 msgid "Add-ons" msgstr "Papildinājumi" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "Lai piekļūtu saturam, nepieciešams ielogoties. " #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "" "Jūsu kontam ir beidzies deriguma termiņš. Piekļuves turpināšanai " "nepieciešams pagarināt abonementu." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Piekļuve šim saturam ir pieejama tikai dalībniekiem, kas pievienojušies " "pirms (ieskaitot)" #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "Šim saturam Jums nav piekļuves Jūsu līdzdalības līmenī." #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "Tev nekas nav pieejams" #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "Pieslēdzieties, lai skatītu pārējo saturu." #: classes/class.swpm-admin-registration.php:54 msgid "Registration Successful." msgstr "Reģistrācija veiksmīga." #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:99 #: classes/class.swpm-membership-level.php:42 #: classes/class.swpm-membership-level.php:61 msgid "Please correct the following:" msgstr "Lūdzu izlabojiet:" #: classes/class.swpm-admin-registration.php:91 msgid "Your current password" msgstr "Jūsu pašreizējā parole" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Nederīga epasta adrese" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:32 msgid "Aready taken" msgstr "Aizņemts" #: classes/class.swpm-ajax.php:33 msgid "Available" msgstr "Pieejams" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Lietotājs nav atrasts" #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Parole ir tukša vai nederīga" #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "Neaktīvs konts." #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "Konts gaida aktivāciju." #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "Kontam beidzies derīguma termiņš." #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Pieslēdzies kā:" #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "Veiksmīga atslēgšanās." #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "Sesija beigusies." #: classes/class.swpm-auth.php:219 msgid "Invalid User Name" msgstr "Nederīgs lietotāja vārds" #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Lūdzu pieslēdzieties atkārtoti." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:21 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 views/add.php:30 #: views/admin_member_form_common_part.php:2 views/edit.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Dalības līmenis" #: classes/class.swpm-category-list.php:34 classes/class.swpm-members.php:16 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "ID" #: classes/class.swpm-category-list.php:35 msgid "Name" msgstr "Vārds" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Apraksts" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Skaits" #: classes/class.swpm-category-list.php:78 msgid "Updated! " msgstr "Atjaunināts!" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "" "Norādītais lietotājvārds atbilst eksistējošam Wordpress kontam. Taču " "norādītā epasta adrese nesakrīt." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" "Norādītā epasta adrese atbilst eksistējošam Wordpress kontam. Taču " "norādītais lietotājvārds nesakrīt." #: classes/class.swpm-form.php:40 msgid "User name is required" msgstr "Nepieciešams lietotājvārds" #: classes/class.swpm-form.php:44 msgid "User name contains invalid character" msgstr "Lietotājvārds satur nederīgu rakstzīmi" #: classes/class.swpm-form.php:52 msgid "User name already exists." msgstr "Lietotājvārds jau ir reģistrēts." #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "Nepieciešama parole" #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "Paroles nesakrīt" #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "Nepieciešams epasts" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "E-pasts nav derīgs" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "E-pasts jau ir reģistrēts" #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "Dalībnieks līdz lauks nav derīgs" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "Pieejas sākuma lauks nav derīgs" #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "Dzimuma lauks nav derīgs" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "Konta statusa lauks nav derīgs" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "Nederīgs līdzdalības līmenis" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "Drošības pārbaude: captcha pārbaude neizdevās." #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "Reģistrācija veiksmīga." #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:367 msgid "Please" msgstr "Lūdzu doties uz lapu" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:367 views/login.php:21 msgid "Login" msgstr "Pieslēgties" #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Lūdzu labojiet" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "Dalības līmeni nevarēja atrast." #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Profils atjaunināts sekmīgi." #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profils atjaunināts sekmīgi. Tā kā tika mainīta parole, nepieciešams " "atkārtoti ielogoties." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "Nederīga epasta adrese." #: classes/class.swpm-front-registration.php:200 msgid "No user not found with that email address." msgstr "Ar šādu epasta adresi nav atrasts neviens lietotājs." #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:224 msgid "Email Address: " msgstr "E-pasta adrese:" #: classes/class.swpm-front-registration.php:223 msgid "New password has been sent to your email address." msgstr "Jaunā parole tika nosūtīta uz Jūsu epasta adresi." #: classes/class.swpm-init-time-tasks.php:103 msgid "Sorry, Nonce verification failed." msgstr "Atvainojiet, nonce pārbaude nesekmīga." #: classes/class.swpm-init-time-tasks.php:109 msgid "Sorry, Password didn't match." msgstr "Atvainojiet, nesakrīt paroles." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Nederīgs datuma formāts." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "Piekļuves ilgumam jābūt >0." #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "Lietotājs nav ielogojies." #: classes/class.swpm-members.php:7 msgid "Member" msgstr "Dalībnieks" #: classes/class.swpm-members.php:17 views/add.php:6 views/edit.php:4 msgid "User Name" msgstr "Lietotājvārds" #: classes/class.swpm-members.php:18 views/add.php:22 #: views/admin_member_form_common_part.php:15 views/edit.php:20 msgid "First Name" msgstr "Vārds" #: classes/class.swpm-members.php:19 views/add.php:26 #: views/admin_member_form_common_part.php:19 views/edit.php:24 msgid "Last Name" msgstr "Uzvārds" #: classes/class.swpm-members.php:20 views/add.php:10 views/edit.php:8 msgid "Email" msgstr "E-pasts" #: classes/class.swpm-members.php:22 #: views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Piekļuve no" #: classes/class.swpm-members.php:23 msgid "Account State" msgstr "Konta stāvoklis" #: classes/class.swpm-members.php:36 #: classes/class.swpm-membership-levels.php:35 msgid "Delete" msgstr "Dzēst" #: classes/class.swpm-members.php:110 msgid "No Member found." msgstr "Neatradu dalībnieku." #: classes/class.swpm-membership-level.php:37 msgid "Membership Level Creation Successful." msgstr "Dalības līmeņa izveide veiksmīga." #: classes/class.swpm-membership-level.php:56 msgid "Updated Successfully." msgstr "Veiksmīgi atjaunināts." #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "Loma" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "Piekļuve derīga līdz" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Reģistrācija" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "Dalībnieka pieslēgšanās" #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Profils" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Paroles atjaunošana" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "Spraudņa dokumentācija" #: classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "Vispārējie iestatījumi" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "Ieslēgt bezmaksas dalību" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Ieslēgt / izslēgt reģistrāciju bezmaksas dalības līmenī. Ieslēdzot šo " "iespēju pārliecinieties, vai ir norādīts bezmaksas dalības līmeņa " "identifikators (zemāk)!" #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "Bezmaksas dalības līmeņa ID" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "Piesaistīt bezmaksas dalības līmeņa ID" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "Ieslēgt vairāk taga aizsardzību" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Ieslēdz vai izslēdz \"vairāk\" taga aizsardzību rakstos un lapās. Jebkas pēc " "\"Vairāk\" taga tiek aizsargāts. Jebkas pims \"Vairāk\" taga ir brīvi " "pieejams saturs." #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "Slēpt Administrēšanas rīkjoslu" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WordPress rāda Administrēšanas rīkjoslu tiem lietotājiem, kas ir " "pieslēgušies. Atzīmējiet šo rūtiņu, lai paslēptu rīkjoslu no mājas lapas " "apmekletājiem." #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "Noklusētais konta stāvoklis" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Izvēlieties noklusēto reģistrācijas stāvokli tikko reģisttrētiem " "lietotājiem. Ja vēlaties dalībniekus apstiprināt manuāli, izvēlieties " "\"Gaida aktivāciju\"." #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "Atļaut konta dzēšanu" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "Atļaut lietotājiem dzēst savus kontus." #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "" "Automātiski dzēst kontus, kas ilgstoši atrodas \"Gaida aktivāciju\" statusā" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "" "Norādīet, cik ilgi gaidīt konta aktivāciju pirms tā automātiskas dzēšanas." #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "Lapu uzstādījumi" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "Login lapas URL" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "Reģistrācijas lapas URL" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "Pievienojies mums lapas URL" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "Labot profilu lapas URL" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "Paroles atjaunošanas lapas URL" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "Testēšanas & atķļūdošanas uzstādījumi" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "Atzīmējiet lai ieslēgtu atkļūdošanas logfaila izveidi" #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "Ieslēgt smilšukasti testiem" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Ieslēdziet, lai testētu maksājumus" #: classes/class.swpm-settings.php:97 msgid "Email Misc. Settings" msgstr "Dažādi epasta uzstādījumi" #: classes/class.swpm-settings.php:98 msgid "From Email Address" msgstr "No epasta adreses" #: classes/class.swpm-settings.php:101 msgid "Email Settings (Prompt to Complete Registration )" msgstr "E-pasta uzstādījumi (paziņojums reģistrācijas pabeigšanai)" #: classes/class.swpm-settings.php:102 classes/class.swpm-settings.php:108 #: classes/class.swpm-settings.php:120 classes/class.swpm-settings.php:127 msgid "Email Subject" msgstr "E-pasta temats" #: classes/class.swpm-settings.php:104 classes/class.swpm-settings.php:110 #: classes/class.swpm-settings.php:122 classes/class.swpm-settings.php:129 msgid "Email Body" msgstr "E-pasta ķermenis" #: classes/class.swpm-settings.php:107 msgid "Email Settings (Registration Complete)" msgstr "E-pasta uzstādījumi (reģistrācija pabeigta)" #: classes/class.swpm-settings.php:112 msgid "Send Notification to Admin" msgstr "Sūtīt paziņojumu administratoram" #: classes/class.swpm-settings.php:114 msgid "Admin Email Address" msgstr "Administratora epasta adrese" #: classes/class.swpm-settings.php:116 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Sūtīt epastu dalībniekam, ja tas tiek pievienots caur administratora vadības " "paneli" #: classes/class.swpm-settings.php:119 msgid "Email Settings (Password Reset)" msgstr "E-pasta uzstādījumi (paroles atjaunošana)" #: classes/class.swpm-settings.php:126 msgid " Email Settings (Account Upgrade Notification)" msgstr "E-pasta uzstādījumi (dalības statusa maiņa)" #: classes/class.swpm-settings.php:140 msgid "Advanced Settings" msgstr "Papildus uzstādījumi" #: classes/class.swpm-settings.php:142 msgid "Enable Expired Account Login" msgstr "Atļaut ielogošanos kontiem ar beigušos derīguma termiņu" #: classes/class.swpm-settings.php:143 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Ja šī iespēja ir atļauta, lietotāji ar beigušos konta derīguma termiņu " "joprojām var ielogoties, taču nevar piekļūt aizsargātajam saturam. Tādējādi " "ir iespējams vienkāršoti pēc ielogošanās pagarināt konta derīguma termiņu " "veicot kārtējo maksājumu." #: classes/class.swpm-settings.php:233 msgid "Settings updated!" msgstr "Uzstādījumi atjaunināti!" #: classes/class.swpm-settings.php:367 msgid "Not a Member?" msgstr "Neesi dalībnieks?" #: classes/class.swpm-settings.php:367 views/login.php:27 msgid "Join Us" msgstr "Pievienojies mums!" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "Aktīvs" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Neaktīvs" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Gaida aktivāciju" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Beidzies termiņš" #: classes/class.swpm-utils.php:296 msgid "Never" msgstr "Nekad" #: classes/class.swpm-utils.php:370 msgid "Delete Account" msgstr "Dzēst kontu" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "Izvēlētais ieraksts dzēsts!" #: classes/common/class.swpm-list-table.php:139 msgid "List View" msgstr "Saraksta skats" #: classes/common/class.swpm-list-table.php:140 msgid "Excerpt View" msgstr "Izgriezumu skats" #: classes/common/class.swpm-list-table.php:307 msgid "No items found." msgstr "Nekas netika atrasts" #: classes/common/class.swpm-list-table.php:433 msgid "Select bulk action" msgstr "Izvēlieties lielapjoma darbību" #: classes/common/class.swpm-list-table.php:435 msgid "Bulk Actions" msgstr "Lielapjoma darbības" #: classes/common/class.swpm-list-table.php:445 msgid "Apply" msgstr "Pielietot" #: classes/common/class.swpm-list-table.php:545 msgid "Filter by date" msgstr "Filtrēt pēc datuma" #: classes/common/class.swpm-list-table.php:547 msgid "All dates" msgstr "Visi datumi" #: classes/common/class.swpm-list-table.php:560 #, php-format msgid "%1$s %2$d" msgstr "%1$s %2$d" #: classes/common/class.swpm-list-table.php:607 #, php-format msgid "%s pending" msgstr "%s gaida" #: classes/common/class.swpm-list-table.php:721 msgid "Select Page" msgstr "Izvēlieties lapu" #: classes/common/class.swpm-list-table.php:876 msgid "Select All" msgstr "Izvēlieties visu" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "" "Jūsu līdzdalības profils tiks atjaunināts lai atspoguļotu veikto maksājumu." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "Jūsu profila lietotājvārds:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Lai pabeigtu reģistrāciju, nospiediet uz saites." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Nospiediet šeit, lai pabeigtu jūsu apmaksāto reģistrāciju." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Ja jūs tikko veicāt līdzdalības maksājumu, tad uzgaidiet dažas minūtes, " "maksājums tiek apstrādāts. Tiklīdz apstrāde būs pabeigta, Jums tiks nosūtīts " "epasts ar atbilstošu paziņojumu." #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "Parole" #: views/add.php:18 views/edit.php:16 msgid "Repeat Password" msgstr "Atkārtojiet paroli" #: views/add.php:41 msgid "Register" msgstr "Reģistrēties" #: views/admin_add.php:6 msgid "Add Member" msgstr "Pievienot dalībnieku" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Izveidot un pievienot jaunu lietotāju šai vietnei." #: views/admin_add.php:11 msgid "User name" msgstr "Lietotāja vārds" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 #: views/admin_edit_level.php:10 views/admin_edit_level.php:14 #: views/admin_edit_level.php:18 msgid "(required)" msgstr "(nepieciešams)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-pasts" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(divreiz, nepieciešams)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Drošības indikators" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Ieteikums: parolei vajadzētu būt vismaz 7 simbolus garai. Lai padarītu to " "spēcīgāku, lietojiet LIELOS burtus, ciparus un simbolus, piemēram, \" ? $ % " "^ & )." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Konta statuss" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Pievienot jaunu dalībnieku" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 #: views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Uzstādījumi" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Daži paplašinājuma simple membership papildinājumu uzstādījumi un iespējas " "tiksw attēlotas šeit (ja jums tie ir uzstādīti)" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Izveidojiet jaunu dalības līmeni." #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Dalības līmeņa nosaukums" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Noklusētā WordPress lona" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "Piekļuves ilgums" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Nebeidzama (Piekļuve kamēr vien eksistē lietotāja konts)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "Termiņš beidzas pēc" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "Dienas (Piekļuve ilgst norādīto dienu skaitu)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Nedēļas (Piekļuve ilgst norādīto nedēļu skaitu)" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "Mēneši (Piekļuve ilgst norādīto mēnešu skaitu)" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "Gadi (Piekļuve ilgst norādīto gadu skaitu)" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "Slēgt noteiktā datumā" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "Piekļuve beidzas noteiktā datumā" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Pievienot jaunu dalības līmeni" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Papildinājumi" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership::Kategorijas" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Vispirms Jūsus lapā globāli aizsargājiet kategoriju izvēloties \"Vispārējā " "aizsardzība\" no izkrītošās izvēlnes zemāk un tad norādiet kuras tieši " "kategorijas aizsargāt no neautorizētas piekļuves." #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Kā nākamo izvēlieties kādu no esošajiem dalības līmeņiem izkrītošajā izvēlnē " "zemāk un tad norādiet kurām tieši kategorijām vēlaties atļaut piekļuvi " "(izvēlētajā dalības līmenī)." #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Labot dalībnieku" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Labot dalībnieka datus." #: views/admin_edit.php:9 views/login.php:5 msgid "Username" msgstr "Lietotājvārds" #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(divreiz, atstājiet tukšu, ja vēlaties saglabāt veco paroli)" #: views/admin_edit.php:33 msgid "Notify User" msgstr "Paziņot lietotājam" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "Abonenta ID/Reference" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "Pēdējoreiz piekļuve no IP" #: views/admin_edit.php:52 msgid "Edit User " msgstr "Labot lietotāju" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Labot dalības līmeni" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Labot dalības līmeni." #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Nebeidzama (Piekļuve šim līmenim kamēr vien netiek slēgta piekļuve)" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "Nedēļas (Piekļuve beigsies pēc norādītā nedēļu skaita)" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "Labot dalības līmeni" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Dalībnieki" #: views/admin_members.php:3 views/admin_membership_levels.php:22 #: views/admin_members_list.php:16 msgid "Add New" msgstr "Pievienot jaunu" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Dalības līmeņi" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "meklēt" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Dalības līmenis" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Pārvaldīt satura izveidi" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "Kategoriju aizsardzība" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Satura aizsardzības uzstādījumu piemērs" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Dzimums" #: views/admin_member_form_common_part.php:30 views/edit.php:28 msgid "Phone" msgstr "Telefons" #: views/admin_member_form_common_part.php:34 views/edit.php:32 msgid "Street" msgstr "Iela" #: views/admin_member_form_common_part.php:38 views/edit.php:36 msgid "City" msgstr "Pilsēta" #: views/admin_member_form_common_part.php:42 views/edit.php:40 msgid "State" msgstr "Rajons" #: views/admin_member_form_common_part.php:46 views/edit.php:44 msgid "Zipcode" msgstr "Pasta kods" #: views/admin_member_form_common_part.php:50 views/edit.php:48 msgid "Country" msgstr "Valsts" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Uzņēmums" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Dalībnieks kopš" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Ģenerēt Reģistrācijas pabeigšanas saiti" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Ja pircējs nav saņēmis vai ir pazaudējis sistēmas automātiski sūtīto epastu, " "Jūs varat manuāli ģenerēt reģistrācijas pabeigšanas saiti šeit un pārsūtīt " "pircējam." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Ģenerēt Reģistrācijas pabeigšanas saiti" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "VAI" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Visām reģistrācijām, kas gaida aktivāciju" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "Reģistrācijas pabeigšanas saites parādīsies zemāk:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Nosūtīt arī reģistrācijas atgādinājuma epastu" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Nosūtīt" #: views/edit.php:58 msgid "Update" msgstr "Atjaunināt" #: views/forgot_password.php:5 msgid "Email Address" msgstr "E-pasta adrese" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Atjaunot aizmirstu paroli" #: views/loggedin.php:3 msgid "Logged in as" msgstr "Pieslēdzies kā" #: views/loggedin.php:11 msgid "Membership" msgstr "Dalība" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "Konta derīguma termiņš" #: views/loggedin.php:19 msgid "Logout" msgstr "Atslēgties" #: views/login.php:18 msgid "Remember Me" msgstr "Atcerēties mani" #: views/login.php:24 msgid "Forgot Password" msgstr "Aizmirsi paroli" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "Šeit parādās visu dalībnieku veiktie maksājumi / transakcijas." #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "Meklēt transakcijas pēc epasta vai vārda" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Meklēt" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Jūs varat izveidot jauna maksājuma pogu izvēlētajiem dalības veidiem šeit." #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Izvēlieties maksājuma pogas tipu" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Tālāk" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "Jūs varat labot maksājuma pogu šeit." #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "Simple Membership::Maksājumi" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Visas Jūsu izveidotās līdzdalības pogas tiek attēlotas šeit." #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "PayPal integrācijas uzstādījumi" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Ģenerēt \"Advanced Variables\" kodu Jūsu PayPal pogai" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "Ievadiet Dalības līmeņa ID" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "Ģenerēt kodu" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal Buy Now pogas konfigurācija" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "Pogas virsraksts" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "Maksājuma lielums" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "Maksājuma valūta" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "Atgriežoties atvērt saiti" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "PayPal epasts" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "Saite uz pogas attēlu" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "Saglabāt maksājuma datus" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "Pogas ID" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "PayPal Subscription pogas konfigurācija" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "Katra cikla maksājuma apjoms" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "Maksājumu cikls" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "maksājumu ciklu skaits" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "Kļūmes gadījumā mēģināt atkārtoti" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Izmēģinājuma perioda uzstādījumi (Atstājiet tukšu, ja izmēģinājuma periods " "netiek piedāvāts)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "Izmēģinājuma perioda maksājums" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "Izmēģinājuma perioda ilgums" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "Papildus nosacījumi" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "Pirkt tagad" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "Abonēt tagad" languages/simple-membership-ca_ES.po000064400000125532147206617610013466 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2015-10-20 18:32+0200\n" "PO-Revision-Date: 2015-10-20 20:29+0200\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.5\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: ca_ES\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:263 msgid "You are not logged in." msgstr "No esteu connectat." #: classes/class.simple-wp-membership.php:297 msgid "Simple WP Membership Protection" msgstr "Protecció Simple per Usuaris de WP" #: classes/class.simple-wp-membership.php:309 msgid "Simple Membership Protection options" msgstr "Opcions simples de pertinença i protecció" #: classes/class.simple-wp-membership.php:325 msgid "Do you want to protect this content?" msgstr "Voleu protegir aquest contingut?" #: classes/class.simple-wp-membership.php:330 msgid "Select the membership level that can access this content:" msgstr "" "Seleccioneu el nivell de pertinença que pot accedir a aquest contingut:" #: classes/class.simple-wp-membership.php:463 msgid "WP Membership" msgstr "Membres de WP" #: classes/class.simple-wp-membership.php:464 classes/class.swpm-members.php:10 #: views/admin_members_menu.php:2 msgid "Members" msgstr "Membres" #: classes/class.simple-wp-membership.php:465 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "Nivells" #: classes/class.simple-wp-membership.php:466 msgid "Settings" msgstr "Ajustos" #: classes/class.simple-wp-membership.php:467 msgid "Payments" msgstr "Pagaments" #: classes/class.simple-wp-membership.php:468 msgid "Add-ons" msgstr "Afegits" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "Has d’identificar-te per poder veure aquest contingut." #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "" "El teu compte ha caducat. Si et plau renova el teu compte per poder " "continuar accedint a aquest contingut." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Aquest contingut només pot ser visualitzat per membres que s’han identificat " "prèviament" #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "Aquest contingut no és accessible amb el seu nivell d’accés." #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "" "La resta d’aquest contingut no és accessible amb el seu nivell d’accés." #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "Has d’identificar-te per poder veure la resta d’aquest contingut" #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Registre d’usuari efectuat amb èxit." #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:100 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Si us plau corregiu el següent:" #: classes/class.swpm-admin-registration.php:91 msgid "Your current password" msgstr "La teva contrasenya actual" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Adreça de correu incorrecta" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:32 msgid "Already taken" msgstr "Ja està agafat" #: classes/class.swpm-ajax.php:33 msgid "Available" msgstr "Disponible" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Usuari no trobat." #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Contrasenya en blanc o incorrecta." #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "El compte és inactiu" #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "El compte està en tràmit." #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "El compte ha caducat." #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Has connectat com:" #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "S’ha desconnectat correctament. " #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "La sessió ha finalitzat." #: classes/class.swpm-auth.php:219 msgid "Invalid User Name" msgstr "Nom no vàlid" #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Si us plau torneu a connectar." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:53 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Nivell de seguretat" #: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "ID" #: classes/class.swpm-category-list.php:34 msgid "Name" msgstr "Nom" #: classes/class.swpm-category-list.php:35 msgid "Description" msgstr "Descripció" #: classes/class.swpm-category-list.php:36 msgid "Count" msgstr "Compte" #: classes/class.swpm-category-list.php:80 msgid "Category protection updated!" msgstr "Categoria de protecció actualitzada!" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "Existeix un usuari amb aquest usuari, però el correu no coincideix." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" "Existeix un compte amb aquest correu, però el nom d’usuari no coincideix." #: classes/class.swpm-form.php:40 msgid "User name is required" msgstr "Cal un nom d’usuari" #: classes/class.swpm-form.php:44 msgid "User name contains invalid character" msgstr "El nom d’usuari conté caràcters no vàlids" #: classes/class.swpm-form.php:52 msgid "User name already exists." msgstr "Ja existeix aquest nom d’usuari." #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "Cal una contrasenya" #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "La contrasenya és incorrecta" #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "Cal escriure un correu" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "El còrreu no és vàlid" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "Aquest correu ja es fa servir." #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "Camp de membre no vàlid" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "El camp d’accés és no vàlid " #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "Camp de gènere no vàlid" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "Camp d’estat no vàlid" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "Nivell d’accés no vàlid" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "La validació ha fallat. " #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "Registre realitzat amb correctament." #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 msgid "Please" msgstr "Per favor" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 views/login.php:21 msgid "Login" msgstr "Entra" #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Si us plau corregiu el següent" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "Nivell de seguretat no trobat" #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Perfil actualitzat amb èxit." #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "Perfil actualitzat amb èxit. Cal reiniciar." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "Correu incorrecte." #: classes/class.swpm-front-registration.php:200 msgid "No user found with that email address." msgstr "No hi ha cap usuari amb aquest correu." #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:224 msgid "Email Address: " msgstr "Adreça de correu:" #: classes/class.swpm-front-registration.php:223 msgid "New password has been sent to your email address." msgstr "Hem tramés una nova contrasenya al seu correu." #: classes/class.swpm-init-time-tasks.php:108 msgid "Sorry, Nonce verification failed." msgstr "Perdò, ha fallat la verificació." #: classes/class.swpm-init-time-tasks.php:115 msgid "Sorry, Password didn't match." msgstr "Perdò, la contrasenya és incorrecta." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Format de data incorrecte." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "La duració ha de ser > 0." #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "L’usuari no està connectat." #: classes/class.swpm-members.php:9 msgid "Member" msgstr "Membre" #: classes/class.swpm-members.php:19 views/add.php:6 views/edit.php:4 msgid "User Name" msgstr "Nom d’usuari" #: classes/class.swpm-members.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:48 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:20 msgid "First Name" msgstr "Nom" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:49 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:24 msgid "Last Name" msgstr "Cognoms" #: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:8 msgid "Email" msgstr "Correu" #: classes/class.swpm-members.php:24 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Inici de l’accés" #: classes/class.swpm-members.php:25 msgid "Account State" msgstr "Estat del compte" #: classes/class.swpm-members.php:38 #: classes/class.swpm-membership-levels.php:35 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 #: classes/admin-includes/class.swpm-payments-list-table.php:68 msgid "Delete" msgstr "Esborrar" #: classes/class.swpm-members.php:112 msgid "No Member found." msgstr "No es troba el membre." #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Nivell creat correctament." #: classes/class.swpm-membership-level.php:57 msgid "Updated Successfully." msgstr "Actualització correcta." #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "Rol" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "Accés vàlid fins" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Registre" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "Entrada Membres" #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Perfil" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Canviar Contrasenya" #: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "Paràmetres generals" #: classes/class.swpm-settings.php:21 msgid "Payment Settings" msgstr "Paràmetres de Pagament" #: classes/class.swpm-settings.php:22 msgid "Email Settings" msgstr "Paràmetres del correu" #: classes/class.swpm-settings.php:22 msgid "Tools" msgstr "Eines" #: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150 msgid "Advanced Settings" msgstr "Paràmetres Avançats" #: classes/class.swpm-settings.php:22 msgid "Addons Settings" msgstr "Paràmetres Extres" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "Documentació del afegit" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "Permetre membres gratuits" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Activa/Desactiva el registre de membres gratuits. Quan actives aquesta opció " "cal estar segur d’especificar l’identificador del nivell gratuit en el camp " "inferior." #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "Identificador dels membres gratuits." #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "Assignar l’identificador dels membres gratuits" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "Activar protecció d’etiquetes" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Activa o desactiva el la protecció addicional d'etiquetes a les entrades i " "pàgines. Qualsevol cosa després de l'etiqueta Més està protegida. Qualsevol " "cosa abans de l'etiqueta és més contingut de sumari." #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "Amagar barra d’administració" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WordPress mostra una barra d'eines d'administració per a la els usuaris " "registrats del lloc. Marqueu aquesta casella si voleu amagar aquesta barra " "d'eines d'administració en el fronend del seu lloc." #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "Status per defecte del compte" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Seleccioneu l'estat del compte per defecte per als usuaris recentment " "registrats. Si desitja aprovar manualment els membres llavors es pot " "establir l'estat a \"Pendent\"." #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "Permetre esborrar comptes" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "Permetre als usuaris esborrar el seu compte." #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "Autoesborrat de comptes pendents" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "Seleccioneu quant temps voleu mantenir \"pendent\" un compte." #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "Configuració de les pàgines" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "URL de la pàgina d’entrada" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "URL de la pàgina de registre" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "URL de la pàgina de uneix-te" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "URL de la pàgina d’edició del perfil" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "URL de la pàgina de canviar la contrasenya" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "Configuració de Test i depuració" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "Marqueu aquesta opció per activar el registre de depuració." #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "Permetre test de proves" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Habiliteu aquesta opció si vostè vol fer la prova de pagament simulat." #: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145 #: classes/class.swpm-settings.php:243 msgid "Settings updated!" msgstr "Configuració actualitzada!" #: classes/class.swpm-settings.php:102 msgid "Email Misc. Settings" msgstr "Paràmetres del correu" #: classes/class.swpm-settings.php:103 msgid "From Email Address" msgstr "Emissor del correu" #: classes/class.swpm-settings.php:106 msgid "Email Settings (Prompt to Complete Registration )" msgstr "" "Configuració del correu electrònic (Sol·licitud per a completar el registre)" #: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113 #: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132 msgid "Email Subject" msgstr "Assumpte del correu" #: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115 #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134 msgid "Email Body" msgstr "Cos del correu" #: classes/class.swpm-settings.php:112 msgid "Email Settings (Registration Complete)" msgstr "Configuració del correu electrònic (Registre complet)" #: classes/class.swpm-settings.php:117 msgid "Send Notification to Admin" msgstr "Trametre una notificació al Administrador" #: classes/class.swpm-settings.php:118 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Habiliteu aquesta opció si voleu que l'administrador per rebre una " "notificació quan un registres membres." #: classes/class.swpm-settings.php:119 msgid "Admin Email Address" msgstr "Correu del administrador" #: classes/class.swpm-settings.php:120 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Introduïu l'adreça de correu electrònic on voleu enviar el correu electrònic " "de notificació a l’administració." #: classes/class.swpm-settings.php:121 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Enviar correu electrònic notificant membres afegits a través del panell " "d'administració" #: classes/class.swpm-settings.php:124 msgid "Email Settings (Password Reset)" msgstr "Configuració del correu electrònic (Restablir contrasenya)" #: classes/class.swpm-settings.php:131 msgid " Email Settings (Account Upgrade Notification)" msgstr "" "Configuració del correu electrònic (Compte d'actualització de notificació)" #: classes/class.swpm-settings.php:152 msgid "Enable Expired Account Login" msgstr "Habilitar la entrada de comptes caducats" #: classes/class.swpm-settings.php:153 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Quan s'activa, els membres caducats podran iniciar sessió en el sistema, " "però no seran capaços de veure qualsevol contingut protegit. Això els permet " "renovar fàcilment el seu compte al fer un altre pagament." #: classes/class.swpm-settings.php:377 msgid "Not a Member?" msgstr "No ets membre?" #: classes/class.swpm-settings.php:377 views/login.php:27 msgid "Join Us" msgstr "Uneix-te" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "Actiu" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Inactiu" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Pendent" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Caducat" #: classes/class.swpm-utils.php:296 msgid "Never" msgstr "Mai" #: classes/class.swpm-utils.php:370 msgid "Delete Account" msgstr "Compte esborrat" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63 msgid "Payment Button ID" msgstr "ID del botó de pagament" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64 msgid "Payment Button Title" msgstr "Etiqueta del botó de pagament" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65 msgid "Membership Level ID" msgstr "ID del nivell d’identificació" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66 msgid "Button Shortcode" msgstr "Shortcode del botó" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/admin_members_list.php:15 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "L’entrada seleccionada està esborrada!" #: classes/admin-includes/class.swpm-payments-list-table.php:46 msgid "Row ID" msgstr "ID de Casella" #: classes/admin-includes/class.swpm-payments-list-table.php:47 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Adreça de correu" #: classes/admin-includes/class.swpm-payments-list-table.php:50 msgid "Date" msgstr "Data" #: classes/admin-includes/class.swpm-payments-list-table.php:51 msgid "Transaction ID" msgstr "ID de la transacció" #: classes/admin-includes/class.swpm-payments-list-table.php:52 msgid "Amount" msgstr "Import" #: classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Vista de llista" #: classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Vista de resum" #: classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "No es troben entrades." #: classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "Seleccionar l’acció global" #: classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "Accions globals" #: classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Aplicar" #: classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Filtre per dates" #: classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Totes les dates" #: classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "%1$s %2$d" #: classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "%s restant" #: classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "Seleccionar pàgina" #: classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "Seleccionar tot" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "El seu perfil de membres s'actualitzarà per reflectir el pagament." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "El seu perfil d’usuari:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Feu clic al següent enllaç per a completar el registre." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Feu clic aquí per completar la seva inscripció de pagament" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Si vostè acaba de fer un pagament, el pagament encara no s'ha processat. Si " "us plau, torni a uns pocs minuts. En breu se li trametrà un correu " "electrònic amb els detalls." #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "Contrasenya" #: views/add.php:18 views/edit.php:16 msgid "Repeat Password" msgstr "Repeteixi la contrasenya" #: views/add.php:41 msgid "Register" msgstr "Registre" #: views/admin_add.php:6 msgid "Add Member" msgstr "Afegir membre" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Crea un nou usuari i l’afegeix a aquest lloc." #: views/admin_add.php:11 msgid "User name" msgstr "Nom d’usuari" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(obligatori)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "Correu" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(dues vegades, es requereix)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Força de la contrasenya" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Consell: La contrasenya ha de tenir almenys set caràcters. Per fer-ho més " "fort, utilitzeu lletres majúscules i minúscules, nombres i símbols com! ? \"$" "% ^ & Amp;)." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Status del compte" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Afegir un nou membre" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Configuració" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Algunes de les configuracions i opcions de plugins es mostraran aquí (si els " "té)" #: views/admin_addon_settings.php:13 msgid "Save Changes" msgstr "Desar canvis" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Crear un nou nivell de membres." #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Nom del nivell de membres" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Rol per defecte a WordPress" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "Duració del accés" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "No Expiració (accés per a aquest nivell no expira fins que es cancel·li)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "Expira després de" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "Dies (Access expira després de determinat nombre de dies)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Setmanes (Access expira després de determinat nombre de setmanes)" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "Mesos (Access expira després de determinat nombre de mesos)" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "Anys (Access expira després de determinat nombre d’anys)" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "Data d’expiració fixa" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(L’accés expira en una data fixa)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Afegir nou nivell de membres" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Membres WP simple :: Complements" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Membres WP simple :: Categories" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "En primer lloc, protegir a nivell global la categoria al seu lloc mitjançant " "la selecció de \"protecció general\" al quadre desplegable de sota i després " "seleccionar les categories que han de ser protegides dels usuaris no " "registrats." #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "A continuació, seleccioneu un nivell de membres vigent des del quadre " "desplegable de sota i després seleccioneu les categories que voleu concedir " "accés a (per a aquest nivell de membres en particular)." #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Editar membre" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Editar detalls del membre." #: views/admin_edit.php:9 views/login.php:5 msgid "Username" msgstr "Nom d’usuari" #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(dues vegades, deixar en blanc per mantenir la contrasenya antiga)" #: views/admin_edit.php:33 msgid "Notify User" msgstr "Notificar a l’usuari" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "Referència ID del subscriptor" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "IP del darrer accés" #: views/admin_edit.php:52 msgid "Edit User " msgstr "Editar Usuari" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Editar nivell de membres" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Editar nivell de membres" #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "No Expiració (accés per a aquest nivell no expira fins que es cancel·li)" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "Setmanes (Access expira després de determinat nombre de setmanes)" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "Editar nivell de membres" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Membres" #: views/admin_members.php:3 views/admin_members_list.php:30 msgid "Add New" msgstr "Afegir nou" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Nivells de Membres" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "cercar" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Nivell de membres" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Maneig de Producció de Continguts" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "Categoria de protecció" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Exemple Configuració de protecció de contingut" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Gènere" #: views/admin_member_form_common_part.php:30 views/edit.php:28 msgid "Phone" msgstr "Telèfon" #: views/admin_member_form_common_part.php:34 views/edit.php:32 msgid "Street" msgstr "Carrer" #: views/admin_member_form_common_part.php:38 views/edit.php:36 msgid "City" msgstr "Ciutat" #: views/admin_member_form_common_part.php:42 views/edit.php:40 msgid "State" msgstr "Estat" #: views/admin_member_form_common_part.php:46 views/edit.php:44 msgid "Zipcode" msgstr "Codi Postal" #: views/admin_member_form_common_part.php:50 views/edit.php:48 msgid "Country" msgstr "País" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Companyia" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Membre des de" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Generar un enllaç de finalització del registre" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Pot generar manualment un enllaç de finalització d'inscripció aquí i donar-" "li al seu client si han perdut el correu electrònic que s'envia " "automàticament després del pagament." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Generar un enllaç de finalització de registre" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "o" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Per tots els registres pendents" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "L’enllaç de finalització del registre apareixerà a sota:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "També trametre un correu recordatori del registre" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Trametre" #: views/edit.php:58 msgid "Update" msgstr "Actualitzar" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Restablir contrasenya" #: views/loggedin.php:3 msgid "Logged in as" msgstr "Connectat com" #: views/loggedin.php:11 msgid "Membership" msgstr "Membre" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "El comte expira el" #: views/loggedin.php:19 msgid "Logout" msgstr "Sortir" #: views/login.php:18 msgid "Remember Me" msgstr "Recordar-me" #: views/login.php:24 msgid "Forgot Password" msgstr "Contrasenya oblidada" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "Tots els pagaments / transaccions dels seus membres es registren aquí." #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "Recerca d'una transacció mitjançant l'ús de correu electrònic o nom" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Cerca" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Pots crear un nou botó de pagament per als seus membres utilitzant aquesta " "interfície." #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Seleccioneu tipus de botó de pagament" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Següent" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "Podeu editar un botó de pagament utilitzant aquesta interfície." #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "Simple Membership::Pagaments" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Tots els botons de membres que ha creat en el plugin es mostren aquí." #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "Configuració de la integració amb PayPal" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Generar Codi \"Variables avançades\" per al seu botó de PayPal" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "Entrar el nivell ID del membre" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "Generar Codi" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "Configuració del botó Comprar Ara de PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "Títol del botó" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "Import del pagament" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "Moneda del pagament" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "URL de retorn" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "Correu de PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "URL del botó d’imatge" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "Desar data de pagament" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "ID del botó" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "Botó de configuració de la subscripció de PayPal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "Quantitat a facturar cada cicle" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "Cicle de pagament" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "Contador del cicle de pagament" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "Reintentar si falla" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Detalls de facturació de Prova (Deixar en blanc si no està oferint un " "període de prova)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "Preu de la prova" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "Temps del periode de prova" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "Detalls opcionals" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "Comprar ara" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "Subscriure ara" languages/simple-membership-zh_HK.mo000064400000024542147206617610013513 0ustar00  H .I x        *7 Waqv~0$+ 2>U kv  1&@ gu=5Q#o  0%>'d= z}    % , 9Fd lw#%1  =GX[js%B`u} 0  #9.3h$$;'Y$"-Pfm   MM"8)    . 5 BO_ x  !.P Wdw     *+ V t     0 " !0!E!^!e!i! !!!!! ! !!"* "K"t["" "" "" ##!#4#J#Q# a#n## # #### #### $ $'#$ K$U$e$ l$y$$ $$$ $$$$$ %%$% :% G%T%[%!b%% %% % %% %*%- &9&R& q&~&& &&&&&&&& '' '0'I']'s' z' '' ''' ''r'!Z(!|(((T)[)T.DYP`MIg2QymO u& izj!6@<F?}Wq3GE>#;^*9b_XwV :~B5']{,oR[tJn +Hk7sL8\(xfvp-"Sh rd el4$cCA)%KU/=1|0aNZ Email Settings (Account Upgrade Notification)(required)(twice, required)Account StateAccount StatusAccount is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Aready takenAssign free membership level IDAvailableBad Cookie HashCityCompanyCountryCreate a brand new user and add it to this site.Create new membership level.Default WordPress RoleDeleteDisplay SWPM Login.Do you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnter the Membership Level IDExample Content Protection SettingsExpiredFirst NameFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameJoin UsJoin Us Page URLLast NameLevelAdd NewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelNew password has been sent to your email address.No ExpiryNo Member found.ORPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePhone number is invalidPleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Remember MeRepeat PasswordReset PasswordRoleSWPM LoginSelect the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsStateStreetStrength indicatorSubmitSubscription DurationSubscription StartsSubscription Valid ForSubscription starts field is invalidSubscriptoin duration must be > 0.Test & Debug SettingsUpdateUpdated Successfully.User NameUser Not Found.User nameUser name already exists.User name is requiredUsernameWP MembershipWordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.You are logged in as:You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.ZipcodesearchProject-Id-Version: Simple WordPress Membership POT-Creation-Date: 2014-07-30 17:30+0800 PO-Revision-Date: 2014-07-30 23:09+0800 Last-Translator: Language-Team: Language: zh_Hans MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.6.7 X-Poedit-Basepath: . X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e Plural-Forms: nplurals=1; plural=0; X-Poedit-SearchPath-0: . Email设置(账户更新信息通知)必填2次,必填账户描述账户状态账户未激活账户描述无效激活添加会员添加新的添加新会员添加新的会员等级已被占用指定免费会员级别ID可以使用坏的Cookie城市公司国家给网站创建一个新用户创建新会员等级默认的WP角色删除显示SWPM登陆你是否需要保护这个内容E-mail修改会员修改会员等级修改会员信息页面URL修改用户修改已存在用户信息修改会员等级修改会员等级EmailEmail地址Email地址无效Email内容电子邮件杂项设置电子邮件设置(快速完成注册)Email设置(完成注册)Email标题邮箱已经存在邮箱无效请输入邮箱地址启用免费会员启用沙盒测试如果你要测试付款方式,请启用沙盒启用/不启用免费会员注册输入会员等级ID内容保护设置例子失效名对于所有待定的注册忘记密码免费会员等级ID电子邮件来路性别性别填写无效总体设置生成代码生成注册完成链接生成注册完成链接您的PayPal按钮产生高级变量代码隐藏管理栏密码最少7个字符,为保证密码强度,请使用大小写字母,数字和例如! " ? $ % ^ &的符号ID未激活无效的用户名加入会员加入页面URL姓添加新等级成功退出登陆以以下身份登陆登陆登陆页面URL退出登陆管理内容制作会员会员登陆会员自号码段无效会员会员会员等级会员等级不存在会员等级创建成功会员等级名会员等级会员等级新的密码已经发送到您的邮箱不失效会员不存在或者页面设置密码密码空或者无效更改密码更改密码页面URL请输入密码密码不符Paypal集成设置待定电话电话号码无效请请修改以下信息请更改以下信息插件文件个人资料注册注册注册完成链接会出现在:注册页面URL注册成功记住这个身份重复密码重置密码角色SWPM登陆选择可以查看该内容的会员等级管理员添加用户后给用户发送邮件给管理员发送通知同时发送注册提醒邮件登陆超时设置会员保护选项会员保护会员等级:会员会员:会员等级会员:设置省份街道强度指示器提交有效期订阅开始于订阅有效于开始时间字段无效过程必须大于0测试与调试设置更新更新成功用户名找不到用户用户名用户名已经存在请输入用户名用户名WP会员WordPress对已经登陆的用户显示管理工具栏,如果你想在网站前端隐藏管理栏请勾选这里邮箱正确,但用户名错误用户名正确,但邮箱错误您已使用以下身份登陆如果你的用户在完成付款后没收到自动生成的邮件,那么你可以在这里手动生成注册完成链接,并发送给你的用户邮编搜索languages/simple-membership-pt_BR.po000064400000130346147206617610013521 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership plugin\n" "POT-Creation-Date: 2015-12-28 16:16-0200\n" "PO-Revision-Date: 2016-01-03 15:48-0200\n" "Language-Team: www.cindie.com.br \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.6\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "Language: pt_BR\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:264 msgid "You are not logged in." msgstr "Você não iniciou uma sessão de usuário!" #: classes/class.simple-wp-membership.php:298 msgid "Simple WP Membership Protection" msgstr "Proteção do Simple WP Membership" #: classes/class.simple-wp-membership.php:310 msgid "Simple Membership Protection options" msgstr "Opções para a proteção do Simple WP Membershp" #: classes/class.simple-wp-membership.php:326 msgid "Do you want to protect this content?" msgstr "Você gostaria de proteger este conteúdo?" #: classes/class.simple-wp-membership.php:331 msgid "Select the membership level that can access this content:" msgstr "Selecione o nível de usuário permitido para o acesso deste conteúdo." #: classes/class.simple-wp-membership.php:464 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:465 classes/class.swpm-members.php:10 #: views/admin_members_menu.php:2 msgid "Members" msgstr "Usuários" #: classes/class.simple-wp-membership.php:466 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "Níveis de usuário" #: classes/class.simple-wp-membership.php:467 msgid "Settings" msgstr "Configurações" #: classes/class.simple-wp-membership.php:468 msgid "Payments" msgstr "Pagamentos" #: classes/class.simple-wp-membership.php:469 msgid "Add-ons" msgstr "Add-ons" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "" "Você precisa iniciar uma sessão de usuário para visualizar esta página. " #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "" "Sua conta de usuário expirou! Por favor, renove sua conta para obter acesso " "a esta página." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "Esta página só pode ser visualizada por usuários cadastrados até " #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "Este conteúdo não pode ser visualizado pelo seu nível de usuário." #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "" "O restante do conteúdo não pode ser visualizado pelo seu nível de usuário." #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "" "Você precisa iniciar uma sessão para visualizar o restante do conteúdo." #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Cadastro de usuário realizado com sucesso." #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:81 #: classes/class.swpm-admin-registration.php:105 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Por favor, corrija os erros abaixo:" #: classes/class.swpm-admin-registration.php:96 msgid "Your current password" msgstr "Sua senha atual" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Endereço de email inválido" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "Não está disponível para uso" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "O nome contem caracteres iválidos" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Disponível" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Usuário não encontrado" #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Senha inválida ou em branco" #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "Conta fora de uso." #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "Conta pendente," #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "A conta expirou." #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Você está logado como:" #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "Sessão finalizada com sucesso." #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "Sessão expirada." #: classes/class.swpm-auth.php:219 msgid "Invalid Username" msgstr "Nome de usuário inválido." #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Por favor, inicie sua sessão novamente." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:80 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:53 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Nível de usuário" #: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "ID" #: classes/class.swpm-category-list.php:34 msgid "Name" msgstr "Nome" #: classes/class.swpm-category-list.php:35 msgid "Description" msgstr "Descrição" #: classes/class.swpm-category-list.php:36 msgid "Count" msgstr "Contagem" #: classes/class.swpm-category-list.php:80 msgid "Category protection updated!" msgstr "Proteção de categoria atualizada!" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Existe uma conta na CINDIE com o nome fornecido, mas este email não está " "associado a ela." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Existe uma conta na CINDIE com o email fornecido, mas este nome não está " "associado a ela." #: classes/class.swpm-form.php:40 msgid "Username is required" msgstr "Nome de usuário inválido" #: classes/class.swpm-form.php:44 msgid "Username contains invalid character" msgstr "O nome contem caracteres iválidos" #: classes/class.swpm-form.php:52 msgid "Username already exists." msgstr "O nome de usuário já existe." #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "Senha inválida ou em branco" #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "Senha inválida ou em branco" #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "Endereço de email inválido" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "Endereço de email inválido" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "Este email já foi cadastrado." #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "O campo \"usuário desde\" é inválido" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "O campo \"início de acesso\" é inválido." #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "O campo \"gênero\" é inválido" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "O campo \"estado da conta\" é inválido" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "Nível de usuário inválido" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "Verificação de segurança: a validação do captcha falhou." #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "Cadastro realizado com sucesso!" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 msgid "Please" msgstr "Por favor," #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 views/login.php:21 msgid "Login" msgstr "Faça login" #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Por favor, corrija os erros abaixo" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "Nível de usuário inválido" #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Cadastro atualizado com sucesso" #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Cadastro realizado com sucesso. Você precisa reiniciar sua sessão uma vez " "que sua senha foi alterada." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "Endereço de email inválido" #: classes/class.swpm-front-registration.php:200 msgid "No user found with that email address." msgstr "Endereço de email inválido" #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:225 msgid "Email Address: " msgstr "Endereço de email:" #: classes/class.swpm-front-registration.php:224 msgid "New password has been sent to your email address." msgstr "Uma nova senha foi enviada para seu email" #: classes/class.swpm-init-time-tasks.php:108 msgid "Sorry, Nonce verification failed." msgstr "Pedimos desculpa! A verificação falhou!" #: classes/class.swpm-init-time-tasks.php:115 msgid "Sorry, Password didn't match." msgstr "Pedimos desculpa! A senha não é válida." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr " O formato de data não é válido." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "A duração do acesso deve ser maior do que zero." #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "Você não iniciou uma sessão de usuário!" #: classes/class.swpm-members.php:9 msgid "Member" msgstr "Usuário" #: classes/class.swpm-members.php:19 views/add.php:6 views/admin_add.php:11 #: views/admin_edit.php:9 views/edit.php:5 views/login.php:5 msgid "Username" msgstr "Nome de usuário" #: classes/class.swpm-members.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:74 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:21 msgid "First Name" msgstr "Primeiro nome" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:75 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:25 msgid "Last Name" msgstr "Sobrenome" #: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:9 msgid "Email" msgstr "Email" #: classes/class.swpm-members.php:24 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Início do acesso" #: classes/class.swpm-members.php:25 msgid "Account State" msgstr "Estado da conta" #: classes/class.swpm-members.php:41 #: classes/class.swpm-membership-levels.php:35 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Delete" msgstr "Deletar" #: classes/class.swpm-members.php:42 msgid "Set Status to Active" msgstr "Definir status como ativo" #: classes/class.swpm-members.php:44 msgid "Set Status to Inactive" msgstr "Definir status como desativado" #: classes/class.swpm-members.php:45 msgid "Set Status to Pending" msgstr "Definir status como pendente" #: classes/class.swpm-members.php:46 msgid "Set Status to Expired" msgstr "Definir status como expirado" #: classes/class.swpm-members.php:121 msgid "No Member found." msgstr "Nenhum usuário econtrado" #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Criação de nível de usuário bem sucedida" #: classes/class.swpm-membership-level.php:57 msgid "Updated Successfully." msgstr "Atualização realizada" #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "Função" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "O acesso é válido até/durante" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Cadastro" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "Login de usuário" #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Perfil" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Redefinição de senha" #: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "Configurações gerais" #: classes/class.swpm-settings.php:21 msgid "Payment Settings" msgstr "Configurações de pagamento" #: classes/class.swpm-settings.php:22 msgid "Email Settings" msgstr "Configurações de email" #: classes/class.swpm-settings.php:22 msgid "Tools" msgstr "Ferramentas" #: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150 msgid "Advanced Settings" msgstr "Configurações avançadas" #: classes/class.swpm-settings.php:22 msgid "Addons Settings" msgstr "Configurações de add-ons" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "Documentação de plugin" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "Habilitar participação gratuita" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Habilitar/desabilitar cadastro para o nível de usuário gratuito. Quando você " "habilitar esta opção, certifique-se de especificar uma ID de nível de " "usuário no campo abaixo" #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "Nível de usuário gratuito" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "Atribua uma ID para o nível de usuário gratuito" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "Habilitar a proteção More Tag" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Habilite ou desabilite a proteção more tag nos posts e páginas. Tudo que " "estiver após a tag More estará protegido. Qualquer coisa que estiver antes " "da tag More é conteúdo do tipo teaser." #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "Ocultar a barra de administração" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "O Wordpress mostra uma barra de administração para o usuário logado no site. " "Marque esta caixa se você quiser ocultar a barra de ferramentas de " "administração." #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "Estado padrão da conta" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Selecione o status padrão de conta para usuário recém cadastrados. Se você " "quiser aprovar os usuários manualmente, então você poderá definir o status " "como \"Pendente\"." #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "Permitir a desativação da conta" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "Permitir que os usuários deletem suas contas." #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "Auto Deletar Conta Pendente" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "Selecione o tempo de duração das contas \"pendentes\"." #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "Configurações da página" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "URL da página de login" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "URL da página de cadastro" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "URL da página Cadastre-se/Junte-se a nós" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "Edite a URL da página de perfil" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "Edite a URL da página de redefinição de senha" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "Configurações de teste e debug" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "Marque esta opção para habilitar o registro de verificação de erros." #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "Habilite o teste sandbox" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "Habilite esta opção se você quiser realizar um teste de pagamento em sandbox." #: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145 #: classes/class.swpm-settings.php:243 msgid "Settings updated!" msgstr "Configurações atualizadas!" #: classes/class.swpm-settings.php:102 msgid "Email Misc. Settings" msgstr "Outras configurações de email" #: classes/class.swpm-settings.php:103 msgid "From Email Address" msgstr "Email remetente" #: classes/class.swpm-settings.php:106 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Configurações de email (Avisar para concluir cadastro)" #: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113 #: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132 msgid "Email Subject" msgstr "Assunto do email" #: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115 #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134 msgid "Email Body" msgstr "Corpo do email" #: classes/class.swpm-settings.php:112 msgid "Email Settings (Registration Complete)" msgstr "Configurações do email (Cadastro concluído)" #: classes/class.swpm-settings.php:117 msgid "Send Notification to Admin" msgstr "Enviar notificações para o administrador" #: classes/class.swpm-settings.php:118 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Habilite esta opção se você quiser que o administrador receba uma " "notificação quando um usuário se cadastrar." #: classes/class.swpm-settings.php:119 msgid "Admin Email Address" msgstr "Endereço de email do administrador" #: classes/class.swpm-settings.php:120 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Informe o endereço de email recipiente para as notificações a serem " "entregues ao administrador." #: classes/class.swpm-settings.php:121 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Envir email ao usuário quando seu cadastro for realizado pelo painel de " "administração" #: classes/class.swpm-settings.php:124 msgid "Email Settings (Password Reset)" msgstr "Configurações de email (redefinição de senha)" #: classes/class.swpm-settings.php:131 msgid " Email Settings (Account Upgrade Notification)" msgstr "Configurações de email (notificação de upgrade de conta)" #: classes/class.swpm-settings.php:152 msgid "Enable Expired Account Login" msgstr "Habilitar login de conta expirada" #: classes/class.swpm-settings.php:153 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Quando habilitado, as contas expiradas poderão iniciar sessões no sistema " "mas não poderão visualizar nenhum conteúdo protegido. Isto permite que eles " "renovem suas contas facilmente mediante a realização de novo pagamento." #: classes/class.swpm-settings.php:377 msgid "Not a Member?" msgstr "Você ainda não possui uma conta de usuário?" #: classes/class.swpm-settings.php:377 views/login.php:27 msgid "Join Us" msgstr "Cadastre-se!" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "Ativo" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Fora de uso" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Pendente" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Expirado" #: classes/class.swpm-utils.php:297 msgid "Never" msgstr "Nunca" #: classes/class.swpm-utils.php:371 msgid "Delete Account" msgstr "Excluir conta" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63 msgid "Payment Button ID" msgstr "ID de botão de pagamento" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64 msgid "Payment Button Title" msgstr "Título de botão de pagamento" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65 msgid "Membership Level ID" msgstr "ID de nível de usuário" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66 msgid "Button Shortcode" msgstr "Shortcode do botão" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/admin_members_list.php:15 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "O registro selecionado foi excluído." #: classes/admin-includes/class.swpm-payments-list-table.php:53 msgid "View Profile" msgstr "Visualizar perfil" #: classes/admin-includes/class.swpm-payments-list-table.php:72 msgid "Row ID" msgstr "ID da linha" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Endereço de email" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Member Profile" msgstr "Perfil de usuário" #: classes/admin-includes/class.swpm-payments-list-table.php:77 msgid "Date" msgstr "Data" #: classes/admin-includes/class.swpm-payments-list-table.php:78 msgid "Transaction ID" msgstr "ID da transação" #: classes/admin-includes/class.swpm-payments-list-table.php:79 msgid "Amount" msgstr "Quantidade" #: classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Modo lista" #: classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Modo resumo" #: classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "Nenhum dado encontrado" #: classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "Selecionar ação em massa" #: classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "Ações em massa" #: classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Aplicar" #: classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Filtrar por data" #: classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Todas as datas" #: classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "" #: classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "%s pendentes" #: classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "Selecionar página" #: classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "Selecionar tudo" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "Seu perfil de usuário será atualizado de acordo com o pagamento." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "Nome de usuário de seu perfil" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Clique no link a seguir para finalizar o cadastro." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Clique aqui para finalizar seu cadastro com pagamento" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Se você acabou de realizar um pagamento de assinatura, o processamento ainda " "será efetuado. Por favor, verifique novamente em alguns minutos. Em breve, " "você receberá um email com os detalhes." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:80 msgid "Expiry: " msgstr "Expiração" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:82 msgid "You are not logged-in as a member" msgstr "Você não está logado como um usuário." #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:13 views/login.php:11 msgid "Password" msgstr "Senha" #: views/add.php:18 views/edit.php:17 msgid "Repeat Password" msgstr "Repita a senha" #: views/add.php:41 msgid "Register" msgstr "Cadastrar" #: views/admin_add.php:6 msgid "Add Member" msgstr "Adicionar usuário" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Criar uma usuário novo e adicioná-lo a este site." #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(obrigatório)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "Email" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(duas vezes, obrigatório)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Indicador de qualidade" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Dica: A senha deverá ter ao menos sete caracteres. Para torna-la mais forte, " "utilize letras em maiúsculas e minúsculas, números e símbolos como ! \" $ ^ " "& )." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Status da conta" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Adicionar novo membro" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "Configurações do Simple WP Membership" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Alguns dos add-ons e opções do plug-in Simple Membership aparecerão aqui (se " "você os possuir)." #: views/admin_addon_settings.php:13 msgid "Save Changes" msgstr "Salvar alterações" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Criar novo nível de usuário" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Nome de nível de usuário" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Função padrão no Wordpress" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "Duração do acesso" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Sem expiração (O acesso para este nível não irá epirar até ser canelado)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "Expirar após" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "Dias (O acesso expira após o número informado de dias)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Semanas (O acesso expira após o número informado de semanas)" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "Meses (O acesso expira após o número informado de meses)" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "Anos (O acesso expira após o número informado de anos)" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "Expiração de data fixa" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(O acesso expira em uma data fixada)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Adicionar novo nível de usuário" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Add-ons" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership::Categorias" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Antes de qualquer coisa, efetue a proteção global de categoria no seu site " "selecionando a \"Proteção Geral\" da caixa drop-down abaixo e depois " "selecione as categorias que devem ser protegidas de usuários não logados." #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Em seguida, selecione o nível de usuário da caixa drop-down e depois " "selecione as categorias para as quais você deseja conceder acesso (para esse " "nível de usuário específico)." #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Editar usuário" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Editar detalhes de usuário existente." #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(duas vezes, deixem em branco para reter a senha antiga)" #: views/admin_edit.php:33 msgid "Notify User" msgstr "Notificar usuário" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "ID/Referência de assinante" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "Último acesso do IP" #: views/admin_edit.php:52 msgid "Edit User " msgstr "Editar Usuário" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Editar nível de usuário" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Editar nível de usuário" #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Sem expiração (O acesso deste nível não irá expirar até que seja cancelado)" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "Semanas (O acesso expira após número informado de semanas)" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "Editar nível de usuário" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Usuários" #: views/admin_members.php:3 views/admin_members_list.php:30 msgid "Add New" msgstr "Adicionar novo" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Níveis de Usuário" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "buscar" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Nível de usuário" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Gerenciar produção de conteúdo" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "Proteção de categoria" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Exemplo de configurações de proteção de conteúdo " #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Gênero" #: views/admin_member_form_common_part.php:30 views/edit.php:29 msgid "Phone" msgstr "Telefone" #: views/admin_member_form_common_part.php:34 views/edit.php:33 msgid "Street" msgstr "Rua" #: views/admin_member_form_common_part.php:38 views/edit.php:37 msgid "City" msgstr "Cidade" #: views/admin_member_form_common_part.php:42 views/edit.php:41 msgid "State" msgstr "Estado" #: views/admin_member_form_common_part.php:46 views/edit.php:45 msgid "Zipcode" msgstr "Código Postal" #: views/admin_member_form_common_part.php:50 views/edit.php:49 msgid "Country" msgstr "País" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Empresa" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Usuário desde" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Gerar um link de conclusão de cadastro" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Você pode gerar aqui um link de conclusão de cadastro manualmente e informa-" "lo ao seu cliente se ele tiver perdido o email que foi automaticamente " "enviado a ele após o pagamento." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Gerar link de conclusão de cadastro" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "OU" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Para todos os cadastros pendentes" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "Links de conclusão de cadastro aparecerão abaixo:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Enviar também email de lembrete de cadastro" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Enviar" #: views/edit.php:59 msgid "Update" msgstr "Atualizar" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Redefinir Senha" #: views/loggedin.php:3 msgid "Logged in as" msgstr "Logado como" #: views/loggedin.php:11 msgid "Membership" msgstr "Usuário" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "Expiração de conta" #: views/loggedin.php:19 msgid "Logout" msgstr "Sair" #: views/login.php:18 msgid "Remember Me" msgstr "Lembrar-se de mim" #: views/login.php:24 msgid "Forgot Password" msgstr "Esqueceu sua senha" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "Todos os pagamentos/transações de seus usuários serão registrados aqui" #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "Buscar por transações a partir do email ou do nome" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Buscar" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "Você pode criar um novo botão de pagamento utilizando esta interface" #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Selecionar tipo de botão de pagamento" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Próximo" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "Você pode editar um botão de pagamento utilizando esta interface" #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "Simple Membership::Pagamentos" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Todos os botões de cadastro de usuário que você criou aparecerão aqui." #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "Configurações de integração com o PayPal" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Gerar o código de \"Variáveis Avançadas\" para seu botão PayPal" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "Informe o ID de nível de usuário" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "Gerar Código" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "Configuração do botão \"Comprar Agora\" do PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "Título do botão" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "Valor do Pagamento" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "Moeda de Pagamento" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "URL de Retorno" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "Email do PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "URL da Imagem do botão" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "Salvar Dados do Pagamento" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "ID do Botão" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "Configuração do Botão de Assinatura do PayPal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "Cobrança de cada Ciclo" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "Ciclo de cobrança" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "Contagem de Ciclo de Cobrança" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "Tentar novamente se falhar" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Detalhes da Cobrança de período de experimentação (Deixe em branco se você " "não oferecer uma período de experimentação)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "Valor do período de experimentação" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "Período de cobrança de experimentação" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "Detalhes Opcionais" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "Comprar Agora" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "Assinar Agora" languages/simple-membership-id_ID.po000064400000121433147206617610013460 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2015-11-16 15:48+0800\n" "PO-Revision-Date: 2015-11-25 10:20+0800\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.6\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: Hermanudin \n" "Plural-Forms: nplurals=1; plural=0;\n" "Language: id_ID\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:263 msgid "You are not logged in." msgstr "Silahkan masuk terlebih dahulu." #: classes/class.simple-wp-membership.php:297 msgid "Simple WP Membership Protection" msgstr "Proteksi Simple WP Membership" #: classes/class.simple-wp-membership.php:309 msgid "Simple Membership Protection options" msgstr "Pilihan Proteksi Simple Membership" #: classes/class.simple-wp-membership.php:325 msgid "Do you want to protect this content?" msgstr "Anda ingin melindungi muatan ini?" #: classes/class.simple-wp-membership.php:330 msgid "Select the membership level that can access this content:" msgstr "Pilih tingkat member untuk dapat mengakses isi ini:" #: classes/class.simple-wp-membership.php:463 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:464 classes/class.swpm-members.php:10 #: views/admin_members_menu.php:2 msgid "Members" msgstr "Member" #: classes/class.simple-wp-membership.php:465 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "Tingkat Member" #: classes/class.simple-wp-membership.php:466 msgid "Settings" msgstr "Pengaturan" #: classes/class.simple-wp-membership.php:467 msgid "Payments" msgstr "Pembayaran" #: classes/class.simple-wp-membership.php:468 msgid "Add-ons" msgstr "Tambahan" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "Anda perlu masuk untuk melihat isinya." #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "Member Anda sudah kadaluarsa. Silahkan perbarui untuk melihat ini." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "Isi hanya dapat dilihat oleh member yang telah bergabung." #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "Isi tidak diizinkan untuk tingkat member Anda saat ini." #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "" "Isi selanjutnya tidak diperbolehkan untuk tingkat member Anda saat ini." #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "Anda perlu masuk untuk melihat isi sepenuhnya." #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Catatan member telah ditambahkan." #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:100 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Silahkan perbaiki hal ini:" #: classes/class.swpm-admin-registration.php:91 msgid "Your current password" msgstr "Password Anda saat ini" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Alamat Email Salah" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:32 msgid "Aready taken" msgstr "Sudah dipakai" #: classes/class.swpm-ajax.php:33 msgid "Available" msgstr "Tersedia" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Member Tidak Ditemukan" #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Password Kosong atau Tidak Sah." #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "Member tidak aktif." #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "Member masih tertunda." #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "Member telah kadaluarsa." #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Anda masuk sebagai:" #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "Anda Telah Keluar." #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "Masa Pakai Habis." #: classes/class.swpm-auth.php:219 msgid "Invalid User Name" msgstr "Pengguna Tidak Sah." #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Silahkan masuk lagi." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:53 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Tingkat Member" #: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "ID" #: classes/class.swpm-category-list.php:34 msgid "Name" msgstr "Nama" #: classes/class.swpm-category-list.php:35 msgid "Description" msgstr "Keterangan" #: classes/class.swpm-category-list.php:36 msgid "Count" msgstr "Jumlah" #: classes/class.swpm-category-list.php:80 msgid "Category protection updated!" msgstr "Proteksi telah diperbarui!" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "Pengguna ini telah terdaftar, tetapi alamat emailnya salah." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "Alamat email telah terdaftar, tetapi nama pengguna salah." #: classes/class.swpm-form.php:40 msgid "User name is required" msgstr "Silahkan masukkan nama" #: classes/class.swpm-form.php:44 msgid "User name contains invalid character" msgstr "Nama pengguna mengandung karakter terlarang" #: classes/class.swpm-form.php:52 msgid "User name already exists." msgstr "Nama pengguna telah terdaftar." #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "Silahkan masukkan password" #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "Password salah" #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "Silahkan masukkan email" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "Alamat email salah" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "Alamat email telah terpakai." #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "Isian tangal member salah" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "Isian tanggal akses salah" #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "Jenis kelamin salah" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "Periksa kembali alamat Anda" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "Tingkatan member salah" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "Proses cek captcha gagal" #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "Pendaftaran Berhasil." #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 msgid "Please" msgstr " Silahkan" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 views/login.php:21 msgid "Login" msgstr "Masuk" #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Silahkan perbaiki kesalahan berikut" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "Tingkat Member tidak ditemukan" #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Profil Anda telah diperbarui." #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "Profil telah diperbarui. Silahkan masuk lagi dengan password baru." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "Alamat email tidak benar." #: classes/class.swpm-front-registration.php:200 msgid "No user found with that email address." msgstr "Nama pengguna tidak ditemukan." #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:224 msgid "Email Address: " msgstr "Alamat Email:" #: classes/class.swpm-front-registration.php:223 msgid "New password has been sent to your email address." msgstr "Password baru telah dikirim ke alamat email Anda." #: classes/class.swpm-init-time-tasks.php:108 msgid "Sorry, Nonce verification failed." msgstr "Maaf, proses verifikasi gagal." #: classes/class.swpm-init-time-tasks.php:115 msgid "Sorry, Password didn't match." msgstr "Maaf, password tidak sesuai." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Pengaturan tanggal tidak benar." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "Lama kunjungan harus lebih besar dari 0." #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "Pengguna belum masuk." #: classes/class.swpm-members.php:9 msgid "Member" msgstr "Member" #: classes/class.swpm-members.php:19 views/add.php:6 views/edit.php:4 msgid "User Name" msgstr "Nama Pengguna" #: classes/class.swpm-members.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:48 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:20 msgid "First Name" msgstr "Nama Depan" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:49 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:24 msgid "Last Name" msgstr "Nama Belakang" #: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:8 msgid "Email" msgstr "Email" #: classes/class.swpm-members.php:24 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Tanggal Mulai" #: classes/class.swpm-members.php:25 msgid "Account State" msgstr "Jenis Akun" #: classes/class.swpm-members.php:38 #: classes/class.swpm-membership-levels.php:35 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 #: classes/admin-includes/class.swpm-payments-list-table.php:68 msgid "Delete" msgstr "Hapus" #: classes/class.swpm-members.php:112 msgid "No Member found." msgstr "Member tidak ditemukan." #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Pembuatan Tingkat Member Berhasil." #: classes/class.swpm-membership-level.php:57 msgid "Updated Successfully." msgstr "Pembaruan Berhasil." #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "Peran" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "Akses Diberikan Hingga" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Pendaftaran" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "Member Login" #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Profil" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Reset Password" #: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "Pengaturan Umum" #: classes/class.swpm-settings.php:21 msgid "Payment Settings" msgstr "Pengaturan Pembayaran" #: classes/class.swpm-settings.php:22 msgid "Email Settings" msgstr "Pengaturan Email" #: classes/class.swpm-settings.php:22 msgid "Tools" msgstr "Alat" #: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150 msgid "Advanced Settings" msgstr "Pengaturan Lanjutan" #: classes/class.swpm-settings.php:22 msgid "Addons Settings" msgstr "Pengaturan Addons" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "Petunjuk Plugin" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "Aktifkan Member Free" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Aktifkan pendaftaran bagi member free. Pastikan kotak pilihan ID free member " "dibawah ini telah diaktifkan pada isian dibawah." #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "ID Level Member Free" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "Berikan ID terhadap member free" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "Aktifkan Proteksi Lebih" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "Aktifkan atau matikan tag \"lebih\" di post atau halaman." #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "Sembunyikan Baris Admin" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "Wordpress menampilkan toolbar admin kepada pengguna yang masuk. Klik kotak " "ini jika ingin menyembunyikannya." #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "Status Akun Default" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Pilih status akun default bagi pendaftar baru. Jika ingin melakukan secara " "manual, atur status menjadi \"Tunda\"" #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "Bolehkan Penghapusan Akun" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "Bolehkan pengguna untuk menghapus akun mereka." #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "Hapus Otomatis Akun yang Tertunda" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "Pilih berapa lama akun \"tertunda\" akan dipertahankan." #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "Pengaturan Halaman" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "URL Halaman Login" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "URL Alamat Pendaftaran" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "URL Halaman Join" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "URL Halaman Edit Profil" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "URL Halaman Reset Password" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "Setting Tes dan Debug" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "Pilih opsi ini untuk mengaktifkan log debugging" #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "Aktifkan Testing Sandbox" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Pilih opsi ini jika ingin melakukan test pembayaran sandbox" #: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145 #: classes/class.swpm-settings.php:243 msgid "Settings updated!" msgstr "Pengaturan telah diperbarui!" #: classes/class.swpm-settings.php:102 msgid "Email Misc. Settings" msgstr "Pengaturan Email lainnya" #: classes/class.swpm-settings.php:103 msgid "From Email Address" msgstr "Alamat Email Pengirim" #: classes/class.swpm-settings.php:106 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Pengaturan Email (untuk penyelesaian pendaftaran)" #: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113 #: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132 msgid "Email Subject" msgstr "Judul Email" #: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115 #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134 msgid "Email Body" msgstr "Isi Email" #: classes/class.swpm-settings.php:112 msgid "Email Settings (Registration Complete)" msgstr "Pengaturan Email (Pendaftaran Selesai)" #: classes/class.swpm-settings.php:117 msgid "Send Notification to Admin" msgstr "Kirim Notifikasi ke Admin" #: classes/class.swpm-settings.php:118 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Aktifkan opsi ini jika ingin memberitahu Admin apabila ada member mendaftar." #: classes/class.swpm-settings.php:119 msgid "Admin Email Address" msgstr "Alamat Email Admin" #: classes/class.swpm-settings.php:120 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "Masukkan alamat kirim emal admin yang ingin diberi notifikasi" #: classes/class.swpm-settings.php:121 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Kirim Email ke Member ketika ditambahkan melalui Dashboard Admin" #: classes/class.swpm-settings.php:124 msgid "Email Settings (Password Reset)" msgstr "Pengaturan Email (Reset Password)" #: classes/class.swpm-settings.php:131 msgid " Email Settings (Account Upgrade Notification)" msgstr "Pengaturan Email (Notifikas Upgrade Akun)" #: classes/class.swpm-settings.php:152 msgid "Enable Expired Account Login" msgstr "Aktifkan Kadaluarsa untuk Login Akun" #: classes/class.swpm-settings.php:153 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Saat diaktifkan, member yang telah kadaluarsa bisa masuk tetapi tidak dapat " "melihat isi yang diproteksi." #: classes/class.swpm-settings.php:377 msgid "Not a Member?" msgstr "Bukan Member?" #: classes/class.swpm-settings.php:377 views/login.php:27 msgid "Join Us" msgstr "Bergabung" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "Aktif" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Nonaktif" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Tertunda" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Kadaluarsa" #: classes/class.swpm-utils.php:296 msgid "Never" msgstr "Tidak" #: classes/class.swpm-utils.php:370 msgid "Delete Account" msgstr "Hapus Akun" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63 msgid "Payment Button ID" msgstr "ID Tombol Pembayaran" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64 msgid "Payment Button Title" msgstr "Judul Tombol Pembayaran" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65 msgid "Membership Level ID" msgstr "ID Tingkat Member" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66 msgid "Button Shortcode" msgstr "Tombol Shortcode" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/admin_members_list.php:15 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "Isian ini telah dihapus!" #: classes/admin-includes/class.swpm-payments-list-table.php:46 msgid "Row ID" msgstr "ID Baris" #: classes/admin-includes/class.swpm-payments-list-table.php:47 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Alamat Email" #: classes/admin-includes/class.swpm-payments-list-table.php:50 msgid "Date" msgstr "Tanggal" #: classes/admin-includes/class.swpm-payments-list-table.php:51 msgid "Transaction ID" msgstr "ID Transaksi" #: classes/admin-includes/class.swpm-payments-list-table.php:52 msgid "Amount" msgstr "Jumlah" #: classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Pandangan Baris" #: classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Pandangan Ringkasan" #: classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "Tidak ditemukan." #: classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "Pilih tindakan sekaligus." #: classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "Tindakan Sekaligus" #: classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Jalankan" #: classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Saring berdasarkan tanggal" #: classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Semua tanggal" #: classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "%1$s %2$d" #: classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "%s tunda" #: classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "Pilih Halaman" #: classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "Pilih Semua" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "Profi keanggotaan akan diperbarui sesuai pembayaran." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "Nama profil Anda:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Pilih tautan berikut untuk menyelesaikan pendaftaran." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Klik disini untuk melangkapi pendaftaran pembayaran" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Jika Anda telah membayar, pembayaran masih dalam proses. Silahkan diperiksa " "beberapa saat lagi. Kami akan segera mengirimkan email berisi keterangan." #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "Password" #: views/add.php:18 views/edit.php:16 msgid "Repeat Password" msgstr "Ulangi Password" #: views/add.php:41 msgid "Register" msgstr "Mendaftar" #: views/admin_add.php:6 msgid "Add Member" msgstr "Tambah Member" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Buat pengguna baru dan tambahkan ke website ini." #: views/admin_add.php:11 msgid "User name" msgstr "Nama pengguna" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(wajib)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "Email" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(wajib dua kali)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Penanda kekuatan" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Tips: Password minimal 7 karakter. Agar lebih kuat, tambahkan huruf besar, " "angka dan tanda baca seperti ! \" ? $ % ^ & )." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Status Akun" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Tambahkan Member Baru" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membeship::Pengaturan" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Beberapa tambahan plugin dan pengaturan akan ditampilakkan disini (jika ada)" #: views/admin_addon_settings.php:13 msgid "Save Changes" msgstr "Simpan Perubahan" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Buat tingkat member baru" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Nama Tingkat Member" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Peran Otomatis Wordpress" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "Lama Waktu Akses" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Tidak Kadaluarsa (Tidak dapat kadaluarsa sampai dibatalkan" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "Tanggal Kadaluarsa" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "Hari (Kadaluarsa setelah jumlah hari berikut)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Minggu (Kadaluarsa setelah jumlah minggu berikut)" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "Bulan (Kadaluarsa setelah jumlah bulan berikut)" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "Tahun (Kadaluarsa setelah jumlah tahun berikut)" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "Tanggal Kadaluarsa Tetap" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(Akses kadaluarsa on a fixed date)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Tambahkan Tingkat Member Baru" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Add-ons" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership::Kategori" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Pertama, lindungi seluruh kategori dengan memilih \"Pilihan Umum\" dari " "kotak dibawah dan pilih kategori yang akan dilindungi dari pengguna tidak " "terdaftar." #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Selanjutnya, pilih tingkatan member dari kotak dibawah dan pilih kategori " "yang diinginkan untuk diberikan akses kepada level member tertentu." #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Edit Member" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Edit member secara detail." #: views/admin_edit.php:9 views/login.php:5 msgid "Username" msgstr "Nama Pengguna" #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(dua kali, biarkan kosong untuk menjaga password lama)" #: views/admin_edit.php:33 msgid "Notify User" msgstr "Beritahu Pengguna" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "ID Pelanggan/Referensi" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "Akses Terakhir dari IP" #: views/admin_edit.php:52 msgid "Edit User " msgstr "Edit Pengguna" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Edit tingkat member" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Edit tingkat member." #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Tidak Kadaluarsa (Tidak dapat kadaluarsa sampai dibatalkan" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "Minggu (Kadaluarsa setelah jumlah minggu berikut)" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "Edit Tingkat Member" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Member" #: views/admin_members.php:3 views/admin_members_list.php:30 msgid "Add New" msgstr "Tambah Baru" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Tingkat Member" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "cari" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Tingkat member" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Atur Isi Produksi" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "Perlindungan Kategori" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Contoh Pengaturan Content Protection" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Jenis Kelamin" #: views/admin_member_form_common_part.php:30 views/edit.php:28 msgid "Phone" msgstr "Telephone" #: views/admin_member_form_common_part.php:34 views/edit.php:32 msgid "Street" msgstr "Jalan" #: views/admin_member_form_common_part.php:38 views/edit.php:36 msgid "City" msgstr "Kota" #: views/admin_member_form_common_part.php:42 views/edit.php:40 msgid "State" msgstr "Propinsi" #: views/admin_member_form_common_part.php:46 views/edit.php:44 msgid "Zipcode" msgstr "Kode Pos" #: views/admin_member_form_common_part.php:50 views/edit.php:48 msgid "Country" msgstr "Negara" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Perusahaan" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Member Sejak" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Buat alamat Penyelesaian Pendaftaran" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Anda dapat membuat alamat penyelesaian pendaftaran secara manual dan " "menginformasikan kepada pelanggan juka ada kesalahan melalui email setelah " "pembayaran." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Buat Alamat Penyelesaian Pendaftaran" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "ATAU" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Pendaftaran Yang Tertunda" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "Alamat Penyelesaian Akan Muncul Dibawah Ini" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Kirim juga Email Pengingat Pendaftaran" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Kirim" #: views/edit.php:58 msgid "Update" msgstr "Perbarui" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Reset Password" #: views/loggedin.php:3 msgid "Logged in as" msgstr "Masuk sebagai" #: views/loggedin.php:11 msgid "Membership" msgstr "Keanggotaan" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "Tanggal Kadaluarsa" #: views/loggedin.php:19 msgid "Logout" msgstr "Keluar" #: views/login.php:18 msgid "Remember Me" msgstr "Ingat Saya" #: views/login.php:24 msgid "Forgot Password" msgstr "Lupa Password" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "Semua transaksi pembayaran member direkam disini" #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "Cari transaksi berdasarkan email atau nama" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Cari" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Anda dapat membuat tomobl pembayaran bagi member menggunakan antarmuka ini." #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Pilih Tombol Type Pembayaran" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Berikut" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "Anda dapat mengedit tombol pembayaran dengan antarmuka ini." #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "Simple Membership::Pembayaran" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" "Semua tombol pembayaran yang telah Anda buat dalam plugin ditampilkan disini." #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "Pengaturan Integrasi PayPal" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Buat Kode \"Pembayaran Lanjut\" untuk tombol PayPal Anda" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "Masukkan ID Tingkat Member" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "Buat Kode" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "Pengaturan Tombol Beli Sekarang dari PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "Judul Tombol" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "Jumlah Pembayaran" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "Mata Uang" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "Alamat Kembali" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "Email PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "URL Gambar Tombol" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "Simpat Data Pembayaran" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "ID Tombol" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "Pengaturan Tombol Langganan PayPal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "Jumlah Tagihan Setiap Putaran" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "Billing Cycle" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "Jumlah Billing Cycle" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "Coba Lagi Saat Gagal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Detail Tagihan Percobaan (kosongkan jika Anda tidak menyediakan waktu " "percobaan)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "Jumlah Tagihan Percobaan" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "Masa Waktu Tagihan Percobaan" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "Piliah Lainnya" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "Beli Sekarang" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "Langganan Sekarang" languages/simple-membership-lt_LT.po000064400000030176147206617610013531 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-07-30 17:30+0800\n" "PO-Revision-Date: Wed Apr 29 2015 08:34:54 GMT+0100 (GMT Daylight Time)\n" "Last-Translator: Elurija \n" "Language-Team: \n" "Language: Lithuanian\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 " "&&(n%100<10||n%100 >= 20)? 1 : 2)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Generator: Loco - https://localise.biz/\n" "X-Poedit-Basepath: .\n" "X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;" "__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;" "_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;" "esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;" "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n" "X-Poedit-SearchPath-0: .\n" "X-Loco-Target-Locale: lt_LT" msgid " Email Settings (Account Upgrade Notification)" msgstr "El. pašto nustatymai" msgid "(required)" msgstr "(būtina)" msgid "(twice, required)" msgstr "(du kartus, būtina)" msgid "Account State" msgstr "Paskyros būsena" msgid "Account Status" msgstr "Paskyros statusas" msgid "Account is inactive." msgstr "Paskyra neaktyvi" msgid "Account state field is invalid" msgstr "Paskyros būsena neteisinga" msgid "Active" msgstr "Aktyvi (-us)" msgid "Add Member" msgstr "Pridėti narį" msgid "Add New" msgstr "Pridėjti naują" msgid "Add New Member " msgstr "Pridėti naują narį" msgid "Add New Membership Level " msgstr "Pridėti naują narystės lygį" msgid "Aready taken" msgstr "Jau naudojamas kito nario" msgid "Assign free membership level ID" msgstr "Pridėkite nemomamos narystės ID" msgid "Available" msgstr "Laisvas" msgid "Bad Cookie Hash" msgstr "Blogas sausainiuko hash" msgid "City" msgstr "Miestas" msgid "Company" msgstr "Įmonė" msgid "Country" msgstr "Šalos" msgid "Create a brand new user and add it to this site." msgstr "Sukurkite naują vartotoją ir pridėkite jį prie svetainės" msgid "Create new membership level." msgstr "Sukurkite naują narystės lygį" msgid "Default WordPress Role" msgstr "Numatyta Wordpress rolė" msgid "Delete" msgstr "Trinti" msgid "Display SWPM Login." msgstr "Rodyti SWPM prisijungimą" msgid "Do you want to protect this content?" msgstr "Ar norite apsaugoti šią informaciją?" msgid "E-mail" msgstr "El. paštas" msgid "Edit Member" msgstr "Redaguokite narį" msgid "Edit Membership Level " msgstr "Redaguokite narystės lygį" msgid "Edit Profile Page URL" msgstr "Profilio redagavimo puslapio URL" msgid "Edit User " msgstr "Redaguoti vartotoją" msgid "Edit existing member details." msgstr "Redaguoti nario duomenis" msgid "Edit membership level" msgstr "Redaguoti narystės lygį\n" msgid "Edit membership level." msgstr "Redaguoti narystės lygį" msgid "Email" msgstr "El. paštas" msgid "Email Address" msgstr "El. paštas" msgid "Email Address Not Valid." msgstr "El. paštas neteisingas" msgid "Email Body" msgstr "El. paštas tekstas" msgid "Email Misc. Settings" msgstr "El. paštas kiti nustatymai" msgid "Email Settings (Prompt to Complete Registration )" msgstr "El. pašto nustatymai (skatina užbaigti registraciją)" msgid "Email Settings (Registration Complete)" msgstr "El. pašto nustatymai (registracija pavyko)" msgid "Email Subject" msgstr "El. pašto tema" msgid "Email is already used." msgstr "El. paštas jau naudojamas" msgid "Email is invalid" msgstr "El. pašto neteisingas" msgid "Email is required" msgstr "El. paštas - būtina" msgid "Enable Free Membership" msgstr "Aktyvuoti nemokamą narystę" msgid "Enable Sandbox Testing" msgstr "Aktyvuoti testavimą" msgid "Enable this option if you want to do sandbox payment testing." msgstr "Aktyvuokite, jei norite testuoti mokėjimus." msgid "Enable/disable registration for free membership level" msgstr "Aktyvuokite / Išjunkite registraciją nemokamai narystei" msgid "Enter the Membership Level ID" msgstr "Įveskite narystės lygio ID" msgid "Example Content Protection Settings" msgstr "Pavyzdyniai turinio apsaugojimo nustatymai" msgid "Expired" msgstr "Nebegalioja" msgid "First Name" msgstr "Vardas" msgid "For All Pending Registrations" msgstr "Visos nepatvirtintoms registracijoms" msgid "Forgot Password" msgstr "Pamiršau slaptažodį" msgid "Free Membership Level ID" msgstr "Nemokamos narystės lygio ID" msgid "From Email Address" msgstr "Nuo el. pašto adresas" msgid "Gender" msgstr "Lytis" msgid "Gender field is invalid" msgstr "Lyties laukelio užpildytas neteisingai" msgid "General Settings" msgstr "Pagrindiniai nustatymai" msgid "Generate Code" msgstr "Generuoti kodą" msgid "Generate Registration Completion Link" msgstr "Generuoti registracijos baigimo nuorodą" msgid "Generate a Registration Completion link" msgstr "Generuoti registracijos baigimo nuorodą" msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" "Generuoti \n" "\"Advanced Variables\" \n" "kodą Paypal mygtukui" msgid "Hide Adminbar" msgstr "Slėpti Adminbar" msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? $ " "% ^ & )." msgstr "" "! Slaptažodis turėtų būti bent iš 7 ženklų. Naudokite didžiąsias ir mažasias " "raides, skaičius bei simbolius tokius kaip \n" " ! \" ? $ % ^ & " msgid "ID" msgstr "ID" msgid "Inactive" msgstr "Neaktyvus" msgid "Invalid User Name" msgstr "Vartotojo vardas neteisingas" msgid "Join Us" msgstr "Prisijunkite" msgid "Join Us Page URL" msgstr "Prisijungimo URL" msgid "Last Name" msgstr "Pavardė" msgctxt "Level" msgid "Add New" msgstr "Pridėti naują (lygį)" msgid "Logged Out Successfully." msgstr "Sėkmingai atsijungėte" msgid "Logged in as" msgstr "Prisjungęs kaip" msgid "Login" msgstr "Prisijungti" msgid "Login Page URL" msgstr "Prisijungimo URL" msgid "Logout" msgstr "Atsijungti" msgid "Manage Content Production" msgstr "Valdykite turinio produkciją" msgid "Member" msgstr "Narys" msgid "Member Login" msgstr "Narių prisijungimas" msgid "Member Since" msgstr "Narys nuo" msgid "Member since field is invalid" msgstr "Narys nuo laukelis neteisingas" msgid "Members" msgstr "Nariai" msgid "Membership" msgstr "Narystė" msgid "Membership Level" msgstr "Narystės lygis" msgid "Membership Level Couldn't be found." msgstr "Narystės lygis nerastas" msgid "Membership Level Creation Successful." msgstr "Narystės lygis sėkmingai sukurtas." msgid "Membership Level Name" msgstr "Narystės lygio pavadinimas" msgid "Membership Levels" msgstr "Narystės lygiai." msgid "Membership level" msgstr "Narystės lygis" msgid "New password has been sent to your email address." msgstr "Naujas slaptaždis išsiųstas į Jūsų el. paštą." msgid "No Expiry" msgstr "Nėra galiojimo" msgid "No Member found." msgstr "Toks narys nerastas" msgid "OR" msgstr "arba" msgid "Pages Settings" msgstr "Puslapio nustatymai" msgid "Password" msgstr "Slaptažodis" msgid "Password Empty or Invalid." msgstr "Slaptažodžio laukelis tuščias arba neteisingas" msgid "Password Reset" msgstr "Keisti slaptažodį" msgid "Password Reset Page URL" msgstr "Slaptažodžio keitimo nuoroda" msgid "Password is required" msgstr "Slaptažodis būtinas" msgid "Password mismatch" msgstr "Slaptažodžiai skirtingi" msgid "PayPal Integration Settings" msgstr "Paypal integravimo nustatymai" msgid "Pending" msgstr "Nepatvirtinta" msgid "Phone" msgstr "Tel numeris" msgid "Phone number is invalid" msgstr "Neteisingas tel numeris" msgid "Please" msgstr "Prašome" msgid "Please correct the following" msgstr "Ištaisykite " msgid "Please correct the following:" msgstr "Ištaisykite " msgid "Plugin Documentation" msgstr "Įskiepio dokumentai" msgid "Profile" msgstr "Profilis" msgid "Register" msgstr "Registruokitės" msgid "Registration" msgstr "Registracija" msgid "Registration Completion Links Will Appear Below:" msgstr "Registracijos baigimo nuoroda atsiras žemiau:" msgid "Registration Page URL" msgstr "Regsitracijos puslapio URL" msgid "Registration Successful." msgstr "Registracija sėkminga" msgid "Remember Me" msgstr "Prisiminti mane" msgid "Repeat Password" msgstr "Pakartoti slaptažodį" msgid "Reset Password" msgstr "Atkurti slaptaždį" msgid "Role" msgstr "Rolė" msgid "SWPM Login" msgstr "SWPM prisijungimas" msgid "Select the membership level that can access this content:" msgstr "Pasirinkite narystės lygį, kuris turės prieigą prie šio turinio:" msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Siųskite el. laiška nariui, kai jis yra pridedamas per administracijos " "valdymo pultą" msgid "Send Notification To Admin" msgstr "Siųsti pranešimą administratoriui" msgid "Send Registration Reminder Email too" msgstr "Siųsti registracijos priminimą" msgid "Session Expired." msgstr "Sesija baigėsi" msgid "Settings" msgstr "Nustatymai" msgid "Simple Membership Protection options" msgstr "Simple Membership Protection nustatymai" msgid "Simple WP Membership Protection" msgstr "SWPM apsauga" msgid "Simple WP Membership::Members" msgstr "SWPM:Nariai" msgid "Simple WP Membership::Membership Levels" msgstr "SWPM:Narystės lygiai" msgid "Simple WP Membership::Settings" msgstr "SWPM:Nustatymai" msgid "State" msgstr "Savivaldybė" msgid "Street" msgstr "Gatvė" msgid "Strength indicator" msgstr "Sudėtingumo indikatorius" msgid "Submit" msgstr "Pateikti" msgid "Subscription Duration" msgstr "Prenumeratos trukmė" msgid "Subscription Starts" msgstr "Prenumerata prasideda" msgid "Subscription Valid For" msgstr "Prenumerata galioja" msgid "Subscription starts field is invalid" msgstr "Prenumeratos pradžios laukelis neteisingas" msgid "Subscriptoin duration must be > 0." msgstr "Prenumeratos trukmė turi būti daugiau > 0." msgid "Test & Debug Settings" msgstr "Testavimo ir Debug nustatymai" msgid "Update" msgstr "Atnaujinti" msgid "Updated Successfully." msgstr "Sėkmingai atnaujinta." msgid "User Name" msgstr "Vartotojo vardas" msgid "User Not Found." msgstr "Nėra tokio vartotojo." msgid "User name" msgstr "Vartotojo vardas" msgid "User name already exists." msgstr "Toks vartotojo vardas jau yra" msgid "User name is required" msgstr "Vartotojo vardas yra privalomas" msgid "Username" msgstr "Vartotojo vardas" msgid "WP Membership" msgstr "WP Narystė" msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WordPress rodo administracijos panelę prisijungusiems nariams. Uždėkite " "varnelę, jei nenorite, kad ji būtų rodoma." msgid "Wordpress account exists with given email. But given user name doesn't match." msgstr "Paskyra su tokiu el. paštu egzistuoja, tačiau nesutampa vartotojo vardai." msgid "Wordpress account exists with given user name. But given email doesn't match." msgstr "" "Toks vartotojo vardas jau yra užregistruotas. Tačiau nesutampa el. pašto " "adresai." msgid "You are logged in as:" msgstr "Esate prisijungęs kaip:" msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Čia galite rankiniu būdu generuoti registracijos užbaigimo nuorodą ir duoti " "ją pirkėjams, jei jie negavo/ištrynė el. laišką, kuris buvo siųstas po " "apmokėjimo, su registracijos nuoroda." msgid "Zipcode" msgstr "Pašto kodas" msgid "search" msgstr "ieškoti" languages/simple-membership-pt_PT.po000064400000127055147206617610013544 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership\n" "POT-Creation-Date: 2016-04-15 15:05+0100\n" "PO-Revision-Date: 2016-04-15 19:38+0100\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.7\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: pt_PT\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:264 msgid "You are not logged in." msgstr "Não tem sessão iniciada" #: classes/class.simple-wp-membership.php:298 msgid "Simple WP Membership Protection" msgstr "Proteção SM" #: classes/class.simple-wp-membership.php:310 msgid "Simple Membership Protection options" msgstr "Opções SM" #: classes/class.simple-wp-membership.php:326 msgid "Do you want to protect this content?" msgstr "Deseja classificar este conteúdo?" #: classes/class.simple-wp-membership.php:331 msgid "Select the membership level that can access this content:" msgstr "Seleccione o nível do membro que pode acceder a este conteúdo" #: classes/class.simple-wp-membership.php:464 msgid "WP Membership" msgstr "WP assinatura" #: classes/class.simple-wp-membership.php:465 classes/class.swpm-members.php:10 #: views/admin_members_menu.php:2 msgid "Members" msgstr "Membros" #: classes/class.simple-wp-membership.php:466 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "Nivel de associação" #: classes/class.simple-wp-membership.php:467 msgid "Settings" msgstr "Configurações" #: classes/class.simple-wp-membership.php:468 msgid "Payments" msgstr "Pagamentos" #: classes/class.simple-wp-membership.php:469 msgid "Add-ons" msgstr "Aditivos" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "Deve iniciar sessão para ver isto..." #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "A sua conta expirou. Faça por favor a renovação..." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "Este conteúdo não é acessível para si..." #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "Este conteúdo não é acessível para si..." #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "O restante deste conteúdo não é acessível para si..." #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "Deve iniciar sessão para continuar a ver este conteúdo..." #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Dados adicionados com sucesso" #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:81 #: classes/class.swpm-admin-registration.php:105 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Corrija por favor o seguinte:" #: classes/class.swpm-admin-registration.php:96 msgid "Your current password" msgstr "A sua actual contra-senha" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "E-mail inválido" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "Já está em utilização" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "O Nome contêm caracteres inválidos" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Disponível" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Usuário não achado" #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Falta a contra-senha ou é inválida" #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "Conta inactiva" #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "Conta pendente" #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "Conta expirada" #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Está logado como: " #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "Sessão terminada com sucesso" #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "A sessão expirou" #: classes/class.swpm-auth.php:219 msgid "Invalid Username" msgstr "Utilizador inválido" #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Por favor faça o login de novo..." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:80 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:53 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Nível de associado" #: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "ID" #: classes/class.swpm-category-list.php:34 msgid "Name" msgstr "Nome" #: classes/class.swpm-category-list.php:35 msgid "Description" msgstr "Descrição" #: classes/class.swpm-category-list.php:36 msgid "Count" msgstr "Conta" #: classes/class.swpm-category-list.php:80 msgid "Category protection updated!" msgstr "Proteção de categoría actualizada!" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "A conta de WP existe com esse nome de utilizador, mas o email é diferente." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "A conta de WP existe com esse email, mas o nome de utilizador é diferente." #: classes/class.swpm-form.php:40 msgid "Username is required" msgstr "Nome de utilizador é requerido" #: classes/class.swpm-form.php:44 msgid "Username contains invalid character" msgstr "Nome de utilizador tem caracteres inválidos" #: classes/class.swpm-form.php:52 msgid "Username already exists." msgstr "Nome de utilizador já existe" #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "A contra-senha é necessária" #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "A contra-senha está errada" #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "O e-mail é necessário" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "E-mail inválido" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "Este e-mail já está utilizado" #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "O campo \"Associado desde\" é inválido" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "O campo \"Data de acceso\" é inválido" #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "O campo \"Género\" é inválido" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "O campo \"Estado de conta\" é inválido" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "O campo \"Nível de associado\" é inválido" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "Checagem de segurança: falhou a validação do captcha" #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "Registo feito com sucesso!" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 msgid "Please" msgstr "Por favor" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 views/login.php:21 msgid "Login" msgstr "Login" #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Corrija por favor o seguinte:" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "Não foi achado esse nível de associado" #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Perfil actualizado com sucesso!" #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Perfil actualizado com sucesso!\n" "Como a contra-senha foi alterada, necessitará fazer novo login." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "O e-mail não é válido!" #: classes/class.swpm-front-registration.php:200 msgid "No user found with that email address." msgstr "Não há fundos com este e-mail..." #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:225 msgid "Email Address: " msgstr "E-mail" #: classes/class.swpm-front-registration.php:224 msgid "New password has been sent to your email address." msgstr "Uma nova contra-senha foi enviada para o seu e-mail." #: classes/class.swpm-init-time-tasks.php:108 msgid "Sorry, Nonce verification failed." msgstr "Lamentamos, mas a verificação falhou!" #: classes/class.swpm-init-time-tasks.php:115 msgid "Sorry, Password didn't match." msgstr "Lamentamos, mas a contra-senha não confere!" #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "O formato da data não é válido" #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "A duração do acesso deve ser maior que \"0\"" #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "O utilizador não está conectado" #: classes/class.swpm-members.php:9 msgid "Member" msgstr "Utilizador" #: classes/class.swpm-members.php:19 views/add.php:6 views/admin_add.php:11 #: views/admin_edit.php:9 views/edit.php:5 views/login.php:5 msgid "Username" msgstr "Nome de usuário" #: classes/class.swpm-members.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:74 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:21 msgid "First Name" msgstr "Nome/s" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:75 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:25 msgid "Last Name" msgstr "Apelido/s" #: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:9 msgid "Email" msgstr "E-mail" #: classes/class.swpm-members.php:24 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Acesso" #: classes/class.swpm-members.php:25 msgid "Account State" msgstr "Estado de conta" #: classes/class.swpm-members.php:41 #: classes/class.swpm-membership-levels.php:35 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Delete" msgstr "Limpar" #: classes/class.swpm-members.php:42 msgid "Set Status to Active" msgstr "Configurar estado para \"Activo\"" #: classes/class.swpm-members.php:44 msgid "Set Status to Inactive" msgstr "Configurar estado para \"Inactivo\"" #: classes/class.swpm-members.php:45 msgid "Set Status to Pending" msgstr "Configurar estado para \"Pendente\"" #: classes/class.swpm-members.php:46 msgid "Set Status to Expired" msgstr "Configurar estado para \"Expirado\"" #: classes/class.swpm-members.php:121 msgid "No Member found." msgstr "Não foram encontrados associados" #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Nível de associado criado com sucesso!" #: classes/class.swpm-membership-level.php:57 msgid "Updated Successfully." msgstr "Actualização feita com sucesso!" #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "Rol" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "Acesso válido por/até" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Registo" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "Login" #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Perfil" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Resetear contra-senha" #: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "Configurações gerais" #: classes/class.swpm-settings.php:21 msgid "Payment Settings" msgstr "Configurações de pagamento" #: classes/class.swpm-settings.php:22 msgid "Email Settings" msgstr "Configurações de e-mail" #: classes/class.swpm-settings.php:22 msgid "Tools" msgstr "Ferramentas" #: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150 msgid "Advanced Settings" msgstr "Configurações avançadas" #: classes/class.swpm-settings.php:22 msgid "Addons Settings" msgstr "Configurações de aditivos" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "Documentação do plugin" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "Associação gratuita permitida" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Sim/Não registo de nível para associados gratuitos. \n" "(Se disponibiliza esta opção, deve anotar um ID de membro no campo seguinte)" #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "ID de associado gratuito" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "Assignar ID de associado gratuito" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "Disponibilizar classificação para etiqueta \"Mais\"" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Sim/Não à classificação da etiqueta \"Mais\" em posts e páginas. Qualquer " "coisa depois da etiqueta \"Mais\" será classificada. Todo o que estiver " "antes da etiqueta \"Mais\" será o conteúdo sumário." #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "Esconder a barra de administração WP" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WP mostra a barra de administração aos utilizadores conectados no site. " "Marque aqui se deseja esconder essa barra." #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "Estado da conta por defeito" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Seleccione o estado da conta por defeito para novos usuários. Se deseja " "aprovar manualmente cada associado, deve seleccionar el estado como " "\"Pendente\"" #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "Permitir apagado da conta" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "Permitir que s membros apaguem as suas proprias contas" #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "Auto-apagado de contas pendentes" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "Seleccione quanto tempo deseja manter uma conta \"Pendente\"" #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "Configuração de páginas" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "URL de la página de login" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "URL de la página de registo" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "URL de la página de associar-se" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "URL de la página de edição do perfil" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "URL de la página de redefinição de contra-senha" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "Configuração de testes e depurações" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "Marque esta opção para disponibilizar a depuração de logging" #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "Marque esta opção para disponibilizar o teste da Sandbox" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Marque esta opção para disponibilizar o teste do pagamento Sandbox" #: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145 #: classes/class.swpm-settings.php:243 msgid "Settings updated!" msgstr "Configurações actualizadas!" #: classes/class.swpm-settings.php:102 msgid "Email Misc. Settings" msgstr "Configurações diversas de e-mail" #: classes/class.swpm-settings.php:103 msgid "From Email Address" msgstr "Desde e-mail" #: classes/class.swpm-settings.php:106 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Configurações do e-mail (aviso para completar o registo)" #: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113 #: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132 msgid "Email Subject" msgstr "Assunto do e-mail" #: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115 #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134 msgid "Email Body" msgstr "Corpo do e-mail" #: classes/class.swpm-settings.php:112 msgid "Email Settings (Registration Complete)" msgstr "Configurações do e-mail (Registo completado)" #: classes/class.swpm-settings.php:117 msgid "Send Notification to Admin" msgstr "Enviar notificação ao Administrador" #: classes/class.swpm-settings.php:118 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Marque esta opção se deseja que o Administrador receba um aviso quando " "alguém se registar." #: classes/class.swpm-settings.php:119 msgid "Admin Email Address" msgstr "E-mail do Administrador" #: classes/class.swpm-settings.php:120 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Anote o e-mail onde deseja que a notificação ao Administrador seja enviada" #: classes/class.swpm-settings.php:121 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Enviar um e-mail ao associado quando adicionado diretamente desde o Painel " "de Administração" #: classes/class.swpm-settings.php:124 msgid "Email Settings (Password Reset)" msgstr "Configurações de e-mail (redefinição de contra-senha)" #: classes/class.swpm-settings.php:131 msgid " Email Settings (Account Upgrade Notification)" msgstr "Configurações de e-mail (notificação de upgrade de conta)" #: classes/class.swpm-settings.php:152 msgid "Enable Expired Account Login" msgstr "Disponível login com a conta expirada" #: classes/class.swpm-settings.php:153 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Quando permitido, os associados com a conta expirada poderão renovar a sua " "conta e fazer pagamentos, mas não poderão aceder a conteúdos protegidos." #: classes/class.swpm-settings.php:377 msgid "Not a Member?" msgstr "Ainda não está registado?" #: classes/class.swpm-settings.php:377 views/login.php:27 msgid "Join Us" msgstr "Associe-se!" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "Activo" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Inactivo" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Pendente" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Expirado" #: classes/class.swpm-utils.php:297 msgid "Never" msgstr "Nunca" #: classes/class.swpm-utils.php:371 msgid "Delete Account" msgstr "Apagar conta" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63 msgid "Payment Button ID" msgstr "ID do Botão de pagamento" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64 msgid "Payment Button Title" msgstr "Título do botão de pagamento" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65 msgid "Membership Level ID" msgstr "ID do nível de associado" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66 msgid "Button Shortcode" msgstr "Shortcode do botão" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/admin_members_list.php:15 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "A entrada selecionada foi apagada" #: classes/admin-includes/class.swpm-payments-list-table.php:53 msgid "View Profile" msgstr "Veja o seu perfil" #: classes/admin-includes/class.swpm-payments-list-table.php:72 msgid "Row ID" msgstr "Raíz do ID" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/forgot_password.php:5 msgid "Email Address" msgstr "E-mail" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Member Profile" msgstr "Perfil do associado" #: classes/admin-includes/class.swpm-payments-list-table.php:77 msgid "Date" msgstr "Data" #: classes/admin-includes/class.swpm-payments-list-table.php:78 msgid "Transaction ID" msgstr "ID da transacção" #: classes/admin-includes/class.swpm-payments-list-table.php:79 msgid "Amount" msgstr "Importe" #: classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Modo lista" #: classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Modo extrato" #: classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "Não se acharam dados" #: classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "Selecione " #: classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "Acções em bloco" #: classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Aplicar" #: classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Filtrar por data" #: classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Todas as datas" #: classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "%1$s %2$d" #: classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "%s pendente" #: classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "Seleccionar página" #: classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "Seleccionar todo" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "O seu perfil será actualizado para reflectir o pagamento feito" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "O seu utilizador:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Clique no seguinte link para completar o seu registo..." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Clique aqui para completar o seu registo pago..." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Se acabou de fazer o pagamento, o mesmo ainda está a ser processado. Por " "favor tente novamente em alguns minutos. Receberá em breve um e-mail com os " "detalhes." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:80 msgid "Expiry: " msgstr "Vence:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:82 msgid "You are not logged-in as a member" msgstr "Não está conectado como associado" #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:13 views/login.php:11 msgid "Password" msgstr "Contra-senha" #: views/add.php:18 views/edit.php:17 msgid "Repeat Password" msgstr "Repita a contra-senha" #: views/add.php:41 msgid "Register" msgstr "Registo" #: views/admin_add.php:6 msgid "Add Member" msgstr "Adiconar membro" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Crie uma marca de novo utilizador e adicione-a a este site" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(requerido)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(duas vezes, requerido)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Indicador forte" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Dica: a contra-senha deve ter no mínimo sete caracteres. Para que fique mais " "segura utilize maiúsculas, minúsculas, números e símbolos como ! \" ? $ % ^ " "&)." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Estado da conta" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Adicionar novos membros" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Configurações" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Algumas das configurações e opções dos aditivos do plugin Simple Membership " "serão mostradas aqui (se os tiver)." #: views/admin_addon_settings.php:13 msgid "Save Changes" msgstr "Guardar cambios" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Criar novo nivel de associado" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Nome do nível de associado" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Rol por defeito de WP" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "Duração do acesso" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Não expira (o acesso para este nivel não expirará até ser cancelado)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "Expira depois" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "Dias (o acesso expira depois de um determinado número de dias)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Semanas (o acesso expira depois de um determinado número de semanas)" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "Meses (o acesso expira depois de um determinado número de meses)" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "Anos (o acesso expira depois de um determinado número de anos)" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "Data de expiração fixa" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(o acesso expira numa data fixa)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Adicionar um novo nivel de associação" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Aditivos" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership::Categorias" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Primeiro de tudo, proteja a categoria no seu site selecionando \"Proteção " "Geral\" na caixa a seguir. Depois selecione as categorias que deverão estar " "protegidas de utilizadores não registados." #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Seguidamente selecione um nivel existente de associado do desplegável e " "depois as categorias às que deseja dar-lhes acesso (para esse particular " "nivel)." #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Editar membro" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Editar detalhes existentes do membro" #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(duas vezes, deixe vazio para manter a antiga contra-senha)" #: views/admin_edit.php:33 msgid "Notify User" msgstr "Notificar o utilizador" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "ID/referência de suscriptor" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "Último aceso desde IP" #: views/admin_edit.php:52 msgid "Edit User " msgstr "Editar utilizador" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Editar nivel de associação" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Editar nivel de associação." #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Não expira (o acesso a este nivel não expirará até que seja cancelado)" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "Semanas (Acesso expira depois de um número determinado de semanas)" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "Editar nivel de associação" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "WP Simple Membership::Associados" #: views/admin_members.php:3 views/admin_members_list.php:30 msgid "Add New" msgstr "Adicionar novo" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "WP Simple Membership::Associados::Niveles de associados" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "Búsqueda" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Nivel de associado" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Gerenciar produção de conteúdo" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "Proteção de categoria" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Exemplo de configuração de conteúdo protegido" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Género" #: views/admin_member_form_common_part.php:30 views/edit.php:29 msgid "Phone" msgstr "Telefone" #: views/admin_member_form_common_part.php:34 views/edit.php:33 msgid "Street" msgstr "Rua" #: views/admin_member_form_common_part.php:38 views/edit.php:37 msgid "City" msgstr "Localidade" #: views/admin_member_form_common_part.php:42 views/edit.php:41 msgid "State" msgstr "Cidade" #: views/admin_member_form_common_part.php:46 views/edit.php:45 msgid "Zipcode" msgstr "Código postal" #: views/admin_member_form_common_part.php:50 views/edit.php:49 msgid "Country" msgstr "País" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Empresa" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Associado desde" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Generar um link de Registo Completo" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Pode generar manualmente um link de registo completo aqui e enviar para o " "seu cliente, caso ele tenha extraviado ou esquecido o e-mail, e ele será " "automaticamente enviado para ele depois do pagamento." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Generar um link de Registo Completo" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "OU" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Para todos os registos pendentes" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "O link de Registo Completo aparecerá a seguir:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Enviar um recordatório de registo de e-mail também" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Enviar" #: views/edit.php:59 msgid "Update" msgstr "Actualizar" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Redefinir conta-senha" #: views/loggedin.php:3 msgid "Logged in as" msgstr "Conectado como" #: views/loggedin.php:11 msgid "Membership" msgstr "Associação" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "Conta expira" #: views/loggedin.php:19 msgid "Logout" msgstr "Terminar sessão" #: views/login.php:18 msgid "Remember Me" msgstr "Lembrar-me" #: views/login.php:24 msgid "Forgot Password" msgstr "Esqueceu a contra-senha" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "" "Todos os pagamentos ou transações dos seus associados estão arquivadas aqui." #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "Procurar por uma transação utilizando o e-mail ou o nome" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Búsqueda" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Pode criar um novo botão de pagamento para os seus associados utilizando " "esta interface" #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Selecione o tipo de botão de pagamento" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Próximo" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "Pode editar um botão de pagamento utilizando esta interface" #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "Simple Membership::Pagamentos" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Todos os botões dos associados criados no plugin aparecerão aqui" #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "Configuração da integração com PayPal" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Genere os códigos das \"Variáveis Avanzadas\" para o eu botão PayPal" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "Introduza o ID do nivel de associado" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "Generar o código" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "Configuração do botão Compre Agora de PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "Título do botão" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "Valor do pagamento" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "Moeda" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "URL para retorno" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "E-mail do PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "URL da imagem do botão" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "Informação para guardar os dados do pagamento" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "ID do botão" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "Configuração do botão de suscrição do PayPal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "Valor de faturação para cada ciclo" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "Ciclo de faturação" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "Conta do ciclo de faturação" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "Re-tentativa no falho" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Detalhes da faturação de prova (Deixe vazio se não está a oferecer período " "de prova)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "Valor de faturação da prova" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "Período de faturação da prova" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "Detalhes opcionais" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "Compra já" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "Suscreva já" languages/simple-membership-bs_BA.po000064400000112356147206617610013462 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership\n" "POT-Creation-Date: 2016-05-20 13:06+0200\n" "PO-Revision-Date: 2016-05-20 16:20+0200\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.7\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "Language: bs_BA@latin\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:264 msgid "You are not logged in." msgstr "Nisi ulogovan." #: classes/class.simple-wp-membership.php:298 msgid "Simple WP Membership Protection" msgstr "2. (Simple WP Membership Protection)" #: classes/class.simple-wp-membership.php:310 msgid "Simple Membership Protection options" msgstr "3. Opcije (Simple Membership Protection options)" #: classes/class.simple-wp-membership.php:326 msgid "Do you want to protect this content?" msgstr "Želiš li zaštititi ovaj sadržaj?" #: classes/class.simple-wp-membership.php:331 msgid "Select the membership level that can access this content:" msgstr "Odredi level korisnika koji može pristupiti ovom sadržaju:" #: classes/class.simple-wp-membership.php:464 msgid "WP Membership" msgstr "Članstvo" #: classes/class.simple-wp-membership.php:465 classes/class.swpm-members.php:10 #: views/admin_members_menu.php:2 msgid "Members" msgstr "Članovi" #: classes/class.simple-wp-membership.php:466 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "Leveli Članstva" #: classes/class.simple-wp-membership.php:467 msgid "Settings" msgstr "Opcije" #: classes/class.simple-wp-membership.php:468 msgid "Payments" msgstr "Plaćanja" #: classes/class.simple-wp-membership.php:469 msgid "Add-ons" msgstr "Add-ons" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "Moraš se ulogovati da bi vidio ovaj sadržaj." #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "" "Tvoj račun je istekao. Obnovi svoj račun da bi dobio pristup ovom sadržaju." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "Ovaj sadržaj je vidljiv samo članovima koji su registrovani prije " #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "Ovaj sadržaj nije vidljiv na tvom korisničkom levelu." #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "Ostatak sadržaja nije vidljiv tvom korisničkom levelu." #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "Uloguj se da bi vidio ostatak sadržaja." #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "" #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:81 #: classes/class.swpm-admin-registration.php:105 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Ispravi sljedeće:" #: classes/class.swpm-admin-registration.php:96 msgid "Your current password" msgstr "Tvoja trenutna šifra" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Nepravilna Email Adresa" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Already taken" msgstr "Zauzeto" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Ime sadrži nepodržan znak" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Dostupno" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Korisnik nije pronađen." #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Šifra je nepravilna ili nije upisana." #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "Račun nije aktivan." #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "Račun čeka aktivaciju." #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "Račun je istekao." #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Ulogovan/a si kao:" #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "Uspješno si se odjavio/la." #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "Uloguj se ponovo." #: classes/class.swpm-auth.php:219 msgid "Invalid Username" msgstr "Nepravilno Korisničko Ime" #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Uloguj se ponovo." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:80 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:53 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Korisnički Level" #: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "" #: classes/class.swpm-category-list.php:34 msgid "Name" msgstr "Ime" #: classes/class.swpm-category-list.php:35 msgid "Description" msgstr "Opis" #: classes/class.swpm-category-list.php:36 msgid "Count" msgstr "Brojač" #: classes/class.swpm-category-list.php:80 msgid "Category protection updated!" msgstr "Zaštita kategorije ažurirana!" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "Account s tim korisničkim imenom postoji, ali email se ne podudara." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "Account s tim email-om postoji, ali korisničko ime se ne podudara." #: classes/class.swpm-form.php:40 msgid "Username is required" msgstr "Korisničko ime je obavezno" #: classes/class.swpm-form.php:44 msgid "Username contains invalid character" msgstr "Korisničko ime sadrži nepodržan znak" #: classes/class.swpm-form.php:52 msgid "Username already exists." msgstr "Korisničko ime zauzeto." #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "Šifra je obavezna." #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "Šifra se ne podudara." #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "Email je obavezan." #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "Email nije validan" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "Email se već koristi." #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "" #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "Nevalidan korisnički level." #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "Sigurnosna provjera: captcha validacija netačna." #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "To je to. Registracija uspješna." #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 msgid "Please" msgstr "Molimo" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 views/login.php:21 msgid "Login" msgstr "Uloguj se" #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Ispravi sljedeće" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "Korisnički Level ne može biti pronaćen." #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Račun uspješno ažuriran." #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Račun uspješno ažuriran. Morat ćeš se ponovo ulogovati jer si promijenio/la " "password." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "Email adresa nije validna." #: classes/class.swpm-front-registration.php:200 msgid "No user found with that email address." msgstr "Korisnik s tom email adresom nije pronađen." #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:225 msgid "Email Address: " msgstr "Email Adresa:" #: classes/class.swpm-front-registration.php:224 msgid "New password has been sent to your email address." msgstr "Nova šifra je poslana na email." #: classes/class.swpm-init-time-tasks.php:108 msgid "Sorry, Nonce verification failed." msgstr "" #: classes/class.swpm-init-time-tasks.php:115 msgid "Sorry, Password didn't match." msgstr "Šifra se ne podudara." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Format datuma nije validan." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "" #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "Korisnik nije ulogovan." #: classes/class.swpm-members.php:9 msgid "Member" msgstr "Član" #: classes/class.swpm-members.php:19 views/add.php:6 views/admin_add.php:11 #: views/admin_edit.php:9 views/edit.php:5 views/login.php:5 msgid "Username" msgstr "Krorisničko ime" #: classes/class.swpm-members.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:74 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:21 msgid "First Name" msgstr "Ime" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:75 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:25 msgid "Last Name" msgstr "Prezime" #: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:9 msgid "Email" msgstr "" #: classes/class.swpm-members.php:24 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Pristup počinje" #: classes/class.swpm-members.php:25 msgid "Account State" msgstr "Stanje Računa" #: classes/class.swpm-members.php:41 #: classes/class.swpm-membership-levels.php:35 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Delete" msgstr "Izbriši" #: classes/class.swpm-members.php:42 msgid "Set Status to Active" msgstr "Promijeni status u Aktivno" #: classes/class.swpm-members.php:44 msgid "Set Status to Inactive" msgstr "Promijeni status u Neaktivno" #: classes/class.swpm-members.php:45 msgid "Set Status to Pending" msgstr "Promijeni status u Na Čekanju" #: classes/class.swpm-members.php:46 msgid "Set Status to Expired" msgstr "Promijeni status u Istekao" #: classes/class.swpm-members.php:121 msgid "No Member found." msgstr "Nije pronađen nijedan član." #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "" #: classes/class.swpm-membership-level.php:57 msgid "Updated Successfully." msgstr "Uspješno Ažurirano." #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "Pristup Validan Do" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Registracija" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "" #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Račun" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Resetiraj Šifru" #: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "Generalne Postavke" #: classes/class.swpm-settings.php:21 msgid "Payment Settings" msgstr "Opcije Plaćanja" #: classes/class.swpm-settings.php:22 msgid "Email Settings" msgstr "Email Opcije" #: classes/class.swpm-settings.php:22 msgid "Tools" msgstr "Alati" #: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150 msgid "Advanced Settings" msgstr "Napredne Opcije" #: classes/class.swpm-settings.php:22 msgid "Addons Settings" msgstr "" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "" #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "" #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "" #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" #: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145 #: classes/class.swpm-settings.php:243 msgid "Settings updated!" msgstr "Opcije ažurirane!" #: classes/class.swpm-settings.php:102 msgid "Email Misc. Settings" msgstr "Email Misc. Opcije" #: classes/class.swpm-settings.php:103 msgid "From Email Address" msgstr "" #: classes/class.swpm-settings.php:106 msgid "Email Settings (Prompt to Complete Registration )" msgstr "" #: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113 #: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132 msgid "Email Subject" msgstr "" #: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115 #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134 msgid "Email Body" msgstr "" #: classes/class.swpm-settings.php:112 msgid "Email Settings (Registration Complete)" msgstr "" #: classes/class.swpm-settings.php:117 msgid "Send Notification to Admin" msgstr "" #: classes/class.swpm-settings.php:118 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" #: classes/class.swpm-settings.php:119 msgid "Admin Email Address" msgstr "" #: classes/class.swpm-settings.php:120 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" #: classes/class.swpm-settings.php:121 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" #: classes/class.swpm-settings.php:124 msgid "Email Settings (Password Reset)" msgstr "" #: classes/class.swpm-settings.php:131 msgid " Email Settings (Account Upgrade Notification)" msgstr "" #: classes/class.swpm-settings.php:152 msgid "Enable Expired Account Login" msgstr "" #: classes/class.swpm-settings.php:153 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" #: classes/class.swpm-settings.php:377 msgid "Not a Member?" msgstr "Nisi član?" #: classes/class.swpm-settings.php:377 views/login.php:27 msgid "Join Us" msgstr "Pridruži Se" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "Aktivan" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Neaktivan" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Na Čekanju" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Istekao" #: classes/class.swpm-utils.php:297 msgid "Never" msgstr "Nkad" #: classes/class.swpm-utils.php:371 msgid "Delete Account" msgstr "Izbriši Account" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63 msgid "Payment Button ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64 msgid "Payment Button Title" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65 msgid "Membership Level ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66 msgid "Button Shortcode" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/admin_members_list.php:15 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:53 msgid "View Profile" msgstr "Vidi Račun" #: classes/admin-includes/class.swpm-payments-list-table.php:72 msgid "Row ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Email Adresa" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Member Profile" msgstr "Račun Člana" #: classes/admin-includes/class.swpm-payments-list-table.php:77 msgid "Date" msgstr "Datum" #: classes/admin-includes/class.swpm-payments-list-table.php:78 msgid "Transaction ID" msgstr "ID Transakcije" #: classes/admin-includes/class.swpm-payments-list-table.php:79 msgid "Amount" msgstr "Iznos" #: classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Izlistaj Pregled" #: classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Isječak Pregleda" #: classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "Ništa nije pronađeno." #: classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "" #: classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "" #: classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Primijeni" #: classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Filtriraj po datumu" #: classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Svi datumi" #: classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "" #: classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "" #: classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "" #: classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "Tvoj račun će biti ažuriran zbog plaćanja." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "Tvoje korisničko ime:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Klikni ovdje da kompletiraš registraciju." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Klikni ovdje da kompletiraš plaćenu registraciju." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Ako si tek uplatio članstvo onda je tvoja uplata još u procesu. Provjeri za " "nekoliko minuta. Email će ti biti poslan sa detaljima uskoro." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:80 msgid "Expiry: " msgstr "Istek:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:82 msgid "You are not logged-in as a member" msgstr "Nisi ulogovan kao član" #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:13 views/login.php:11 msgid "Password" msgstr "Šifra" #: views/add.php:18 views/edit.php:17 msgid "Repeat Password" msgstr "Ponovi Šifru" #: views/add.php:41 msgid "Register" msgstr "Regististracija" #: views/admin_add.php:6 msgid "Add Member" msgstr "Dodaj Člana" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(obavezno)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(dva puta, obavezno)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Snaga šifre" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "Napomena: Šifra mora imati najmanje 7 znakova." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Stanje Računa" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Dodaj novog člana" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Opcije" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" #: views/admin_addon_settings.php:13 msgid "Save Changes" msgstr "Spremi Promjene" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Ime Korisničkog Levela" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "" #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(dvaput, ostavi prazno ako želiš staru šifru)" #: views/admin_edit.php:33 msgid "Notify User" msgstr "" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "" #: views/admin_edit.php:52 msgid "Edit User " msgstr "" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "" #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "" #: views/admin_members.php:3 views/admin_members_list.php:30 msgid "Add New" msgstr "Dodaj" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "pretraga" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Korisnički Level" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Spol" #: views/admin_member_form_common_part.php:30 views/edit.php:29 msgid "Phone" msgstr "Telefon" #: views/admin_member_form_common_part.php:34 views/edit.php:33 msgid "Street" msgstr "Ulica" #: views/admin_member_form_common_part.php:38 views/edit.php:37 msgid "City" msgstr "Grad" #: views/admin_member_form_common_part.php:42 views/edit.php:41 msgid "State" msgstr "Kanton/Županija" #: views/admin_member_form_common_part.php:46 views/edit.php:45 msgid "Zipcode" msgstr "Poštanski broj" #: views/admin_member_form_common_part.php:50 views/edit.php:49 msgid "Country" msgstr "Država" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Kompanije" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Član Od" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Generiraj link za Registraciju" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Priloži" #: views/edit.php:59 msgid "Update" msgstr "Ažuriraj" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Resetiraj Šifru" #: views/loggedin.php:3 msgid "Logged in as" msgstr "Ulogovan kao" #: views/loggedin.php:11 msgid "Membership" msgstr "Članstvo" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "Istek Računa" #: views/loggedin.php:19 msgid "Logout" msgstr "Odloguj me" #: views/login.php:18 msgid "Remember Me" msgstr "Zapamti" #: views/login.php:24 msgid "Forgot Password" msgstr "Zaboravio/la Sam Šifru" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "" #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Pretraga" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Dalje" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "" #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "Generiraj Kod" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "Pretplata" languages/simple-membership-cs_CZ.mo000064400000210536147206617610013511 0ustar00c45L& 3.!34P3"333D3}#44h5126d6N697eN77&77 8 #8B.8-q8 8i8*9 :9+E9q9 999699 9 :$:;A:}:: ::::: ;; >;L;V`;R; < < <&<;<C<S<m<u<<<!<<< <=(=B=b=Mf=@==% >22>e> >>s>?#?A?^?~?? ?? ????T?G@&Y@@@@)@'@A 8ABASA dA qA}AAA(AA B B B%B9BRBXoB*BB B C-C9>CxCC%CC CCC |DDD'DD0DDE RFS.JS ySSS#9T ]TjTrT{T TT[U%V 7VXV!sVVVVIV'W:WAWYWrWW W%W'W=W0XMX*RX }XX -Y 8YFYVY@YYmYZZA[ J[U[k[|[[6[[[[\ \\3\ C\M\(T\}\\_\\] ](]8] Q]^]m] s]~]]]]]]]]] ^ ^^ .^!;^]^{^$^ ^^#^%^_"_&8___q___9_"_ ` `*`43`h``1```pa b@$bAebbbbb&b c ?c Mc[cjc pc|cc$cccccccd*di GiTiji/i8i ii jj"#j FjQjfjkj0rjkk k kkkl/ l ;l*Elpl llllllm3mgImimpnn9 o Zo3{oo$oopp5pKpbpxp-ppppp$p q&qFqdq'qqqkq!:r\r%zrrrrrrr rr;sNs#]ss(ss s ss6s0tEtctytt#ttGutu"fv#vv(:wcwwC x!Qx8sxxNxSybya zvnz^zUD{{3|J|k|GY} }y~=)gms J #:ɁmJȂ߂4#6Zo6?F? Wdm (. x12͇L,Ly2Ɖ]r3!Jl?Lʌ3IKyx(h8Cwy01)%. i<v3(QIz:ĕD?aD*Ɨ! , 7E JU[n1=-+k"MΚol1Ohxcyj1#1%U{Y8,#uPƠؠA) BL]@oɡޡ(C 0d ע -' U_Yukϣ;DUd!Ϥؤ,4(O,x/-N!:p.Ħ/$# HVxeާ-#Q:W &èרlq'*%֩/*>i ªԪ A(!j ǫ!`:d 1Ƭ:!3U4[ ͭ 7֮D#6(Z'2ǯ*- XbsѰذܰ' Hcj| α$4*;f#ز(5%1[8׳)=\{odd]ɶi'a?34ιr1?O_055ƼK/Hax[ڽg6hdal\ο_+*#  ! .$K$p Q/*8c*/E !Rt+{ [ f sPW  C=    *16hql #3Rn - >HN `m |(* > 0;)N5x3&;N6k'=!Ln5tw.VGW#"=,[?  &1FK0b  +LT$c r+Iu+ *?gQ ($8WwRB-(Js  !/ %%gK"%-= L Xc~4?$4G(W L^m |. 9;U"e[m|~kC!I8-T%#& D;O# #6U(u s)<f2y S-$) (6_%v!4OxU%&,{Gl'=[+bZXvS#O6_C.r y +g.NR d"q,o@Us#E/$" GKhg]z 6G Q_78I^6T5 ^;!l JSCP3<aj%E S 9  3^  8 DV 2 g 6 G :Q=5|B^IuPk|:! %4 8EM!! 8|/@ O;=% Um@KHFot-h.MGGgW,'+#sMTa>3.]5(w</QyHBbx0XcEDt&d}\'Bo'W^Y[:c!?@1u9f15"=]JOF2%Rsw*4"U8R e)Z 8/9[Nh52) vIG"7dYDq$_l+7~TOr&`KS pNT; EJ+xa}S .W:^<0LYPIbL0- VCA VDJ:e= M9aQzlz3;\ZC4m6A%BZ)r PH-Iik* nA$? j(L6vC(>#[?j{,QuN]6k Si_`{2nR ^K\4q1Py,VfX>~X|#p7b$&c Eg`*3_<FU Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. page to pay for a premium membership. to learn how to do it. to learn how to use it. to login. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterA prompt to complete registration email was also sent.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add-onsAdditional SettingsAddons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Logout Redirect URLAfter Registration Redirect URLAllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApostrophe character is not allowedApt, Suite, Bldg. (optional)Assign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCan't find member account.Cannot find member account.Captcha validation failed on login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameConfirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate Member Accounts for New WP UsersCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.Custom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDisable Access to WP DashboardDo you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEmailEmail ActivationEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty payment data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Privacy PolicyEnable Sandbox TestingEnable Terms and ConditionsEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the subject for the admin notification email.Error occured during PayPal Smart Checkout process.Error occured during payment verification. Error code: %d. Message: %sError! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! The membership level ID (Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry: FemaleFirst NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo back to the home page by GoldHTTP error occured during payment process:Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).HorizontalI accept the I agree to the IDIPN product validation failed. Check debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelIt will also delete associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Client IDLive Publishable KeyLive SecretLive Secret KeyLogged Out Successfully.Logged in asLogged in as: LoginLogin HereLogin Page URLLogoutLogout Member on Browser CloseMaleManage Content ProtectionManage Payment ButtonsMediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No items found.No member found.No membership levels found.No user found with that email address.No, Do not protect this content.Not SpecifiedNot a Member?Not a member? Note:Notify UserOROptional DetailsPage Setup and URL Related settings.PagesPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPassword must contain at least:Password: PayPal Buy NowPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal Integration SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment MethodsPayment Notification Forward URLPayment SettingsPayment check failed: invalid amount received. Expected %s %s, got %s %s.PaymentsPendingPhonePillPleasePlease Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostsPrivacy PolicyPrivacy Policy Page URLPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRead the RectangularRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReset debug log files by clicking Return URLRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here. Note that this option cannot work if you enabled the "Disable Access to WP Dashboard" option in General Settings.Sandbox Client IDSandbox SecretSave ChangesSave DataSave Membership Level Save Payment DataSearchSearch for a transaction by using email or nameSearch...Security check: captcha validation failed.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button layout.Select button shape.Select button size.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminSilverSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSizeSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the access starts date value.StateState / Province / RegionStatusStreetStreet AddressStrength indicatorStripe API IDStripe API SettingsStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceSuccess! Your account has been activated successfully.Terms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis interface lets you custsomize the various emails that gets sent to your members for various actions. The default settings should be good to get your started.This is the member's account status. If you want to manually activate an expired member's account then readThis page allows you to configure some advanced features of the plugin.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This value gets updated when this member logs into your site.TitleToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTypeType password hereUpdateUse WordPress TimezoneUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVerificationVerticalView DocumentationView ProfileView general debug log file by clicking View login related debug log file by clicking WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Webook Endpoint URLWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the payments menu of this plugin (useful if you want to offer paid membership on the site).You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to confirm your email address. Please check your email and follow instructions to complete your registration.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herehereincompleterenewthis documentationProject-Id-Version: Simple Membership Plugin PO-Revision-Date: 2021-06-24 00:01+0200 Last-Translator: Language-Team: Language: cs_CZ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 3.0 X-Poedit-KeywordsList: __;_e;e X-Poedit-Basepath: . Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; X-Poedit-SearchPath-0: . Nastavení e-mailu (Oznámení o upgradu účtu) Nastavení e-mailu (Oznámení o hromadné aktivaci účtů) Nastavení e-mailu (Aktivace přes e-mail) V poli je zadán nepovolený znak Heslo se neshoduje Zobrazení zbývajícího obsahu není pro tuto členskou úroveň povoleno. Vhodné při řešení problémů. Po vyřešení potíží volbu vypněte a resetujte protokolovací soubory. Pro dokončení registrace použijte jinou e-mailovou adresu. Chcete-li e-mailovou adresu použít, musíte pro připojení k tomuto účtu zadat správné uživatelské jméno přidružené k existujícímu uživateli WP. Pro dokončení registrace použijte jiné uživatelské jméno. Chcete-li uživatelské jméno použít, musíte pro připojení k tomuto účtu zadat správnou e-mailovou adresu přidruženou k existujícímu uživateli WP. Aktuálně je upravován člen s členským ID: Pro zasílání oznámení na více adres najednou oddělte jednotlivé e-mailové adresy čárkou (,). V tomto typu zprávy nelze používat značky / kódy polí pro hromadnou korespondenci, povolen je pouze prostý text. znaky obsahuje seznam značek / kódů polí pro hromadnou korespondenci, které lze použít k přizpůsobení těla zprávy. obsahuje detailní popis. stránky pro zaplacení prémiového členství. k získání dalších informací. pro získání dalších informací. pro přihlášení. pro zobrazení profilu, ke kterému jste aktuálně přihlášeni v tomto prohlížeči. svůj účet pro získání přístupu k tomuto obsahu.(Přístup vyprší k pevně zadanému datu)(POZNÁMKA: Z bezpečnostních důvodů není dovoleno odstranění WordPress účtů s administrátorskými právy).(Vyberte prosím)(vyžadováno)(dvakrát, nechte prázdné pro zachování stávajícího hesla)(dvakrát, vyžadováno)- číslo- malé písmeno- velké písmenoE-mailem byla také odeslána výzva pro dokončení registrace.Doba trvání přístupuPočátek přístupuPřístup platný pro/doDoba trvání přístupu musí být > 0.Změna data „Počátek přístupu“ byla úspěšně dokončena.Hodnota v poli Počátek přístupu je neplatnáExpirace účtuStav účtuStav účtuÚčet je již aktivní. Platnost účtu vypršela.Účet není aktivní.Účet čeká na schválení.Hodnota v poli „Stav účtu“ je neplatnáStav akceVyžadována aktivaceAktivační kód se neshoduje, účet nelze aktivovat. Kontaktujte prosím správce webu.Aktivační e-mail byl odeslán. Zkontrolujte prosím doručenou poštu a proveďte aktivaci svého účtu.AktivníPřidat úroveňPřidat členaPřidat členskou úroveňPřidat nový záznamPřidat nového člena Přidat novou členskou úroveň DoplňkyDalší nastaveníNastavení doplňkůAdresaPřístupové oprávnění k panelu správceE-mailová adresa správceTělo zprávy s oznámením pro správcePředmět zprávy s oznámením pro správceRozšířená nastaveníAdresa URL pro přesměrování po odhlášeníAdresa URL pro přesměrování po registraciVšeZde se zobrazují všechna tlačítka, která byla vytvořena v tomto pluginu.Zde se zaznamenávají veškeré platby/transakce členů.Povolit smazání účtuPovolí uživatelům smazání jejich účtů.Povolené znaky jsou: písmena, čísla a .-_*@Členství je již na této úrovni.Již použitoJiž obsazeno.Alternativně můžete k přihlášení člena použít jiný prohlížeč (ve kterém nejste přihlášeni jako ADMIN).ČástkaZnak apostrofu není povolenBudova, apartmán (volitelné)Přiřazené ID bezplatné členské úrovněAutorAutomatické mazání účtů čekajících na vyřízeníDostupnéFakturační částka v každém cykluFakturační cyklusPočet fakturakčních cyklůČernáModráKlíč API Braintree a detaily k účtu (Požadované informace můžete získat ve svém účtu Braintree.)Braintree Buy NowNastavení tlačítka Braintree Buy NowHromadná změna data počátku přístupuHromadná změna členských úrovníHromadné operaceHromadná aktualizace data počátku přístupuHromadná aktualizace členských úrovníNastavení vzhledu tlačítkaID tlačítkaURL obrázku tlačítkaShortcode tlačítkaNázev tlačítkaTyp tlačítkaKoupitČlenský účet nelze najít.Nelze najít členský účet.Ověření Captcha na přihlašovacím formuláři se nezdařilo.Ověření Captcha se nezdařilo.KategorieID kategorieNázev kategorieOchrana kategoriíTyp kategorie (Taxonomie)Ochrana kategorie aktualizována!Zaškrtněte políčko pro odstranění obrázku. Obrázek bude odstraněn po uložení profilu.Zaškrtnutí této volby povolí protokolování ladění.MěstoVymazat hledáníKlikněte semKlikněte sem pro dokončení placené registraceRegistraci dokončíte kliknutím na následující odkaz.Shromažďovat adresu zákazníkaBarvaNečlenům není povoleno odesílání komentářů.SpolečnostNázev společnostiPotvrdit odstranění účtuObraťte se na správce webu a požádejte jej, aby zkontroloval vaše uživatelské jméno v nabídce Uživatelé WP a zjistil, co se stalo se záznamem uživatele u vašeho účtu.Pokračovat?PočetStátVytvoření členských účtů pro nové uživatele WPVytvořit nové tlačítkoVytvoření nového uživatele a zřízení přístupu na tento web.Vytvořit novou členskou úroveň.Obrázek loga vlastní stránky pokladnyVlastní příspěvkyDatumNeplatný formát kalendářního data.dnech (přístup vyprší po zadaném počtu dní)Výchozí stav účtuVýchozí členská úroveňVýchozí uživatelská úroveň WordPressOdstranitOdstranit účetOdstranit profil uživatelePopisZakázat přístup k panelu WPChcete chránit tento obsah?E-mailELVUpravit členské údajeUpravit profilURL stránky Upravit profilUpravit údaje u existujícího člena.Upravit členskou úroveňE-mailAktivace e-mailemE-mailová adresaE-mailová adresa: Tělo zprávyNastavení e-mailu společnéNastavení e-mailuNastavení e-mailu (Obnovení hesla)Nastavení e-mailu (Výzva k dokončení registrace)Nastavení e-mailu (Registrace dokončena)Přehled nastavení e-mailuPředmět zprávyE-mailová adresa je neplatná.E-mailová adresa je již použita.Neplatný e-mailE-mail je povinnýByla obdržena prázdná platební data.Zapnout automatické vytváření členských účtůPovolit automatické přihlášení po registraciPovolit laděníPovolit přihlášení u účtů s vypršenou platnostíPovolit bezplatné členstvíPovolit ochranu značkou MoreZapnout zásady ochrany osobních údajůPovolit testování v sandboxuZapnout podmínky a ujednáníPovolit aktivaci nového uživatele prostřednictvím e-mailu. Při zaškrtnutí této volby musí členové aktivovat svůj účet kliknutím na aktivační odkaz odeslaný na jejich e-mailovou adresu. Užitečné při bezplatném členství.Povolit aktivaci nového uživatele prostřednictvím e-mailu. Při zaškrtnutí této volby musí členové aktivovat svůj účet kliknutím na aktivační odkaz odeslaný na jejich e-mailovou adresu. Užitečné při bezplatném členství. Zapněte tuto volbu pokud chcete vynutit, aby uživatelé používali u svých účtů silná hesla.Zaškrtnutí této volby povolí zasílání komentářů pouze registrovaným členům webu.Po zaškrtnutí této volby budou správci zasílány oznámení po každé provedené registraci člena.Zapněte tuto volbu pokud chcete, aby byl člen odhlášen z účtu při zavření prohlížeče.Zaškrtnutí této volby povolí testování plateb v sandboxu.Zapnutím této volby dojde při přihlášení člena k vynucené synchronizaci s uživatelským účtem WP. Tato možnost je užitečná v případě, když jsou používány pluginy, které používají uživatelské záznamy WP (např. bbPress plugin).Zapněte tuto volbu pokud chcete automaticky vytvářet členské účty i pro všechny nové uživatele WP, jejich účet byl vytvořen jiným pluginem.Povolit / zakázat registraci pro bezplatnou členskou úroveň. Při povolení této možnosti nezapomeňte zadat do pole níže ID bezplatné členské úrovně.Povolit / zakázat ochranu značkou „more“ v příspěvcích a stránkách. Cokoliv před značkou „more“ je upoutávkovým obsahem, veškerý obsah za značkou „more“ chráněn.Zadejte ID členské úrovněAdresa URL pro stránku se zásadami ochrany osobních údajů.Adresa URL pro stránku s podmínkami a ujednáními. Stránka může být vytvořena ve WordPressu, ve výše uvedeném poli je možné zadat její URL adresu.Zadejte e-mailovou adresu, na kterou mají být zasílány zprávy s oznámeními pro správce.Zadejte předmět zprávy s oznámením pro správce.Během procesu PayPal Smart Checkout došlo k chybě.Během ověřování platby došlo k chybě. Chybový kód: %d. Zpráva: %sChyba! Nelze najít cestu k zadané šabloně: Chyba! Neplatný požadavek. Nebyla nalezana shoda pro daný bezpečnostní kód a ID uživatele.Chyba! Pro úpravu profilu z koncového rozhraní se nepodařilo provést ověření Nonce.Chyba! Pro přidání členské úrovně z rozhraní správce se nepodařilo provést ověření Nonce.Chyba! Pro odsranění členské úrovně z rozhraní správce se nepodařilo provést ověření Nonce.Chyba! Pro úpravu členské úrovně z rozhraní správce se nepodařilo provést ověření Nonce.Chyba! Pro odstranění uživatele z rozhraní správce se nepodařilo provést ověření Nonce.Chyba! Pro úpravy uživatele z rozhraní správce se nepodařilo provést ověření Nonce.Chyba! Pro registraci uživatele z rozhraní správce se nepodařilo provést ověření Nonce.Chyba! Nejprve vyberte členskou úroveň.Chyba! ID členské úrovně (Chyba! Tato akce (Chyba! Tato stránka má v nastavení zapnutou funkci vynucení přihlášení uživatele WP. Pro zadané uživatelské jméno nebyl nalezen záznam uživatele WP: Příklad nastavení ochrany obsahuVyprší poPlatnost vypršelaKonec platnosti: ŽenaKřestní jménoNejdříve zapněte globální ochranu příspěvků a stránek na svém webu tím, že v rozevíracím seznamu níže vyberete možnost „Obecná ochrana“ a poté vyberte příspěvky a stránky, které mají být chráněny před nepřihlášenými uživateli.Nejdříve zapněte globální ochranu kategorií na svém webu tím, že v rozevíracím seznamu níže vyberete možnost „Obecná ochrana“ a poté vyberte kategorie, které mají být chráněny před nepřihlášenými uživateli.Datum vypršení platnostiPro všechny neúplné registracePro konkrétní členské IDVynutit používání silných heselVynutit synchronizaci uživatelů WPZapomenuté heslo?ID bezplatné členské úrovněBezplatné členství není na tomto webu povoleno. Proveďte prosím úhradu ze Adresa odesílatelePohlavíHodnota v poli „Pohlaví“ je neplatnáObecná nastavení pluginu.Obecná ochranaObecná nastaveníGenerovat kódGenerovat odkaz pro dokončení registraceGenerování odkazů pro dokončení registraceGenerovat kód pro „Rozšířené proměnné“ u tlačítka PayPalVrátit se na domovskou stránku ZlatáBěhem procesu platby došlo k chybě HTTP:Skrýt lištu správceTip: Heslo by mělo mít alespoň sedm znaků. Chcete-li jej zesílit, používejte velká a malá písmena, číslice a symboly, např. ! " ? $ % ^ &).VodorovnéPřijímám Souhlasím s IDOvěření produktu IPN se nezdařilo. Podrobnosti najdete v protokolu ladění.Pokud je volba zapnuta, je v databázi dočasně uloženo dešifrovatelné heslo člena, a to do doby, než je účet aktivován.Pokud jste omylem smazali vyžadované stránky, které byly vytvořeny pluginem během instalace, můžete je pomocí tohoto nástroje znovu vytvořit.Pokud jste právě provedli platbu za členství, probíhá její zpracování. Zkuste to prosím znovu za několik minut. Na e-mail vám bude v krátké době zaslána zpráva s podrobnostmi.NeaktivníNekompletníNeplatná e-mailová adresaNeplatné uživatelské jménoNeplatná e-mailová adresaNeplatná členská úroveňOdstraněn bude také přidružený uživatelský účet WordPress.Připojit seVytvořit účetURL stránky Přidejte se k námVelkéDatum posledního přístupuPoslední přístup z IPDatum posledního přihlášeníPříjmeníRozloženíNevyplňovat pro zachování stávajícího heslaÚroveňZměna úrovně na: Generování odkazu(ů) proběhlo úspěšně. Následující odkaz(y) použijte pro dokončení registrace.Live Client IDLive Publishable KeyLive SecretLive Secret KeyOdhlášení bylo úspěšné.Uživatel přihlášen jakoUživatel přihlášen jako: Přihlásit se PřihlášeníURL přihlašovací stránkyOdhlásit seOdhlásit člena při zavření prohlížečeMužSpráva ochrany obsahuSpráva platebních tlačítekStředníČlenAdresář členůČlenské IDPřihlášeníProfil členaČlen odZáznam člena byl úspěšně přidán.Hodnota v poli „Člen od“ je neplatnáČlenovéVyžadovat přihlášení člana pro odesílání komentářůČlenstvíČlenská úroveňČlenskou úroveň se nepodařilo najít.Vytvoření členské úrovně proběhlo úspěšně.ID členské úrovněNázev členské úrovněČlenská úroveň byla úspěšně aktualizována.Členská úroveň:Členská úroveň: Členské úrovněURL pro obnovení členstvíZměna členské úrovně byla úspěšně dokončena.Členská úroveň byla aktualizována.ID účtu obchodníkaID obchodníkaJsou vyžadovány minimálně měsících (přístup vyprší po zadaném počtu měsíců)Jméno obsahuje nepovolené znakyNikdyNa Vaši e-mailovou adresu bylo zasláno nové heslo.DalšíPoté v rozevíracím seznamu níže vyberte existující členskou úroveň a následně vyberte příspěvky a stránky, ke kterým chcete udělit přístup (pro konkrétní členskou úroveň).Poté v rozevíracím seznamu níže vyberte existující členskou úroveň a následně vyberte kategorie, ke kterým chcete udělit přístup (pro konkrétní členskou úroveň).Bez vypršení platnostiBez vypršení platnosti (Přístup pro tuto úroveň nevyprší, dokud nebude zrušenBez vypršení platnosti (přístup pro tuto úroveň nevyprší, dokud nebude zrušen)Nebyla nalezena žádná kategorie.Nebyly nalezeny žádné položky.Nebyl nalezen žádný člen.Nebyly nalezeny žádné členské úrovně.Pro zadanou e-mailovou adresu nebyl nalezen žádný uživatel.Ne, nechránit tento obsah.NespecifikovánoNejste členem?Nemáte přihlašovací údaje? Poznámka:Upozornit uživateleNEBOVolitelné podrobnostiNastavení stránek a souvisejících adres URL.StránkyNastavení stránekHesloNeplatné nebo prázdné heslo.Obnovení heslaURL stránky pro obnovení heslaHeslo je povinnéHesla nesouhlasíHeslo musí obsahovat nejméně:Heslo: PayPal Buy NowNastavení tlačítka PayPal Buy NowPayPal CreditPayPal e-mailNastavení integrace PayPalPayPal Smart CheckoutPřihlašovací údaje PayPal Smart Checkout API (Požadované informace můžete získat ve svém účtu PayPal.)Nastavení tlačítka PayPal Smart CheckoutPayPal SubscriptionNastavení tlačítka předplatného PayPalČástka k úhraděID tlačítka platbyNázev tlačítka platbyMěna platbyZpůsoby platbyURL pro přeposlání oznámení o platběNastavení platebKontrola platby se nezdařila: byla přijata neplatná částka. Očekáváno: %s %s, obdrženo: %s %s.PlatbyČeká na vyřízeníTelefonZaoblené Pro komentování se prosím přihlaste.Zkontrolujte prosím alespoň jednu.Opravte prosím následujícíOpravte prosím následující.Prosím opravte následující:Zadejte prosím libovolné dvě číslice bez mezer (např. : 12)Zadejte prosím libovolné dvě číslice bez mezer (např. : 12)*Přihlaste se prosím znovu.Pro komentování se prosím přihlaste.Dokumentace pluginuOchrana příspěvků a stránekPSČPříspěvkyZásady ochrany osobních údajůStránka se zásadami ochrany osobních údajůPrivátní klíčProfilProfil byl úspěšně aktualizován.Profil byl úspěšně aktualizován. Protože došlo ke změně hesla, je nutné se znovu přihlásit.Nastavení ochrany aktualizováno!Veřejný klíčOpakovaný pokus při selháníZnovu vytvořit vyžadované stránkyPřečtěte si ObdélníkovéRegistrovatRegistraceURL registrační stránkyRegistrace byla úspěšná. Odkazy pro dokončení registrace se zobrazí nížeRegistrace je dokončena. Nyní se můžete přihlásit na web.Zapamatovat si měZopakovat hesloPřizpůsobitelnéObnovení heslaResetovat soubory protokolů kliknutím Návratová adresa URLZde zadejte heslo znovuRoleŘádek IDŘídicí panel správce SWPM je přístupný pouze uživatelům s oprávněním správce (stejně jako u ostatních pluginů). Výběrem jiné hodnoty můžete povolit přístup k řídicímu panelu správce SWPM i uživatelům WP s odlišnými přístupovými právy. Pozor, toto nastavení nebude fungovat, jestliže je v Obecném nastavení zapnuta volba „Zakázat přístup k panelu WP“.Sandbox Client IDSandbox SecretUložit změnyUložit dataUložit členskou úroveň Uložit údaje o platběHledatVyhledat transakci pomocí e-mailu nebo jménaHledání...Kontrola zabezpečení: Ověření captcha se nezdařilo.Vybrat zdrojovou úroveňVybrat úroveňVyberte typ platebního tlačítkaVybrat cílovou úroveňVyberte barvu tlačítka.Vyberte rozložení tlačítka.Vyberte tvar tlačítka.Vyberte velikost tlačítka.Vyberte, jak dlouho chcete zachovat v seznamu účet se stavem „Čeká na vyřízení“.Vyberte způsoby plateb, které mohou zákazníci používat. Vezměte prosím na vědomí, že platba kartou je vždy povolena.Vyberte členskou úroveň (datum počáteku přístupu bude aktualizován u všech členů, kteří jsou na této úrovni).Vyberte zdrojovou členskou úroveň (členská úroveň bude aktualizována u všech členů, kteří jsou na této úrovni).Výběr výchozího stavu účtu pro nově registrované uživatele. Pro ruční schvalování nových členů nastavte volbu na „Čeká na vyřízení“.Vyberte členské úrovně, které mají přístup k tomuto obsahu:Vyberte novou členskou úroveň.Odeslat e-mail členovi, pokud je přidán přes administrátorský panelOdeslat oznámení správciOdeslat e-mailem také upomínku k registraciPlatnost relace vypršela.Nastavit stav na AktivníNastavit stav na Aktivní a upozornitNastavit stav na Platnost vypršelaNastavit stav na NeaktivníNastavit stav na Čeká na vyřízeníNastaveníNastavení v této části je platné pro všechny e-maily.Nastavení aktualizováno!TvarZobrazit lištu správce u správceStříbrnáMožnosti ochrany Simple MembershipSimple Membership::PlatbyOchrana Simple WP MembershipSimple WP Membership::DoplňkySimple WP Membership::ČlenovéSimple WP Membership::Členské úrovněSimple WP Membership::NastaveníVelikostZde se zobrazí některá nastavení a možnosti doplňků pluginu Simple WP Membership (pokud jsou nainstalovány)Litujeme, ověření Nonce se nezdařilo.Heslo nesouhlasí.Zadejte datum požadovaného počátku přístupu.StátStát / Provincie / RegionStavUliceUliceIndikátor síly heslaID rozhraní Stripe APINastavení rozhraní Stripe APIKlíč API Stripe (Požadované informace můžete získat ve svém účtu Stripe.)Stripe Buy NowNastavení tlačítka Stripe Buy NowStripe SubscriptionNastavení tlačítka Stripe SubscriptionOdeslatPředplatit hnedID odběrateleID odběratele / ReferenceVáš účet byl úspěšně aktivován.Podmínky a ujednáníStránka s podmínkami a ujednánímiNastavení testování a laděníTest Publishable KeyTest Secret KeyNastavení související s testováním a laděním.Datum počátku přístupu člena je standardně nastaveno na den registrace. Zadaná hodnota se používá k výpočtu, jak dlouho může člen přistupovat k obsahu, který je chráněn časovou ochranou pro danou členskou úroveň. Správce tohoto webu neumožnil uživatelům přístup k řídicímu panelu WP.Kategorie nebo nadřazená kategorie tohoto příspěvku je chráněna. Nastavení ochrany kategorie můžete změnit v Následující údaje jsou volitelnéNásledující údaje jsou volitelné.Pro správnou funkci pluginu jsou vyžadovány následující stránky. K jejich automatickému vytvoření došlo v průběhu instalace.Vyžadované stránky byly znovu vytvořeny.Vybraný záznam byl smazán!Správce webu může v nastavení deaktivovat funkci Vynutit synchronizaci uživatelů WP, po deaktivaci tato chyba zmizí.Tento obsah mohou zobrazit pouze členové, kteří se již připojili Tento obsah je určen pouze pro členy.Zobrazení obsahu není povoleno pro tuto členskou úroveň.Tato dokumentaceTento e-mail bude odeslán, pokud je pro členskou úroveň povolena aktivace přes e-mail.Tento e-mail bude zaslán k vyzvání uživatele, aby dokončil registraci (po provedení platby).Tato zpráva bude zaslána správci po dokončení registrace novým uživatelem. Pro její funkčnost je nutné výše aktivovat volbu „Odeslat oznámení správci“.Tento e-mail bude zaslán členům při hromadné aktivaci účtů a volbě oznámit akci.Tento e-mail bude zaslán uživatelům zaslán po upgradu účtu (jestliže stávající člen zaplatí za novou členskou úroveň).Tento e-mail bude zaslán uživatelům, jakmile dokončí registraci a stanou se členy.Tento e-mail bude zaslán uživatelům, pokud použijí funkci pro obnovení hesla.Tato chyba se zobrazí, když členský účet nemá odpovídající uživatelský účet WP. Plugin pak nemůže přihlásit uživatele do systému WP.Toto pole je vyžadovánoToto rozhraní slouží k přizpůsobení e-mailových zpráv, které jsou zasílány členům po různých akcích. Výchozí nastavení by mělo pomoci ke snadnějšímu začátku.Toto je stav účtu vybraného člena. Pokud chcete ručně aktivovat členský účet, jehož platnost vypršela, přečtěte siTato záložka slouží k nastavení některých pokročilých funkcí pluginu.Tato část slouží nastavení automatického vytváření členských účtů, jestliže jsou nové záznamy uživatelů WP vytvářeny jiným pluginem. Tato funkcionalita je užitečná pro rozpoznání záznamů uživatelů WP v pluginu WP Membership, pokud byly vytvořeny v některém z jiných pluginů.Tato část umožňuje nastavení podmínek a ujednání a zásad ochrany osobních údajů, které musí uživatelé přijmout v průběhu registrace.Hodnota je aktualizována při přihlášení člena k tomuto webu.NázevNástrojeID transakceTransakceFakturační částka za zkušební obdobíNastavení fakturace pro zkušební období (ponechte prázdné, pokud není nabízena zkušební doba)Zkušební fakturační obdobíTypZde zadejte hesloAktualizovatPoužít časové pásmo WordPressZapněte tuto volbu pokud chcete, aby došlo k automatickému přihlášení členů na stránky ihned po dokončení registrace. Tato volba přepíše jakákoli jiná přesměrování po registraci a zapne přesměrování po přihlášení. Další informace naleznete v této dokumentaci.Po zaškrtnutí této volby bude panel nástrojů pro správu zobrazen pouze uživatelům s oprávněním správce, pro ostatní uživatele zůstane panel skrytý.Zapněte tuto volbu pokud chcete používat časové pásmo specifikované v základním nastavení WordPressu.Uživatel nenalezen.Uživatel není přihlášen.Uživatelské jménoUživatelské jméno již existuje.Uživatelské jméno může obsahovat pouze: písmena, čísla a .-*@Uživatelské jméno obsahuje nepovolené znakyUživatelské jméno je vyžadovánoUživatelské jméno nebo e-mailUživatelské jméno může obsahovat pouze písmena, čísla a znaky .-_*@Pro dokončení registrace musí uživatel vyjádřit souhlasit se zásadami ochrany osobních údajů.Pro dokončení registrace musí uživatel vyjádřit souhlasit s podmínkami a ujednáními.Ověřování, prosím čekejteOvěřeníSvisléZobrazit dokumentaciZobrazit profilZobrazit obecný soubor protokolu ladění kliknutím Zobrazit soubor protokolu související s přihlašováním kliknutím WP MembershipVarování! Plugin Simple Membership nemůže zpracovat aktuální požadavek na přihlášení, aby nedošlo k nechtěnému odhlášení z WP Admin.URL koncového bodu Webhooktýdnech (přístup vyprší po zadaném počtu týdnůtýdnech (přístup vyprší po zadaném počtu týdnů)Při automatickém vytváření členského účtu pomocí této funkce bude stav účtu uživatele nastaven na zadanou hodnotu.Při automatickém vytváření členského účtu pomocí této funkce bude členská úroveň uživatele nastavena na zadanou hodnotu.Je-li tato volba zapnuta, uživatelé, jejichž členství již vypršelo, se mohu přihlásit do systému, ale nemohou zobrazit žádný chráněný obsah. Přihlášení do systému umožňuje snadné obnovení účtu zasláním další platby.WordPress umožňuje standardním uživatelům přejít na adresu wp-admin URL a získat přístup k profilu z řídicího panelu wp. Zaškrtnutí této volby zabrání všem uživatelům, kteří nemají oprávnění správce, přejít na řídicí panel wp.WordPress zobrazuje přihlášeným uživatelům webu panel nástrojů pro správu. Po zaškrtnutí této volby nebude panel nástrojů pro správu v rozhraní webu zobrazen.Pro zadanou e-mailovu adresu existuje WordPress účet, ale uživatelské jméno se neshoduje.Pro zadané uživatelské jméno existuje WordPress účet, ale e-mail se neshoduje.rocích (přístup vyprší po zadaném počtu roků)Ano, chránit tento obsah.Chystáte se odstranit účet, smazána budou i uživatelská data spojená s tímto účtem. Právě je upravována úroveň: Jste přihlášeni jako:V tomto prohlížeči jste přihlášeni jako uživatel ADMIN. Nejprve se odhlaste z WP Admin, poté se budete moci přihlásit jako normální člen.Nejste přihlášeni.Nejste přihlášeni jako členNa svém webu si můžete vytvořit stránku pro obnovení. Další informace naleznete v této dokumentaci, kde je popsáno, jak stránku pro obnovení vytvořit.Tlačítka pro platby za členství můžete vytvořit v tomto pluginu v nabídce Platby (užitečné v případě, že budete na webu nabízet placené členství).Pomocí tohoto rozhraní je možné vytvářet nová platební tlačítka.Pomocí tohoto rozhraní je možné upravovat platební tlačítka.V tomto rozhraní je možné upravovat podrobnosti vybrané členské úrovně. Zde je možné zadat adresu URL, na kterou je přeposláno oznámení o platbě, poté co je platba za členství tímto pluginem zpracována. Tato funkcionalita je užitečná v případě, kdy je vyžadováno zpracování oznámení o platbě externím skriptem.Zde můžete zadat adresu URL stránky, na kterou budou členové přesměrováni poté, co kliknou na odhlášení se z vašeho webu.Zde můžete zadat adresu URL stránky, na kterou budou členové přesměrováni po odeslání registračního formuláře. Další informace naleznete v této dokumentaci, kde je popsáno, jak nastavit přesměrování po registraci.Členskou úroveň libovolného člena můžete ručně změnit úpravou jeho záznamu v seznamu členů. Zde je možné ručně vygenerovat odkaz pro dokončení registrace a přeposlat jej zákazníkovi, pokud mu nedorazil e-mail, který je automaticky zasílán po obdržení platby.Pomocí následující volby můžete hromadně nastavit hodnotu data „Počátek přístupu“ u všech členů, kteří patří do níže vybrané úrovně.Pro návrat na webovou stránku můžete v prohlížeči použít tlačítko Zpět.Pomocí následující volby můžete hromadně změnit členskou úroveň u všech členů, kteří patří do níže vybrané úrovně.Po zaškrtnutí políčka bude aktuálnímu členovi zasláno e-mailem upozornění (zpráva bude odeslána po stisknutí tlačítka „Uložit data“ ).K prohlížení tohoto obsahu nemáte oprávnění.V nastavení pluginu máte zapnutý režim plateb v sandboxu. Pokud chcete provádět živé transakce, nezapomeňte tento režim vypnout.Musíte vyjádřit souhlas s podmínkami a ujednáními.Musíte vyjádřit souhlasit se zásadami ochrany osobních údajů.Pro upgrade členství musíte být přihlášeni.Účet je nutné aktivovat. Pokud jste neobdrželi e-mail, %s pro nové odeslání aktivační e-mailu.Je vyžadováno potvrzení e-mailovou adresy. Zkontrolujte prosím svůj e-mail a dokončete registraci podle obdržených pokynů.Pro zobrazení zbývající části obsahu musíte být přihlášeni. Pro zobrazení této stránky musíte být přihlášeni. Během několika sekund budete automaticky přesměrováni. Pokud ne, prosím% s.Heslo bylo změněno, je nutné se znovu přihlásit.Po provedení platby obdržíte e-mailem jedinečný odkaz, pomocí kterého dokončíte registraci prémiového členství.Platnost účtu vypršela. Vaše současné hesloK prohlížení tohoto obsahu nemáte dostatečnou úroveň oprávnění.Váš členský profil bude aktualizován tak, aby reflektoval přijatou platbu.Běžní návštěvníci nebo členové tuto zprávu nikdy neuvidí. Je určena POUZE pro uživatele ADMIN.Vaše uživatelské jméno: PSČdokumentaci ke hromadné ochraně příspěvků a stránekdokumentaci k ochraně kategoriínabídce Ochrany kategoriíklikněte semkliknutím semsemnekompletníobnovittuto dokumentacilanguages/simple-membership-nl_BE.mo000064400000027622147206617610013471 0ustar00,< .   "1Fe lw  06Sjq$  )@ FT mx1&  .E=\5# %CSl %'=  IW 0: S`fu|   #%CYk|1  ":Oa} 01G `l| 93 $$IZ$c' -4J^$u"  .D M[MMA((- &F M[l!&   G 'V ~       !"!"7!Z!t!! !! !&!B!+,"X"i"~""""<"9#S#-r###!###$$&$@$ V$-d$,$B$%%% %% %& &)& =& K&U&k&!t&& & &&& &&+&(%'N'e'y'';''' ''' ((:(K(k(~(#(((((()) ) ,)<9)v)) )))))C)@,*m*3** *)*&+ /+2P+(+++++++,&,E,`,z,,,,,,,-- -T-\-W.m.../T///)c"Aa E\Z%ofl03.D<F+{VxLz4Tru/e^5 S9BG,HWJ*O6#R=M:sNbg~(C7hk@ptj$28y-iQ |!v` q?>U;n '_IKdw[}1]& PXmY Email Settings (Account Upgrade Notification)(required)(twice, required)Account ExpiryAccount StateAccount StatusAccount is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Aready takenAssign free membership level IDAvailableBad Cookie HashCityCompanyCountryCreate a brand new user and add it to this site.Create new membership level.Default WordPress RoleDeleteDisplay SWPM Login.Do you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnter the Membership Level IDExample Content Protection SettingsExpiredFirst NameFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameJoin UsJoin Us Page URLLast NameLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelNeverNew password has been sent to your email address.No ExpiryNo Member found.Not a Member?ORPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Remember MeRepeat PasswordReset PasswordRoleSWPM LoginSelect the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsStateStreetStrength indicatorSubmitSubscription DurationSubscription StartsSubscription Valid ForSubscription starts field is invalidSubscriptoin duration must be > 0.Test & Debug SettingsUpdateUpdated Successfully.User NameUser Not Found.User nameUser name already exists.User name is requiredUsernameWP MembershipWordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.You are logged in as:You are not allowed to view this contentYou are not logged in.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view this content. ZipcodesearchProject-Id-Version: simple membership POT-Creation-Date: 2014-08-28 19:28+1000 PO-Revision-Date: 2015-09-08 12:04+0200 Language-Team: Henk Rostohar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.4 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=2; plural=(n != 1); Last-Translator: Language: nl X-Poedit-SearchPath-0: . e-mail instellingen (Account upgrade bericht)(verplicht)(tweemaal, verplicht)Vervaldatum AccountAccount statusStatus van de AccountAccount is inactief.Account status veld is ongeldigActiefLid toevoegenNieuwe toevoegenVoeg een nieuw lid toeVoeg nieuw lidmaatschapniveau toeReeds ingenomenToekennen gratis lidmaatschapniveau IDBeschikbaarSlechte cookie hashStadBedrijfLandMaak een volledig nieuwe gebruiker aan en voeg het toe aan deze websiteMaak een nieuw lidmaatschap niveau aan.Standaard Wordpress RolWisToon SWPM aanmeldenWil je deze inhoud afschermen?E-mailAanpassen LidgegevensBewerk lidmaatschapniveauURL van Bewerk profiel paginaBewerk gebruikerdataAanpassen details van bestaand lidBewerk lidmaatschapniveauBewerk lidmaatschapniveau.E-mailE-mail adresE-mail is ongeldige-mail bodyVerschillende instellingen voor e-mailE-mail instellingen (de vraag om de inschrijving te vervolledigen)E-mail instellingen ( Registratie Volledig)e-mail onderwerpE-mail bestaat reedsE-mail is ongeldigE-mail is vereistLaat Gratis Lidmaatschap toeLaat het Sandbox testen toeKies deze optie als je sandbox betaling testen wil toepassenRegistratie voor gratis lidmaatschapniveau aan-/uitzettenGeef het lidmaatschapniveau IDVoorbeeld van Inhoud beveiliging instellingenVerlopenVoornaamVoor alle hangende inschrijvingenWachtwoord vergetenGratis lidmaatschapniveau IDE-mail “Van” adres GeslachtGeslacht veld is ongeldigAlgemene instellingenGenereer CodeGenereer een ‘Inschrijving Volledig’ linkGenereer een link naar Inschrijving volledigGenereer de “Geavanceerde Variabelen” Code voor je PayPal knopVerberg administratiebalkTip : Het wachtwoord moet tenminste zeven karakters lang zijn. Om het nog sterker te maken gebruik je hoofd- en gewone letters, cijfers en symbolen zoals ! “ ? $ % ^ & ).IDNiet actiefGebruiker niet gevonden.Vervoeg onsURL van Sluit je aan paginaFamilienaammet succes afgemeldAangemeld alsAanmeldenURL van aanmeldpaginaAfmeldenBeheer de productie van de inhoudLidLid aanmeldenLid sedertLid sedert veld is niet geldigeLedenLidmaatschapLidmaatschapniveauLidmaatschapniveau kan niet gevonden wordenLidmaatschapniveau met succes aangemaaktLidmaatschapniveaunaamLidmaatschapniveausLidmaatschapniveauNooitEr werd een nieuw wachtwoord verzonden naar je e-mail adresGeen vervaldatumGeen lid gevondenGeen lid?OFPagina instellingenWachtwoordWachtwoord leeg of ongeldig.Wachtwoord resetURL van wachtwoord reset paginaWachtwoord vereistWachtwoord stemt niet oveenInstellingen voor PayPal integratieHangendTelefoonA.u.b.Corrigeer de volgende:Corrigeer de volgende:Plugin documentatieProfielRegistrerenInschrijvingDe inschrijving Volledig links zullen hieronder verschijnen:URL van inschrijvingspaginaRegistratie geluktHerinner meHerhaal wachtwoordReset wachtwoordRolSWPM aanmeldenKies het lidmaatschapniveau dat toegang mag hebben tot deze inhoud:Stuur een e-mail naar lid als toegevoegd via het Admin DashboardStuur een bericht naar AdminStuur ook een ‘inschrijving herinnering e-mail’Sessie is verlopenInstellingenEenvoudig Lidmaatschap bescherming optiesEenvoudige WP lidmaatschap beschermingEenvoudig WP lidmaatschap::LedenEenvoudige WP lidmaatschap::Lidmaatschapniveau’sEenvoudige WP lidmaatschap::InstellingenStaatStraatsterkte indicatorInsturenDuur van het lidmaatschapInschrijving start op Inschrijving geldig voorInschrijving start op veld is ongeldigInschrijvingsduur moet > 0Test & Debug instellingenUpdateMet succes geupdatedGebruikersnaamGebruiker niet gevonden.GebruikersnaamGebruikersnaam bestaat reedsGebruikersnaam vereistGebruikersnaamWP lidmaatschapWordpress toont een beheerdersbalk aan de aangemelde gebruikers. Vink dit vakje als je de beheerdersbalk wil verbergen op je websiteWordpress account bestaat met deze e-mail, maar de gebruikersnaam stemt niet overeenWordpress account bestaat met deze gebruikersnaam, maar het opgegegeven e-mail is niet juistJe bent ingelogd als:Je mag deze inhoud niet zienJe bent niet aangemeldJe kan hier manueel een inschrijving volledig link genereren en het aan je klant geven als ze de e-mail niet gezien hebben dat automatisch verstuurd werd nadat ze betaald hadden.Je moet je aanmelden om deze inhoud te bekijkenPostcodezoeklanguages/simple-membership-sr_RS.po000064400000062043147206617610013541 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2015-05-25 20:03+0100\n" "PO-Revision-Date: 2015-05-25 20:03+0100\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "Language: sr_RS\n" "X-Poedit-SearchPath-0: .\n" #: simple-membership/classes/class.bAccessControl.php:21 #: simple-membership/classes/class.bAccessControl.php:28 #: simple-membership/classes/class.bAccessControl.php:48 msgid "You need to login to view this content. " msgstr "" #: simple-membership/classes/class.bAccessControl.php:35 #: simple-membership/classes/class.bAccessControl.php:39 #: simple-membership/classes/class.bAccessControl.php:54 msgid "You are not allowed to view this content" msgstr "" #: simple-membership/classes/class.bAccessControl.php:72 msgid "You do no have permission to view rest of the content" msgstr "" #: simple-membership/classes/class.bAccessControl.php:76 #: simple-membership/classes/class.bAccessControl.php:94 msgid "You need to login to view the rest of the content. " msgstr "" #: simple-membership/classes/class.bAdminRegistration.php:49 msgid "Registration Successful." msgstr "" #: simple-membership/classes/class.bAdminRegistration.php:54 #: simple-membership/classes/class.bAdminRegistration.php:89 #: simple-membership/classes/class.bMembershipLevel.php:42 #: simple-membership/classes/class.bMembershipLevel.php:60 msgid "Please correct the following:" msgstr "" #: simple-membership/classes/class.bAjax.php:17 #: simple-membership/classes/class.bAjax.php:28 msgid "Aready taken" msgstr "" #: simple-membership/classes/class.bAjax.php:29 msgid "Available" msgstr "" #: simple-membership/classes/class.bAuth.php:46 #: simple-membership/classes/class.bFrontRegistration.php:173 msgid "User Not Found." msgstr "" #: simple-membership/classes/class.bAuth.php:53 msgid "Password Empty or Invalid." msgstr "" #: simple-membership/classes/class.bAuth.php:76 msgid "Account is inactive." msgstr "" #: simple-membership/classes/class.bAuth.php:93 msgid "Account has expired." msgstr "" #: simple-membership/classes/class.bAuth.php:100 msgid "You are logged in as:" msgstr "" #: simple-membership/classes/class.bAuth.php:139 msgid "Logged Out Successfully." msgstr "" #: simple-membership/classes/class.bAuth.php:186 msgid "Session Expired." msgstr "" #: simple-membership/classes/class.bAuth.php:194 msgid "Invalid User Name" msgstr "" #: simple-membership/classes/class.bAuth.php:202 msgid "Sorry! Something went wrong" msgstr "" #: simple-membership/classes/class.bCategoryList.php:15 #: simple-membership/classes/class.bMembers.php:21 #: simple-membership/classes/class.bMembershipLevels.php:8 #: simple-membership/classes/class.bMembershipLevels.php:17 #: simple-membership/views/add.php:30 #: simple-membership/views/admin_member_form_common_part.php:2 #: simple-membership/views/edit.php:52 msgid "Membership Level" msgstr "" #: simple-membership/classes/class.bCategoryList.php:16 #: simple-membership/classes/class.bMembershipLevels.php:9 #: simple-membership/classes/class.simple-wp-membership.php:464 msgid "Membership Levels" msgstr "" #: simple-membership/classes/class.bCategoryList.php:29 #: simple-membership/classes/class.bMembers.php:16 #: simple-membership/classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "" #: simple-membership/classes/class.bCategoryList.php:30 msgid "Name" msgstr "" #: simple-membership/classes/class.bCategoryList.php:31 msgid "Description" msgstr "" #: simple-membership/classes/class.bCategoryList.php:32 msgid "Count" msgstr "" #: simple-membership/classes/class.bCategoryList.php:63 msgid "Updated! " msgstr "" #: simple-membership/classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "" #: simple-membership/classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" #: simple-membership/classes/class.bForm.php:40 msgid "User name is required" msgstr "" #: simple-membership/classes/class.bForm.php:44 msgid "User name contains invalid character" msgstr "" #: simple-membership/classes/class.bForm.php:52 msgid "User name already exists." msgstr "" #: simple-membership/classes/class.bForm.php:75 msgid "Password is required" msgstr "" #: simple-membership/classes/class.bForm.php:82 msgid "Password mismatch" msgstr "" #: simple-membership/classes/class.bForm.php:98 msgid "Email is required" msgstr "" #: simple-membership/classes/class.bForm.php:102 msgid "Email is invalid" msgstr "" #: simple-membership/classes/class.bForm.php:118 msgid "Email is already used." msgstr "" #: simple-membership/classes/class.bForm.php:184 msgid "Member since field is invalid" msgstr "" #: simple-membership/classes/class.bForm.php:195 msgid "Access starts field is invalid" msgstr "" #: simple-membership/classes/class.bForm.php:205 msgid "Gender field is invalid" msgstr "" #: simple-membership/classes/class.bForm.php:216 msgid "Account state field is invalid" msgstr "" #: simple-membership/classes/class.bForm.php:223 msgid "Invalid membership level" msgstr "" #: simple-membership/classes/class.bFrontRegistration.php:61 msgid "Registration Successful. " msgstr "" #: simple-membership/classes/class.bFrontRegistration.php:61 #: simple-membership/classes/class.bSettings.php:367 msgid "Please" msgstr "" #: simple-membership/classes/class.bFrontRegistration.php:61 #: simple-membership/classes/class.bSettings.php:367 #: simple-membership/views/login.php:21 msgid "Login" msgstr "Uloguj se" #: simple-membership/classes/class.bFrontRegistration.php:72 #: simple-membership/classes/class.bFrontRegistration.php:152 msgid "Please correct the following" msgstr "" #: simple-membership/classes/class.bFrontRegistration.php:106 msgid "Membership Level Couldn't be found." msgstr "" #: simple-membership/classes/class.bFrontRegistration.php:162 msgid "Email Address Not Valid." msgstr "" #: simple-membership/classes/class.bFrontRegistration.php:193 msgid "New password has been sent to your email address." msgstr "" #: simple-membership/classes/class.bLevelForm.php:47 msgid "Date format is not valid." msgstr "" #: simple-membership/classes/class.bLevelForm.php:54 msgid "Access duration must be > 0." msgstr "" #: simple-membership/classes/class.bMembers.php:7 msgid "Member" msgstr "" #: simple-membership/classes/class.bMembers.php:8 #: simple-membership/classes/class.simple-wp-membership.php:462 msgid "Members" msgstr "" #: simple-membership/classes/class.bMembers.php:17 #: simple-membership/views/add.php:6 simple-membership/views/edit.php:4 msgid "User Name" msgstr "" #: simple-membership/classes/class.bMembers.php:18 #: simple-membership/views/add.php:22 #: simple-membership/views/admin_member_form_common_part.php:15 #: simple-membership/views/edit.php:20 msgid "First Name" msgstr "" #: simple-membership/classes/class.bMembers.php:19 #: simple-membership/views/add.php:26 #: simple-membership/views/admin_member_form_common_part.php:19 #: simple-membership/views/edit.php:24 msgid "Last Name" msgstr "" #: simple-membership/classes/class.bMembers.php:20 #: simple-membership/views/add.php:10 simple-membership/views/edit.php:8 msgid "Email" msgstr "" #: simple-membership/classes/class.bMembers.php:22 #: simple-membership/views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "" #: simple-membership/classes/class.bMembers.php:23 msgid "Account State" msgstr "" #: simple-membership/classes/class.bMembers.php:35 #: simple-membership/classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "" #: simple-membership/classes/class.bMembers.php:101 msgid "No Member found." msgstr "" #: simple-membership/classes/class.bMembershipLevel.php:37 msgid "Membership Level Creation Successful." msgstr "" #: simple-membership/classes/class.bMembershipLevel.php:56 msgid "Updated Successfully." msgstr "" #: simple-membership/classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "" #: simple-membership/classes/class.bMembershipLevels.php:19 msgid "Access Valid For/Until" msgstr "" #: simple-membership/classes/class.bSettings.php:30 msgid "Plugin Documentation" msgstr "" #: simple-membership/classes/class.bSettings.php:32 msgid "General Settings" msgstr "" #: simple-membership/classes/class.bSettings.php:34 msgid "Enable Free Membership" msgstr "" #: simple-membership/classes/class.bSettings.php:37 msgid "Enable/disable registration for free membership level" msgstr "" #: simple-membership/classes/class.bSettings.php:38 msgid "Free Membership Level ID" msgstr "" #: simple-membership/classes/class.bSettings.php:41 msgid "Assign free membership level ID" msgstr "" #: simple-membership/classes/class.bSettings.php:42 msgid "Enable More Tag Protection" msgstr "" #: simple-membership/classes/class.bSettings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" #: simple-membership/classes/class.bSettings.php:46 msgid "Hide Adminbar" msgstr "" #: simple-membership/classes/class.bSettings.php:49 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" #: simple-membership/classes/class.bSettings.php:51 msgid "Default Account Status" msgstr "" #: simple-membership/classes/class.bSettings.php:56 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" #: simple-membership/classes/class.bSettings.php:62 msgid "Pages Settings" msgstr "" #: simple-membership/classes/class.bSettings.php:64 msgid "Login Page URL" msgstr "" #: simple-membership/classes/class.bSettings.php:68 msgid "Registration Page URL" msgstr "" #: simple-membership/classes/class.bSettings.php:72 msgid "Join Us Page URL" msgstr "" #: simple-membership/classes/class.bSettings.php:76 msgid "Edit Profile Page URL" msgstr "" #: simple-membership/classes/class.bSettings.php:80 msgid "Password Reset Page URL" msgstr "" #: simple-membership/classes/class.bSettings.php:85 msgid "Test & Debug Settings" msgstr "" #: simple-membership/classes/class.bSettings.php:91 msgid "Enable Sandbox Testing" msgstr "" #: simple-membership/classes/class.bSettings.php:94 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" #: simple-membership/classes/class.bSettings.php:104 msgid "Email Misc. Settings" msgstr "" #: simple-membership/classes/class.bSettings.php:106 msgid "From Email Address" msgstr "" #: simple-membership/classes/class.bSettings.php:111 msgid "Email Settings (Prompt to Complete Registration )" msgstr "" #: simple-membership/classes/class.bSettings.php:113 #: simple-membership/classes/class.bSettings.php:124 #: simple-membership/classes/class.bSettings.php:143 msgid "Email Subject" msgstr "" #: simple-membership/classes/class.bSettings.php:117 #: simple-membership/classes/class.bSettings.php:128 #: simple-membership/classes/class.bSettings.php:147 msgid "Email Body" msgstr "" #: simple-membership/classes/class.bSettings.php:122 msgid "Email Settings (Registration Complete)" msgstr "" #: simple-membership/classes/class.bSettings.php:132 msgid "Send Notification To Admin" msgstr "" #: simple-membership/classes/class.bSettings.php:136 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" #: simple-membership/classes/class.bSettings.php:141 msgid " Email Settings (Account Upgrade Notification)" msgstr "" #: simple-membership/classes/class.bSettings.php:367 msgid "Not a Member?" msgstr "" #: simple-membership/classes/class.bSettings.php:367 #: simple-membership/views/login.php:27 msgid "Join Us" msgstr "" #: simple-membership/classes/class.bUtils.php:63 msgid "Active" msgstr "" #: simple-membership/classes/class.bUtils.php:64 msgid "Inactive" msgstr "" #: simple-membership/classes/class.bUtils.php:65 msgid "Pending" msgstr "" #: simple-membership/classes/class.bUtils.php:66 msgid "Expired" msgstr "" #: simple-membership/classes/class.bUtils.php:251 msgid "Never" msgstr "" #: simple-membership/classes/class.miscUtils.php:51 msgid "Registration" msgstr "" #: simple-membership/classes/class.miscUtils.php:74 msgid "Member Login" msgstr "" #: simple-membership/classes/class.miscUtils.php:97 msgid "Profile" msgstr "" #: simple-membership/classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:184 msgid "You are not logged in." msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:215 msgid "Simple WP Membership Protection" msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:228 msgid "Simple Membership Protection options" msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:244 msgid "Do you want to protect this content?" msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:249 msgid "Select the membership level that can access this content:" msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:459 msgid "WP Membership" msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:466 msgid "Settings" msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:468 msgid "Add-ons" msgstr "" #: simple-membership/views/add.php:14 simple-membership/views/admin_add.php:19 #: simple-membership/views/admin_edit.php:17 #: simple-membership/views/edit.php:12 simple-membership/views/login.php:11 msgid "Password" msgstr "" #: simple-membership/views/add.php:18 simple-membership/views/edit.php:16 msgid "Repeat Password" msgstr "" #: simple-membership/views/add.php:37 msgid "Register" msgstr "" #: simple-membership/views/admin_add.php:6 msgid "Add Member" msgstr "" #: simple-membership/views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "" #: simple-membership/views/admin_add.php:11 msgid "User name" msgstr "" #: simple-membership/views/admin_add.php:11 #: simple-membership/views/admin_add.php:15 #: simple-membership/views/admin_add_level.php:11 #: simple-membership/views/admin_add_level.php:15 #: simple-membership/views/admin_add_level.php:19 #: simple-membership/views/admin_edit.php:9 #: simple-membership/views/admin_edit.php:13 #: simple-membership/views/admin_edit_level.php:10 #: simple-membership/views/admin_edit_level.php:14 #: simple-membership/views/admin_edit_level.php:18 msgid "(required)" msgstr "" #: simple-membership/views/admin_add.php:15 #: simple-membership/views/admin_edit.php:13 msgid "E-mail" msgstr "" #: simple-membership/views/admin_add.php:19 msgid "(twice, required)" msgstr "" #: simple-membership/views/admin_add.php:24 #: simple-membership/views/admin_edit.php:21 msgid "Strength indicator" msgstr "" #: simple-membership/views/admin_add.php:25 #: simple-membership/views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" #: simple-membership/views/admin_add.php:29 #: simple-membership/views/admin_edit.php:26 #: simple-membership/views/loggedin.php:7 msgid "Account Status" msgstr "" #: simple-membership/views/admin_add.php:36 msgid "Add New Member " msgstr "" #: simple-membership/views/admin_addon_settings.php:2 #: simple-membership/views/admin_payment_settings.php:2 #: simple-membership/views/admin_settings.php:2 #: simple-membership/views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "" #: simple-membership/views/admin_addon_settings.php:7 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" #: simple-membership/views/admin_add_level.php:6 msgid "Create new membership level." msgstr "" #: simple-membership/views/admin_add_level.php:11 #: simple-membership/views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "" #: simple-membership/views/admin_add_level.php:15 #: simple-membership/views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "" #: simple-membership/views/admin_add_level.php:19 #: simple-membership/views/admin_edit_level.php:18 msgid "Access Duration" msgstr "" #: simple-membership/views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" #: simple-membership/views/admin_add_level.php:23 #: simple-membership/views/admin_add_level.php:25 #: simple-membership/views/admin_add_level.php:27 #: simple-membership/views/admin_add_level.php:29 #: simple-membership/views/admin_edit_level.php:22 #: simple-membership/views/admin_edit_level.php:25 #: simple-membership/views/admin_edit_level.php:28 #: simple-membership/views/admin_edit_level.php:31 msgid "Expire After" msgstr "" #: simple-membership/views/admin_add_level.php:24 #: simple-membership/views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "" #: simple-membership/views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "" #: simple-membership/views/admin_add_level.php:28 #: simple-membership/views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "" #: simple-membership/views/admin_add_level.php:30 #: simple-membership/views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "" #: simple-membership/views/admin_add_level.php:31 #: simple-membership/views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "" #: simple-membership/views/admin_add_level.php:32 #: simple-membership/views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "" #: simple-membership/views/admin_add_level.php:36 msgid "Access to older posts." msgstr "" #: simple-membership/views/admin_add_level.php:39 msgid "Only allow access to posts published after the user's join date." msgstr "" #: simple-membership/views/admin_add_level.php:45 msgid "Add New Membership Level " msgstr "" #: simple-membership/views/admin_add_ons_page.php:6 msgid "Simple WP Membership::Add-ons" msgstr "" #: simple-membership/views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "" #: simple-membership/views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" #: simple-membership/views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" #: simple-membership/views/admin_edit.php:5 msgid "Edit Member" msgstr "" #: simple-membership/views/admin_edit.php:6 msgid "Edit existing member details." msgstr "" #: simple-membership/views/admin_edit.php:9 #: simple-membership/views/login.php:5 msgid "Username" msgstr "" #: simple-membership/views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "" #: simple-membership/views/admin_edit.php:33 msgid "Notify User" msgstr "" #: simple-membership/views/admin_edit.php:40 msgid "Edit User " msgstr "" #: simple-membership/views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "" #: simple-membership/views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "" #: simple-membership/views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" #: simple-membership/views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "" #: simple-membership/views/admin_edit_level.php:40 msgid "Protect Older Posts (optional)" msgstr "" #: simple-membership/views/admin_edit_level.php:43 msgid "" "Only allow access to protected posts published after the members's join date." msgstr "" #: simple-membership/views/admin_edit_level.php:51 msgid "Edit Membership Level " msgstr "" #: simple-membership/views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "" #: simple-membership/views/admin_members.php:3 #: simple-membership/views/admin_members.php:19 #: simple-membership/views/admin_membership_levels.php:20 msgid "Add New" msgstr "" #: simple-membership/views/admin_members.php:9 #: simple-membership/views/admin_membership_levels.php:10 msgid "search" msgstr "" #: simple-membership/views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "" #: simple-membership/views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "" #: simple-membership/views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "" #: simple-membership/views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "" #: simple-membership/views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:30 #: simple-membership/views/edit.php:28 msgid "Phone" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:34 #: simple-membership/views/edit.php:32 msgid "Street" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:38 #: simple-membership/views/edit.php:36 msgid "City" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:42 #: simple-membership/views/edit.php:40 msgid "State" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:46 #: simple-membership/views/edit.php:44 msgid "Zipcode" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:50 #: simple-membership/views/edit.php:48 msgid "Country" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:54 msgid "Company" msgstr "" #: simple-membership/views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "" #: simple-membership/views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "" #: simple-membership/views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" #: simple-membership/views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "" #: simple-membership/views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "" #: simple-membership/views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "" #: simple-membership/views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" #: simple-membership/views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "" #: simple-membership/views/admin_tools_settings.php:20 msgid "OR" msgstr "" #: simple-membership/views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "" #: simple-membership/views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "" #: simple-membership/views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "" #: simple-membership/views/admin_tools_settings.php:34 msgid "Submit" msgstr "" #: simple-membership/views/edit.php:58 msgid "Update" msgstr "" #: simple-membership/views/forgot_password.php:5 msgid "Email Address" msgstr "" #: simple-membership/views/forgot_password.php:12 msgid "Reset Password" msgstr "" #: simple-membership/views/loggedin.php:3 msgid "Logged in as" msgstr "" #: simple-membership/views/loggedin.php:11 msgid "Membership" msgstr "" #: simple-membership/views/loggedin.php:15 msgid "Account Expiry" msgstr "" #: simple-membership/views/loggedin.php:19 msgid "Logout" msgstr "" #: simple-membership/views/login.php:18 msgid "Remember Me" msgstr "" #: simple-membership/views/login.php:24 msgid "Forgot password" msgstr "" languages/simple-membership-ru_RU.mo000064400000100311147206617610013531 0ustar00", <P.QD    +2D Tby  > EPXh M@Y%p    2 ?IZ kx*-9IQW0_0+2 A$Mr y   ,7L[1{&  # 5 R i  [ = 5!!i"R"#" " ## #)# 8#C# $$=$M$f$y$$$ $%$'$=% C%Q%%%&&&&&&' ' ('2' K'X'^'m't'' '' '!''' ((#"(%F(l((((4((()1)K)P)@)A;*}**&* * ****+ +&+5+M+b+#t+ ++(+++ , ,1,B,K,S,Y,`,},,,,,X,C-Y- b-0o--- --- -. . ..1./8.*h. . ...3. /9/3/0$)0N0_0t00000$00131 Q1r1'11k1!C2e22222 2222C38J3333J33 44*4:4Q4Z4#s44 4 41424,55L6L627N7d7!{7L737838(9S/99?9999:l<un< <<F=L=fe=&=1=%>>A>W>;>,?.A?(p?I?0?O@Nd@@#@@0A97AqA'A"A)AA^ BijB?BbC wCCCHCTCHD!YD{D0D!DD.D)EEEeEE3EbE 0F^;FTFFG GX"G8{GG'GlGFRH*HHHH=I@I#GI.kI@I)IVJ.\J/JJJ!JJ,K4;KNpKaKG!LiL8L'LRL*3MF^M6M5MNNaN2O%OP-Q!R[R!!SCS_SrS$SS-SRTH0UyU5U&UU&UV8|oHNi@U#eSqpb35(K Email Settings (Account Upgrade Notification) The rest of the content is not permitted for your membership level.%1$s %2$d%s pending(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.AmountApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton ShortcodeButton TitleBuy NowCategory ProtectionCategory protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Example Content Protection SettingsExcerpt ViewExpire AfterExpiredExpiry: Filter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameList ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameName contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.No items found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease correct the followingPlease correct the following:Please login again.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful. Remember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSave ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email tooSession Expired.Set Status to ActiveSet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!Simple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content can only be viewed by members who joined on or before This content is not permitted for your membership level.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUpdated Successfully.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredView ProfileWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not logged in.You are not logged-in as a memberYou can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: ZipcodesearchProject-Id-Version: simple membership POT-Creation-Date: 2016-04-13 12:13+0300 PO-Revision-Date: 2016-04-13 13:03+0300 Last-Translator: Vladimir Vaulin Language-Team: Language: ru_RU MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Poedit-SearchPath-0: . Настройки писем (Уведомление об обновлении учетной записи)Остальная часть контента не доступна для вашего уровня доступа.%1$s %2$d%s в ожидании(Доступ истекает в фиксированную дату)(обязательно)(дважды, оставьте пустым, чтобы сохранить старый пароль)(дважды, обязательно)Продолжительность доступаНачало доступаДоступ действителен в течение / доПродолжительность доступа должен быть больше 0.Неверное поле „начало доступа”Учетная запись истекаетСостояние учетной записиСтатус учетной записиСрок действия вашего аккаунта истекает.Учетная запись не активна.Ваша учетная запись ожидает подтверждения.Неверное поле „состояние учетной записи”АктивныйДобавить участникаДобавить новогоДобавить нового участникаДобавить новый уровень доступаДополненияНастройка дополненийEmail администратораРасширенные настройкиВсе датыВсе кнопки, созданные в плагине отображаются здесь.Все платежи / операции ваших членов регистрируются здесь.Разрешить удаления учетной записиРазрешить пользователям удалять свои учетные записи.СуммаПрименитьУже занято.Присвоить ID бесплатного уровня доступаАвтоматическое удаление аккаунтов в ОжиданииДоступноСтоимость за цикл:Платежный циклПлатежный цикл КоличествоМассовые действияID кнопкиURL изображения для кнопкиШорткод кнопкиЗаголовок КнопкиКупить сейчасЗащита рубрикЗащита категории обновлена!Установите этот флажок, чтобы включить ведение логов.ГородНажмите здесь, чтобы завершить платную регистрациюДля завершения регистрации нажмите на ссылку.КомпанияКоличествоСтранаСоздать нового участника и добавить его на сайт.Создать новый уровень доступа.ДатаНеверный формат даты.Дни (Доступ заканчивается после заданного количества дней)Состояние учетной записи по умолчаниюРоль WordPress по умолчаниюУдалитьУдалить аккаунтОписаниеВы хотите защитить этот материал?E-mailИзменить участникаИзменить уровень доступаURL страницы редактирования профиляИзменить пользователяРедактировать данные существующего участника.Изменить уровень доступаИзменить уровень доступа.E-mailАдрес e-mailЭлектронная почтаТекст письмаРазличные настройки e-mailНастройки электронной почтыНастройки электронной почты (Сброс пароля)Настройки писем (Запрос о подтверждении регистрации)Настройки писем (Успешная регистрация)Тема письмаЭтот e-mail адрес недействителен.E-mail уже используется.Указан некорректный адрес электронной почтыПожалуйста, укажите emailРазрешить вход для истекших аккаунтовВключить бесплатное членствоВключить защиту Читать далееРазрешить тестирование в режиме песочницыВключите эту опцию, если вы хотите, чтобы администратор получал уведомление, когда пользователь зарегистрирован.Включите эту настройку, если вы хотите проводить платежи в тестовом режиме.Включение / выключение регистрации для бесплатного уровня доступа. При включении этой опции, убедитесь, что для уровня бесплатного доступа указан ID в поле ниже.Включает или отключает защиту Читать далее в постах и страницах. Все, что после тега Читать далее будет защищено. Все, что до будет играть роль тизер.Введите ID уровня доступаВведите адрес электронной почты, на который будут приходить уведомления администратора.Пример настроек управления доступом к материаламПоказать выдержкуИстекает черезПросроченИстекаетФильтровать по датеИмяСначала защитите ваш сайт включив „Общую защиту” из выпадающего списка ниже и выберите категории, которые должны быть защищены от неавторизованный пользователейФиксированная дата истечения срока действияДля всех не подтвержденных регистрацийЗабыли парольID бесплатного уровня доступаАдрес отправки писемПолНеверное поле „пол”Общие настройкиГенерировать кодГенерировать ссылку для завершения регистрацииГенерировать ссылку для завершения регистрацииГенерировать код "Advanced Variables" для вашей кнопки PayPalСпрятать панель администрированияПодсказка: пароль должен быть не короче 7 символов. Чтобы усилить пароль, используйте заглавные и строчные буквы, цифры и символы ! " ? $ % ^ & ).IDЕсли вы только что сделали платёж, то он еще не обработан. Пожалуйста, проверьте еще раз через несколько минут. Подробная информация будет отправлена вам на почту в ближайшее время.НеактивныйНекорректный Email!Неверное имя пользователяНеверный уровень доступаПрисоединяйтесь к намURL страницы для новичковПоследний доступ с IPФамилияВид: списокВы успешно вышли.Вход какВойдитеURL страницы логинаВыйтиУправление доступом к материаламУчастникВход для участниковПрофиль пользователяУчастник сПользователь успешно добавлен.Неверное поле „дата присоединения”УчастникиУчастиеУровень доступаУровень доступа не найден.Уровень доступа успешно создан.ID уровня доступаНазвание уровня доступаУровни доступаУровень доступаМесяцы (Доступ истекает после заданного числа месяцев)ИмяИмя содержит недопустимый символНикогдаНа ваш адрес e-mail выслан новый пароль.ДалееЗатем выберите существующий уровень доступа из выпадающего списка ниже, а затем выберите категории, к которым требуется предоставить доступ (для конкретного уровня доступа).Нет истечения срока действия (доступ для этого уровня не истекает до отмены)Нет истечения срока действия (доступ для этого уровня не истекает до отмены)Участник не найден.Ничего не найдено.Учетная запись с этим адресом электронной почты не найдена.Не участник?Оповестить пользователяИЛИДополнительные сведенияНастройки страницПарольПароль пустой или неверный.Сброс пароляURL страницы сброса пароляПароль обязателенПароль не совпадаетКонфигурация кнопки PayPal Купить сейчасPayPay E-mailНастройки интеграции с PayPalPayPay подписка, настройка кнопкиСумма платежаID кнопки оплатыНазвание кнопки оплатыВалюта платежаНастройки оплатыПлатежиВ ожиданииТелефонПожалуйста,Пожалуйста, исправьте следующие ошибкиПожалуйста, исправьте следующие ошибки:Пожалуйста, войдите снова.Документация плагинаУчетная записьВаш профиль успешно обновлен.Профиль успешно обновлен. Вам нужно будет заново войти, так как вы изменили свой пароль.Повторная попытка при сбоеЗарегистрироватьсяРегистрацияСсылки для завершения регистрации появятся ниже:URL страницы регистрацииРегистрация прошла успешно.Запомнить меняПовторите парольСбросить парольURL возвратаРольID строкиСохранить измененияСохранить данные платежейПоискПоиск транзакции с помощью электронной почты или имениПроверка безопасности: проверка CAPTCHA, не удалось.Выбрать всеВыбрать страницуВыбор типа кнопки оплатыВыберите действиеВыберите, как долго вы хотите хранить аккаунты в Ожидании.Выберите статус учетной записи по умолчанию для вновь зарегистрированных пользователей. Если вы хотите, чтобы вручную подтверждать членов, то вы можете установить статус ОжиданиеВыберите уровень доступа, которому будет разрешен доступ к этому материалу:Отправлять уведомление участнику, когда он добавлен администраторомОтправить уведомление администраторуОтправить также письмо с напоминанием о регистрацииСессия истекла.Установить статус АктивныйУстановить статус ИстекУстановить статус НеактивныйУстановить статус ОжиданиеНастройкиНастройки обновлены!Настройки защиты Simple MembershipSimple Membership::ПлатежиЗащита Simple WP MembershipSimple WP Membership::ДополненияSimple WP Membership::КатегорииSimple WP Membership::УчастникиSimple WP Membership::Уровни доступаSimple WP Membership::НастройкиНекоторые из настроек дополнения будут отображаться здесьК сожалению, проверка Nonce не удалось.Введенные пароли не совпадают.Регион/ШтатУлицаНадёжность пароляОтправитьПодпишитесь сейчасID подписчика / РеференсНастройки тестирования и отладкиВыбранная запись была удалена!Это содержание может быть просмотрено только пользователями, которые присоединилисьЭтот контент не доступен для вашего уровня доступа.ИнструментыID транзакцииСумма к оплате пробного периодаTrial Платежная информация (оставьте пустым, если вы не используете Trial)Пробный период, BillingОбновитьУспешно обновлено.Пользователь не найден.Пользователь не вошел в систему.Имя пользователяИмя пользователя уже используется.Имя пользователя содержит недопустимые символыПожалуйста, введите имя пользователя.Показать профильWP MembershipНедели (Доступ истекает после заданного числа недель)Недели (Доступ истекает после заданного числа недель)Если эта функция включена, участники с истекшими аккаунтами смогут войти в систему, но не будут иметь возможность просматривать любой защищенный контент. Это позволяет им легко обновить свой счет, сделав еще один платеж.Всем вошедшим пользователям WordPress показывает панель администрирования. Поставьте этот флажок, если вы хотите прятать панель администрирования со страниц вашего сайта.Пользователь Wordpress уже существует с такой почтой. Но имена пользователей не совпадают. Свяжитесь с техподдержкой.Пользователь Wordpress уже существует с таким именем. Но адреса электронной почты не совпадают. Свяжитесь с техподдержкой.Годы (Доступ истекает после заданного числа лет)Вы вошли как:Вы не вошли на сайт.Вы не авторизованы, пожалуйста войдитеВы можете создать новую кнопку оплаты для ваших участников, используя этот интерфейс.Вы можете изменить кнопку оплаты с помощью этого интерфейса.Вы можете вручную сгенерировать ссылку для завершения регистрации и передать её клиенту, если он пропустил письмо, отправленное автоматически после совершения платежа.Вам необходимо войти в систему для просмотра остального контента.Вам необходимо войти, чтобы увидеть этот материал.Ваш аккаунт истек. Пожалуйста, продлите срок действия аккаунта, чтобы получить доступ к этому контенту.Текущий парольВаш профиль будет обновлен сразу после завершения оплаты.Ваше имя пользователя:Индекспоискlanguages/simple-membership-de_DE.po000064400000472663147206617610013466 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2023-02-28 19:14+1100\n" "PO-Revision-Date: 2023-06-11 17:16+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.3.1\n" "X-Poedit-KeywordsList: __;_e;e\n" "X-Poedit-Basepath: .\n" "X-Poedit-SearchPath-0: .\n" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Payment Button ID" msgstr "Button-ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 msgid "Payment Button Title" msgstr "Button-Titel" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:81 msgid "Membership Level ID" msgstr "Mitgliedschaftsstufen-ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:82 msgid "Button Type" msgstr "Button-Typ" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:83 msgid "Button Shortcode" msgstr "Button-Kurzbezeichnung" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:98 classes/admin-includes/class.swpm-payments-list-table.php:118 #: classes/class.swpm-members.php:51 classes/class.swpm-membership-levels.php:36 msgid "Delete" msgstr "Löschen" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:135 views/admin_members_list.php:8 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "Der ausgewählte Eintrag wurde gelöscht!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:23 msgid "Simple Membership::Payments" msgstr "Simple Membership::Zahlungen" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 msgid "Transactions" msgstr "Transaktionen" #: classes/admin-includes/class.swpm-payments-admin-menu.php:28 msgid "Manage Payment Buttons" msgstr "Zahlungsbuttons verwalten" #: classes/admin-includes/class.swpm-payments-admin-menu.php:29 views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Neuen Button erstellen" #: classes/admin-includes/class.swpm-payments-list-table.php:73 msgid "View Profile" msgstr "Profil anzeigen" #: classes/admin-includes/class.swpm-payments-list-table.php:91 msgid "Row ID" msgstr "ID" #: classes/admin-includes/class.swpm-payments-list-table.php:92 views/forgot_password.php:5 #: views/payments/admin_add_edit_transaction_manually.php:75 msgid "Email Address" msgstr "E-Mail-Adresse" #: classes/admin-includes/class.swpm-payments-list-table.php:93 classes/class.swpm-members.php:23 views/add.php:34 #: views/admin_member_form_common_part.php:6 views/edit.php:39 views/payments/admin_add_edit_transaction_manually.php:83 msgid "First Name" msgstr "Vorname" #: classes/admin-includes/class.swpm-payments-list-table.php:94 classes/class.swpm-members.php:24 views/add.php:38 #: views/admin_member_form_common_part.php:10 views/edit.php:43 views/payments/admin_add_edit_transaction_manually.php:91 msgid "Last Name" msgstr "Nachname" #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Member Profile" msgstr "Mitgliedsprofil" #: classes/admin-includes/class.swpm-payments-list-table.php:96 classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 views/payments/admin_add_edit_transaction_manually.php:125 msgid "Date" msgstr "Datum" #: classes/admin-includes/class.swpm-payments-list-table.php:97 views/payments/admin_add_edit_transaction_manually.php:133 msgid "Transaction ID" msgstr "Transaktions-ID" #: classes/admin-includes/class.swpm-payments-list-table.php:98 views/payments/admin_add_edit_transaction_manually.php:141 msgid "Subscriber ID" msgstr "Abonnenten-ID" #: classes/admin-includes/class.swpm-payments-list-table.php:99 views/payments/admin_add_edit_transaction_manually.php:117 msgid "Amount" msgstr "Betrag" #: classes/admin-includes/class.swpm-payments-list-table.php:100 classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:26 #: classes/class.swpm-membership-levels.php:11 classes/class.swpm-membership-levels.php:21 classes/class.swpm-post-list.php:20 views/add.php:42 #: views/admin_add.php:37 views/admin_edit.php:74 views/admin_members_list.php:50 views/edit.php:75 #: views/payments/admin_add_edit_transaction_manually.php:107 views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 views/payments/payment-gateway/admin_paypal_buy_now_button.php:232 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:176 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 views/payments/payment-gateway/admin_paypal_subscription_button.php:320 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:198 views/payments/payment-gateway/admin_stripe_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:330 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:328 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:108 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:108 msgid "Membership Level" msgstr "Mitgliedschaftsstufe" #: classes/admin-includes/class.swpm-payments-list-table.php:101 views/payments/admin_add_edit_transaction_manually.php:149 msgid "Status/Note" msgstr "Status/Notiz" #: classes/class-swpm-member-subscriptions.php:121 classes/shortcode-related/class.swpm-shortcodes-handler.php:174 msgid "No active subscriptions" msgstr "Keine aktiven Abonnements" #: classes/class-swpm-member-subscriptions.php:132 msgid "Cancel Subscription" msgstr "Abonnement kündigen" #: classes/class-swpm-member-subscriptions.php:134 msgid "Are you sure that you want to cancel the subscription?" msgstr "Sind Sie sicher, dass Sie das Abonnement kündigen möchten?" #: classes/class.simple-wp-membership.php:243 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "Der Administrator dieser Seite gestattet Benutzern nicht, auf das WP-Dashboard zuzugreifen." #: classes/class.simple-wp-membership.php:244 msgid "Go back to the home page by " msgstr "Gehen Sie zurück zur Homepage indem Sie " #: classes/class.simple-wp-membership.php:244 msgid "clicking here" msgstr "hier klicken" #: classes/class.simple-wp-membership.php:309 msgid "Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: " msgstr "" "Fehler! Für diese Website ist die Funktion \"WP-Benutzeranmeldung erzwingen\" in den Einstellungen aktiviert. Es existiert jedoch kein WP-" "Benutzereintrag für den angegebenen Benutzernamen: " #: classes/class.simple-wp-membership.php:310 msgid "" "This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User " "system." msgstr "" "Dieser Fehler tritt auf, wenn ein Mitgliedskonto kein korrespondierendes WP-Benutzerkonto hat. Das Plug-in meldet den Benutzer somit nicht im WP-" "Benutzersystem an." #: classes/class.simple-wp-membership.php:311 msgid "" "Contact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account." msgstr "" "Bitten Sie den Administrator der Website, Ihren Benutzernamen im WordPress-Menü \"Benutzer\" zu überprüfen und festzustellen, was mit dem " "Benutzereintrag Ihres WordPress-Kontos geschehen ist." #: classes/class.simple-wp-membership.php:312 msgid "The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away." msgstr "Der Administrator kann die Funktion \"WP-Benutzerssynchronisation\" in den Einstellungen deaktivieren, wodurch dieser Fehler behoben wird." #: classes/class.simple-wp-membership.php:313 msgid "You can use the back button of your browser to go back to the site." msgstr "Sie können den Zurück-Button Ihres Browsers verwenden, um zur Website zurückzukehren." #: classes/class.simple-wp-membership.php:513 classes/class.swpm-wp-loaded-tasks.php:141 msgid "You are not logged in." msgstr "Sie sind nicht angemeldet." #: classes/class.simple-wp-membership.php:601 msgid "You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions." msgstr "" "Sie haben den Sandkasten-Zahlungsmodus in den Einstellungen aktiviert. Stellen Sie sicher, dass Sie den Sandkasten-Modus deaktiviert haben, wenn " "Sie Live-Transaktionen durchführen möchten." #: classes/class.simple-wp-membership.php:616 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership::Schutz" #: classes/class.simple-wp-membership.php:628 msgid "Simple Membership Protection options" msgstr "Simple WP Membership Schutzoptionen" #: classes/class.simple-wp-membership.php:646 msgid "Do you want to protect this content?" msgstr "Möchten Sie diesen Inhalt schützen?" #: classes/class.simple-wp-membership.php:647 msgid "No, Do not protect this content." msgstr "Nein, diesen Inhalt nicht schützen." #: classes/class.simple-wp-membership.php:648 msgid "Yes, Protect this content." msgstr "Ja, diesen Inhalt schützen." #: classes/class.simple-wp-membership.php:651 msgid "Select the membership level that can access this content:" msgstr "Wählen Sie die Mitgliedschaftsstufe, die auf diesen Inhalt zugreifen kann:" #: classes/class.simple-wp-membership.php:816 classes/class.simple-wp-membership.php:820 msgid "Validating, please wait" msgstr "Validierung, bitte warten" #: classes/class.simple-wp-membership.php:823 msgid "Invalid email address" msgstr "Ungültige E-Mail-Adresse" #: classes/class.simple-wp-membership.php:826 msgid "This field is required" msgstr "Dieses Feld ist ein Pflichtfeld" #: classes/class.simple-wp-membership.php:829 msgid "Password must contain at least:" msgstr "Das Passwort muss mindestens Folgendes enthalten:" #: classes/class.simple-wp-membership.php:829 msgid "- a digit" msgstr "– eine Ziffer" #: classes/class.simple-wp-membership.php:829 msgid "- an uppercase letter" msgstr "– einen Großbuchstaben" #: classes/class.simple-wp-membership.php:829 msgid "- a lowercase letter" msgstr "– einen Kleinbuchstaben" #: classes/class.simple-wp-membership.php:832 classes/class.swpm-auth.php:342 msgid "Invalid Username" msgstr "Ungültiger Benutzername" #: classes/class.simple-wp-membership.php:832 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Benutzernamen dürfen nur Folgendes enthalten: Buchstaben, Zahlen und .-_*@" #: classes/class.simple-wp-membership.php:835 msgid "Minimum " msgstr "Mindestens " #: classes/class.simple-wp-membership.php:836 msgid " characters required" msgstr " Zeichen erforderlich" #: classes/class.simple-wp-membership.php:839 msgid "Apostrophe character is not allowed" msgstr "Apostrophzeichen sind nicht erlaubt" #: classes/class.simple-wp-membership.php:883 msgid "WP Membership" msgstr "WP-Mitgliedschaft" #: classes/class.simple-wp-membership.php:884 classes/class.swpm-members.php:12 classes/class.swpm-members.php:730 msgid "Members" msgstr "Mitglieder" #: classes/class.simple-wp-membership.php:885 classes/class.swpm-category-list.php:20 classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:273 classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Mitgliedschaftsstufen" #: classes/class.simple-wp-membership.php:886 msgid "Settings" msgstr "Einstellungen" #: classes/class.simple-wp-membership.php:887 msgid "Payments" msgstr "Zahlungen" #: classes/class.simple-wp-membership.php:888 msgid "Add-ons" msgstr "Add-ons" #: classes/class.swpm-access-control.php:47 classes/class.swpm-access-control.php:120 msgid "You need to be logged in to view this content. " msgstr "Sie müssen sich anmelden, um diesen Inhalt einsehen zu können. " #: classes/class.swpm-access-control.php:56 classes/class.swpm-access-control.php:128 classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Ihr Konto ist abgelaufen. " #: classes/class.swpm-access-control.php:66 classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "Dieser Inhalt kann nur von Mitgliedern eingesehen werden, die vor " #: classes/class.swpm-access-control.php:79 classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Dieser Inhalt ist für Ihre Mitgliedschaftsstufe nicht freigegeben." #: classes/class.swpm-access-control.php:204 msgid "You need to be logged in to view the rest of the content. " msgstr "Sie müssen sich anmelden, um den Rest dieses Inhalts zu sehen. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " Der Rest dieses Inhalts ist für Ihre Mitgliedschaftsstufe nicht freigegeben." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "Fehler! Die Nonce-Verifikation zur Benutzerregistrierung ist fehlgeschlagen." #: classes/class.swpm-admin-registration.php:79 msgid "Member record added successfully." msgstr "Mitgliedseintrag erfolgreich hinzugefügt." #: classes/class.swpm-admin-registration.php:87 classes/class.swpm-admin-registration.php:149 classes/class.swpm-admin-registration.php:187 #: classes/class.swpm-membership-level.php:73 classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Bitte korrigieren Sie die folgenden Punkte:" #: classes/class.swpm-admin-registration.php:100 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "Fehler! Die Nonce-Verifikation zur Bearbeitung des Benutzereintrags ist fehlgeschlagen." #: classes/class.swpm-admin-registration.php:166 msgid "Your current password" msgstr "Ihr aktuelles Passwort" #: classes/class.swpm-ajax.php:16 classes/class.swpm-ajax.php:36 ipn/swpm-smart-checkout-ipn.php:332 msgid "Nonce check failed. Please reload the page." msgstr "Die Nonce-Prüfung ist fehlgeschlagen. Bitte laden Sie die Seite erneut." #: classes/class.swpm-ajax.php:20 msgid "Invalid Email Address" msgstr "Ungültige E-Mail-Adresse" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:46 msgid "Already taken" msgstr "Bereits vergeben" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:47 msgid "Available" msgstr "Verfügbar" #: classes/class.swpm-ajax.php:40 msgid "Name contains invalid character" msgstr "Name enthält ungültiges Zeichen" #: classes/class.swpm-auth.php:50 msgid "Username field cannot be empty." msgstr "Der Benutzername kann nicht leer bleiben." #: classes/class.swpm-auth.php:57 msgid "Password field cannot be empty." msgstr "Das Passwort kann nicht leer bleiben." #: classes/class.swpm-auth.php:75 msgid "Warning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally." msgstr "" "Achtung! Das Simple-Membership-Plug-in kann diese Anmeldung nicht bearbeiten, um zu verhindern, dass Sie versehentlich als WP-Admin abgemeldet " "werden." #: classes/class.swpm-auth.php:76 msgid "Click here" msgstr "Klicken Sie hier" #: classes/class.swpm-auth.php:76 msgid " to see the profile you are currently logged into in this browser." msgstr " um das Profil zu sehen, mit dem Sie in diesem Browser angemeldet sind." #: classes/class.swpm-auth.php:77 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member." msgstr "" "In diesem Browser sind Sie als Admin-Benutzer auf der Website angemeldet. Bitte zuerst als WP-Admin abmelden, damit Sie sich als normales " "Mitglied anmelden können." #: classes/class.swpm-auth.php:78 msgid "Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login." msgstr "" "Alternativ können Sie auch einen anderen Browser verwenden (in dem Sie nicht als Admin angemeldet sind), um die Anmeldung zur Mitgliedschaft zu " "testen." #: classes/class.swpm-auth.php:79 msgid "Your normal visitors or members will never see this message. This message is ONLY for ADMIN user." msgstr "Ihre normalen Besucher oder Mitglieder werden diese Nachricht nie sehen. Diese Meldung ist NUR für Admin-Benutzer bestimmt." #: classes/class.swpm-auth.php:86 msgid "Captcha validation failed on the login form." msgstr "Die Captcha-Validierung des Anmeldeformulars ist fehlgeschlagen." #: classes/class.swpm-auth.php:111 msgid "No user found with that username or email." msgstr "Kein Benutzer mit dieser E-Mail-Adresse gefunden." #: classes/class.swpm-auth.php:118 msgid "Password empty or invalid." msgstr "Passwort leer oder ungültig." #: classes/class.swpm-auth.php:159 msgid "Account is inactive." msgstr "Das Konto ist inaktiv." #: classes/class.swpm-auth.php:162 classes/class.swpm-auth.php:191 msgid "Account has expired." msgstr "Das Konto ist abgelaufen." #: classes/class.swpm-auth.php:165 msgid "Account is pending." msgstr "Das Konto wurde noch nicht aktiviert." #: classes/class.swpm-auth.php:175 #, php-format msgid "You need to activate your account. If you didn't receive an email then %s to resend the activation email." msgstr "Sie müssen Ihr Konto aktivieren. Wenn Sie keine E-Mail erhalten haben, dann %s, um die E-Mail zur Aktivierung erneut zu senden." #: classes/class.swpm-auth.php:175 classes/class.swpm-front-registration.php:561 classes/class.swpm-front-registration.php:614 #: classes/class.swpm-utils-misc.php:225 msgid "click here" msgstr "klicken Sie hier" #: classes/class.swpm-auth.php:199 msgid "You are logged in as:" msgstr "Sie sind angemeldet als:" #: classes/class.swpm-auth.php:269 msgid "Logged Out Successfully." msgstr "Erfolgreich abgemeldet." #: classes/class.swpm-auth.php:333 msgid "Session Expired." msgstr "Die Sitzung ist abgelaufen." #: classes/class.swpm-auth.php:350 msgid "Please login again." msgstr "Bitte melden Sie sich erneut an." #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Kategorien-ID" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Kategoriename" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Kategorieart (Taxonomie)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Beschreibung" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Anzahl" #: classes/class.swpm-category-list.php:78 msgid "Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again." msgstr "" "Fehler! Die Nonce-Prüfung bei der Aktualisierung des Kategorienschutzes ist fehlgeschlagen. Bitte löschen Sie den Cache und versuchen Sie es " "erneut." #: classes/class.swpm-category-list.php:99 msgid "Category protection updated!" msgstr "Kategorienschutz aktualisiert!" #: classes/class.swpm-category-list.php:137 msgid "No category found." msgstr "Keine Kategorie gefunden." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Bitte melden Sie sich an, um einen Kommentar zu hinterlassen." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Bitte melden Sie sich an, um einen Kommentar zu hinterlassen." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Kommentare eines Nicht-Mitglieds sind nicht zugelassen." #: classes/class.swpm-form.php:30 msgid "Wordpress account exists with given username. But the given email doesn't match." msgstr "Ein WordPress-Konto mit dem angegebenen Benutzernamen existiert, aber die angegebene E-Mail-Adresse stimmt nicht überein." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated " "with the existing WP user to connect with that account." msgstr "" " Verwenden Sie einen anderen Benutzernamen, um die Registrierung abzuschließen. Wenn Sie dennoch diesen Benutzernamen verwenden möchten, müssen " "Sie die E-Mail-Adresse eingeben, die dem existierenden WP-Benutzer zugeordnet ist, um sich mit dessen Konto zu verbinden." #: classes/class.swpm-form.php:37 msgid "Wordpress account exists with given email. But the given username doesn't match." msgstr "Ein WordPress-Konto mit der angegebenen E-Mail-Adresse existiert, aber der angegebene Benutzername stimmt nicht überein." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated " "with the existing WP user to connect with that account." msgstr "" " Verwenden Sie eine andere E-Mail-Adresse, um die Registrierung abzuschließen. Wenn Sie dennoch diese E-Mail-Adresse verwenden möchten, müssen " "Sie den Benutzernamen eingeben, der dem existierenden WP-Benutzer zugeordnet ist, um sich mit dessen Konto zu verbinden." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Benutzername erforderlich" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Der Benutzername enthält ein ungültiges Zeichen" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Der Benutzername wird bereits verwendet." #: classes/class.swpm-form.php:81 msgid "Password is required" msgstr "Passwort erforderlich" #: classes/class.swpm-form.php:88 msgid "Password mismatch" msgstr "Passwörter stimmen nicht überein" #: classes/class.swpm-form.php:99 msgid "Email is required" msgstr "E-Mail-Adresse erforderlich" #: classes/class.swpm-form.php:103 msgid "Email is invalid" msgstr "Die E-Mail-Adresse ist ungültig" #: classes/class.swpm-form.php:119 msgid "Email is already used." msgstr "E-Mail-Adresse wird bereits verwendet." #: classes/class.swpm-form.php:171 msgid "Member since field is invalid" msgstr "Das Feld \"Mitglied seit\" ist ungültig" #: classes/class.swpm-form.php:182 msgid "Access starts field is invalid" msgstr "Das Feld \"Startdatum für den Zugriff\" ist ungültig" #: classes/class.swpm-form.php:192 msgid "Gender field is invalid" msgstr "Das Feld \"Geschlecht\" ist ungültig" #: classes/class.swpm-form.php:203 msgid "Account state field is invalid" msgstr "Das Feld \"Kontostatus\" ist ungültig" #: classes/class.swpm-form.php:210 msgid "Invalid membership level" msgstr "Ungültige Mitgliedschaftsstufe" #: classes/class.swpm-front-registration.php:25 msgid "You are already logged in. You don't need to create another account. So the registration form is hidden." msgstr "Sie sind bereits angemeldet und müssen somit keinen weiteren Benutzer anlegen. Das Formular zur Registrierung wird deshalb nicht angezeigt." #: classes/class.swpm-front-registration.php:35 msgid "" "This unique registration link (see the URL in the browser's address bar) has already been used. You don't need to create another account. Log " "into the existing account to access the protected content." msgstr "" "Der Registrierungslink (die URL in der Adresszeile des Browsers) wurde bereits verwendet. Sie müssen somit keinen neuen Benutzer anlegen. Melden " "Sie sich mit Ihrem bestehenden Benutzer an, um Zugriff auf den geschützten Inhalt zu erhalten." #: classes/class.swpm-front-registration.php:44 msgid "" "This unique registration link (see the URL in the browser's address bar) is invalid. Could not find a match for the given member ID and the " "security code. Please contact the site administrator." msgstr "" "Der Registrierungslink (die URL in der Adresszeile des Browsers) ist ungültig. Dessen Benutzerkennung und Sicherheitscode sind unbekannt. Bitte " "kontaktieren Sie den Website-Administrator." #: classes/class.swpm-front-registration.php:65 msgid "Error! Invalid Request. Could not find a match for the given security code and the user ID." msgstr "Fehler! Ungültige Anfrage. Es konnte keine Übereinstimmung für den angegebenen Sicherheitscode und die Benutzer-ID gefunden werden." #: classes/class.swpm-front-registration.php:77 classes/class.swpm-utils-misc.php:415 views/login.php:53 msgid "Join Us" msgstr "Werden Sie Mitglied bei uns" #: classes/class.swpm-front-registration.php:79 msgid "Free membership is disabled on this site. Please make a payment from the " msgstr "Eine kostenlose Mitgliedschaft wird auf dieser Website nicht angeboten. Über die Seite " #: classes/class.swpm-front-registration.php:81 msgid " page to pay for a premium membership." msgstr " können Sie eine kostenpflichtige Premium-Mitgliedschaft abschließen." #: classes/class.swpm-front-registration.php:83 msgid "" "You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration." msgstr "Nach der Zahlung erhalten Sie per E-Mail einen Registrierungslink, um die Registrierung für die Premium-Mitgliedschaft abzuschließen." #: classes/class.swpm-front-registration.php:115 msgid "Security check: captcha validation failed." msgstr "Sicherheitsüberprüfung: Die Captcha-Validierung ist fehlgeschlagen." #: classes/class.swpm-front-registration.php:128 msgid "You must accept the terms and conditions." msgstr "Sie müssen die Allgemeinen Geschäftsbedingungen akzeptieren." #: classes/class.swpm-front-registration.php:142 msgid "You must agree to the privacy policy." msgstr "Sie müssen der Datenschutzerklärung zustimmen." #: classes/class.swpm-front-registration.php:183 msgid "You need to confirm your email address. Please check your email and follow instructions to complete your registration." msgstr "" "Sie müssen Ihre E-Mail-Adresse bestätigen. Bitte überprüfen Sie Ihr Postfach und folgen Sie den Anweisungen, um Ihre Registrierung abzuschließen." #: classes/class.swpm-front-registration.php:196 msgid "Registration Successful. " msgstr "Registrierung erfolgreich. " #: classes/class.swpm-front-registration.php:196 classes/class.swpm-init-time-tasks.php:199 classes/class.swpm-utils-misc.php:414 #: classes/class.swpm-utils-misc.php:426 msgid "Please" msgstr "Bitte" #: classes/class.swpm-front-registration.php:196 classes/class.swpm-init-time-tasks.php:199 classes/class.swpm-utils-misc.php:414 views/login.php:47 msgid "Log In" msgstr "Anmelden" #: classes/class.swpm-front-registration.php:215 msgid "Please correct the following" msgstr "Bitte korrigieren Sie Folgendes" #: classes/class.swpm-front-registration.php:267 msgid "Membership Level Couldn't be found." msgstr "Die Mitgliedschaftsstufe konnte nicht gefunden werden." #: classes/class.swpm-front-registration.php:319 msgid "Error! Nonce verification failed for front end profile edit." msgstr "Fehler! Die Nonce-Verifikation zur Bearbeitung des Benutzer-Profils ist fehlgeschlagen." #: classes/class.swpm-front-registration.php:330 msgid "Profile updated successfully." msgstr "Profil erfolgreich aktualisiert." #: classes/class.swpm-front-registration.php:350 msgid "Profile updated successfully. You will need to re-login since you changed your password." msgstr "Profil erfolgreich aktualisiert. Sie müssen sich erneut anmelden, da Sie Ihr Passwort geändert haben." #: classes/class.swpm-front-registration.php:378 msgid "Please correct the following." msgstr "Bitte korrigieren Sie die folgenden Punkte." #: classes/class.swpm-front-registration.php:394 msgid "Captcha validation failed." msgstr "Die Captcha-Validierung ist fehlgeschlagen." #: classes/class.swpm-front-registration.php:405 msgid "Email address not valid." msgstr "Ungültige E-Mail-Adresse." #: classes/class.swpm-front-registration.php:421 classes/class.swpm-front-registration.php:515 msgid "No user found with that email address." msgstr "Kein Benutzer mit dieser E-Mail-Adresse vorhanden." #: classes/class.swpm-front-registration.php:422 classes/class.swpm-front-registration.php:492 classes/class.swpm-front-registration.php:516 msgid "Email Address: " msgstr "E-Mail-Adresse: " #: classes/class.swpm-front-registration.php:449 msgid "Password reset link has been sent to your email address." msgstr "Ein Link zum Zurücksetzen des Passwort wurde an Ihre E-Mail-Adresse gesendet." #: classes/class.swpm-front-registration.php:467 msgid "New password has been sent to your email address." msgstr "Ein neues Passwort wurde an Ihre E-Mail-Adresse gesendet." #: classes/class.swpm-front-registration.php:556 msgid "Can't find member account." msgstr "Das Mitgliedskonto konnte nicht gefunden werden." #: classes/class.swpm-front-registration.php:561 classes/class.swpm-front-registration.php:614 msgid "Account already active. " msgstr "Konto bereits aktiv. " #: classes/class.swpm-front-registration.php:561 classes/class.swpm-front-registration.php:614 msgid " to log in." msgstr " um sich anzumelden." #: classes/class.swpm-front-registration.php:568 msgid "Activation code mismatch. Cannot activate this account. Please contact the site admin." msgstr "Der Aktivierungscode stimmt nicht überein. Dieses Konto kann nicht aktiviert werden. Bitte wenden Sie sich an den Website-Administrator." #: classes/class.swpm-front-registration.php:582 msgid "Success! Your account has been activated successfully." msgstr "Erfolg! Ihr Konto wurde erfolgreich aktiviert." #: classes/class.swpm-front-registration.php:609 msgid "Cannot find member account." msgstr "Das Mitgliedskonto kann nicht gefunden werden." #: classes/class.swpm-front-registration.php:631 msgid "Activation email has been sent. Please check your email and activate your account." msgstr "Die E-Mail zur Kontoaktivierung wurde gesendet. Bitte überprüfen Sie Ihr Postfach und aktivieren Sie Ihr Konto." #: classes/class.swpm-init-time-tasks.php:141 msgid "Sorry, Nonce verification failed." msgstr "Entschuldigung, die Nonce-Verifikation ist fehlgeschlagen." #: classes/class.swpm-init-time-tasks.php:148 msgid "Sorry, Password didn't match." msgstr "Entschuldigung, das Passwort stimmt nicht überein." #: classes/class.swpm-init-time-tasks.php:177 msgid "Error! Password fields do not match. Please try again." msgstr "Fehler! Die Passwörter stimmen nicht überein. Bitte versuchen Sie es erneut." #: classes/class.swpm-init-time-tasks.php:182 msgid "Error! Invalid password reset request." msgstr "Fehler! Ungültige Anforderung zum Zurücksetzen des Passworts." #: classes/class.swpm-init-time-tasks.php:199 msgid "Password Reset Successful. " msgstr "Das Zurücksetzen des Passworts war erfolgreich. " #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "Das Datumsformat ist ungültig." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "Die Zugriffsdauer muss größer als 0 sein." #: classes/class.swpm-members.php:11 msgid "Member" msgstr "Mitglied" #: classes/class.swpm-members.php:21 classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:22 views/add.php:18 views/admin_add.php:12 views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Benutzername" #: classes/class.swpm-members.php:25 views/add.php:22 views/edit.php:27 includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "E-Mail-Adresse" #: classes/class.swpm-members.php:27 views/admin_member_form_common_part.php:2 msgid "Access Starts" msgstr "Zugriff ab/seit" #: classes/class.swpm-members.php:28 views/admin_members_list.php:45 includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Kontostatus" #: classes/class.swpm-members.php:29 msgid "Last Login Date" msgstr "Letzte Anmeldung" #: classes/class.swpm-members.php:52 msgid "Set Status to Active" msgstr "Status auf \"Aktiv\" setzen" #: classes/class.swpm-members.php:53 msgid "Set Status to Active and Notify" msgstr "Status auf \"Aktiv\" setzen und benachrichtigen" #: classes/class.swpm-members.php:54 msgid "Set Status to Inactive" msgstr "Status auf \"Inaktiv\" setzen" #: classes/class.swpm-members.php:55 msgid "Set Status to Pending" msgstr "Status auf \"Ausstehend\" setzen" #: classes/class.swpm-members.php:56 msgid "Set Status to Expired" msgstr "Status auf \"Abgelaufen\" setzen" #: classes/class.swpm-members.php:84 msgid "incomplete" msgstr "unvollständig" #: classes/class.swpm-members.php:227 msgid "No member found." msgstr "Kein Mitglied gefunden." #: classes/class.swpm-members.php:384 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "Fehler! Die Nonce-Verifikation zum Löschen von Benutzern ist fehlgeschlagen." #: classes/class.swpm-members.php:534 msgid "Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again." msgstr "" "Fehler! Die Nonce-Verifikation zur Sammeländerung der Mitgliedschaftsstufe ist fehlgeschlagen. Bitte löschen Sie den Cache und versuchen Sie es " "erneut." #: classes/class.swpm-members.php:542 classes/class.swpm-members.php:579 msgid "Error! Please select a membership level first." msgstr "Fehler! Bitte wählen Sie zuerst eine Mitgliedschaftsstufe aus." #: classes/class.swpm-members.php:559 msgid "Membership level change operation completed successfully." msgstr "Die Änderung der Mitgliedschaftsstufe wurde erfolgreich abgeschlossen." #: classes/class.swpm-members.php:571 msgid "Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again." msgstr "Fehler! Die Nonce-Verifikation zur Sammelbenutzerregistrierung ist fehlgeschlagen." #: classes/class.swpm-members.php:596 msgid "Access starts date change operation successfully completed." msgstr "Änderung des Startdatums für den Zugriff erfolgreich abgeschlossen." #: classes/class.swpm-members.php:605 msgid "Bulk Update Membership Level of Members" msgstr "Sammeländerung der Mitgliedschaftsstufe für Mitglieder" #: classes/class.swpm-members.php:608 msgid "You can manually change the membership level of any member by editing the record from the members menu. " msgstr "Sie können die Mitgliedschaftsstufe eines jeden Mitglieds manuell ändern, indem Sie den Eintrag im Mitglieder-Menü bearbeiten. " #: classes/class.swpm-members.php:609 msgid "You can use the following option to bulk update the membership level of users who belong to the level you select below." msgstr "" "Sie können die folgende Option verwenden, um die Mitgliedschaftsstufe von Benutzern, die zu der unten ausgewählten Stufe gehören, zu " "aktualisieren." #: classes/class.swpm-members.php:617 classes/class.swpm-members.php:666 msgid "Membership Level: " msgstr "Mitgliedschaftsstufe: " #: classes/class.swpm-members.php:621 msgid "Select Current Level" msgstr "Aktuelle Stufe auswählen" #: classes/class.swpm-members.php:624 msgid "Select the current membership level (the membership level of all members who are in this level will be updated)." msgstr "Wählen Sie die aktuelle Mitgliedschaftsstufe aus (die Mitgliedschaftsstufe aller Mitglieder dieser Stufe wird aktualisiert)." #: classes/class.swpm-members.php:630 msgid "Level to Change to: " msgstr "Stufe ändern in: " #: classes/class.swpm-members.php:634 msgid "Select Target Level" msgstr "Zielstufe auswählen" #: classes/class.swpm-members.php:637 msgid "Select the new membership level." msgstr "Wählen Sie die neue Mitgliedschaftsstufe aus." #: classes/class.swpm-members.php:643 msgid "Bulk Change Membership Level" msgstr "Sammeländerung der Mitgliedschafsstufe" #: classes/class.swpm-members.php:653 msgid "Bulk Update Access Starts Date of Members" msgstr "Sammeländerung des Startdatums für den Zugriff" #: classes/class.swpm-members.php:657 msgid "" "The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership level. " msgstr "" "Der Startdatum für den Zugriff eines Mitglieds wird auf den Tag festgelegt, an dem er Benutzer sich registriert. Anhand dieses Datums wird " "ermittelt, bis wann ein Mitglied auf Inhalte, die mit einem Laufzeitschutz in der Mitgliedschaftsstufe geschützt sind, zugreifen kann. " #: classes/class.swpm-members.php:658 msgid "You can manually set a specific access starts date value of all members who belong to a particular level using the following option." msgstr "" "Mit der folgenden Option können Sie manuell ein Startdatum für den Zugriff aller Mitglieder festlegen, die eine bestimmte Mitgliedschaftsstufe " "besitzen." #: classes/class.swpm-members.php:669 msgid "Select Level" msgstr "Mitgliedschaftsstufe wählen" #: classes/class.swpm-members.php:672 msgid "Select the Membership level (the access start date of all members who are in this level will be updated)." msgstr "Wählen Sie die Mitgliedschaftsstufe (das Startdatum für den Zugriff wird für alle Mitglieder dieser Stufe aktualisiert)." #: classes/class.swpm-members.php:681 msgid "Specify the Access Starts date value." msgstr "Geben Sie das Startdatum für den Zugriff an." #: classes/class.swpm-members.php:687 msgid "Bulk Change Access Starts Date" msgstr "Sammeländerung des Startdatums für den Zugriff" #: classes/class.swpm-members.php:725 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Mitglieder" #: classes/class.swpm-members.php:726 classes/class.swpm-membership-levels.php:232 views/admin_members_list.php:70 msgid "Add New" msgstr "Neu hinzufügen" #: classes/class.swpm-members.php:731 views/admin_add.php:7 msgid "Add Member" msgstr "Mitglied hinzufügen" #: classes/class.swpm-members.php:732 msgid "Bulk Operation" msgstr "Sammeloperationen" #: classes/class.swpm-membership-level.php:52 msgid "Error! Nonce verification failed for membership level creation from admin end." msgstr "Fehler! Die Nonce-Verifikation zur Erstellung der Mitgliedsstufe ist fehlgeschlagen." #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Mitgliedschaftsstufe erfolgreich erstellt." #: classes/class.swpm-membership-level.php:84 msgid "Error! Nonce verification failed for membership level edit from admin end." msgstr "Fehler! Die Nonce-Verifikation zur Bearbeitung der Mitgliedschaftsstufe ist fehlgeschlagen." #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Die Mitgliedsstufe wurde erfolgreich aktualisiert." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Rolle" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Zugang gültig für/bis" #: classes/class.swpm-membership-levels.php:135 msgid "No membership levels found." msgstr "Keine Mitgliedschaftsstufen gefunden." #: classes/class.swpm-membership-levels.php:203 msgid "Error! Nonce verification failed for membership level delete from admin end." msgstr "Fehler! Die Nonce-Verifikation zum Löschen der Mitgliedschaftsstufe ist fehlgeschlagen." #: classes/class.swpm-membership-levels.php:222 views/admin_members_list.php:56 views/payments/admin_all_payment_transactions.php:16 #: views/template-1.php:53 views/template-2.php:54 msgid "Search" msgstr "Suche" #: classes/class.swpm-membership-levels.php:269 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Mitgliedschaftsstufen" #: classes/class.swpm-membership-levels.php:274 msgid "Add Level" msgstr "Mitgliedschaftsstufe hinzufügen" #: classes/class.swpm-membership-levels.php:275 msgid "Manage Content Protection" msgstr "Inhaltsschutz verwalten" #: classes/class.swpm-membership-levels.php:276 msgid "Category Protection" msgstr "Kategorienschutz" #: classes/class.swpm-membership-levels.php:277 msgid "Post and Page Protection" msgstr "Beitrags- und Seitenschutz" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Titel" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Autor" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Status" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Kategorie" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Typ" #: classes/class.swpm-post-list.php:109 msgid "Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again." msgstr "" "Fehler! Die Nonce-Prüfung zur Aktualisierung der Aktion nach erfolgtem Schutz ist fehlgeschlagen. Bitte löschen Sie den Cache und versuchen Sie " "es erneut." #: classes/class.swpm-post-list.php:132 msgid "Protection settings updated!" msgstr "Schutzeinstellungen aktualisiert!" #: classes/class.swpm-post-list.php:237 msgid "No items found." msgstr "Keine Objekte gefunden." #: classes/class.swpm-protection.php:22 msgid "The category or parent category of this post is protected. You can change the category protection settings from the " msgstr "Die Kategorie oder die übergeordnete Kategorie dieses Beitrags ist geschützt. Sie können die Kategorien-Schutzeinstellungen im " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "Kategorienschutz-Menü ändern" #: classes/class.swpm-self-action-handler.php:164 classes/class.swpm-self-action-handler.php:231 msgid "The email address you used is not whitelisted on this site." msgstr "Die von Ihnen verwendete E-Mail-Adresse ist auf dieser Website nicht freigegeben." #: classes/class.swpm-self-action-handler.php:175 classes/class.swpm-self-action-handler.php:242 msgid "The email address you used is blacklisted on this site." msgstr "Die von Ihnen verwendete E-Mail-Adresse ist auf dieser Website unzulässig." #: classes/class.swpm-settings.php:42 classes/class.swpm-settings.php:74 msgid "General Settings" msgstr "Allgemeine Einstellungen" #: classes/class.swpm-settings.php:43 msgid "Payment Settings" msgstr "Zahlungseinstellungen" #: classes/class.swpm-settings.php:44 msgid "Email Settings" msgstr "E-Mail-Einstellungen" #: classes/class.swpm-settings.php:45 msgid "Tools" msgstr "Werkzeuge" #: classes/class.swpm-settings.php:46 classes/class.swpm-settings.php:713 msgid "Advanced Settings" msgstr "Erweiterte Einstellungen" #: classes/class.swpm-settings.php:47 msgid "Blacklisting & Whitelisting" msgstr "Schwarze und weiße Listen" #: classes/class.swpm-settings.php:48 msgid "Addons Settings" msgstr "Einstellungen für Add-ons" #: classes/class.swpm-settings.php:71 msgid "Plugin Documentation" msgstr "Plug-in-Dokumentation" #: classes/class.swpm-settings.php:77 msgid "Enable Free Membership" msgstr "Kostenlose Mitgliedschaft anbieten" #: classes/class.swpm-settings.php:83 msgid "" "Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field " "below." msgstr "" "Aktiviert oder deaktiviert die Registrierung mit einer kostenlose Mitgliedsschaftsstufe. Stellen Sie beim Einschalten dieser Option sicher, dass " "im Feld darunter eine ID für die kostenlose Mitgliedschaftsstufe angegeben ist." #: classes/class.swpm-settings.php:88 msgid "Free Membership Level ID" msgstr "ID der kostenlosen Mitgliedschaftsstufe" #: classes/class.swpm-settings.php:94 msgid "Assign free membership level ID" msgstr "ID der kostenlosen Mitgliedschaftsstufe zuweisen" #: classes/class.swpm-settings.php:99 msgid "Enable More Tag Protection" msgstr "\"Mehr\"-Inhaltsschutz aktivieren" #: classes/class.swpm-settings.php:105 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is " "teaser content." msgstr "" "Aktiviert oder deaktiviert den \"Mehr\"-Inhaltsschutz in Beiträgen und Seiten. Alles nach dem \"Mehr\"-Hinweis ist geschützt, der Inhalt davor " "dient als Anreißer (Teaser-Inhalt)." #: classes/class.swpm-settings.php:110 msgid "Hide Adminbar" msgstr "Admin-Werkzeugleiste ausblenden" #: classes/class.swpm-settings.php:116 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your " "site." msgstr "" "WordPress zeigt eingeloggten Website-Benutzern eine Admin-Werkzeugleiste. Aktivieren Sie diese Option, wenn Sie die Admin-Werkzeugleiste im " "Frontend Ihrer Website ausblenden möchten." #: classes/class.swpm-settings.php:121 msgid "Show Adminbar to Admin" msgstr "Admin-Werkzeugleiste den Admin-Benutzern anzeigen" #: classes/class.swpm-settings.php:127 msgid "Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users." msgstr "" "Verwenden Sie diese Option, wenn Sie die Admin-Werkzeugleiste nur für Admin-Benutzer anzeigen möchten. Die Admin-Werkzeugleiste wird für alle " "anderen Benutzer ausgeblendet." #: classes/class.swpm-settings.php:132 msgid "Disable Access to WP Dashboard" msgstr "Zugang zum WP-Dashboard deaktivieren" #: classes/class.swpm-settings.php:138 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will " "prevent any non-admin users from going to the wp dashboard." msgstr "" "WordPress ermöglicht es einem normalen Benutzer, mittels der Admin-URL über das WordPress-Dashboard auf sein Profil zuzugreifen. Mit dieser " "Option wird verhindert, dass Nicht-Admin-Benutzer auf das WordPress-Dashboard zugreifen können." #: classes/class.swpm-settings.php:144 classes/class.swpm-settings.php:905 msgid "Default Account Status" msgstr "Standard-Kontostatus" #: classes/class.swpm-settings.php:152 msgid "" "Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to " "\"Pending\"." msgstr "" "Wählen Sie den Standard-Kontostatus für neu registrierte Benutzer. Wenn Sie die Mitglieder manuell freigeben möchten, können Sie den Status auf " "\"Ausstehend\" setzen." #: classes/class.swpm-settings.php:158 msgid "Members Must be Logged in to Comment" msgstr "Mitglieder müssen angemeldet sein, um Kommentare hinterlassen zu können" #: classes/class.swpm-settings.php:164 msgid "Enable this option if you only want the members of the site to be able to post a comment." msgstr "Aktivieren Sie diese Option, wenn Sie möchten, dass nur Mitglieder der Seite einen Kommentar hinterlassen können." #: classes/class.swpm-settings.php:170 msgid "Enable Toggle Password Visibility in Login Form" msgstr "Umschaltung der Passwort-Sichtbarkeit im Anmeldeformular aktivieren" #: classes/class.swpm-settings.php:176 msgid "You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox." msgstr "Hiermit können Sie dem Anmeldeformular eine Option zur Anzeige des Passworts hinzufügen." #: classes/class.swpm-settings.php:182 msgid "Enable Password Reset Using Link" msgstr "Zurücksetzen des Passworts per Link aktivieren" #: classes/class.swpm-settings.php:188 msgid "" "You can enable this option if you want to handle the password reset functionality using a reset link that is emailed to the member. Read this documentation to learn " "more about the password reset function." msgstr "" "Sie können diese Option aktivieren, wenn Sie zum Zurücksetzen eines Passworts einen Link verwenden möchten, der einem Mitglied per E-Mail " "zugesendet wird. Lesen Sie diese Dokumentation, um mehr über die Funktion zum Zurücksetzen von Passwörtern zu erfahren." #: classes/class.swpm-settings.php:193 msgid "Pages Settings" msgstr "Einstellungen für Seiten" #: classes/class.swpm-settings.php:196 msgid "Login Page URL" msgstr "URL der Anmeldeseite" #: classes/class.swpm-settings.php:207 msgid "Registration Page URL" msgstr "URL der Registrierungsseite" #: classes/class.swpm-settings.php:218 msgid "Join Us Page URL" msgstr "URL der Seite, um Mitglied zu werden" #: classes/class.swpm-settings.php:229 msgid "Edit Profile Page URL" msgstr "URL zum Bearbeiten der Profilseite" #: classes/class.swpm-settings.php:240 msgid "Password Reset Page URL" msgstr "URL der Seite zum Zurücksetzen des Passworts" #: classes/class.swpm-settings.php:251 msgid "Optional Pages Settings" msgstr "Optionale Einstellungen für Seiten" #: classes/class.swpm-settings.php:254 msgid "Thank You Page URL" msgstr "URL der Dankesseite" #: classes/class.swpm-settings.php:260 msgid "" "It is useful to use a thank you page in your payment button configuration. Read this documentation to learn more." msgstr "" "Es ist nützlich, bei der Konfiguration eines Zahlungsbuttons eine Dankesseite vorzusehen. Lesen Sie diese Dokumentation, um mehr zu erfahren." #: classes/class.swpm-settings.php:265 msgid "Test & Debug Settings" msgstr "Einstellungen für Test & Debug" #: classes/class.swpm-settings.php:294 msgid "Check this option to enable debug logging." msgstr "Aktivieren Sie diese Option, um die Debug-Protokollierung zu starten." #: classes/class.swpm-settings.php:295 msgid " This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete." msgstr "" " Die Protokollierung kann zur Fehlersuche und deren Behebung nützlich sein. Schalten Sie sie aus und setzen Sie die Protokolldateien zurück, " "sobald die Fehlerbehebung abgeschlossen ist." #: classes/class.swpm-settings.php:297 msgid "View general debug log file by clicking " msgstr "Allgemeine Debug-Protokolldatei anzeigen: klicken Sie " #: classes/class.swpm-settings.php:297 classes/class.swpm-settings.php:298 classes/class.swpm-settings.php:299 msgid "here" msgstr "hier" #: classes/class.swpm-settings.php:298 msgid "View login related debug log file by clicking " msgstr "Debug-Protokolldatei für Anmeldevorgänge anzeigen: klicken Sie " #: classes/class.swpm-settings.php:299 msgid "Reset debug log files by clicking " msgstr "Zurücksetzen der Debug-Protokolldateien: klicken Sie " #: classes/class.swpm-settings.php:302 msgid "Enable Debug" msgstr "Debug-Protokoll aktivieren" #: classes/class.swpm-settings.php:322 msgid "Sandbox or Test Mode Payment Settings" msgstr "Zahlungseinstellungen für den Sandbox-Test" #: classes/class.swpm-settings.php:326 msgid "Enable Sandbox or Test Mode" msgstr "Sandbox-Test aktivieren" #: classes/class.swpm-settings.php:332 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Aktivieren Sie diese Option, wenn Sie Sandbox-Zahlungstests durchführen möchten." #: classes/class.swpm-settings.php:337 msgid "PayPal Settings" msgstr "Zahlungseinstellungen für PayPal" #: classes/class.swpm-settings.php:341 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "Kundenkennung für den Live-Modus" #: classes/class.swpm-settings.php:347 msgid "Enter your PayPal Client ID for live mode." msgstr "Geben Sie die PayPal-Kundenkennung für den Live-Modus ein." #: classes/class.swpm-settings.php:352 classes/class.swpm-settings.php:437 views/payments/payment-gateway/admin_stripe_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:420 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:418 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:180 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:172 msgid "Live Secret Key" msgstr "Geheimer Schlüssel für den Live-Modus" #: classes/class.swpm-settings.php:358 msgid "Enter your PayPal Secret Key for live mode." msgstr "Geben Sie den geheimen PayPal-Schlüssel für den Live-Modus ein." #: classes/class.swpm-settings.php:363 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "Kundenkennung für den Sandbox-Modus" #: classes/class.swpm-settings.php:369 msgid "Enter your PayPal Client ID for sandbox mode." msgstr "Geben Sie die PayPal-Kundenkennung für den Sandbox-Test ein." #: classes/class.swpm-settings.php:374 msgid "Sandbox Secret Key" msgstr "Geheimer Schlüssel für den Sandbox-Modus" #: classes/class.swpm-settings.php:380 msgid "Enter your PayPal Secret Key for sandbox mode." msgstr "Geben Sie den geheimen PayPal-Schlüssel für den Sandbox-Test ein." #: classes/class.swpm-settings.php:389 msgid "Stripe Global Settings" msgstr "Zahlungseinstellungen für Stripe" #: classes/class.swpm-settings.php:393 msgid "Pre-fill Member Email Address" msgstr "Mit der E-Mail-Adresse des Mitglieds vorbelegen" #: classes/class.swpm-settings.php:399 msgid "Pre-fills the email address of the logged-in member on the Stripe checkout form when possible" msgstr "Trägt die E-Mail-Adresse des angemeldeten Mitglieds in das Checkout-Formular von Stripe ein, sofern möglich" #: classes/class.swpm-settings.php:404 views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:399 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:397 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:156 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:148 msgid "Test Publishable Key" msgstr "Öffentlicher Schlüssel für den Test-Modus" #: classes/class.swpm-settings.php:410 msgid "Stripe API Test publishable key" msgstr "Öffentlicher Schlüssel für den Test-Modus des Stripe-APIs" #: classes/class.swpm-settings.php:415 views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:406 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:404 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:164 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:156 msgid "Test Secret Key" msgstr "Geheimer Schlüssel für den Test-Modus" #: classes/class.swpm-settings.php:421 msgid "Stripe API Test secret key" msgstr "Geheimer Schlüssel für den Test-Modus des Stripe-APIs" #: classes/class.swpm-settings.php:426 views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:413 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:411 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:172 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:164 msgid "Live Publishable Key" msgstr "Öffentlicher Schlüssel für den Live-Modus" #: classes/class.swpm-settings.php:432 msgid "Stripe API Live publishable key" msgstr "Öffentlicher Schlüssel für den Live-Modus des Stripe-APIs" #: classes/class.swpm-settings.php:443 msgid "Stripe API Live secret key" msgstr "Geheimer Schlüssel für den Live-Modus des Stripe-APIs" #: classes/class.swpm-settings.php:453 msgid "Email Settings Overview" msgstr "Übersicht der E-Mail-Einstellungen" #: classes/class.swpm-settings.php:454 msgid "Email Misc. Settings" msgstr "Sonstige E-Mail-Einstellungen" #: classes/class.swpm-settings.php:458 msgid "From Email Address" msgstr "Von E-Mail-Adresse" #: classes/class.swpm-settings.php:470 msgid "Allow HTML in Emails" msgstr "HTML in E-Mails zulassen" #: classes/class.swpm-settings.php:481 msgid "Email Settings (Prompt to Complete Registration )" msgstr "E-Mail-Einstellungen (Aufforderung zum Abschließen der Registrierung)" #: classes/class.swpm-settings.php:484 classes/class.swpm-settings.php:515 classes/class.swpm-settings.php:596 classes/class.swpm-settings.php:621 #: classes/class.swpm-settings.php:657 classes/class.swpm-settings.php:682 msgid "Email Subject" msgstr "E-Mail-Betreff" #: classes/class.swpm-settings.php:495 classes/class.swpm-settings.php:526 classes/class.swpm-settings.php:607 classes/class.swpm-settings.php:632 #: classes/class.swpm-settings.php:668 classes/class.swpm-settings.php:693 msgid "Email Body" msgstr "E-Mail-Text" #: classes/class.swpm-settings.php:506 msgid "Enter the email address where you want the admin notification email to be sent to." msgstr "Geben Sie die E-Mail-Adresse ein, an welche die E-Mail zur Benachrichtigung des Admins gesendet werden soll." #: classes/class.swpm-settings.php:507 msgid " You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses." msgstr "" " Sie können mehrere durch Kommata getrennte E-Mail-Adressen in das obige Feld eingeben, um die Benachrichtigung an mehrere E-Mail-Adressen zu " "senden." #: classes/class.swpm-settings.php:509 msgid "Enter the subject for the admin notification email." msgstr "Geben Sie den Betreff für die E-Mail zur Benachrichtigung des Admins ein." #: classes/class.swpm-settings.php:510 msgid "" "This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Diese E-Mail wird an den Admin gesendet, wenn ein neuer Benutzer die Registrierung der Mitgliedschaft abgeschlossen hat. Dies setzt voraus, dass " "Sie oben die Option \"Benachrichtigung an den Admin senden\" aktiviert haben." #: classes/class.swpm-settings.php:512 msgid "Email Settings (Registration Complete)" msgstr "E-Mail-Einstellungen (Registrierung abgeschlossen)" #: classes/class.swpm-settings.php:537 msgid "Send Notification to Admin" msgstr "Benachrichtigung an den Admin senden" #: classes/class.swpm-settings.php:543 msgid "Enable this option if you want the admin to receive a notification when a member registers." msgstr "Aktivieren Sie diese Option, wenn der Admin eine Benachrichtigung erhalten soll, sobald sich ein Mitglied registriert hat." #: classes/class.swpm-settings.php:548 msgid "Admin Email Address" msgstr "E-Mail-Adresse des Admins" #: classes/class.swpm-settings.php:559 msgid "Admin Notification Email Subject" msgstr "E-Mail-Betreff zur Benachrichtigung des Admins" #: classes/class.swpm-settings.php:570 msgid "Admin Notification Email Body" msgstr "E-Mail-Text zur Benachrichtigung des Admins" #: classes/class.swpm-settings.php:582 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "E-Mail an ein Mitglied senden, wenn es über das Admin-Dashboard hinzugefügt wurde" #: classes/class.swpm-settings.php:593 msgid "Email Settings (Password Reset)" msgstr "E-Mail-Einstellungen (Passwort zurücksetzen)" #: classes/class.swpm-settings.php:618 msgid " Email Settings (Account Upgrade Notification)" msgstr " E-Mail-Einstellungen (Benachrichtigung bei Konto-Aktualisierung)" #: classes/class.swpm-settings.php:643 msgid "Disable Email Notification After Upgrade" msgstr "E-Mail-Benachrichtigung nach Konto-Aktualisierung abschalten" #: classes/class.swpm-settings.php:649 msgid "You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal." msgstr "" "Sie können diese Option verwenden, um die E-Mail-Benachrichtigung, die an ein Mitglied nach Aktualisierung des Kontos gesendet wird, abzuschalten." #: classes/class.swpm-settings.php:654 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " E-Mail-Einstellungen (Benachrichtigung bei Konten-Sammelaktivierung)" #: classes/class.swpm-settings.php:679 msgid " Email Settings (Email Activation)" msgstr " E-Mail-Einstellungen (E-Mail bei Kontoaktivierung)" #: classes/class.swpm-settings.php:717 msgid "Enable Expired Account Login" msgstr "Anmeldung für abgelaufene Konten aktivieren" #: classes/class.swpm-settings.php:723 msgid "" "When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily " "renew their account by making another payment." msgstr "" "Wenn diese Funktion aktiviert ist, können sich abgelaufene Mitglieder zwar in das System einloggen, aber keine geschützten Inhalte mehr sehen. " "Dies ermöglicht es ihnen, ihr Abonnement durch eine weitere Zahlung zu verlängern." #: classes/class.swpm-settings.php:729 msgid "Membership Renewal URL" msgstr "URL zur Änderung der Mitgliedschaft" #: classes/class.swpm-settings.php:735 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Sie können eine Seite zur Änderung der Mitgliedschaft erstellen. Lesen Sie hier nach, wie Sie dies bewerkstelligen können." #: classes/class.swpm-settings.php:741 msgid "After Registration Redirect URL" msgstr "URL, zu der nach erfolgter Registrierung weitergeleitet wird" #: classes/class.swpm-settings.php:747 msgid "" "You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration " "redirect." msgstr "" "Sie können hier eine URL eingeben, um die Mitglieder nach dem Absenden des Anmeldeformulars auf eine bestimmte Seite weiterzuleiten. Lesen Sie hier nach, wie Sie eine " "solche Weiterleitung einrichten können." #: classes/class.swpm-settings.php:753 msgid "Enable Auto Login After Registration" msgstr "Automatische Anmeldung nach der Registrierung aktivieren" #: classes/class.swpm-settings.php:759 msgid "" "Use this option if you want the members to be automatically logged into your site right after they complete the registration. This option will " "override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more." msgstr "" "Benutzen Sie diese Option, wenn Mitglieder automatisch angemeldet sein sollen, sobald sie die Registrierung abgeschlossen haben. Diese Option " "setzt die Weiterleitung nach der Registrierung außer Kraft und führt stattdessen die Weiterleitung nach dem Login aus. Lesen Sie diese Dokumentation, um mehr " "zu erfahren." #: classes/class.swpm-settings.php:765 msgid "Hide Registration Form to Logged Users" msgstr "Anmeldeformular für angemeldete Benutzer verbergen" #: classes/class.swpm-settings.php:771 msgid "" "Use this option if you want to hide the registration form to the logged-in members. If logged-in members visit the registration page, they will " "see a message instead of the registration form." msgstr "" "Verwenden Sie diese Option, um das Anmeldeformular für angemeldete Mitglieder zu verbergen. Wenn angemeldete Mitglieder die Registrierungsseite " "aufrufen, erhalten Sie einen Hinweis anstelle des Anmeldeformulars." #: classes/class.swpm-settings.php:777 msgid "After Logout Redirect URL" msgstr "URL, zu der nach dem Logout weitergeleitet wird" #: classes/class.swpm-settings.php:783 msgid "You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site." msgstr "Sie können hier eine URL angeben, auf die Mitglieder weitergeleitet werden, nachdem Sie den Link zum Abmelden angeklickt haben." #: classes/class.swpm-settings.php:789 msgid "Logout Member on Browser Close" msgstr "Mitglied beim Schließen des Browsers abmelden" #: classes/class.swpm-settings.php:795 msgid "Enable this option if you want the member to be logged out of the account when he closes the browser." msgstr "Aktivieren Sie diese Option, wenn ein Mitglied abgemeldet werden soll, sobald es den Browser schließt." #: classes/class.swpm-settings.php:801 msgid "Allow Account Deletion" msgstr "Kontolöschung zulassen" #: classes/class.swpm-settings.php:807 msgid "Allow users to delete their accounts." msgstr "Erlauben Sie Benutzern, ihre Konten zu löschen." #: classes/class.swpm-settings.php:813 msgid "Force Strong Password for Members" msgstr "Sicheres Passwort für Mitglieder erzwingen" #: classes/class.swpm-settings.php:819 msgid "Enable this if you want the users to be forced to use a strong password for their accounts." msgstr "Aktivieren Sie diese Option, wenn Benutzer nur sichere Passwörter für ihre Konten verwenden können sollen." #: classes/class.swpm-settings.php:825 msgid "Auto Delete Pending Account" msgstr "Automatisches Löschen eines ausstehenden Kontos" #: classes/class.swpm-settings.php:837 msgid "Select how long you want to keep \"pending\" account." msgstr "Wählen Sie aus, wie lange Sie ein \"ausstehendes\" Konto behalten wollen." #: classes/class.swpm-settings.php:843 msgid "Admin Dashboard Access Permission" msgstr "Zugriffsberechtigung für das Admin-Dashboard" #: classes/class.swpm-settings.php:856 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user roles to access the " "SWPM admin dashboard by selecting a value here. Note that this option cannot work if you enabled the \"Disable Access to WP Dashboard\" option in " "General Settings." msgstr "" "Das SWPM-Admin-Dashboard ist nur für Admin-Benutzer zugänglich (wie bei jedem anderen Plug-in auch). Sie können Benutzern mit anderen WP-" "Benutzerrollen den Zugriff auf das SWPM-Admin-Dashboard erlauben, indem Sie hier eine entsprechende Rolle auswählen. Beachten Sie bitte, dass " "dies nur funktioniert, wenn die Option \"Zugang zum WP-Dashboard deaktivieren\" in den allgemeinen Einstellung ausgeschaltet ist." #: classes/class.swpm-settings.php:862 msgid "Force WP User Synchronization" msgstr "Synchronisation mit WP-Benutzerkonten erzwingen" #: classes/class.swpm-settings.php:868 msgid "" "Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another " "plugin that uses WP user records. For example: bbPress plugin." msgstr "" "Aktivieren Sie diese Option, wenn die Anmeldung eines Mitglieds mit den WP-Benutzerkonten synchronisiert werden soll. Dies kann nützlich sein, " "wenn Sie ein anderes Plug-in verwenden, das die WP-Benutzereinträge nutzt, wie etwa das bbPress-Plug-in." #: classes/class.swpm-settings.php:873 msgid "Create Member Accounts for New WP Users" msgstr "Mitgliedskonten für neue WP-Benutzer anlegen" #: classes/class.swpm-settings.php:877 msgid "Enable Auto Create Member Accounts" msgstr "Automatisches Erstellen von Mitgliedskonten aktivieren" #: classes/class.swpm-settings.php:883 msgid "Enable this option to automatically create member accounts for any new WP user that is created by another plugin." msgstr "" "Aktivieren Sie diese Option, um automatisch Mitgliedskonten für jeden neuen WP-Benutzer zu erstellen, der von einem anderen Plug-in erstellt wird." #: classes/class.swpm-settings.php:890 msgid "Default Membership Level" msgstr "Standard-Mitgliedschaftsstufe" #: classes/class.swpm-settings.php:898 msgid "When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here." msgstr "" "Bei der automatischen Erstellung eines Mitgliedskontos mit dieser Funktion wird die Mitgliedschaftsstufe des Benutzers auf die hier angegebene " "Stuefe eingestellt." #: classes/class.swpm-settings.php:913 msgid "" "When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify " "here." msgstr "" "Bei der automatischen Erstellung eines Mitgliedskontos wird der Status des Mitgliedskontos des Benutzers auf den hier angegebenen Status gesetzt." #: classes/class.swpm-settings.php:919 msgid "Payment Notification Forward URL" msgstr "URL, an welche die Zahlungsbenachrichtigung weitergeleitet wird" #: classes/class.swpm-settings.php:925 msgid "" "You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want " "to forward the payment notification to an external script for further processing." msgstr "" "Sie können hier eine URL eingeben, auf die Mitglieder weitergeleitet werden, sobald die Zahlung ihres Mitgliedschaftsbetrags vom Plug-in " "verarbeitet wurde. Dies ist insbesondere nützlich, wenn Sie die Zahlungsbenachrichtigung an ein externes Skript zur weiteren Verarbeitung " "weiterleiten möchten." #: classes/class.swpm-settings.php:930 views/add.php:68 msgid "Terms and Conditions" msgstr "Allgemeine Geschäftsbedingungen" #: classes/class.swpm-settings.php:934 msgid "Enable Terms and Conditions" msgstr "Allgemeine Geschäftsbedingungen aktivieren" #: classes/class.swpm-settings.php:940 msgid "Users must accept the terms before they can complete the registration." msgstr "Mitglieder müssen die Allgemeinen Geschäftsbedingungen (AGB) akzeptieren, um die Registrierung abschließen zu können." #: classes/class.swpm-settings.php:945 msgid "Terms and Conditions Page URL" msgstr "URL der Allgemeinen Geschäftsbedingungen" #: classes/class.swpm-settings.php:951 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that " "page in the above field." msgstr "" "Geben Sie die URL Ihrer AGB-Seite ein. Sie können eine WordPress-Seite erstellen, auf der Sie Ihre Allgemeinen Geschäftsbedingungen hinterlegen, " "und deren URL dann im obigen Feld eingeben." #: classes/class.swpm-settings.php:956 msgid "Enable Privacy Policy" msgstr "Datenschutzerklärung aktivieren" #: classes/class.swpm-settings.php:962 msgid "Users must accept it before they can complete the registration." msgstr "Mitglieder müssen Ihre Datenschutzerklärung akzeptieren, um die Registrierung abschließen zu können." #: classes/class.swpm-settings.php:967 msgid "Privacy Policy Page URL" msgstr "URL der Datenschutzerklärung" #: classes/class.swpm-settings.php:973 msgid "Enter the URL of your privacy policy page." msgstr "Geben Sie die URL Ihrer Datenschutzerklärung ein." #: classes/class.swpm-settings.php:984 msgid "Configure Blacklisting & Whitelisting" msgstr "Konfiguration schwarzer und weißer Listen" #: classes/class.swpm-settings.php:987 msgid "Whitelisting" msgstr "Weiße Listen" #: classes/class.swpm-settings.php:991 msgid "Enable Whitelisting Feature" msgstr "Prüfung anhand weißer Listen" #: classes/class.swpm-settings.php:997 msgid "When enabled, whitelisting feature will be activated." msgstr "Aktiviert die Prüfung anhand weißer Listen (zulässige Eingaben)." #: classes/class.swpm-settings.php:1003 msgid "Email Address Whitelisting" msgstr "Zulässige E-Mail-Adressen" #: classes/class.swpm-settings.php:1009 msgid "Enter a list (comma separated) of email addresses to whitelist." msgstr "Geben Sie eine durch Kommata getrennte Liste zulässiger E-Mail-Adressen ein." #: classes/class.swpm-settings.php:1015 msgid "Email Address Pattern Whitelisting" msgstr "Schablone zulässiger E-Mail-Addressen" #: classes/class.swpm-settings.php:1021 msgid "Enter a list (comma separated) of email addresses pattern to whitelist. Example value: @gooddomain.com, @gmail.com, @yahoo.com" msgstr "" "Geben Sie eine durch Kommata getrennte Liste von Schablonen zulässiger E-Mail-Adressen ein. Beispiele: @gooddomain.com, @gmail.com, @yahoo.com" #: classes/class.swpm-settings.php:1027 msgid "Whitelist Message Customization" msgstr "Meldung bei Zulässigkeit" #: classes/class.swpm-settings.php:1033 msgid "Enter the message you want to show to the user when the whitelisted condition is met. Leave it empty to use the default message." msgstr "" "Geben Sie die Meldung ein, die dem Benutzer angezeigt werden soll, wenn eine Bedingung der weißen Liste zutrifft. Leer lassen, um die " "Standardmeldung anzuzeigen." #: classes/class.swpm-settings.php:1038 msgid "Blacklisting" msgstr "Schwarze Listen" #: classes/class.swpm-settings.php:1042 msgid "Enable Blacklisting Feature" msgstr "Prüfung anhand schwarzer Listen" #: classes/class.swpm-settings.php:1048 msgid "When enabled, blacklisting feature will be activated." msgstr "Aktiviert die Prüfung anhand schwarzer Listen." #: classes/class.swpm-settings.php:1054 msgid "Email Address Blacklisting" msgstr "Unzulässige E-Mail-Adressen" #: classes/class.swpm-settings.php:1060 msgid "Enter a list (comma separated) of email addresses to blacklist." msgstr "Geben Sie eine durch Kommata getrennte Liste unzulässiger E-Mail-Adressen ein." #: classes/class.swpm-settings.php:1066 msgid "Email Address Pattern Blacklisting" msgstr "Schablone unzulässiger E-Mail-Addressen" #: classes/class.swpm-settings.php:1072 msgid "Enter a list (comma separated) of email addresses pattern to blacklist. Example value: @baddomain.com, @crazydomain.com" msgstr "Geben Sie eine durch Kommata getrennte Liste von Schablonen unzulässiger E-Mail-Adressen ein. Beispiele: @baddomain.com, @crazydomain.com" #: classes/class.swpm-settings.php:1078 msgid "Blacklist Message Customization" msgstr "Meldung bei Unzulässigkeit" #: classes/class.swpm-settings.php:1084 msgid "Enter the message you want to show to the user when the blacklisted condition is met. Leave it empty to use the default message." msgstr "" "Geben Sie die Meldung ein, die dem Benutzer angezeigt werden soll, wenn eine Bedingung der schwarzen Liste zutrifft. Leer lassen, um die " "Standardmeldung anzuzeigen." #: classes/class.swpm-settings.php:1183 #, php-format msgid "Visit the %s to read setup and configuration documentation." msgstr "Besuchen Sie %s, um die Dokumentation für Einrichtung und Konfiguration einzusehen." #: classes/class.swpm-settings.php:1183 msgid "Simple Membership Plugin Site" msgstr "Website des Plug-ins \"Simple WP Membership\"" #: classes/class.swpm-settings.php:1184 #, php-format msgid "Please %s if you like the plugin." msgstr "Bitte %s, wie gut Sie das Plug-in finden." #: classes/class.swpm-settings.php:1184 msgid "give us a rating" msgstr "geben Sie uns Feedback" #: classes/class.swpm-settings.php:1202 classes/class.swpm-settings.php:1232 classes/class.swpm-settings.php:1364 #: classes/class.swpm-settings.php:1392 classes/class.swpm-settings.php:1425 msgid "Settings updated!" msgstr "Einstellungen aktualisiert!" #: classes/class.swpm-settings.php:1207 msgid "General Plugin Settings." msgstr "Allgemeine Plug-in-Einstellungen." #: classes/class.swpm-settings.php:1211 msgid "Page Setup and URL Related settings." msgstr "Einstellungen für Seiteneinrichtung und URLs." #: classes/class.swpm-settings.php:1214 msgid "The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time." msgstr "" "Die folgenden Seiten werden für die korrekte Funktion des Plug-ins benötigt. Diese Seiten wurden vom Plug-in bei der Installation automatisch " "erstellt." #: classes/class.swpm-settings.php:1215 msgid "" " Read this documentation to learn how to recreate them (if needed)." msgstr "" " Lesen Sie diese Dokumentation um zu " "erfahren, wie Sie die Seiten im Bedarfsfall neu erstellen lassen können." #: classes/class.swpm-settings.php:1221 msgid "Optional page. It is automatically created by the plugin when you install the plugin for the first time." msgstr "Optionale Seiten. Diese werden vom Plug-in bei der Erstinstallation automatisch erstellt." #: classes/class.swpm-settings.php:1226 msgid "Testing and Debug Related Settings." msgstr "Einstellungen zum Testen und Debuggen." #: classes/class.swpm-settings.php:1237 msgid "This section allows you to enable/disable sandbox or test mode for the payment buttons." msgstr "Dieser Abschnitt erlaubt die Aktivierung/Deaktivierung des Sandbox-Test-Modus für die Zahlungsfunktionen." #: classes/class.swpm-settings.php:1241 msgid "Configure the PayPal API credentials for the new PayPal checkout." msgstr "Konfiguration der Zugangsdaten des PayPal-APIs für den neuen PayPal-Checkout." #: classes/class.swpm-settings.php:1242 msgid "Read this documentation" msgstr "Lesen Sie diese Dokumentation" #: classes/class.swpm-settings.php:1242 msgid "to learn how to get your PayPal API credentials." msgstr "zum zu erfahren, wie sie Ihre Zugrangsdaten für das PayPal-API erhalten können." #: classes/class.swpm-settings.php:1246 msgid "PayPal Webhooks" msgstr "PayPal-Webhooks" #: classes/class.swpm-settings.php:1247 msgid "" "The PayPal payment buttons that uses the new API require webhooks. The plugin will auto-create the required webhooks when you create a PayPal " "payment button." msgstr "" "Die Buttons für PayPal-Zahlungen mittels des neuen APIs erfordern Webhooks. Das Plug-in erstellt die benötigten Webhooks, sobald Sie einen Button " "für PayPal-Zahlungen anlegen." #: classes/class.swpm-settings.php:1248 msgid "If you have issues with the webhooks, you can delete it and create again." msgstr "Sollten Sie Probleme mit den Webhooks haben, können Sie sie jederzeit löschen und neu erstellen lassen." #: classes/class.swpm-settings.php:1265 msgid "Live Webhook exists. If you still have issues with webhooks, you can delete it and create again." msgstr "" "Die Webhooks für den Live-Modus sind erstellt. Sollten Sie Probleme mit den Webhooks haben, können Sie sie löschen und neu erstellen lassen." #: classes/class.swpm-settings.php:1271 msgid "Live PayPal API credentials are not set. Please set the Live PayPal API credentials first." msgstr "Die Zugangsdaten für das PayPal-API im Live-Modus fehlen noch. Bitte tragen Sie die Zugangsdaten für den Live-Modus des PayPal-APIs ein." #: classes/class.swpm-settings.php:1275 msgid "No webhook found. Use the following Create Live Webhook link to create a new webhook automatically." msgstr "" "Webhook nicht vorhanden. Verwenden Sie den nachfolgenden Link zur Erstellung eines Live-Webhooks, um den Webhook automatisch neu erstellen zu " "lassen." #: classes/class.swpm-settings.php:1279 msgid "Create Live Webhook" msgstr "Live-Webhook erstellen" #: classes/class.swpm-settings.php:1293 msgid "Sandbox Webhook exists. If you still have issues with webhooks, you can delete it and create again." msgstr "" "Die Webhooks für den Sanbox-Test sind erstellt. Sollten Sie Probleme mit den Webhooks haben, können Sie sie löschen und neu erstellen lassen." #: classes/class.swpm-settings.php:1299 msgid "Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal API credentials first." msgstr "" "Die Zugangsdaten für das PayPal-API im Sandbox-Modus fehlen noch. Bitte tragen Sie die Zugangsdaten für den Sandbox-Modus des PayPal-APIs ein." #: classes/class.swpm-settings.php:1303 msgid "No webhook found. Use the following Create Sandbox Webhook link to create a new webhook automatically." msgstr "" "Webhook nicht vorhanden. Verwenden Sie den nachfolgenden Link zur Erstellung eines Sandbox-Webhooks, um den Webhook automatisch neu erstellen zu " "lassen." #: classes/class.swpm-settings.php:1307 msgid "Create Sandbox Webhook" msgstr "Sandbox-Webhook erstellen" #: classes/class.swpm-settings.php:1314 classes/class.swpm-settings.php:1324 msgid "Delete Webhooks" msgstr "Webhooks löschen" #: classes/class.swpm-settings.php:1319 msgid "PayPal API credentials are missing. Please set the PayPal API credentials." msgstr "Die Zugangsdaten für das PayPal-API fehlen noch. Bitte tragen Sie die Zugangsdaten für das PayPal-API ein." #: classes/class.swpm-settings.php:1335 msgid "This section allows you to configure Stripe payment related settings." msgstr "Dieser Abschnitt erlaubt es Ihnen, Einstellungen für Stripe-Zahlungen zu vorzunehmen." #: classes/class.swpm-settings.php:1339 msgid "This email will be sent to your users when they complete the registration and become a member." msgstr "Diese E-Mail wird an die Benutzer gesendet, wenn sie die Registrierung abgeschlossen haben und Mitglied geworden sind." #: classes/class.swpm-settings.php:1343 msgid "This email will be sent to your users when they use the password reset functionality." msgstr "Diese E-Mail wird an Ihre Benutzer gesendet, wenn sie die Funktion zum Zurücksetzen des Passworts verwenden." #: classes/class.swpm-settings.php:1349 msgid "" "This interface lets you customize the various emails that get sent to your members for various actions. The default settings should be good to " "get your started." msgstr "" "Nachfolgend können Sie die E-Mails anpassen, die für verschiedene Vorgänge an Ihre Mitglieder gesendet werden. Die Standardeinstellungen sollten " "für den Anfang genügen." #: classes/class.swpm-settings.php:1353 views/admin_tools_settings.php:88 msgid "This documentation" msgstr "Diese Dokumentation" #: classes/class.swpm-settings.php:1354 msgid " explains what email merge tags you can use in the email body field to customize it (if you want to)." msgstr " erklärt, welche Merge-Tags Sie im Feld für den E-Mail-Text verwenden können, falls Sie diesen anpassen möchten." #: classes/class.swpm-settings.php:1367 msgid "Settings in this section apply to all emails." msgstr "Die Einstellungen in diesem Abschnitt gelten für alle E-Mails." #: classes/class.swpm-settings.php:1371 msgid "This email will be sent to your users after account upgrade (when an existing member pays for a new membership level)." msgstr "Diese E-Mail wird an Benutzer nach der Aktualisierung ihres Kontos gesendet (Zahlung für eine neue Mitgliedschafsstufe)." #: classes/class.swpm-settings.php:1375 msgid "This email will be sent to your members when you use the bulk account activate and notify action." msgstr "Diese E-Mail wird an Mitglieder gesendet, wenn Sie die Konten gesammelt aktivieren oder Sammelbenachrichtigungen versenden." #: classes/class.swpm-settings.php:1376 msgid " You cannot use email merge tags in this email. You can only use generic text." msgstr " In dieser E-Mail können Sie keine Merge-Tags, sondern nur generischen Text verwenden." #: classes/class.swpm-settings.php:1380 msgid "This email will be sent if Email Activation is enabled for a Membership Level." msgstr "Diese E-Mail wird gesendet, wenn für eine Mitgliedschaftsstufe die E-Mail-Aktivierung aktiviert ist." #: classes/class.swpm-settings.php:1384 msgid "This email will be sent to prompt users to complete registration after the payment." msgstr "Diese E-Mail wird an die Benutzer gesendet, um sie aufzufordern, die – gegebenenfalls kostenpflichtige – Registrierung abzuschließen." #: classes/class.swpm-settings.php:1407 msgid "" "Note: You cannot enable both the \"Disable Access to WP Dashboard\" and \"Admin Dashboard Access Permission\" options at the same time. Only use " "one of those options." msgstr "" "Anmerkung: Sie können die Optionen \"Zugang zum WP-Dashboard deaktivieren\" und \"Zugriffsberechtigung für das Admin-Dashboard\" nicht " "gleichzeitig aktivieren. Verwenden Sie nur eine davon." #: classes/class.swpm-settings.php:1416 msgid "This page allows you to configure some advanced features of the plugin." msgstr "Diese Seite erlaubt die Konfiguration einiger erweiterter Funktionen des Plug-ins." #: classes/class.swpm-settings.php:1430 msgid "This interface lets you configure blacklisting & whitelisting for email addresses. " msgstr "Dieses Seite erlaubt die Konfiguration schwarzer und weißer Listen für E-Mail-Adressen. " #: classes/class.swpm-settings.php:1431 msgid "This blacklisting & whitelisting documentation" msgstr "Diese Dokumentation für schwarze und weiße Listen" #: classes/class.swpm-settings.php:1432 msgid " explains how to use this feature." msgstr " erläutert, wie diese Funktion benutzt wird." #: classes/class.swpm-settings.php:1438 msgid "This section allows you to configure whitelisting settings." msgstr "Dieser Abschnitt erlaubt die Konfiguration von weißen Listen." #: classes/class.swpm-settings.php:1442 msgid "This section allows you to configure blacklisting settings." msgstr "Dieser Abschnitt erlaubt die Konfiguration von schwarzen Listen." #: classes/class.swpm-settings.php:1446 msgid "" "This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be " "useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin." msgstr "" "In diesem Abschnitt können Sie die automatische Erstellung von Mitgliedskonten konfigurieren, wenn neue WP-Benutzereinträge von einem anderen " "Plug-in erstellt werden. Dies kann nützlich sein, wenn Sie ein anderes Plug-in verwenden, das WP-Benutzereinträge erstellt und diese im Simple-WP-" "Membership-Plug-in erkannt werden sollen." #: classes/class.swpm-settings.php:1450 msgid "This section allows you to configure terms and conditions and privacy policy that users must accept at registration time." msgstr "" "In diesem Abschnitt können Sie die Allgemeinen Geschäftbedingungen (AGB) sowie die Datenschutzerklärung konfigurieren, die Benutzer bei der " "Registrierung akzeptieren müssen." #: classes/class.swpm-settings.php:1626 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Einstellungen" #: classes/class.swpm-utils-member.php:36 classes/class.swpm-utils-member.php:44 classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 classes/class.swpm-utils-member.php:68 msgid "User is not logged in." msgstr "Der Benutzer ist nicht angemeldet." #: classes/class.swpm-utils-member.php:88 msgid "No Expiry" msgstr "Kein Ablaufdatum" #: classes/class.swpm-utils-misc.php:57 msgid "Registration" msgstr "Registrierung" #: classes/class.swpm-utils-misc.php:85 msgid "Member Login" msgstr "Anmeldung für Mitglieder" #: classes/class.swpm-utils-misc.php:113 classes/shortcode-related/class.swpm-shortcodes-handler.php:145 msgid "Profile" msgstr "Profil" #: classes/class.swpm-utils-misc.php:141 msgid "Password Reset" msgstr "Passwort zurücksetzen" #: classes/class.swpm-utils-misc.php:169 msgid "Thank You" msgstr "Vielen Dank" #: classes/class.swpm-utils-misc.php:224 #, php-format msgid "You will be automatically redirected in a few seconds. If not, please %s." msgstr "Sie werden in wenigen Sekunden automatisch weitergeleitet. Wenn nicht, bitte %s." #: classes/class.swpm-utils-misc.php:228 msgid "Action Status" msgstr "Aktionsstatus" #: classes/class.swpm-utils-misc.php:415 msgid "Not a Member?" msgstr "Kein Mitglied?" #: classes/class.swpm-utils-misc.php:426 msgid "renew" msgstr "ändern" #: classes/class.swpm-utils-misc.php:426 msgid " your account to gain access to this content." msgstr " Sie Ihre Mitgliedschaft, um Zugang zu diesem Inhalt zu erhalten." #: classes/class.swpm-utils-misc.php:484 classes/class.swpm-utils-misc.php:490 msgid "Error! This action (" msgstr "Fehler! Diese Aktion (" #: classes/class.swpm-utils-misc.php:962 msgid "(Please Select)" msgstr "(Bitte wählen Sie)" #: classes/class.swpm-utils-misc.php:978 views/payments/admin_create_payment_buttons.php:34 msgid "PayPal Buy Now" msgstr "Sofortkauf per PayPal" #: classes/class.swpm-utils-misc.php:979 views/payments/admin_create_payment_buttons.php:36 msgid "PayPal Subscription" msgstr "Abonnement per PayPal" #: classes/class.swpm-utils-misc.php:980 views/payments/admin_create_payment_buttons.php:38 msgid "PayPal Buy Now (New API)" msgstr "Sofortkauf per PayPal (neues API)" #: classes/class.swpm-utils-misc.php:981 views/payments/admin_create_payment_buttons.php:40 msgid "PayPal Subscription (New API)" msgstr "Abonnement per PayPal (neues API)" #: classes/class.swpm-utils-misc.php:982 msgid "PayPal Smart Checkout" msgstr "PayPal Smart Checkout" #: classes/class.swpm-utils-misc.php:983 msgid "Stripe Buy Now" msgstr "Sofortkauf per Stripe" #: classes/class.swpm-utils-misc.php:984 msgid "Stripe Subscription" msgstr "Abonnement per Stripe" #: classes/class.swpm-utils-misc.php:985 views/payments/admin_create_payment_buttons.php:44 msgid "Stripe SCA Buy Now" msgstr "Sofortkauf per Stripe-SCA" #: classes/class.swpm-utils-misc.php:986 views/payments/admin_create_payment_buttons.php:46 msgid "Stripe SCA Subscription" msgstr "Abonnement per Stripe-SCA" #: classes/class.swpm-utils-misc.php:987 views/payments/admin_create_payment_buttons.php:42 msgid "Braintree Buy Now" msgstr "Sofortkauf per Braintree" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Fehler . Es konnte kein Vorlagenpfad für die angegebene Vorlage gefunden werden: " #: classes/class.swpm-utils.php:111 msgid "Never" msgstr "Niemals" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Männlich" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Weiblich" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "Nicht angegeben" #: classes/class.swpm-utils.php:126 views/admin_members_list.php:33 msgid "Active" msgstr "Aktiv" #: classes/class.swpm-utils.php:127 views/admin_members_list.php:34 msgid "Inactive" msgstr "Inaktiv" #: classes/class.swpm-utils.php:128 views/admin_members_list.php:35 msgid "Activation Required" msgstr "Aktivierung erforderlich" #: classes/class.swpm-utils.php:129 views/admin_members_list.php:36 msgid "Pending" msgstr "Ausstehend" #: classes/class.swpm-utils.php:130 views/admin_members_list.php:38 msgid "Expired" msgstr "Abgelaufen" #: classes/class.swpm-utils.php:533 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Konto löschen" #: classes/class.swpm-wp-loaded-tasks.php:118 msgid "You will be redirected to the previous page in a few seconds. If not, please click here." msgstr "Sie werden in wenigen Sekunden automatisch weitergeleitet. Wenn nicht, bitte hier klicken." #: classes/class.swpm-wp-loaded-tasks.php:121 msgid "Success!" msgstr "Erfolg!" #: classes/class.swpm-wp-loaded-tasks.php:129 msgid "No token provided." msgstr "Kein Token vorhanden." #: classes/class.swpm-wp-loaded-tasks.php:136 msgid "Nonce check failed." msgstr "Die Nonce-Verifikation ist fehlgeschlagen." #: classes/class.swpm-wp-loaded-tasks.php:161 msgid "Subscription has been cancelled." msgstr "Ihr Abonnement wurde gekündigt." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:75 msgid "Your membership profile will be updated to reflect the payment." msgstr "Ihr Mitgliedsprofil wird entsprechend der Zahlung aktualisiert." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:76 msgid "Your profile username: " msgstr "Ihr Benutzername: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:94 msgid "Click on the following link to complete the registration." msgstr "Klicken Sie auf den folgenden Link, um die Registrierung abzuschließen." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "Click here to complete your paid registration" msgstr "Klicken Sie hier, um Ihre kostenpflichtige Registrierung abzuschließen" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:102 msgid "" "If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to " "you with the details shortly." msgstr "" "Wenn Sie gerade eine Mitgliedschaftszahlung getätigt haben, dann wurde Ihre Zahlung noch nicht verarbeitet. Bitte sehen Sie in enigen Minuten " "nochmals nach. Sie erhalten in Kürze eine E-Mail mit den Details." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:119 msgid "Expiry: " msgstr "Ablauf: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 classes/shortcode-related/class.swpm-shortcodes-handler.php:166 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:248 msgid "You are not logged-in as a member" msgstr "Sie sind nicht als Mitglied angemeldet" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:143 msgid "Logged in as: " msgstr "Angemeldet als: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:146 views/loggedin.php:31 msgid "Logout" msgstr "Abmelden" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:149 msgid "Login Here" msgstr "Hier anmelden" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:150 msgid "Not a member? " msgstr "Kein Mitglied? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:151 msgid "Join Now" msgstr "Jetzt Mitglied werden" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:228 msgid "Unsubscribe from PayPal" msgstr "Von PayPal abmelden" #. translators: %1$d is error code; %2$s is error message. #: ipn/swpm-smart-checkout-ipn.php:270 ipn/swpm-smart-checkout-ipn.php:297 #, php-format msgid "Error occured during payment verification. Error code: %1$d. Message: %2$s" msgstr "Bei der Überprüfung der Zahlung ist ein Fehler aufgetreten. Fehlercode: %1$d. Nachricht: %2$s" #. translators: %1$s is expected amount, %2$s is expected currency. #: ipn/swpm-smart-checkout-ipn.php:311 #, php-format msgid "Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s." msgstr "Die Überprüfung der Zahlung ist fehlgeschlagen. Ungültiger Betrag eingegangen: %1$s %2$s erwartet, %3$s %4$s erhalten." #: ipn/swpm-smart-checkout-ipn.php:347 msgid "Empty payment data received." msgstr "Leere Zahlungsdaten erhalten." #: ipn/swpm-smart-checkout-ipn.php:406 msgid "IPN product validation failed. Check the debug log for more details." msgstr "IPN-Produktvalidierung fehlgeschlagen. Prüfen Sie das Debug-Protokoll für weitere Details." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:40 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:228 msgid "Empty data received." msgstr "Leeren Datensatz erhalten." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:54 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:242 msgid "Nonce check failed. The page was most likely cached. Please reload the page and try again." msgstr "" "Die Nonce-Verifikation ist fehlgeschlagen. Die Seite war vermutlich noch im Cache. Bitte laden Sie die Seite erneut und versuchen Sie es noch " "einmal." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:66 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:254 msgid "Empty transaction data received." msgstr "Leere Transaktionsdaten erhalten." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:324 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:325 msgid "subscription created" msgstr "Teilnehmerzugang erstellt" #: lib/paypal/class-swpm-paypal-webhook.php:310 msgid "No webhook found. Use the following Create Webhook button to create a new webhook automatically in your PayPal account." msgstr "" "Webhook nicht vorhanden. Benutzen Sie den Button \"Webhook erstellen\", um den Webhook in Ihrem PayPal-Konto automatisch neu erstellen zu lassen." #: lib/paypal/class-swpm-paypal-webhook.php:314 #, php-format msgid "PayPal API Credential information is missing in settings. Please enter valid PayPal API Credentials in the General Settings tab for %s mode." msgstr "" "Die Zugangsdaten für das PayPal-API fehlen noch. Bitte geben Sie in den Zahlungseinstellungen Ihre PayPal-Zugangsdaten für den %s-Modus ein." #: lib/paypal/class-swpm-paypal-webhook.php:316 #, php-format msgid "Invalid or Missing API Credentials! Check the plugin settings and enter valid API credentials in the PayPal Credentials section for %s mode." msgstr "" "Ungültige oder fehlende Zugangsdaten für das PayPal-API! Prüfen Sie die Zahlungseinstellungen und geben Sie gültige PayPal-Zugangsdaten für den " "%s-Modul ein." #: lib/paypal/class-swpm-paypal-webhook.php:326 msgid "Webhook exists. If you still have issues with webhooks, you can delete it and create again." msgstr "Webhook existiert bereits. Sollten Sie dennoch Probleme mit Webhooks haben, können Sie sie löschen und neu erstellen." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "Invalid webhook URL." msgstr "Ungültige Webhook-URL." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "" "Note that the PayPal subscription API requires your site to use HTTPS URLs. You must use an SSL certificate with HTTPS URLs to complete the setup " "of the subscription addon and use it." msgstr "" "Beachten Sie bitte, dass das PayPal-API für Teilnehmerzugänge voraussetzt, dass Ihre Website HTTPS-URLs verwendet. Sie benötigen ein SSL-" "Zertifikat mit HTTPS-URLs, um die Einrichtung des Teilnehmerzugangs abzuschließen und es nutzen zu können." #: lib/paypal/class-swpm-paypal-webhook.php:362 msgid "Webhook has been created." msgstr "Webhook wurde erstellt." #: lib/paypal/class-swpm-paypal-webhook.php:386 msgid "Webhook has been deleted." msgstr "Webhook wurde gelöscht." #: lib/paypal/class-swpm-paypal-webhook.php:399 msgid "No webhook found. Nothing to delete." msgstr "Kein Webhook gefunden. Nichts zu löschen." #: lib/paypal/class-swpm-paypal-webhook.php:416 msgid "Live mode credentials are not set. Cannot create webhook." msgstr "Zugangsdaten für den Live-Modus fehlen noch. Webhook kann nicht erstellt werden." #: lib/paypal/class-swpm-paypal-webhook.php:431 msgid "Sandbox mode credentials are not set. Cannot create webhook." msgstr "Zugangsdaten für den Sandbox-Modus fehlen noch. Webhook kann nicht erstellt werden." #: views/account_delete_warning.php:7 msgid "You are about to delete an account. This will delete user data associated with this account. " msgstr "Sie sind dabei, ein Konto zu löschen. Dadurch werden die mit diesem Konto verbundenen Benutzerdaten gelöscht. " #: views/account_delete_warning.php:8 msgid "It will also delete the associated WordPress user account." msgstr "Das zugehörige WordPress-Benutzerkonto wird ebenfalls gelöscht." #: views/account_delete_warning.php:9 msgid "(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role)." msgstr "(Anmerkung: Aus Sicherheitsgründen ist die Löschung eines zugehörigen WordPress-Kontos mit Administrator-Rolle nicht erlaubt.)" #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "Fortfahren?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Passwort: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Kontolöschung bestätigen" #: views/add.php:26 views/admin_add.php:20 views/admin_edit.php:44 views/edit.php:31 views/login.php:28 msgid "Password" msgstr "Passwort" #: views/add.php:30 views/edit.php:35 msgid "Repeat Password" msgstr "Passwort wiederholen" #: views/add.php:68 msgid "I accept the " msgstr "Ich akzeptiere die " #: views/add.php:80 msgid "I agree to the " msgstr "Ich bin einverstanden mit der " #: views/add.php:80 msgid "Privacy Policy" msgstr "Datenschutzerklärung" #: views/add.php:91 msgid "Register" msgstr "Registrieren" #: views/admin_add.php:8 msgid "Create a brand new user and add it to this site." msgstr "Erstellen Sie einen neuen Benutzer für diese Website." #: views/admin_add.php:12 views/admin_add.php:16 views/admin_add_level.php:12 views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 views/admin_edit_level.php:16 views/admin_edit_level.php:20 views/admin_edit_level.php:24 msgid "(required)" msgstr "(erforderlich)" #: views/admin_add.php:16 views/admin_edit.php:40 msgid "E-mail" msgstr "E-Mail-Adresse" #: views/admin_add.php:20 msgid "(twice, required)" msgstr "(zweimal; erforderlich)" #: views/admin_add.php:25 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Passwortsicherheit" #: views/admin_add.php:26 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " "\" ? $ % ^ & )." msgstr "" "HInweis: Das Passwort sollte mindestens sieben Zeichen lang sein. Um es sicherer zu machen, verwenden Sie Groß- und Kleinbuchstaben, Zahlen und " "Symbole (Beispiel: !\"?$%^&)." #: views/admin_add.php:30 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Kontostatus" #: views/admin_add.php:49 msgid "Add New Member " msgstr "Neues Mitglied hinzufügen " #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Mitgliedschaftsstufe hinzufügen" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "Erstellen Sie eine neue Mitgliedschaftsstufe." #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "Name der Mitgliedschaftsstufe" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "Standard-Rolle in WordPress" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "Zugriffsdauer" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Kein Ablauf (Zugriff läuft erst ab, wenn er storniert wird)" #: views/admin_add_level.php:24 views/admin_add_level.php:26 views/admin_add_level.php:28 views/admin_add_level.php:30 views/admin_edit_level.php:28 #: views/admin_edit_level.php:31 views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "Läuft aus nach" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "Tag(en) (Zugang verfällt nach einer bestimmten Anzahl von Tagen)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "Woche(n) (Zugang verfällt nach einer bestimmten Anzahl von Wochen)" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "Monat(en) (Zugang verfällt nach einer bestimmten Anzahl von Monaten)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "Jahr(en) (Zugang verfällt nach einer bestimmten Anzahl von Jahren)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "Festes Ablaufdatum" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(Zugang verfällt zu einem vorgegebenen Termin)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "Aktivierung per E-Mail" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to " "activate the account. Useful for free membership. " msgstr "" "Aktivierung neuer Benutzer per E-Mail zulassen. In diesem Fall müssen Mitglieder zur Aktivierung ihres Kontos auf einen Aktivierungslink klicken, " "der an ihre E-Mail-Adresse gesendet wird. Dies ist insbesondere nützlich für eine kostenlose Mitgliedschaft. " #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "Dokumentation einsehen" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "Anmerkung:" #: views/admin_add_level.php:45 msgid "If enabled, the member's decryptable password is temporarily stored in the database until the account is activated." msgstr "Falls zugelassen, wird das entschlüsselbare Mitgliedspasswort vorübergehend in der Datenbank gespeichert, bis das Konto aktiviert wird." #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "Neue Mitgliedschaftsstufe hinzufügen " #: views/admin_add_ons_page.php:11 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Add-ons" #: views/admin_addon_settings.php:3 msgid "Some of the simple membership plugin's addon settings and options will be displayed here (if you have them)" msgstr "Einige der Einstellungen und Optionen von Add-ons des Plug-ins werden hier angezeigt (falls Sie diese haben)" #: views/admin_addon_settings.php:10 msgid "Save Changes" msgstr "Änderungen speichern" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting \"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Schützen Sie zunächst die Kategorie auf Ihrer Website global, indem Sie in der Dropdown-Box unten \"Allgemeiner Schutz\" wählen und dann die " "Kategorien auswählen, die vor nicht angemeldeten Benutzern geschützt werden sollen." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that " "particular membership level)." msgstr "" "Wählen Sie als Nächstes eine bestehende Mitgliedschaftsstufe aus dem Dropdown-Feld unten aus und wählen Sie dann die Kategorien, auf die Sie " "Zugriff gewähren möchten (für diese eine Mitgliedschaftsstufe)." #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 views/admin_post_list.php:11 msgid "Read the " msgstr "Lesen Sie die " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "Dokumentation zum Kategorienschutz" #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 msgid "to learn more." msgstr "für weitere Details." #: views/admin_category_list.php:19 views/admin_post_list.php:32 msgid "Membership Level:" msgstr "Mitgliedschaftsstufe:" #: views/admin_category_list.php:21 views/admin_post_list.php:34 msgid "General Protection" msgstr "Allgemeiner Schutz" #: views/admin_category_list.php:26 views/admin_post_list.php:39 views/edit.php:84 msgid "Update" msgstr "Aktualisierung" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Mitglied bearbeiten" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Vorhandene Mitgliederdaten bearbeiten." #: views/admin_edit.php:14 msgid " You are currently editing member with member ID: " msgstr " Sie bearbeiten gerade das Mitglied mit der ID: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(zweimal; leer lassen, um das alte Passwort zu behalten)" #: views/admin_edit.php:59 msgid "This is the member's account status. If you want to manually activate an expired member's account then read" msgstr "Dies ist der Kontostatus des Mitglieds. Wenn Sie ein abgelaufenes Mitgliedskonto manuell aktivieren möchten, lesen Sie" #: views/admin_edit.php:60 msgid "this documentation" msgstr "diese Dokumentation" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " um zu erfahren, wie Sie vorgehen müssen." #: views/admin_edit.php:66 msgid "Notify User" msgstr "Benutzer benachrichtigen" #: views/admin_edit.php:69 msgid "You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below)." msgstr "" "Sie können diese Option verwenden, um schnell eine E-Mail an dieses Mitglied zu senden (die E-Mail wird gesendet, wenn Sie den Speichern-Button " "unten anklicken)." #: views/admin_edit.php:103 msgid "Subscriber ID/Reference" msgstr "Teilnehmer-ID/Referenz" #: views/admin_edit.php:107 msgid "Expiry Date" msgstr "Ablaufdatum" #: views/admin_edit.php:114 msgid "" "This is calculated based on the current membership level assigned to this member and the expiry condition that you have set for that membership " "level." msgstr "" "Wird errechnet anhand der aktuellen Mitgliedschaftsstufe dieses Mitglieds und der Ablaufbedingung, die Sie für die entsprechende " "Mitgliedschaftsstufe eingestellt haben." #: views/admin_edit.php:119 msgid "Last Accessed Date" msgstr "Datum des letzten Zugriffs" #: views/admin_edit.php:122 views/admin_edit.php:129 msgid "This value gets updated when this member logs into your site." msgstr "Dieser Wert wird aktualisiert, sobald sich dieses Mitglied auf Ihrer Seite anmeldet." #: views/admin_edit.php:126 msgid "Last Accessed From IP" msgstr "Letzter Zugriff von IP" #: views/admin_edit.php:137 msgid "Save Data" msgstr "Daten speichern" #: views/admin_edit.php:142 msgid "Delete User Profile" msgstr "Benutzerprofil löschen" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Mitgliedschaftsstufe bearbeiten" #: views/admin_edit_level.php:9 msgid "You can edit details of a selected membership level from this interface. " msgstr "Auf dieser Seite können Sie die Details einer ausgewählten Mitgliedschaftsstufe bearbeiten. " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "Sie bearbeiten gerade: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Kein Ablauf (der Zugang für diese Stufe läuft erst nach Kündigung ab)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "Woche(n) (der Zugang verfällt nach einer bestimmten Anzahl von Wochen)" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to " "activate the account. Useful for free membership." msgstr "" "Aktivierung neuer Benutzer per E-Mail zulassen. In diesem Fall müssen die Mitglieder zur Aktivierung ihres Kontos auf einen Aktivierungslink " "klicken, der an ihre E-Mail-Adresse gesendet wird. Dies ist insbesondere für eine kostenlose Mitgliedschaft nützlich." #: views/admin_edit_level.php:53 msgid "If enabled, decryptable member password is temporarily stored in the database until the account is activated." msgstr "Falls zugelassen, wird das entschlüsselbare Mitgliedspasswort vorübergehend in der Datenbank gespeichert, bis das Konto aktiviert wird." #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "Mitgliedschaftsstufe speichern " #: views/admin_member_form_common_part.php:14 includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Geschlecht" #: views/admin_member_form_common_part.php:21 views/edit.php:47 includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Telefon" #: views/admin_member_form_common_part.php:25 views/edit.php:51 msgid "Street" msgstr "Straße" #: views/admin_member_form_common_part.php:29 views/edit.php:55 msgid "City" msgstr "Stadt" #: views/admin_member_form_common_part.php:33 views/edit.php:59 msgid "State" msgstr "Bundesland" #: views/admin_member_form_common_part.php:37 views/edit.php:63 msgid "Zipcode" msgstr "Postleitzahl" #: views/admin_member_form_common_part.php:41 views/edit.php:67 includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Land" #: views/admin_member_form_common_part.php:45 includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Unternehmen" #: views/admin_member_form_common_part.php:49 includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Mitglied seit" #: views/admin_members_list.php:32 msgid "All" msgstr "Alle" #: views/admin_members_list.php:37 views/admin_members_list.php:47 msgid "Incomplete" msgstr "Unvollständig" #: views/admin_membership_manage.php:5 msgid "content protection documentation" msgstr "Dokumentation zum Kategorienschutz" #: views/admin_membership_manage.php:7 msgid "How to Apply Content Protection" msgstr "Inhalte schützen" #: views/admin_membership_manage.php:9 msgid "Take the following steps to apply protection to your content so only members can have access to it." msgstr "Führen Sie die folgenden Schritte aus, um Inhalte so zu schützen, dass nur Mitglieder darauf zugreifen können." #: views/admin_membership_manage.php:12 msgid "Edit the Post or Page that you want to protect in WordPress editor." msgstr "Öffnen Sie den Beitrag oder die Seite, die geschützt werden sollen, mit dem WordPress-Editor." #: views/admin_membership_manage.php:13 msgid "Scroll down to the section titled 'Simple WP Membership Protection'." msgstr "Scrollen Sie bis zum Abschnitt mit der Überschrift \"Schutz per Simple WP Membership\"." #: views/admin_membership_manage.php:14 msgid "Select 'Yes, Protect this content' option." msgstr "Wählen Sie \"Ja, diesen Inhalt schützen\"." #: views/admin_membership_manage.php:15 msgid "Check the membership levels that should have access to that page's content." msgstr "Wählen Sie die Mitgliedschaftsstufen aus, die auf diesen Inhalt zugreifen dürfen." #: views/admin_membership_manage.php:16 msgid "Hit the Update/Save Button to save the changes." msgstr "Klicken Sie den Button \"Aktualisieren/Speichern\", um Ihre Eingabe zu speichern." #: views/admin_membership_manage.php:19 msgid "Example Content Protection Settings" msgstr "Beispiel von Einstellungen zum Schutz von Inhalten" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting \"General Protection\" from the drop-down box below and then select " "posts and pages that should be protected from non-logged in users." msgstr "" "Schützen Sie zunächst die Beiträge und Seiten auf Ihrer Website global, indem Sie \"Allgemeiner Schutz\" aus der Dropdown-Box unten auswählen und " "dann Beiträge und Seiten markieren, die vor nicht angemeldeten Benutzern geschützt werden sollen." #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that " "particular membership level)." msgstr "" "Als Nächstes wählen Sie eine bestehende Mitgliedschaftsstufe aus der Dropdown-Liste unten aus und markieren dann die Beiträge und Seiten, die Sie " "dieser Mitgliedschaftsstufe zugänglich machen möchten." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "Dokumentation zum Sammelschutz für Beiträge und Seiten" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr " um mehr darüber zu erfahren." #: views/admin_post_list.php:21 msgid "Posts" msgstr "Beiträge" #: views/admin_post_list.php:22 msgid "Pages" msgstr "Seiten" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "Benutzerdefinierte Beiträge" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "Die benötigten Seiten wurden neu erstellt." #: views/admin_tools_settings.php:22 msgid "This interface contains useful tools for various admin operations." msgstr "Diese Seite beinhaltet nützliche Werkzeuge für verschiedene Admin-Operationen." #: views/admin_tools_settings.php:27 msgid "Generate a Registration Completion link" msgstr "Erstellen Sie einen Link zum Abschluss der Registrierung" #: views/admin_tools_settings.php:30 msgid "" "You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically " "sent out to them after the payment." msgstr "" "Sie können hier manuell einen Link zum Abschluss des Registrierung erstellen und Ihrem Kunden bekanntgeben, falls die E-Mail, die nach der " "Zahlung automatisch versendet wurde, verloren gegangen sein sollte." #: views/admin_tools_settings.php:35 msgid "Generate Registration Completion Link" msgstr "Link zum Abschluss der Registrierung erstellen" #: views/admin_tools_settings.php:36 msgid "For a Particular Member ID" msgstr "für das Mitglied mit der ID" #: views/admin_tools_settings.php:38 msgid "OR" msgstr "ODER" #: views/admin_tools_settings.php:39 msgid "For All Incomplete Registrations" msgstr "für alle unvollständigen Registrierungen" #: views/admin_tools_settings.php:44 msgid "Send Registration Reminder Email Too" msgstr "Zusätzlich eine Aufforderung zur Vervollständigung der Registrierung per E-Mail versenden" #: views/admin_tools_settings.php:50 msgid "Submit" msgstr "Absenden" #: views/admin_tools_settings.php:59 msgid "Link(s) generated successfully. The following link(s) can be used to complete the registration." msgstr "Link(s) erfolgreich erstellt. Ein jeder Link erlaubt, die Registrierung für das betreffende Mitglied abzuschließen." #: views/admin_tools_settings.php:61 msgid "Registration completion links will appear below" msgstr "Die Links zum Abschluss der Registrierung erscheinen unten" #: views/admin_tools_settings.php:71 msgid "A prompt to complete registration email was also sent." msgstr "Eine Aufforderung zur Vervollständigung der Registrierung wurde ebenfalls gesendet." #: views/admin_tools_settings.php:84 views/admin_tools_settings.php:94 msgid "Re-create the Required Pages" msgstr "Benötigte Seiten wiederherstellen" #: views/admin_tools_settings.php:87 msgid "If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them." msgstr "" "Wenn Sie die Seiten, die das Plug-in bei der Installation erstellt hatte, versehentlich gelöscht haben sollten, können Sie diese Option " "verwenden, um sie erneut erstellen zu lassen." #: views/admin_tools_settings.php:88 msgid " has full explanation." msgstr " erläutert die Details." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Leer lassen, um das aktuelle Passwort zu behalten" #: views/edit.php:71 msgid "Company Name" msgstr "Name des Unternehmens" #: views/forgot_password.php:12 views/reset_password_using_link.php:54 msgid "Reset Password" msgstr "Passwort zurücksetzen" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Angemeldet als" #: views/loggedin.php:14 msgid "Membership" msgstr "Mitgliedschaft" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Kontoablauf" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Profil bearbeiten" #: views/login.php:7 msgid "Username or Email" msgstr "Benutzername oder E-Mail-Adresse" #: views/login.php:36 msgid "Show password" msgstr "Passwort anzeigen" #: views/login.php:41 msgid "Remember Me" msgstr "Angemeldet bleiben" #: views/login.php:50 msgid "Forgot Password?" msgstr "Haben Sie Ihr Passwort vergessen?" #: views/payments/admin_add_edit_transaction_manually.php:11 msgid "" "You can add a new transaction record manually using this interface. It can be useful if you manually accept cash payment for your memberships." msgstr "" "Auf dieser Seite können Sie eine Zahlung manuell erfassen. Dies ist insbesondere nützlich, wenn Sie Zahlungen für Mitgliedschaften auch in bar " "oder per Vorab-Überweisung entgegennehmen." #: views/payments/admin_add_edit_transaction_manually.php:54 msgid "Manual transaction added successfully. " msgstr "Manueller Transaktionsdatensatz hinzugefügt. " #: views/payments/admin_add_edit_transaction_manually.php:68 msgid "Add New Transaction" msgstr "Zahlung/Transaktion hinzufügen" #: views/payments/admin_add_edit_transaction_manually.php:99 includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "Mitglieds-ID" #: views/payments/admin_add_edit_transaction_manually.php:160 msgid "Save Transaction Data" msgstr "Transaktionsdaten speichern" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Hier werden alle Zahlungen/Transaktionen Ihrer Mitglieder erfasst." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email, name, transaction ID or Subscr ID." msgstr "Suche nach einer Transaktion anhand von E-Mail-Adresse, Name, Transaktions- oder Mitglieds-ID." #: views/payments/admin_all_payment_transactions.php:50 msgid "Add a Transaction Manually" msgstr "Transaktion manuell hinzufügen" #: views/payments/admin_create_payment_buttons.php:19 msgid "You can create a new payment button for your memberships using this interface." msgstr "Auf dieser Seite können Sie neue Zahlungsbuttons für Ihre Mitgliedschaften erstellen." #: views/payments/admin_create_payment_buttons.php:27 msgid "Select Payment Button Type" msgstr "Art des Zahlungsbuttons auswählen" #: views/payments/admin_create_payment_buttons.php:48 msgid "Stripe Legacy Buy Now (deprecated)" msgstr "Sofortkauf per Stripe (veraltet)" #: views/payments/admin_create_payment_buttons.php:50 msgid "Stripe Legacy Subscription (deprecated)" msgstr "Abonnement per Stripe (veraltet)" #: views/payments/admin_create_payment_buttons.php:62 msgid "Next" msgstr "Nächste" #: views/payments/admin_create_payment_buttons.php:69 msgid "You can also use payment buttons from the following plugins to accept payments for your memberships." msgstr "Sie können außerdem Zahlungsbuttons der folgenden Plug-ins verwenden, um Zahlungen für Mitgliedschaften zu erhalten." #: views/payments/admin_edit_payment_buttons.php:19 msgid "You can edit a payment button using this interface." msgstr "Auf dieser Seite können Sie einen Zahlungsbutton bearbeiten." #: views/payments/admin_payment_buttons.php:6 msgid "All the membership buttons that you created in the plugin are displayed here." msgstr "Hier finden Sie eine Übersicht aller Zahlungsbuttons, die Sie im Plug-in erstellt haben." #: views/payments/admin_payment_settings.php:7 msgid "You can create membership payment buttons from the " msgstr "Sie können neue Zahlungsbuttons für Ihre Mitgliedschaften über das " #: views/payments/admin_payment_settings.php:8 msgid "payments menu" msgstr "Zahlungsmenü" #: views/payments/admin_payment_settings.php:9 msgid " of this plugin (useful if you want to offer paid memberships on the site)." msgstr " des Plug-ins erstellen. Dies ist insbesondere nützlich, wenn Sie eine bezahlte Mitgliedschaft auf der Website anbieten möchten." #: views/payments/admin_payment_settings.php:10 msgid " Read the " msgstr " Lesen Sie den Abschnitt über " #: views/payments/admin_payment_settings.php:11 msgid "membership payment section" msgstr "Zahlungen für Mitgliedschaften" #: views/payments/admin_payment_settings.php:12 msgid " of our documentation to learn more about creating membership payment buttons." msgstr " in der Dokumentation, um mehr über die Erstellung von Zahlungsbuttons für Mitgliedschaften zu erfahren." #: views/payments/admin_payment_settings.php:31 views/payments/admin_payment_settings.php:47 msgid " Success! " msgstr " Erfolg! " #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Konfiguration des Zahlungsbuttons \"Sofortkauf per Braintree\"" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 views/payments/payment-gateway/admin_paypal_buy_now_button.php:216 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:160 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:182 views/payments/payment-gateway/admin_stripe_buy_now_button.php:316 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:314 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:92 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:92 msgid "Button ID" msgstr "Button-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:224 views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:168 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:190 views/payments/payment-gateway/admin_stripe_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:323 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:321 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:100 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:100 msgid "Button Title" msgstr "Button-Name" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:242 views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:230 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 views/payments/payment-gateway/admin_stripe_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:337 msgid "Payment Amount" msgstr "Zu zahlender Betrag" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "Braintree API key and account details. You can get this from your Braintree account." msgstr "Schlüssel und Kontodaten für das Braintree-API. Sie können diese von Ihrem Braintree-Konto erhalten." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Händler-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Öffentlicher Schlüssel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Privater Schlüssel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "Händlerkonto-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 views/payments/payment-gateway/admin_stripe_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:429 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:427 msgid "The following details are optional." msgstr "Die folgenden Angaben sind optional." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:318 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:459 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:419 views/payments/payment-gateway/admin_stripe_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:442 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:448 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:235 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:219 msgid "Return URL" msgstr "URL, zu der nach erfolgter Zahlung weitergeleitet wird" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:128 views/payments/payment-gateway/admin_paypal_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:325 views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:329 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:215 views/payments/payment-gateway/admin_paypal_subscription_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:488 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:430 views/payments/payment-gateway/admin_stripe_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:472 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:196 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:478 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:256 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:240 msgid "Save Payment Data" msgstr "Zahlungsdaten speichern" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 views/payments/payment-gateway/admin_paypal_buy_now_button.php:207 msgid "PayPal Buy Now Button Configuration" msgstr "Konfiguration des Zahlungsbuttons \"Sofortkauf per PayPal\"" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 views/payments/payment-gateway/admin_paypal_buy_now_button.php:250 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:190 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 views/payments/payment-gateway/admin_paypal_subscription_button.php:330 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:237 views/payments/payment-gateway/admin_stripe_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:344 msgid "Payment Currency" msgstr "Währung für die Zahlung" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 views/payments/payment-gateway/admin_paypal_buy_now_button.php:298 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 views/payments/payment-gateway/admin_paypal_subscription_button.php:370 msgid "PayPal Email" msgstr "E-Mail-Adresse bei PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 views/payments/payment-gateway/admin_paypal_buy_now_button.php:306 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 views/payments/payment-gateway/admin_paypal_subscription_button.php:467 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:166 views/payments/payment-gateway/admin_stripe_buy_now_button.php:450 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:174 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:456 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:243 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:227 msgid "Button Image URL" msgstr "URL des Button-Bilds" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 views/payments/payment-gateway/admin_paypal_buy_now_button.php:314 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 views/payments/payment-gateway/admin_paypal_subscription_button.php:475 msgid "Custom Checkout Page Logo Image" msgstr "Logo für benutzerdefinierte Checkout-Seiten" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:148 msgid "PayPal Buy Now (New API) Button Configuration" msgstr "Konfiguration des Zahlungsbuttons \"Sofortkauf per PayPal (neues API)\"" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:186 msgid "Payment Details" msgstr "Zahlungseinstellungen" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:233 msgid "Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol)." msgstr "Betrag für die Zahlung eingeben. Beispiele: 9,90 oder 25,00 oder 299.90 usw. (ohne Währungssymbol)." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:238 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:339 msgid "Button Style Settings (Optional)" msgstr "Einstellung zum Button-Stil (optional)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:242 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:343 msgid "Button Type/Label" msgstr "Button-Typ/Beschriftung" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:245 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:346 msgid "Checkout" msgstr "Checkout" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:246 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:347 msgid "Pay" msgstr "Bezahlen" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:247 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:348 msgid "PayPal" msgstr "PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:248 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:349 views/payments/payment-gateway/braintree_button_shortcode_view.php:21 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:100 views/payments/payment-gateway/paypal_button_shortcode_view.php:102 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 views/payments/payment-gateway/stripe_button_shortcode_view.php:161 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:20 views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:160 msgid "Buy Now" msgstr "Sofortkauf" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:249 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:350 msgid "Subscribe" msgstr "Abonnement" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:251 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:352 msgid "Select button type/label." msgstr "Art und Beschriftung des Buttons wählen." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:255 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:356 msgid "Button Shape" msgstr "Button-Form" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:257 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:358 msgid "Rectangular" msgstr "Rechteckig" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:258 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:359 msgid "Pill" msgstr "Gerundet" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:259 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:360 msgid "Select button shape." msgstr "Form des Buttons wählen." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:263 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:364 msgid "Button Layout" msgstr "Button-Layout" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:265 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:366 msgid "Vertical" msgstr "Vertikal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:266 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:367 msgid "Horizontal" msgstr "Horizontal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:267 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:368 msgid "Select button layout." msgstr "Anordnung des Buttons wählen." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:271 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:372 msgid "Button Height" msgstr "Button-Höhe" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:375 msgid "Small" msgstr "Klein" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:275 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:376 msgid "Medium" msgstr "Mittel" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:276 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:377 msgid "Large" msgstr "Groß" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:277 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:378 msgid "Extra Large" msgstr "Sehr groß" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:279 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:380 msgid "Select button height." msgstr "Höhe des Buttons wählen." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:283 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:384 msgid "Button Width" msgstr "Button-Breite" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:286 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:387 msgid "Select button width." msgstr "Breite des Buttons wählen." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:391 msgid "Button Color" msgstr "Button-Farbe" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:293 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:394 msgid "Gold" msgstr "Gold" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:294 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:395 msgid "Blue" msgstr "Blau" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:295 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:396 msgid "Silver" msgstr "Silber" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:296 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:397 msgid "White" msgstr "Weiß" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:297 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:398 msgid "Black" msgstr "Schwarz" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:299 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:400 msgid "Select button color." msgstr "Farbe des Buttons wählen." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:405 msgid "Additional Settings (Optional)" msgstr "Weitere Einstellungen (optional)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:308 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:409 msgid "Disable Funding" msgstr "Keine Bonitätsprüfung" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:310 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:411 msgid "Credit or debit cards" msgstr "Kredit- oder Debitkarten" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:311 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:412 msgid "PayPal Credit" msgstr "PayPal-Guthaben" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:413 msgid "Venmo" msgstr "Venmo" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:313 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:414 msgid "" "By default, funding source eligibility is smartly decided based on a variety of factors. You can force disable funding options by selecting them " "here." msgstr "" "Üblicherweise erfolgt die Auswahl zugelassener Zahlungsmittel anhand einer Reihe sinnvoller Bewertungsfaktoren. Hier können Sie unerwünschte " "Zahlungsmittel ausschließen." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "Konfiguration des Smart-Checkout-Buttons von PayPal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "PayPal Smart Checkout API Credentials (you can get this from your PayPal account)" msgstr "Zugangsdaten für das Smart-Checkout-API von PayPal (Sie können diese von Ihrem PayPal-Konto erhalten)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "Geheimnis für den Live-Modus" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "Geheimnis für den Sandbox-Modus" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Einstellungen für das Aussehen des Buttons" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Größe" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "Dynamisch" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Button-Größe wählen." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Farbe" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Form" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Layout" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Weitere Einstellungen" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Zahlungsmethoden" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "Select payment methods that could be used by customers. Note that payment with cards is always enabled." msgstr "" "Wählen Sie die Zahlungsmethoden aus, die von den Kunden verwendet werden können. Beachten Sie bitte, dass Zahlungen mit Karte immer erlaubt sind." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "Die folgenden Angaben sind optional" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 views/payments/payment-gateway/admin_paypal_subscription_button.php:298 msgid "PayPal Subscription Button Configuration" msgstr "Konfiguration des Zahlungsbuttons \"Abonnement per PayPal\"" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 views/payments/payment-gateway/admin_paypal_subscription_button.php:378 msgid "Billing Amount Each Cycle" msgstr "Pro Abrechnungszeitraum zu zahlender Betrag" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 views/payments/payment-gateway/admin_paypal_subscription_button.php:386 msgid "Billing Cycle" msgstr "Abrechnungszeitraum" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 views/payments/payment-gateway/admin_paypal_subscription_button.php:399 msgid "Billing Cycle Count" msgstr "Anzahl von Abrechnungszeiträumen" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 views/payments/payment-gateway/admin_paypal_subscription_button.php:407 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:306 msgid "Re-attempt on Failure" msgstr "Wiederholungsversuch bei aufgetretenem Fehler" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 views/payments/payment-gateway/admin_paypal_subscription_button.php:422 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:314 msgid "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "Details zur Testmitgliedschaft (leer lassen, wenn Sie keine Testmitgliedschaft anbieten)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 views/payments/payment-gateway/admin_paypal_subscription_button.php:428 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:318 msgid "Trial Billing Amount" msgstr "Kosten für die Testmitgliedschaft" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 views/payments/payment-gateway/admin_paypal_subscription_button.php:436 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:326 msgid "Trial Billing Period" msgstr "Abrechnungszeitraum für die Testmitgliedschaft" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 views/payments/payment-gateway/admin_paypal_subscription_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:213 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:205 msgid "Optional Details" msgstr "Optionale Angaben" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:170 msgid "PayPal Subscription (New API) Button Configuration" msgstr "Konfiguration des Zahlungsbuttons \"Abonnement per PayPal (neues API)\"" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:212 msgid "PayPal Billing Plan Details for This Button" msgstr "Details zum PayPal-Zahlungsplan für diesen Button" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:216 msgid "Subscription Plan Mode" msgstr "Zahlungsplan für Abonnement" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:223 msgid "Subscription Plan ID" msgstr "Zahlungsplan-ID für das Abonnement" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:233 msgid "Subscription/Recurring Billing Details" msgstr "Details zum Abonnement und regelmäßigen Zahlungen" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:277 msgid "Recurring Billing Amount" msgstr "Kosten pro Abrechnungszeitraum" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:280 msgid "" "Amount to be charged on every billing cycle. If used with a trial period then this amount will be charged after the trial period is over. Example " "values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol)." msgstr "" "Betrag, der für jeden Abrechnungszeitraum zu zahlen ist. In Verbindung mit einer Testmitgliedschaft erfolgt der Zahlungseinzug, sobald die Zeit " "der Testmitgliedschaft vorüber ist. Beispiele: 9,90 oder 25,00 oder 299,90 usw. (ohne Währungssymbol)." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:285 msgid "Recurring Billing Cycle" msgstr "Abrechnungszeitraum" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:293 msgid "Set the interval of the recurring payment. Example value: 1 Month (if you want to charge every month)" msgstr "Geben Sie das Intervall für den Abrechnungszeitraum an. Beispiel: 1 Monat (falls sie einen monatlichen Zahlungseingang wünschen)" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:298 msgid "Recurring Billing Cycle Count" msgstr "Anzahl von Abrechnungszeiträumen" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:301 msgid "" "After how many cycles should billing stop. Leave this field empty (or enter 0) if you want the payment to continue until the subscription is " "canceled." msgstr "" "Legt fest, nach wie vielen Abrechnungszeiträumen die Zahlungen enden sollen. Leer lassen (oder 0 eintragen), wenn die Zahlungen bis zur Kündigung " "des Abonnements weiterlaufen sollen." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:309 msgid "" "When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled." msgstr "" "Falls gesetzt, wird bei einer fehlgeschlagenen Zahlung noch zweimal versucht den Betrag einzuziehen. Beim dritten Fehlschlag wird das Abonnement " "gekündigt." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:26 views/payments/payment-gateway/admin_stripe_buy_now_button.php:307 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:305 msgid "Stripe Buy Now Button Configuration" msgstr "Konfiguration des Zahlungsbuttons \"Sofortkauf per Stripe\"" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:102 views/payments/payment-gateway/admin_stripe_buy_now_button.php:386 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:102 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:384 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Schüssel für das Stripe-API. Sie können diesen von Ihrem Stripe-Konto erhalten." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:107 views/payments/payment-gateway/admin_stripe_buy_now_button.php:391 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:107 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:389 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:148 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:140 msgid "Use Global API Keys Settings" msgstr "Globale Einstellung für API-Schlüssel verwenden" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:110 views/payments/payment-gateway/admin_stripe_buy_now_button.php:394 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:110 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:392 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:151 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:143 msgid "Use API keys from Payment Settings tab." msgstr "API-Schlüssel aus den Zahlungseinstellungen verwenden." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:150 views/payments/payment-gateway/admin_stripe_buy_now_button.php:434 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:150 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:432 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:219 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:211 msgid "Collect Customer Address" msgstr "Kundenadresse erfassen" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:26 msgid "Stripe SCA Buy Now Button Configuration" msgstr "Konfiguration des Zahlungsbuttons \"Sofortkauf per Stripe-SCA\"" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:158 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:440 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:227 msgid "Enable Automatic Tax" msgstr "Automatische Besteuerung aktivieren" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:84 views/payments/payment-gateway/admin_stripe_subscription_button.php:84 msgid "Stripe Subscription Button Configuration" msgstr "Konfiguration des Zahlungsbuttons \"Abonnement per Stripe-SCA\"" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:118 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:118 msgid "Stripe API ID" msgstr "Stripe-API-ID" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:129 msgid "Trial Period" msgstr "Abrechnungszeitraum für die Testmitgliedschaft" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:142 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:134 msgid "Stripe API Settings" msgstr "Einstellungen für das Stripe-API" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:188 msgid "Webhook Endpoint URL" msgstr "Endpunkt-URL für den Webhooks" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:180 msgid "Webook Endpoint URL" msgstr "Endpunkt-URL für den Webhooks" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:235 views/payments/payment-gateway/paypal_button_shortcode_view.php:237 msgid "Subscribe Now" msgstr "Kostenpflichtig abonnieren" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:80 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:77 msgid "Transaction completed successfully!" msgstr "Transaktion abgeschlossen!" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:227 msgid "Error occurred during PayPal checkout process." msgstr "Fehler beim Checkout-Prozess von PayPal." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:155 msgid "Error occurred during PayPal Smart Checkout process." msgstr "Fehler beim Smart-Checkout-Prozess von PayPal." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:184 msgid "HTTP error occurred during payment process:" msgstr "HTTP-Fehler während des Zahlungsvorgangs:" #: views/reset_password_using_link.php:9 msgid "Error! The password reset key is invalid. Please generate a new request." msgstr "Fehler! Der Schlüssel zum Rücksetzen des Passworts ist ungültig. Bitte das Rücksetzen des Passworts erneut beantragen." #: views/reset_password_using_link.php:36 msgid "New password" msgstr "Neues Passwort" #: views/reset_password_using_link.php:44 msgid "Re-enter new password" msgstr "Passwort wiederholen" #. Plugin Name of the plugin/theme msgid "Simple WordPress Membership" msgstr "Simple WordPress Membership" #. Plugin URI of the plugin/theme #. Author URI of the plugin/theme msgid "https://simple-membership-plugin.com/" msgstr "" #. Description of the plugin/theme msgid "A flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site." msgstr "" "Ein flexibles, gut unterstütztes und einfach zu nutzendes Plug-in, um auf Ihrer WordPress-Website kostenlose wie zahlungspflichtige Inhalte für " "registrierte Mitglieder anzubieten." #. Author of the plugin/theme msgid "smp7, wp.insider" msgstr "" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Passwort eingeben" msgid "Retype password here" msgstr "Passwort wiederholen" msgid "Registration is complete. You can now log into the site." msgstr "Die Registrierung ist abgeschlossen. Sie können sich ab sofort auf der Seite anmelden." msgid " Field has invalid character" msgstr " Das Feld beinhaltet ungültiges Zeichen" msgid " Password does not match" msgstr " Passwörter stimmen nicht überein" msgid "Already taken." msgstr "Bereits vergeben." msgid "Street Address" msgstr "Straße und Hausnummer" msgid "Apt, Suite, Bldg. (optional)" msgstr "Stockwerk, Wohnung, Gebäude (optional)" msgid "State / Province / Region" msgstr "Bundesland / Provinz / Region" msgid "Postal / Zip Code" msgstr "Postleitzahl" msgid "Check this box to delete the image. The image will be deleted when you save the profile." msgstr "Aktivieren Sie dieses Kontrollkästchen, um das Bild zu löschen. Das Bild wird gelöscht, wenn Sie das Profil speichern." msgid "You will need to re-login since you changed your password." msgstr "Sie müssen sich neu anmelden, da Sie Ihr Passwort geändert haben." msgid "Please enter any two digits with no spaces (Example: 12)" msgstr "Bitte geben Sie zwei beliebige Ziffern ohne Leerzeichen ein (Beispiel: 12)" msgid "Verification" msgstr "Verifikation" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Bitte geben Sie zwei beliebige Ziffern ohne Leerzeichen ein (Beispiel: 12)" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Der Benutzername kann nur Folgendes enthalten: Buchstaben, Zahlen und .-*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Erlaubte Zeichen sind: Buchstaben, Zahlen und .-_*@" msgid "Please check at least one." msgstr "Bitte wählen Sie mindestens eine Option aus." msgid "Do you really want to delete the form?" msgstr "Möchten Sie diese Inhalte schützen?" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Sie sind nicht berechtigt, diesen Inhalt einzusehen." msgid "Your membership level does not have permission to view this content." msgstr "Ihre Mitgliedschaftsstufe umfasst nicht die Berechtigung, diesen Inhalt einzusehen." msgid "This content is for members only." msgstr "Dieser Inhalt ist Mitgliedern vorbehalten." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Mitgliederverzeichnis" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Stufe" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adresse" #: includes/swpm_mda_show_profile.php:48 msgid "Postcode" msgstr "Beiträge" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Suche…" #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Suche löschen" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Sie müssen eingeloggt sein, um Ihre Mitgliedschaft zu aktualisieren." msgid "Membership level has been updated." msgstr "Die Mitgliedschaftsstufe wurde aktualisiert." msgid "Already a member of this level." msgstr "Bereits ein Mitglied dieser Mitgliedschaftsstufe." languages/simple-membership-bs_BA.mo000064400000025134147206617610013454 0ustar00 ( D) n +y     2F MX`px   -9BJPX]w~ $ 0A S`hq  ';DZk      #>Tfw|1& !/8SbwX-   *9 Zk$#B`fm C8'.DTkt#  LL.{!3(S'{?8 0 Qfw   %- =H NX`i3*  )2C$H m z    ! 5 9 Q V i w / S!]!u!! !!!! ! ! "" "%"." 7"A"*S"~"""""" ""###,;# h#t#&{##### # #$ $$&$9$K$R$Zn$$ $!$% %%/%?%1H%<z%%%%%&;&B&0U&$&&&&& &' 'D'7[''' ''''' ('#(K( g( s(C}(D())()(@).i)N)).),*C*S*o:LE$RzcGkb`uql x5)7m@inH\s[T^v+};"P0aJ df&82(<e,BM*NtFAW4.]?Q3=C {pSg |Kh-~1yY'/V%Ow !ZI_r69U>j XD# The rest of the content is not permitted for your membership level.(required)(twice, leave empty to retain old password)(twice, required)Access StartsAccess Valid For/UntilAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.ActiveAdd MemberAdd NewAdd New Member Add-onsAdvanced SettingsAll datesAmountApplyAready takenAvailableCategory protection updated!CityClick here to complete your paid registrationClick on the following link to complete the registration.CompanyCountCountryDateDate format is not valid.DeleteDelete AccountDescriptionDo you want to protect this content?Email AddressEmail Address: Email Misc. SettingsEmail SettingsEmail address not valid.Email is already used.Email is invalidEmail is requiredExcerpt ViewExpiredExpiry: Filter by dateFirst NameForgot PasswordGenderGeneral SettingsGenerate CodeGenerate a Registration Completion linkHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsLast NameList ViewLogged Out Successfully.Logged in asLoginLogoutMemberMember ProfileMember SinceMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level NameMembership LevelsMembership levelNameName contains invalid characterNeverNew password has been sent to your email address.NextNo Member found.No items found.No user found with that email address.Not a Member?PasswordPassword Empty or Invalid.Password ResetPassword is requiredPassword mismatchPayment SettingsPaymentsPendingPhonePleasePlease correct the followingPlease correct the following:Please login again.ProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.RegisterRegistrationRegistration Successful. Remember MeRepeat PasswordReset PasswordSave ChangesSearchSecurity check: captcha validation failed.Select the membership level that can access this content:Session Expired.Set Status to ActiveSet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!Simple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::SettingsSorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowThis content can only be viewed by members who joined on or before This content is not permitted for your membership level.ToolsTransaction IDUpdateUpdated Successfully.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredView ProfileWP MembershipWordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.You are logged in as:You are not logged in.You are not logged-in as a memberYou need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: ZipcodesearchProject-Id-Version: simple membership POT-Creation-Date: 2016-05-20 13:06+0200 PO-Revision-Date: 2016-05-20 16:20+0200 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.7 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Language: bs_BA@latin X-Poedit-SearchPath-0: . Ostatak sadržaja nije vidljiv tvom korisničkom levelu.(obavezno)(dvaput, ostavi prazno ako želiš staru šifru)(dva puta, obavezno)Pristup počinjePristup Validan DoIstek RačunaStanje RačunaStanje RačunaRačun je istekao.Račun nije aktivan.Račun čeka aktivaciju.AktivanDodaj ČlanaDodajDodaj novog članaAdd-onsNapredne OpcijeSvi datumiIznosPrimijeniZauzetoDostupnoZaštita kategorije ažurirana!GradKlikni ovdje da kompletiraš plaćenu registraciju.Klikni ovdje da kompletiraš registraciju.KompanijeBrojačDržavaDatumFormat datuma nije validan.IzbrišiIzbriši AccountOpisŽeliš li zaštititi ovaj sadržaj?Email AdresaEmail Adresa:Email Misc. OpcijeEmail OpcijeEmail adresa nije validna.Email se već koristi.Email nije validanEmail je obavezan.Isječak PregledaIstekaoIstek:Filtriraj po datumuImeZaboravio/la Sam ŠifruSpolGeneralne PostavkeGeneriraj KodGeneriraj link za RegistracijuNapomena: Šifra mora imati najmanje 7 znakova.Ako si tek uplatio članstvo onda je tvoja uplata još u procesu. Provjeri za nekoliko minuta. Email će ti biti poslan sa detaljima uskoro.NeaktivanNepravilna Email AdresaNepravilno Korisničko ImeNevalidan korisnički level.Pridruži SePrezimeIzlistaj PregledUspješno si se odjavio/la.Ulogovan kaoUloguj seOdloguj meČlanRačun ČlanaČlan OdČlanoviČlanstvoKorisnički LevelKorisnički Level ne može biti pronaćen.Ime Korisničkog LevelaLeveli ČlanstvaKorisnički LevelImeIme sadrži nepodržan znakNkadNova šifra je poslana na email.DaljeNije pronađen nijedan član.Ništa nije pronađeno.Korisnik s tom email adresom nije pronađen.Nisi član?ŠifraŠifra je nepravilna ili nije upisana.Resetiraj ŠifruŠifra je obavezna.Šifra se ne podudara.Opcije PlaćanjaPlaćanjaNa ČekanjuTelefonMolimoIspravi sljedećeIspravi sljedeće:Uloguj se ponovo.RačunRačun uspješno ažuriran.Račun uspješno ažuriran. Morat ćeš se ponovo ulogovati jer si promijenio/la password.RegististracijaRegistracijaTo je to. Registracija uspješna.ZapamtiPonovi ŠifruResetiraj ŠifruSpremi PromjenePretragaSigurnosna provjera: captcha validacija netačna.Odredi level korisnika koji može pristupiti ovom sadržaju:Uloguj se ponovo.Promijeni status u AktivnoPromijeni status u IstekaoPromijeni status u NeaktivnoPromijeni status u Na ČekanjuOpcijeOpcije ažurirane!3. Opcije (Simple Membership Protection options)2. (Simple WP Membership Protection)Simple WP Membership::OpcijeŠifra se ne podudara.Kanton/ŽupanijaUlicaSnaga šifrePriložiPretplataOvaj sadržaj je vidljiv samo članovima koji su registrovani prije Ovaj sadržaj nije vidljiv na tvom korisničkom levelu.AlatiID TransakcijeAžurirajUspješno Ažurirano.Korisnik nije pronađen.Korisnik nije ulogovan.Krorisničko imeKorisničko ime zauzeto.Korisničko ime sadrži nepodržan znakKorisničko ime je obaveznoVidi RačunČlanstvoAccount s tim email-om postoji, ali korisničko ime se ne podudara.Account s tim korisničkim imenom postoji, ali email se ne podudara.Ulogovan/a si kao:Nisi ulogovan.Nisi ulogovan kao članUloguj se da bi vidio ostatak sadržaja.Moraš se ulogovati da bi vidio ovaj sadržaj.Tvoj račun je istekao. Obnovi svoj račun da bi dobio pristup ovom sadržaju.Tvoja trenutna šifraTvoj račun će biti ažuriran zbog plaćanja.Tvoje korisničko ime:Poštanski brojpretragalanguages/simple-membership-nl_BE.po000064400000050037147206617610013470 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership\n" "POT-Creation-Date: 2014-08-28 19:28+1000\n" "PO-Revision-Date: 2015-09-08 12:04+0200\n" "Language-Team: Henk Rostohar \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.4\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Last-Translator: \n" "Language: nl\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.bAccessControl.php:23 classes/class.bAccessControl.php:40 msgid "You are not allowed to view this content" msgstr "Je mag deze inhoud niet zien" #: classes/class.bAccessControl.php:26 classes/class.bAccessControl.php:43 msgid "You need to login to view this content. " msgstr "Je moet je aanmelden om deze inhoud te bekijken" #: classes/class.bAdminRegistration.php:48 #: classes/class.bFrontRegistration.php:64 msgid "Registration Successful." msgstr "Registratie gelukt" #: classes/class.bAdminRegistration.php:53 #: classes/class.bAdminRegistration.php:73 #: classes/class.bMembershipLevel.php:36 classes/class.bMembershipLevel.php:54 msgid "Please correct the following:" msgstr "Corrigeer de volgende:" #: classes/class.bAjax.php:16 classes/class.bAjax.php:28 msgid "Aready taken" msgstr "Reeds ingenomen" #: classes/class.bAjax.php:29 msgid "Available" msgstr "Beschikbaar" #: classes/class.bAuth.php:48 classes/class.bFrontRegistration.php:179 msgid "User Not Found." msgstr "Gebruiker niet gevonden." #: classes/class.bAuth.php:55 msgid "Password Empty or Invalid." msgstr "Wachtwoord leeg of ongeldig." #: classes/class.bAuth.php:79 msgid "Account is inactive." msgstr "Account is inactief." #: classes/class.bAuth.php:89 msgid "You are logged in as:" msgstr "Je bent ingelogd als:" #: classes/class.bAuth.php:128 msgid "Logged Out Successfully." msgstr "met succes afgemeld" #: classes/class.bAuth.php:170 msgid "Session Expired." msgstr "Sessie is verlopen" #: classes/class.bAuth.php:179 msgid "Invalid User Name" msgstr "Gebruiker niet gevonden." #: classes/class.bAuth.php:187 msgid "Bad Cookie Hash" msgstr "Slechte cookie hash" #: classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "" "Wordpress account bestaat met deze gebruikersnaam, maar het opgegegeven e-" "mail is niet juist" #: classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" "Wordpress account bestaat met deze e-mail, maar de gebruikersnaam stemt niet " "overeen" #: classes/class.bForm.php:40 msgid "User name is required" msgstr "Gebruikersnaam vereist" #: classes/class.bForm.php:49 msgid "User name already exists." msgstr "Gebruikersnaam bestaat reeds" #: classes/class.bForm.php:72 msgid "Password is required" msgstr "Wachtwoord vereist" #: classes/class.bForm.php:79 msgid "Password mismatch" msgstr "Wachtwoord stemt niet oveen" #: classes/class.bForm.php:95 msgid "Email is required" msgstr "E-mail is vereist" #: classes/class.bForm.php:99 msgid "Email is invalid" msgstr "E-mail is ongeldig" #: classes/class.bForm.php:112 msgid "Email is already used." msgstr "E-mail bestaat reeds" #: classes/class.bForm.php:178 msgid "Member since field is invalid" msgstr "Lid sedert veld is niet geldige" #: classes/class.bForm.php:189 msgid "Subscription starts field is invalid" msgstr "Inschrijving start op veld is ongeldig" #: classes/class.bForm.php:199 msgid "Gender field is invalid" msgstr "Geslacht veld is ongeldig" #: classes/class.bForm.php:210 msgid "Account state field is invalid" msgstr "Account status veld is ongeldig" #: classes/class.bFrontRegistration.php:64 classes/class.bSettings.php:326 msgid "Please" msgstr "A.u.b." #: classes/class.bFrontRegistration.php:64 classes/class.bSettings.php:326 #: views/login.php:21 msgid "Login" msgstr "Aanmelden" #: classes/class.bFrontRegistration.php:79 #: classes/class.bFrontRegistration.php:158 msgid "Please correct the following" msgstr "Corrigeer de volgende:" #: classes/class.bFrontRegistration.php:92 msgid "Membership Level Couldn't be found." msgstr "Lidmaatschapniveau kan niet gevonden worden" #: classes/class.bFrontRegistration.php:168 msgid "Email Address Not Valid." msgstr "E-mail is ongeldig" #: classes/class.bFrontRegistration.php:199 msgid "New password has been sent to your email address." msgstr "Er werd een nieuw wachtwoord verzonden naar je e-mail adres" #: classes/class.bLevelForm.php:31 msgid "Subscriptoin duration must be > 0." msgstr "Inschrijvingsduur moet > 0" #: classes/class.bMembers.php:7 msgid "Member" msgstr "Lid" #: classes/class.bMembers.php:8 classes/class.simple-wp-membership.php:467 msgid "Members" msgstr "Leden" #: classes/class.bMembers.php:16 classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "ID" #: classes/class.bMembers.php:17 views/add.php:5 views/edit.php:4 #: views/login.php:5 msgid "User Name" msgstr "Gebruikersnaam" #: classes/class.bMembers.php:18 views/add.php:21 #: views/admin_member_form_common_part.php:2 views/edit.php:20 msgid "First Name" msgstr "Voornaam" #: classes/class.bMembers.php:19 views/add.php:25 #: views/admin_member_form_common_part.php:6 views/edit.php:24 msgid "Last Name" msgstr "Familienaam" #: classes/class.bMembers.php:20 views/add.php:9 views/edit.php:8 msgid "Email" msgstr "E-mail" #: classes/class.bMembers.php:21 classes/class.bMembershipLevels.php:8 #: classes/class.bMembershipLevels.php:17 views/add.php:64 #: views/admin_member_form_common_part.php:55 views/edit.php:52 msgid "Membership Level" msgstr "Lidmaatschapniveau" #: classes/class.bMembers.php:22 views/admin_member_form_common_part.php:78 msgid "Subscription Starts" msgstr "Inschrijving start op " #: classes/class.bMembers.php:23 msgid "Account State" msgstr "Account status" #: classes/class.bMembers.php:35 classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "Wis" #: classes/class.bMembers.php:100 msgid "No Member found." msgstr "Geen lid gevonden" #: classes/class.bMembershipLevel.php:31 msgid "Membership Level Creation Successful." msgstr "Lidmaatschapniveau met succes aangemaakt" #: classes/class.bMembershipLevel.php:50 msgid "Updated Successfully." msgstr "Met succes geupdated" #: classes/class.bMembershipLevels.php:9 #: classes/class.simple-wp-membership.php:469 msgid "Membership Levels" msgstr "Lidmaatschapniveaus" #: classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "Rol" #: classes/class.bMembershipLevels.php:19 msgid "Subscription Valid For" msgstr "Inschrijving geldig voor" #: classes/class.bSettings.php:28 msgid "Plugin Documentation" msgstr "Plugin documentatie" #: classes/class.bSettings.php:30 msgid "General Settings" msgstr "Algemene instellingen" #: classes/class.bSettings.php:32 msgid "Enable Free Membership" msgstr "Laat Gratis Lidmaatschap toe" #: classes/class.bSettings.php:35 msgid "Enable/disable registration for free membership level" msgstr "Registratie voor gratis lidmaatschapniveau aan-/uitzetten" #: classes/class.bSettings.php:36 msgid "Free Membership Level ID" msgstr "Gratis lidmaatschapniveau ID" #: classes/class.bSettings.php:39 msgid "Assign free membership level ID" msgstr "Toekennen gratis lidmaatschapniveau ID" #: classes/class.bSettings.php:40 msgid "Hide Adminbar" msgstr "Verberg administratiebalk" #: classes/class.bSettings.php:43 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "Wordpress toont een beheerdersbalk aan de aangemelde gebruikers. Vink dit " "vakje als je de beheerdersbalk wil verbergen op je website" #: classes/class.bSettings.php:45 msgid "Pages Settings" msgstr "Pagina instellingen" #: classes/class.bSettings.php:47 msgid "Login Page URL" msgstr "URL van aanmeldpagina" #: classes/class.bSettings.php:51 msgid "Registration Page URL" msgstr "URL van inschrijvingspagina" #: classes/class.bSettings.php:55 msgid "Join Us Page URL" msgstr "URL van Sluit je aan pagina" #: classes/class.bSettings.php:59 msgid "Edit Profile Page URL" msgstr "URL van Bewerk profiel pagina" #: classes/class.bSettings.php:63 msgid "Password Reset Page URL" msgstr "URL van wachtwoord reset pagina" #: classes/class.bSettings.php:68 msgid "Test & Debug Settings" msgstr "Test & Debug instellingen" #: classes/class.bSettings.php:74 msgid "Enable Sandbox Testing" msgstr "Laat het Sandbox testen toe" #: classes/class.bSettings.php:77 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Kies deze optie als je sandbox betaling testen wil toepassen" #: classes/class.bSettings.php:90 msgid "Email Misc. Settings" msgstr "Verschillende instellingen voor e-mail" #: classes/class.bSettings.php:92 msgid "From Email Address" msgstr "E-mail “Van” adres " #: classes/class.bSettings.php:97 msgid "Email Settings (Prompt to Complete Registration )" msgstr "E-mail instellingen (de vraag om de inschrijving te vervolledigen)" #: classes/class.bSettings.php:99 classes/class.bSettings.php:110 #: classes/class.bSettings.php:129 msgid "Email Subject" msgstr "e-mail onderwerp" #: classes/class.bSettings.php:103 classes/class.bSettings.php:114 #: classes/class.bSettings.php:133 msgid "Email Body" msgstr "e-mail body" #: classes/class.bSettings.php:108 msgid "Email Settings (Registration Complete)" msgstr "E-mail instellingen ( Registratie Volledig)" #: classes/class.bSettings.php:118 msgid "Send Notification To Admin" msgstr "Stuur een bericht naar Admin" #: classes/class.bSettings.php:122 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Stuur een e-mail naar lid als toegevoegd via het Admin Dashboard" #: classes/class.bSettings.php:127 msgid " Email Settings (Account Upgrade Notification)" msgstr "e-mail instellingen (Account upgrade bericht)" #: classes/class.bSettings.php:326 msgid "Not a Member?" msgstr "Geen lid?" #: classes/class.bSettings.php:326 views/login.php:30 msgid "Join Us" msgstr "Vervoeg ons" #: classes/class.bUtils.php:32 views/admin_member_form_common_part.php:66 msgid "Active" msgstr "Actief" #: classes/class.bUtils.php:33 views/admin_member_form_common_part.php:67 msgid "Inactive" msgstr "Niet actief" #: classes/class.bUtils.php:34 views/admin_member_form_common_part.php:68 msgid "Pending" msgstr "Hangend" #: classes/class.bUtils.php:35 views/admin_member_form_common_part.php:69 msgid "Expired" msgstr "Verlopen" #: classes/class.bUtils.php:225 msgid "Never" msgstr "Nooit" #: classes/class.miscUtils.php:51 msgid "Registration" msgstr "Inschrijving" #: classes/class.miscUtils.php:74 msgid "Member Login" msgstr "Lid aanmelden" #: classes/class.miscUtils.php:97 msgid "Profile" msgstr "Profiel" #: classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "Wachtwoord reset" #: classes/class.simple-wp-membership.php:178 msgid "You are not logged in." msgstr "Je bent niet aangemeld" #: classes/class.simple-wp-membership.php:209 msgid "Simple WP Membership Protection" msgstr "Eenvoudige WP lidmaatschap bescherming" #: classes/class.simple-wp-membership.php:222 msgid "Simple Membership Protection options" msgstr "Eenvoudig Lidmaatschap bescherming opties" #: classes/class.simple-wp-membership.php:238 msgid "Do you want to protect this content?" msgstr "Wil je deze inhoud afschermen?" #: classes/class.simple-wp-membership.php:243 msgid "Select the membership level that can access this content:" msgstr "Kies het lidmaatschapniveau dat toegang mag hebben tot deze inhoud:" #: classes/class.simple-wp-membership.php:375 msgid "Display SWPM Login." msgstr "Toon SWPM aanmelden" #: classes/class.simple-wp-membership.php:377 msgid "SWPM Login" msgstr "SWPM aanmelden" #: classes/class.simple-wp-membership.php:464 msgid "WP Membership" msgstr "WP lidmaatschap" #: classes/class.simple-wp-membership.php:471 msgid "Settings" msgstr "Instellingen" #: views/add.php:13 views/admin_member_form_common_part.php:45 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "Wachtwoord" #: views/add.php:17 views/edit.php:16 msgid "Repeat Password" msgstr "Herhaal wachtwoord" #: views/add.php:29 views/admin_member_form_common_part.php:10 msgid "Gender" msgstr "Geslacht" #: views/add.php:36 views/admin_member_form_common_part.php:17 #: views/edit.php:28 msgid "Phone" msgstr "Telefoon" #: views/add.php:40 views/admin_member_form_common_part.php:21 #: views/edit.php:32 msgid "Street" msgstr "Straat" #: views/add.php:44 views/admin_member_form_common_part.php:25 #: views/edit.php:36 msgid "City" msgstr "Stad" #: views/add.php:48 views/admin_member_form_common_part.php:29 #: views/edit.php:40 msgid "State" msgstr "Staat" #: views/add.php:52 views/admin_member_form_common_part.php:33 #: views/edit.php:44 msgid "Zipcode" msgstr "Postcode" #: views/add.php:56 views/admin_member_form_common_part.php:37 #: views/edit.php:48 msgid "Country" msgstr "Land" #: views/add.php:60 views/admin_member_form_common_part.php:41 msgid "Company" msgstr "Bedrijf" #: views/add.php:71 msgid "Register" msgstr "Registreren" #: views/admin_add.php:6 msgid "Add Member" msgstr "Lid toevoegen" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "" "Maak een volledig nieuwe gebruiker aan en voeg het toe aan deze website" #: views/admin_add.php:11 msgid "User name" msgstr "Gebruikersnaam" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(verplicht)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "Add New Member " msgstr "Voeg een nieuw lid toe" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Maak een nieuw lidmaatschap niveau aan." #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Lidmaatschapniveaunaam" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Standaard Wordpress Rol" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Subscription Duration" msgstr "Duur van het lidmaatschap" #: views/admin_add_level.php:26 views/admin_edit_level.php:27 msgid "No Expiry" msgstr "Geen vervaldatum" #: views/admin_add_level.php:55 msgid "Add New Membership Level " msgstr "Voeg nieuw lidmaatschapniveau toe" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Aanpassen Lidgegevens" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Aanpassen details van bestaand lid" #: views/admin_edit.php:9 msgid "Username" msgstr "Gebruikersnaam" #: views/admin_edit.php:18 msgid "Edit User " msgstr "Bewerk gebruikerdata" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Bewerk lidmaatschapniveau" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Bewerk lidmaatschapniveau." #: views/admin_edit_level.php:54 msgid "Edit Membership Level " msgstr "Bewerk lidmaatschapniveau" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Eenvoudig WP lidmaatschap::Leden" #: views/admin_members.php:3 views/admin_members.php:19 #: views/admin_membership_levels.php:21 msgid "Add New" msgstr "Nieuwe toevoegen" #: views/admin_members.php:9 views/admin_membership_levels.php:11 msgid "search" msgstr "zoek" #: views/admin_membership_levels.php:3 msgid "Simple WP Membership::Membership Levels" msgstr "Eenvoudige WP lidmaatschap::Lidmaatschapniveau’s" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Lidmaatschapniveau" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Beheer de productie van de inhoud" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Voorbeeld van Inhoud beveiliging instellingen" #: views/admin_member_form_common_part.php:45 msgid "(twice, required)" msgstr "(tweemaal, verplicht)" #: views/admin_member_form_common_part.php:50 msgid "Strength indicator" msgstr "sterkte indicator" #: views/admin_member_form_common_part.php:51 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Tip : Het wachtwoord moet tenminste zeven karakters lang zijn. Om het nog " "sterker te maken gebruik je hoofd- en gewone letters, cijfers en symbolen " "zoals ! “ ? $ % ^ & )." #: views/admin_member_form_common_part.php:64 views/loggedin.php:7 #: views/login_widget_logged.php:6 msgid "Account Status" msgstr "Status van de Account" #: views/admin_member_form_common_part.php:74 msgid "Member Since" msgstr "Lid sedert" #: views/admin_payment_settings.php:2 views/admin_settings.php:2 #: views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "Eenvoudige WP lidmaatschap::Instellingen" #: views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "Instellingen voor PayPal integratie" #: views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Genereer de “Geavanceerde Variabelen” Code voor je PayPal knop" #: views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Geef het lidmaatschapniveau ID" #: views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Genereer Code" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Genereer een link naar Inschrijving volledig" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Je kan hier manueel een inschrijving volledig link genereren en het aan je " "klant geven als ze de e-mail niet gezien hebben dat automatisch verstuurd " "werd nadat ze betaald hadden." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Genereer een ‘Inschrijving Volledig’ link" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "OF" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Voor alle hangende inschrijvingen" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "De inschrijving Volledig links zullen hieronder verschijnen:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Stuur ook een ‘inschrijving herinnering e-mail’" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Insturen" #: views/edit.php:58 msgid "Update" msgstr "Update" #: views/forgot_password.php:5 msgid "Email Address" msgstr "E-mail adres" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Reset wachtwoord" #: views/loggedin.php:3 views/login_widget_logged.php:3 msgid "Logged in as" msgstr "Aangemeld als" #: views/loggedin.php:11 views/login_widget_logged.php:9 msgid "Membership" msgstr "Lidmaatschap" #: views/loggedin.php:15 views/login_widget_logged.php:12 msgid "Account Expiry" msgstr "Vervaldatum Account" #: views/loggedin.php:19 views/login_widget_logged.php:16 msgid "Logout" msgstr "Afmelden" #: views/login.php:17 msgid "Remember Me" msgstr "Herinner me" #: views/login.php:26 msgid "Forgot Password" msgstr "Wachtwoord vergeten" languages/simple-membership-et_EE.po000064400000125401147206617610013470 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership\n" "POT-Creation-Date: 2016-08-23 22:57+0300\n" "PO-Revision-Date: 2016-08-25 20:14+0300\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.8\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: et\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:264 msgid "You are not logged in." msgstr "Sa ei ole sisseloginud." #: classes/class.simple-wp-membership.php:298 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership Protection" #: classes/class.simple-wp-membership.php:310 msgid "Simple Membership Protection options" msgstr "Simple Membership Protection valikud" #: classes/class.simple-wp-membership.php:326 msgid "Do you want to protect this content?" msgstr "Kas tahad seda sisu kaitsta?" #: classes/class.simple-wp-membership.php:331 msgid "Select the membership level that can access this content:" msgstr "Vali kasutajate tase, kes saavad sellele sisule ligi:" #: classes/class.simple-wp-membership.php:464 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:465 classes/class.swpm-members.php:10 #: views/admin_members_menu.php:2 msgid "Members" msgstr "Kasutajad" #: classes/class.simple-wp-membership.php:466 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "Kasutajate tasemed" #: classes/class.simple-wp-membership.php:467 msgid "Settings" msgstr "Seaded" #: classes/class.simple-wp-membership.php:468 msgid "Payments" msgstr "Maksed" #: classes/class.simple-wp-membership.php:469 msgid "Add-ons" msgstr "Lisandid" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "Selle lehekülje sisu nägemiseks pead olema sisseloginud.
" #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "" "Sinu konto on aegunud. Palun uuenda oma kontot, et saada ligi sellele sisule." #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "See sisu on nähtav ainult kasutajatele, kes on varasemalt liitunud " #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "See sisu ei ole kättesaadav sinu kasutaja tasemele." #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr " Ülejäänud sisu ei ole kättesaadav sinu kasutaja tasemele." #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "Pead olema sisse loginud, et näha järgnevat sisu. " #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Kasutaja kanne lisati edukalt." #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:81 #: classes/class.swpm-admin-registration.php:105 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Palun korrigeeri järgnevat:" #: classes/class.swpm-admin-registration.php:96 msgid "Your current password" msgstr "Sinu kehtiv parool" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Vigane e-posti aadress" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Already taken" msgstr "Juba võetud" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Nimi sisaldab lubamatut tähemärki" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Saadaval" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Kasutajat ei leitud." #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Parool on täitmata või vigane." #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "Konto ei ole aktiivne." #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "Konto on kinnituse ootel." #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "Konto on aegunud." #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "Oled sisseloginud, kui: " #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "Edukalt välja logitud." #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "Sessioon aegus." #: classes/class.swpm-auth.php:219 msgid "Invalid Username" msgstr "Vigane kasutajanimi" #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "Palun logi uuesti sisse." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:80 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:53 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "Kasutaja tase" #: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "ID" #: classes/class.swpm-category-list.php:34 msgid "Name" msgstr "Nimi" #: classes/class.swpm-category-list.php:35 msgid "Description" msgstr "Kirjeldus" #: classes/class.swpm-category-list.php:36 msgid "Count" msgstr "Hulk" #: classes/class.swpm-category-list.php:80 msgid "Category protection updated!" msgstr "Kategooria kaitse uuendatud!" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Sellise kasutajanimega konto on Wordpressis olemas. Aga sisestatud e-posti " "aadress ei kattu." #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Sellise e-posti aadressiga konto on Wordpressis olemas. Aga sisestatud " "kasutajanimi ei kattu." #: classes/class.swpm-form.php:40 msgid "Username is required" msgstr "Kasutajanimi on nõutav" #: classes/class.swpm-form.php:44 msgid "Username contains invalid character" msgstr "Kasutajanimi sisaldab lubamatuid tähemärke" #: classes/class.swpm-form.php:52 msgid "Username already exists." msgstr "Kasutajanimi on juba kasutusel." #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "Parool on nõutav" #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "Paroolid ei kattu" #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "E-posti aadress on nõutav" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "E-posti aadress on vigane" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "E-posti aadress on juba kasutusel." #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "Kasutaja liikmelisuse algus on vigane" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "Kasutusõiguse algus on vigane" #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "Soo väli on vigane" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "Konto staatuse väli on vigane" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "Vigane kasutaja tase" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "Turvakontroll: captcha valideerimine ebaõnnestus." #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "registreerimine õnnestus. " #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 msgid "Please" msgstr "Palun" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 views/login.php:21 msgid "Login" msgstr "Logi sisse" #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "Palun korrigeeri järgnevat" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "Kasutaja taset ei leitud." #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "Profiil uuendati edukalt." #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profiil uuendati edukalt. Sa pead uuesti sisselogima, sest sa muutsid oma " "parooli." #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "E-posti aadress ei ole korrektne." #: classes/class.swpm-front-registration.php:200 msgid "No user found with that email address." msgstr "Sellise e-posti aadressiga kasutajat ei leitud." #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:225 msgid "Email Address: " msgstr "E-posti aadress: " #: classes/class.swpm-front-registration.php:224 msgid "New password has been sent to your email address." msgstr "Uus parool saadeti sinu e-posti aadressile." #: classes/class.swpm-init-time-tasks.php:108 msgid "Sorry, Nonce verification failed." msgstr "Vabandust, kontrollimine ebaõnnestus." #: classes/class.swpm-init-time-tasks.php:115 msgid "Sorry, Password didn't match." msgstr "Vabandust, paroolid ei kattu." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Kuupäeva formaat ei ole sobiv." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "Ligipäsu kestus peab olema > 0." #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "Kasutaja ei ole sisseloginud." #: classes/class.swpm-members.php:9 msgid "Member" msgstr "Kasutaja" #: classes/class.swpm-members.php:19 views/add.php:6 views/admin_add.php:11 #: views/admin_edit.php:9 views/edit.php:5 views/login.php:5 msgid "Username" msgstr "Kasutajanimi" #: classes/class.swpm-members.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:74 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:21 msgid "First Name" msgstr "Eesnimi" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:75 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:25 msgid "Last Name" msgstr "Perenimi" #: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:9 msgid "Email" msgstr "E-post" #: classes/class.swpm-members.php:24 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Ligipääs algab" #: classes/class.swpm-members.php:25 msgid "Account State" msgstr "Konto staatus" #: classes/class.swpm-members.php:41 #: classes/class.swpm-membership-levels.php:35 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Delete" msgstr "Kustuta" #: classes/class.swpm-members.php:42 msgid "Set Status to Active" msgstr "Määra staatus - Active" #: classes/class.swpm-members.php:44 msgid "Set Status to Inactive" msgstr "Määra staatus - Inactive" #: classes/class.swpm-members.php:45 msgid "Set Status to Pending" msgstr "Määra staatus - Pending" #: classes/class.swpm-members.php:46 msgid "Set Status to Expired" msgstr "Määra staatus - Expired" #: classes/class.swpm-members.php:121 msgid "No Member found." msgstr "Kasutajat ei leitud." #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Kasutaja taseme loomine õnnestus." #: classes/class.swpm-membership-level.php:57 msgid "Updated Successfully." msgstr "Edukalt uuendatud." #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "Roll" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "Ligipääs on kehtiv alates/kuni" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "Registreeru" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "Kasutaja sisselogimine" #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "Profiil" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "Parooli tühistamine" #: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "Peamised seaded" #: classes/class.swpm-settings.php:21 msgid "Payment Settings" msgstr "Maksete seaded" #: classes/class.swpm-settings.php:22 msgid "Email Settings" msgstr "E-posti seaded" #: classes/class.swpm-settings.php:22 msgid "Tools" msgstr "Tööriistad" #: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150 msgid "Advanced Settings" msgstr "Täiendavad seaded" #: classes/class.swpm-settings.php:22 msgid "Addons Settings" msgstr "Lisandite seaded" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "Plugina dokumentatsioon" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "Luba vaba kasutamist" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Luba/keela registreerimine vaba kasutamise tasemele. Kui lubad seda valikut " "veendu, et määrad vaba kasutamise kasutaja taseme ID allolevas lahtris." #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "Vaba kasutamise taseme ID" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "Määra vaba kasutamise taseme ID" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "Luba “Veel” sildi kaitse" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Lubab või keelab “Veel” sildi kaitse postitustes ja lehtedel. Kõik pärast " "“Veel” silti on kaitstud. Kõik, mis on enne “Veel” silti, on sissejuhatatus." #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "Peida admin tööriistariba" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "Wordpress kuvab veebilehel admin tööriistariba sisseloginud kasutajatele. " "Märgista see kastike, kui soovid selle riba peita veebilehe avalikus pooles." #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "Vaikimisi konto staatus" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Vali vaikimisi konto staatus uutele registreerujatele. Kui soovid " "manuaalselt kinnitada uute kasutajate registreerumisi, siis võid märkida " "staatuseks “Pending”." #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "Luba konto kustutamist" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "Luba kasutajatel kustutada oma kontot." #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "Automaatne ootel konto kustutamine" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "Vali, kui kaua soovid hoida “Pending” kontot." #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "Lehtede seaded" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "Sisselogimise lehe URL" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "Registreerimise lehe URL" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "Liitumise lehe URL" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "Profiili muutmise lehe URL" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "Parooli vahetamise lehe URL" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "Testimise ja silumise seaded" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "Märgi see valik, et lubada silumise logimine." #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "Luba liivakasti testimine" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Luba see valik, kui soovid teostada liivakasti maksete testimist." #: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145 #: classes/class.swpm-settings.php:243 msgid "Settings updated!" msgstr "Seaded uuendatud!" #: classes/class.swpm-settings.php:102 msgid "Email Misc. Settings" msgstr "Mitmesugused e-kirja seaded" #: classes/class.swpm-settings.php:103 msgid "From Email Address" msgstr "Saatja e-posti aadress" #: classes/class.swpm-settings.php:106 msgid "Email Settings (Prompt to Complete Registration )" msgstr "E-posti seaded (ajendamaks registreerumist lõpule viima)" #: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113 #: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132 msgid "Email Subject" msgstr "E-kirja teemarida" #: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115 #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134 msgid "Email Body" msgstr "E-kirja sisu" #: classes/class.swpm-settings.php:112 msgid "Email Settings (Registration Complete)" msgstr "E-kirja seaded (registreerumine läbitud)" #: classes/class.swpm-settings.php:117 msgid "Send Notification to Admin" msgstr "Saada teavitus adminile" #: classes/class.swpm-settings.php:118 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Määra see valik, kui soovid, et admin saaks teavituse, kui kasutaja " "registreerus." #: classes/class.swpm-settings.php:119 msgid "Admin Email Address" msgstr "Admini e-posti aadress" #: classes/class.swpm-settings.php:120 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Sisesta e-posti aadress, kuhu sa tahad, et admin e-kirja teavitus saadetaks." #: classes/class.swpm-settings.php:121 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Saada e-kiri kasutajale, kui see lisati admin poolelt" #: classes/class.swpm-settings.php:124 msgid "Email Settings (Password Reset)" msgstr "E-kirja seaded (parooli lähtestamine)" #: classes/class.swpm-settings.php:131 msgid " Email Settings (Account Upgrade Notification)" msgstr "E-kirja seaded (konto uuendamise teavitus)" #: classes/class.swpm-settings.php:152 msgid "Enable Expired Account Login" msgstr "Luba aegunud konto ligipääsu" #: classes/class.swpm-settings.php:153 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Kui see on lubatud, siis aegunud kontoga kasutajad saavad süsteemi " "sisselogida, aga ei näe kaitstud sisu. See võimaldab neil lihtsalt uuendada " "oma kontot, tehes selle eest uue makse." #: classes/class.swpm-settings.php:377 msgid "Not a Member?" msgstr "Ei ole kasutaja?" #: classes/class.swpm-settings.php:377 views/login.php:27 msgid "Join Us" msgstr "Täida liitumisavaldus" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "Active" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Inactive" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Pending" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Aegunud" #: classes/class.swpm-utils.php:297 msgid "Never" msgstr "Mitte kunagi" #: classes/class.swpm-utils.php:371 msgid "Delete Account" msgstr "Kustuta konto" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63 msgid "Payment Button ID" msgstr "Makse nupu ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64 msgid "Payment Button Title" msgstr "Makse nupu nimetus" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65 msgid "Membership Level ID" msgstr "Kasutaja taseme ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66 msgid "Button Shortcode" msgstr "Nupu lühikood" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/admin_members_list.php:15 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "Valitud kirje kustutatud!" #: classes/admin-includes/class.swpm-payments-list-table.php:53 msgid "View Profile" msgstr "Vaata profiili" #: classes/admin-includes/class.swpm-payments-list-table.php:72 msgid "Row ID" msgstr "Rea ID" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/forgot_password.php:5 msgid "Email Address" msgstr "E-posti aadress" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Member Profile" msgstr "Kasutaja profiil" #: classes/admin-includes/class.swpm-payments-list-table.php:77 msgid "Date" msgstr "Kuupäev" #: classes/admin-includes/class.swpm-payments-list-table.php:78 msgid "Transaction ID" msgstr "Tehingu ID" #: classes/admin-includes/class.swpm-payments-list-table.php:79 msgid "Amount" msgstr "Kogus" #: classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Nimekirja vaade" #: classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Katkend vaade" #: classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "Üksusi ei leitud." #: classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "Vali masstegevus" #: classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "Masstegevused" #: classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Kinnita" #: classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Filtreeri kuupäeva järgi" #: classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Kõik kuupäevad" #: classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "%1$s %2$d" #: classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "%s ootel" #: classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "Vali leht" #: classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "Vali kõik" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "Sinu kasutaja profiili uuendatakse kajastades makset." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "Sinu profiili kasutajanimi: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Kliki alloleval viitel, et viia registreerimine lõpule." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Kliki siia, et viia lõpule oma makstud registreerimine" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Kui sa oled äsja teinud kasutajaks saamise makse, siis sinu makse on veel " "töötluses. Palun vaata uuesti mõne minuti pärast. Sulle saabub peagi e-kiri, " "koos edasiste juhistega." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:80 msgid "Expiry: " msgstr "Kehtivus: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:82 msgid "You are not logged-in as a member" msgstr "Sa ei ole sisseloginud, kui kasutaja" #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:13 views/login.php:11 msgid "Password" msgstr "Parool" #: views/add.php:18 views/edit.php:17 msgid "Repeat Password" msgstr "Korda parooli" #: views/add.php:41 msgid "Register" msgstr "Registreerumine" #: views/admin_add.php:6 msgid "Add Member" msgstr "Lisa kasutaja" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Loo täiesti uus kasutaja ja lisa ta sellele veebilehele." #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(nõutav)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-post" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(uuesti, nõutav)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "Tugevuse indikaator" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Vihje: Parool peab olema vähemalt 7 tähemärki pikk. Et muuta seda veelgi " "tugevamaks, kasuta suur- ja väiketähti, numbreid ja sümboleid, nagu ! \" ? $ " "% ^ & )." #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "Konto staatus" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Lisa uus kasutaja " #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Seaded" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Mõned Simple Membership plugina seaded ja valikud on kuvatud siin (kui sul " "on neid)" #: views/admin_addon_settings.php:13 msgid "Save Changes" msgstr "Salvesta muudatused" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Loo uus kasutaja tase." #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Kasutajate taseme nimetus" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Vaikimisi Wordpressi roll" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "Ligipääsu kestus" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Ei aegu (selle taseme ligipääs ei aegu, kuniks see katkestatakse" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "Lõpeta" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "päeva pärast (ligipääs katkeb märgitud päevade pärast)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "nädala pärast (ligipääs katkeb märgitud nädalate pärast)" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "kuu pärast (ligipääs katkeb märgitud kuude pärast)" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "aasta pärast (ligipääs katkeb märgitud aastate pärast)" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "Konkreetse kuupäevani" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(ligipääs katkeb märgitud kuupäeval)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Lisa uus kasutaja tase" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Lisandid" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership::Kategooriad" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Esiteks kaitse globaalselt oma veebilehe kategooriat, valides allolevast " "rippmenüüst “Peamine kaitse” ja siis vali kategooriad, mis peaksid olema " "kaitstud mitte sisseloginud kasutajate jaoks." #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Järgmiseks vali olemasolev kasutaja tase allolevast rippmenüüst ja siis vali " "kategooriad, et võimaldada neile ligipääsu (sellele konkreetsele kasutajate " "tasemele)." #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Muuda kasutajat" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Muuda olemasoleva kasutaja andmeid." #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(veelkord - jäta tühjaks, et säilitada senine parool)" #: views/admin_edit.php:33 msgid "Notify User" msgstr "Teavita kasutajat" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "Tellija ID/viide" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "Viimati kasutatud IP-aadressilt" #: views/admin_edit.php:52 msgid "Edit User " msgstr "Muuda kasutajat" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Muuda kasutaja taset" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Muuda kasutaja taset." #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Ei aegu (ligipääs sel tasemel ei aegu, kuniks katkestatakse)" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "nädala pärast (ligipääs aegub pärast sisestatud nädalate möödumist)" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "Muuda kasutaja taset" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Kasutajad" #: views/admin_members.php:3 views/admin_members_list.php:30 msgid "Add New" msgstr "Lisa uus" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Kasutajate tasemed" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "otsi" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Kasutaja tase" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Halda sisu loomet" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "Kategooria kaitse" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Näidissisu kaitse seaded" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Sugu" #: views/admin_member_form_common_part.php:30 views/edit.php:29 msgid "Phone" msgstr "Telefon" #: views/admin_member_form_common_part.php:34 views/edit.php:33 msgid "Street" msgstr "Tänav/talu" #: views/admin_member_form_common_part.php:38 views/edit.php:37 msgid "City" msgstr "Linn/vald" #: views/admin_member_form_common_part.php:42 views/edit.php:41 msgid "State" msgstr "Maakond" #: views/admin_member_form_common_part.php:46 views/edit.php:45 msgid "Zipcode" msgstr "Postiindeks" #: views/admin_member_form_common_part.php:50 views/edit.php:49 msgid "Country" msgstr "Riik" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Ettevõte" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Kasutaja alates" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Genereeri registreerimise lõpliku kinnitamise link" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Siit saad manuaalselt genereerida registreerimise lõpliku kinnituse lingi ja " "anda selle oma kliendile, kui nad on kaotanud neile automaatselt saadetud e-" "kirja, mis saadeti pärast makset." #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Genereeri registreerimise lõpliku kinnituse link" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "VÕI" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "Kõigile ootel registreerumistele" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "Registreerimise lõpliku kinnituse lingid ilmuvad allpool:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Saada registreerimise meeldetuletuse e-kirjad ka" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "Kinnita" #: views/edit.php:59 msgid "Update" msgstr "Uuenda" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Lähtesta parool" #: views/loggedin.php:3 msgid "Logged in as" msgstr "Sisseloginud kui" #: views/loggedin.php:11 msgid "Membership" msgstr "Liikmelisus" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "Konto kehtivus" #: views/loggedin.php:19 msgid "Logout" msgstr "Logi välja" #: views/login.php:18 msgid "Remember Me" msgstr "Jäta mind meelde" #: views/login.php:24 msgid "Forgot Password" msgstr "Unustasid parooli" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "Kõik sinu kasutajate maksed/tehingus salvestatakse siia." #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "Otsi tehingut kasutades e-posti aadressi või nime" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Otsi" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Saad luua uue maksmise nupu oma liikmelisusele, kasutades seda liidest." #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Vali maksmise nupu tüüp" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Edasi" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "Saad muuta makmise nuppu kasutades seda liidest." #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "Simple Membership::Maksed" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Kõik liikmelisuse nupud, mille oled loonud pluginast, on kuvatud siin." #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "PayPal integratsiooni seaded" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Genereeri \"Advanced Variables\" kood oma PayPal nupu jaoks" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "Sisesta kasutaja taseme ID" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "Genereeri kood" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal Osta KOhe nupu konfigureerimine" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "Nupu nimetus" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "Makse summa" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "Makse valuuta" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "Tagasituleku URL" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "PayPal e-posti aadress" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "Nupu pildi URL" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "Salvesta makse andmed" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "Nupu ID" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "PayPal tellimuse nupu konfiguratsioon" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "Makse summa igakordne tsükkel" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "Makse tsükkel" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "Makse tsükli arv" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "Ebaõnnestumisel proovi uuesti" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Katselise perioodi makse andmed (jäta tühjaks, kui sa ei paku katselist " "perioodi)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "Katselise makse perioodi summa" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "Katselise makse periood" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "Valikulised andmed" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "Osta nüüd" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "Liitu nüüd" languages/simple-membership-fi_FI.po000064400000204134147206617610013464 0ustar00msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2017-05-27 13:24+0300\n" "PO-Revision-Date: 2017-05-28 19:30+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: fi_FI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.7.1\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: classes/class.simple-wp-membership.php:172 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "Ylläpitäjä ei salli hallintapaneelinäkymää." #: classes/class.simple-wp-membership.php:173 msgid "Go back to the home page by " msgstr "Mene takaisin kotisivulle" #: classes/class.simple-wp-membership.php:173 msgid "clicking here" msgstr "klikkaamalla tästä" #: classes/class.simple-wp-membership.php:311 msgid "You are not logged in." msgstr "Et ole kirjautunut sisään." #: classes/class.simple-wp-membership.php:358 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "Sinulla on testimaksutila kytkettynä lisäosan asetuksissa. Varmista että " "kytket testimaksutilan pois päältä kun haluat käyttää oikeita maksuja." #: classes/class.simple-wp-membership.php:373 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership suojaus" #: classes/class.simple-wp-membership.php:385 msgid "Simple Membership Protection options" msgstr "Simple Membership suojausasetukset" #: classes/class.simple-wp-membership.php:403 msgid "Do you want to protect this content?" msgstr "Haluatko suojata tämän sisällön?" #: classes/class.simple-wp-membership.php:408 msgid "Select the membership level that can access this content:" msgstr "Valitse mikä jäsenyystaso pääsee käsiksi tähän sisältöön:" #: classes/class.simple-wp-membership.php:543 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:544 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:575 msgid "Members" msgstr "Jäsenet" #: classes/class.simple-wp-membership.php:545 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:257 msgid "Membership Levels" msgstr "Jäsentasot" #: classes/class.simple-wp-membership.php:546 msgid "Settings" msgstr "Asetukset" #: classes/class.simple-wp-membership.php:547 msgid "Payments" msgstr "Maksut" #: classes/class.simple-wp-membership.php:548 msgid "Add-ons" msgstr "Lisäosat" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Kirjaudu nähdäksesi tämän sisällön." #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Tilisi on vanhentunut." #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Tämän sisällön näkevät vain jäsenet jotka ovat liittyneet tähän päivään " "mennessä:" #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Tätä sisältöä ei näytetä jäsenyystasollasi." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Kirjaudu nähdäksesi loput sisällöstä." #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr "Jäsenyystasosi ei mahdollista lopun sisällön näyttämistä." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän rekisteröinnin " "yhteydessä." #: classes/class.swpm-admin-registration.php:66 msgid "Member record added successfully." msgstr "Jäsenen lisääminen onnistui." #: classes/class.swpm-admin-registration.php:71 #: classes/class.swpm-admin-registration.php:102 #: classes/class.swpm-admin-registration.php:126 #: classes/class.swpm-membership-level.php:69 #: classes/class.swpm-membership-level.php:97 msgid "Please correct the following:" msgstr "Korjaathan seuraavat:" #: classes/class.swpm-admin-registration.php:82 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän muokkaamisen " "yhteydessä." #: classes/class.swpm-admin-registration.php:117 msgid "Your current password" msgstr "Nykyinen salasanasi" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Virheellinen sähköpostiosoite" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "On jo varattu" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Nimessä on kelpaamaton merkki" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Käytettävissä" #: classes/class.swpm-auth.php:46 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Varoitus! Simple Membership lisäosa ei voi käsitellä kirjautumispyyntöä " "estääkseen tahattoman uloskirjautumisen WP ylläpidosta. " #: classes/class.swpm-auth.php:47 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a member." msgstr "" "Olet kirjautunut sivustolle tässä selaimessa ylläpitäjänä. Kirjaudu ensin " "ulos WP ylläpidosta, jonka jälkeen voit kirjautua jäsenenä." #: classes/class.swpm-auth.php:48 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Vaihtoehtoisesti voit kirjautua toisella selaimella (jossa et ole " "kirjautuneen ylläpitäjänä) testataksesi jäsenenä kirjautumista." #: classes/class.swpm-auth.php:49 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Tavalliset vierailijat tai jäsenet eivät näe tätä viestiä. Tämä viesti " "näytetään ainoastaan ylläpitäjille." #: classes/class.swpm-auth.php:56 msgid "Captcha validation failed on login form." msgstr "Captcha varmennus epäonnistui kirjautumislomakkeella." #: classes/class.swpm-auth.php:81 msgid "User Not Found." msgstr "Käyttäjää ei löydy." #: classes/class.swpm-auth.php:88 msgid "Password Empty or Invalid." msgstr "Salasana tyhjä tai virheellinen." #: classes/class.swpm-auth.php:125 msgid "Account is inactive." msgstr "Tili ei ole käytössä." #: classes/class.swpm-auth.php:128 classes/class.swpm-auth.php:146 msgid "Account has expired." msgstr "Tili on vanhentunut." #: classes/class.swpm-auth.php:131 msgid "Account is pending." msgstr "Tili on laitettu vireille." #: classes/class.swpm-auth.php:154 msgid "You are logged in as:" msgstr "Olet kirjautunut käyttäjänä:" #: classes/class.swpm-auth.php:200 msgid "Logged Out Successfully." msgstr "Uloskirjautuminen onnistui." #: classes/class.swpm-auth.php:252 msgid "Session Expired." msgstr "Istunto on vanhentunut." #: classes/class.swpm-auth.php:261 msgid "Invalid Username" msgstr "Virheellinen käyttäjätunnus." #: classes/class.swpm-auth.php:269 msgid "Please login again." msgstr "Kirjaudu uudelleen." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:62 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:307 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 msgid "Membership Level" msgstr "Jäsenyystaso" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Kategoriatunnus (ID)" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Kategorian nimi" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Kategoria tyyppi (Taksonomia)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Kuvaus" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Määrä" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "Kategorian suojaus päivitetty." #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "Kategoriaa ei löydy." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Kirjaudu sisään kommentoidaksesi." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Kirjaudu sisään kommentoidaksesi." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Kommentointi sallittu vain jäsenille." #: classes/class.swpm-form.php:29 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "Käyttäjätunnukselle löytyy tili, mutta annettu sähköposti ei täsmää." #: classes/class.swpm-form.php:34 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "Sähköpostille löytyy tili, mutta annettu käyttäjätunnus ei täsmää." #: classes/class.swpm-form.php:43 msgid "Username is required" msgstr "Käyttäjätunnus tarvitaan" #: classes/class.swpm-form.php:47 msgid "Username contains invalid character" msgstr "Käyttäjätunnuksessa on virheellisiä merkkejä." #: classes/class.swpm-form.php:55 msgid "Username already exists." msgstr "Käyttäjätunnus on jo käytössä." #: classes/class.swpm-form.php:78 msgid "Password is required" msgstr "Salasana on pakollinen" #: classes/class.swpm-form.php:85 msgid "Password mismatch" msgstr "Salasanat eivät täsmää" #: classes/class.swpm-form.php:96 msgid "Email is required" msgstr "Sähköposti edellytetään" #: classes/class.swpm-form.php:100 msgid "Email is invalid" msgstr "Sähköposti on virheellinen" #: classes/class.swpm-form.php:116 msgid "Email is already used." msgstr "Sähköposti on jo käytössä." #: classes/class.swpm-form.php:173 msgid "Member since field is invalid" msgstr "Jäsenyyden alku -kenttä on virheellinen" #: classes/class.swpm-form.php:184 msgid "Access starts field is invalid" msgstr "Pääsyn alku -kenttä on virheellinen" #: classes/class.swpm-form.php:194 msgid "Gender field is invalid" msgstr "Sukupuoli -kenttä on virheellinen" #: classes/class.swpm-form.php:205 msgid "Account state field is invalid" msgstr "Tilin tila -kenttä on virheellinen" #: classes/class.swpm-form.php:212 msgid "Invalid membership level" msgstr "Virheellinen jäsenyystaso" #: classes/class.swpm-front-registration.php:33 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "Virhe! Virheellinen pyyntö. Annetun turvakoodin ja käyttäjätunnuksen välille " "ei löytynyt vastaavuutta." #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:219 views/login.php:36 msgid "Join Us" msgstr "Liity meihin" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "Ilmaisjäsenyys on poistettu käytöstä tällä sivustolla. Teethän " "maksusuorituksen" #: classes/class.swpm-front-registration.php:49 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Saat yksilöllisen linkin sähköpostiin maksun jälkeen. Linkin avulla voit " "suorittaa loppuun Premium-jäsenyyden rekisteröinnin. " #: classes/class.swpm-front-registration.php:77 msgid "Security check: captcha validation failed." msgstr "Turvatarkistus: captcha varmistus epäonnistui." #: classes/class.swpm-front-registration.php:100 msgid "Registration Successful. " msgstr "Rekisteröinti onnistui." #: classes/class.swpm-front-registration.php:100 #: classes/class.swpm-utils-misc.php:218 classes/class.swpm-utils-misc.php:230 msgid "Please" msgstr "Ole ystävällinen" #: classes/class.swpm-front-registration.php:100 #: classes/class.swpm-utils-misc.php:218 views/login.php:30 msgid "Login" msgstr "Kirjaudu" #: classes/class.swpm-front-registration.php:113 #: classes/class.swpm-front-registration.php:236 msgid "Please correct the following" msgstr "Korjaathan seuraavat" #: classes/class.swpm-front-registration.php:158 msgid "Membership Level Couldn't be found." msgstr "Jäsenyys tasoa ei löydy." #: classes/class.swpm-front-registration.php:209 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" "Virhe! Kertakäyttöavaimen varmennus epäonnistui edustan profiilin " "muokkaamisen yhteydessä." #: classes/class.swpm-front-registration.php:217 msgid "Profile updated successfully." msgstr "Profiili päivitetty onnistuneesti." #: classes/class.swpm-front-registration.php:225 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profiili päivitetty onnistuneesti. Joudut kirjautumaan uudestaan salasanan " "vaihdon vuoksi." #: classes/class.swpm-front-registration.php:246 msgid "Email address not valid." msgstr "Virheellinen sähköpostiosoite." #: classes/class.swpm-front-registration.php:257 msgid "No user found with that email address." msgstr "Kyseiselle sähköpostille ei löydy käyttäjää." #: classes/class.swpm-front-registration.php:258 #: classes/class.swpm-front-registration.php:284 msgid "Email Address: " msgstr "Sähköpostiosoite:" #: classes/class.swpm-front-registration.php:283 msgid "New password has been sent to your email address." msgstr "Uusi salasana on lähetetty sähköpostiisi." #: classes/class.swpm-init-time-tasks.php:112 msgid "Sorry, Nonce verification failed." msgstr "Kertakäyttöavaimen varmistus epäonnistui." #: classes/class.swpm-init-time-tasks.php:119 msgid "Sorry, Password didn't match." msgstr "Salasana ei ollut oikein." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Päivämäärän muoto on virheellinen." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "Pääsyn kesto pitää olla > 0." #: classes/class.swpm-members.php:10 msgid "Member" msgstr "Jäsen" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "Tunniste" #: classes/class.swpm-members.php:20 views/add.php:6 views/admin_add.php:10 #: views/admin_edit.php:13 views/edit.php:14 msgid "Username" msgstr "Käyttäjätunnus" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:30 msgid "First Name" msgstr "Etunimi" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:34 msgid "Last Name" msgstr "Sukunimi" #: classes/class.swpm-members.php:23 views/add.php:10 views/edit.php:18 msgid "Email" msgstr "Sähköpostiosoite" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Pääsy alkaa" #: classes/class.swpm-members.php:26 msgid "Account State" msgstr "Tilin tila" #: classes/class.swpm-members.php:42 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Poista" #: classes/class.swpm-members.php:43 msgid "Set Status to Active" msgstr "Aseta tila aktiiviseksi" #: classes/class.swpm-members.php:44 msgid "Set Status to Active and Notify" msgstr "Aseta tila aktiiviseksi ja tee ilmoitus" #: classes/class.swpm-members.php:45 msgid "Set Status to Inactive" msgstr "Aseta tila pois käytöstä" #: classes/class.swpm-members.php:46 msgid "Set Status to Pending" msgstr "Aseta tila vireillä olevaksi" #: classes/class.swpm-members.php:47 msgid "Set Status to Expired" msgstr "Aseta tila vanhentuneeksi" #: classes/class.swpm-members.php:68 msgid "incomplete" msgstr "puutteellinen" #: classes/class.swpm-members.php:187 msgid "No member found." msgstr "Jäsentä ei löydy." #: classes/class.swpm-members.php:331 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän poiston yhteydessä." #: classes/class.swpm-members.php:400 classes/class.swpm-members.php:430 msgid "Error! Please select a membership level first." msgstr "Virhe! Valitse jäsenyystaso ensin." #: classes/class.swpm-members.php:417 msgid "Membership level change operation completed successfully." msgstr "Jäsenyystason vaihto suoritettu onnistuneesti." #: classes/class.swpm-members.php:447 msgid "Access starts date change operation successfully completed." msgstr "Pääsyn aloitusajan muutos tehty onnistuneesti." #: classes/class.swpm-members.php:456 msgid "Bulk Update Membership Level of Members" msgstr "Jäsenten jäsenyystasojen massapäivitys" #: classes/class.swpm-members.php:459 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Voit manuaalisesti muuttaa minkä tahansa jäsenen jäsenyystasoa " "jäsenyysvalikosta." #: classes/class.swpm-members.php:460 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "Voit käyttää seuraavaa valintaa alla valitsemasi tason kaikkien jäsenten " "jäsenyystason muuttamiseksi." #: classes/class.swpm-members.php:466 classes/class.swpm-members.php:514 msgid "Membership Level: " msgstr "Jäsenyystaso:" #: classes/class.swpm-members.php:470 msgid "Select Current Level" msgstr "Valitse nykyinen taso" #: classes/class.swpm-members.php:473 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "Valitse nykyinen taso (kaikkien tämän tason jäsenyystaso päivitetään)." #: classes/class.swpm-members.php:479 msgid "Level to Change to: " msgstr "Taso jolle päivitetään:" #: classes/class.swpm-members.php:483 msgid "Select Target Level" msgstr "Valitse kohdetaso" #: classes/class.swpm-members.php:486 msgid "Select the new membership level." msgstr "Valitse uusi jäsenyystaso." #: classes/class.swpm-members.php:492 msgid "Bulk Change Membership Level" msgstr "Jäsenyystason massamuutos" #: classes/class.swpm-members.php:502 msgid "Bulk Update Access Starts Date of Members" msgstr "Massapäivityksen jäsenten pääsy alkaa päivämäärä" #: classes/class.swpm-members.php:506 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "Pääsy alkaa on asetettu päiväksi jona käyttäjä rekisteröityy. Tätä päivää " "käytetään laskemaan kuinka pitkään kyseinen käyttäjä pääsee sisältöön joka " "on suojaus on toteutettu jäsenyystason keston perusteella." #: classes/class.swpm-members.php:507 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Voit seuraavalla valinnalla asettaa manuaalisesti tietyn aloituspäivämäärän " "kaikkille tietyn tason jäsenille." #: classes/class.swpm-members.php:517 msgid "Select Level" msgstr "Valitse taso" #: classes/class.swpm-members.php:520 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Valitse jäsenyystaso (kaikkien tämän tason jäsenten aloituspäivämäärä " "päivitetään)." #: classes/class.swpm-members.php:529 msgid "Specify the access starts date value." msgstr "Määritä aloituspäivämäärä." #: classes/class.swpm-members.php:535 msgid "Bulk Change Access Starts Date" msgstr "Massamuutoksen pääsyn aloituspäivämäärä" #: classes/class.swpm-members.php:570 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Jäsenet" #: classes/class.swpm-members.php:571 #: classes/class.swpm-membership-levels.php:225 views/admin_members_list.php:43 msgid "Add New" msgstr "Lisää uusi" #: classes/class.swpm-members.php:576 views/admin_add.php:5 msgid "Add Member" msgstr "Lisää jäsen" #: classes/class.swpm-members.php:577 msgid "Bulk Operation" msgstr "Massamuutos" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" "Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystasoa luotaessa." #: classes/class.swpm-membership-level.php:64 msgid "Membership Level Creation Successful." msgstr "Jäsenyystason luominen onnistui." #: classes/class.swpm-membership-level.php:80 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystason muokkauksen " "yhteydessä." #: classes/class.swpm-membership-level.php:92 msgid "Membership Level Updated Successfully." msgstr "Jäsenyystaso päivitetty onnistuneesti." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Rooli" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Pääsyn loppumisaika" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "Jäsenyystasoja ei löydy." #: classes/class.swpm-membership-levels.php:196 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystasoa poistettaessa." #: classes/class.swpm-membership-levels.php:215 views/admin_members_list.php:30 #: views/payments/admin_all_payment_transactions.php:16 msgid "Search" msgstr "Haku" #: classes/class.swpm-membership-levels.php:253 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Jäsenyystasot" #: classes/class.swpm-membership-levels.php:258 msgid "Add Level" msgstr "Lisää taso" #: classes/class.swpm-membership-levels.php:259 msgid "Manage Content Protection" msgstr "Hallinnoi sisällön suojausta" #: classes/class.swpm-membership-levels.php:260 msgid "Category Protection" msgstr "Kategoriasuojaus" #: classes/class.swpm-settings.php:27 classes/class.swpm-settings.php:55 msgid "General Settings" msgstr "Yleiset asetukset" #: classes/class.swpm-settings.php:28 msgid "Payment Settings" msgstr "Maksuasetukset" #: classes/class.swpm-settings.php:29 msgid "Email Settings" msgstr "Sähköpostiasetukset" #: classes/class.swpm-settings.php:30 msgid "Tools" msgstr "Työkalut" #: classes/class.swpm-settings.php:31 classes/class.swpm-settings.php:184 msgid "Advanced Settings" msgstr "Laajemmat asetukset" #: classes/class.swpm-settings.php:32 msgid "Addons Settings" msgstr "Lisäosien asetukset" #: classes/class.swpm-settings.php:54 msgid "Plugin Documentation" msgstr "Liitännäisten dokumentaatio" #: classes/class.swpm-settings.php:56 msgid "Enable Free Membership" msgstr "Mahdollista ilmaisjäsenyys" #: classes/class.swpm-settings.php:57 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Kytke/poiskytke ilmaisjäsenyystasolle rekisteröityminen. Kytkiessäsi päälle " "tätä valintaa, määrittelethän alle ilmaisjäsenyystason tason tunnisteen." #: classes/class.swpm-settings.php:58 msgid "Free Membership Level ID" msgstr "Ilmaisjäsenyystason tunniste" #: classes/class.swpm-settings.php:59 msgid "Assign free membership level ID" msgstr "Aseta ilmaisjäsenyystason tunniste" #: classes/class.swpm-settings.php:60 msgid "Enable More Tag Protection" msgstr "Kytke \"Lisää...\" tägin suojaus" #: classes/class.swpm-settings.php:61 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Kytkee/poiskytkee \"Lisää...\" tägin suojauksen postauksissa ja sivuilla. " "Kaikki \"Lisää..\" tägin jälkeen on suojattu. Kaikki ennen \"Lisää...\" " "tägiä on \"teaser\" sisältöä." #: classes/class.swpm-settings.php:62 msgid "Hide Adminbar" msgstr "Piilota ylläpitäjän palkki" #: classes/class.swpm-settings.php:63 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress näyttää ylläpitäjän palkin kirjautuneille käyttäjille. Valitse " "tämä jos haluat piilottaa palkin." #: classes/class.swpm-settings.php:64 msgid "Show Adminbar to Admin" msgstr "Näytä ylläpitäjän palkki ylläpitäjille" #: classes/class.swpm-settings.php:65 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Valitse tämä jos haluat näyttää ylläpitäjän palkin vain ylläpitäjille. " "Muilta käyttäjiltä palkki piilotetaan." #: classes/class.swpm-settings.php:66 msgid "Disable Access to WP Dashboard" msgstr "Estä pääsy WP käyttöliittymään" #: classes/class.swpm-settings.php:67 msgid "" "WordPress allows a sandard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashbaord. Using this option will prevent any " "non admin users from going to the wp dashboard." msgstr "" "WordPress sallii peruskäyttäjän pääsyn wp-admin osoitteeseen ja pääsyn omaan " "profiiliinsa WP käyttöliittymässä. Tällä valinnalla estetään muiden kuin " "ylläpitäjien pääsy WP käyttöliittymään." #: classes/class.swpm-settings.php:69 msgid "Default Account Status" msgstr "Oletus tilin tila" #: classes/class.swpm-settings.php:72 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Aseta rekisteröityvien käyttäjien oletustila. Jos haluat manuaalisesti " "hyväksyä jäsenet voit asettaa oletustilaksi \"Vireillä\"." #: classes/class.swpm-settings.php:74 msgid "Members Must be Logged in to Comment" msgstr "Käyttäjien pitää olla kirjautuneita kommentoidakseen." #: classes/class.swpm-settings.php:75 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "Aseta tämä valinta jos sallit vain jäsenten kommentit." #: classes/class.swpm-settings.php:84 msgid "Pages Settings" msgstr "Sivujen asetukset" #: classes/class.swpm-settings.php:85 msgid "Login Page URL" msgstr "Kirjautumissivun URL" #: classes/class.swpm-settings.php:87 msgid "Registration Page URL" msgstr "Rekisteröitymissivun URL" #: classes/class.swpm-settings.php:89 msgid "Join Us Page URL" msgstr "Liity meihin sivun URL" #: classes/class.swpm-settings.php:91 msgid "Edit Profile Page URL" msgstr "Muokkaa profiilia sivun URL" #: classes/class.swpm-settings.php:93 msgid "Password Reset Page URL" msgstr "Salasanan resetointi sivun URL" #: classes/class.swpm-settings.php:96 msgid "Test & Debug Settings" msgstr "Testaus ja debuggaus asetukset" #: classes/class.swpm-settings.php:98 msgid "Check this option to enable debug logging." msgstr "Valitse tämä kytkeäksesi debug lokituksen." #: classes/class.swpm-settings.php:103 msgid "Enable Sandbox Testing" msgstr "Kytke maksutestaus" #: classes/class.swpm-settings.php:104 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Valitse tämä jos haluat testata maksuliikennettä" #: classes/class.swpm-settings.php:117 classes/class.swpm-settings.php:179 #: classes/class.swpm-settings.php:296 msgid "Settings updated!" msgstr "Asetukset päivitetty!" #: classes/class.swpm-settings.php:122 msgid "Email Misc. Settings" msgstr "Sähköpostin sekalaiset asetukset" #: classes/class.swpm-settings.php:123 msgid "From Email Address" msgstr "From: Sähköpostiosoite" #: classes/class.swpm-settings.php:127 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Sähköpostiasetukset (Kehota tekemään rekisteröinti loppuun)" #: classes/class.swpm-settings.php:128 classes/class.swpm-settings.php:138 #: classes/class.swpm-settings.php:154 classes/class.swpm-settings.php:159 #: classes/class.swpm-settings.php:164 msgid "Email Subject" msgstr "Sähköpostin aihe kenttä" #: classes/class.swpm-settings.php:130 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:155 classes/class.swpm-settings.php:160 #: classes/class.swpm-settings.php:165 msgid "Email Body" msgstr "Sähköpostin sisältö" #: classes/class.swpm-settings.php:134 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "Kirjoita osoite johon haluat ylläpitäjäilmoituksen lähettää." #: classes/class.swpm-settings.php:135 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" "Voit laittaa useita osoitteita pilkulla erotettuna (,) ylläolevaan kenttään " "lähettääksesi ilmoituksen useaan osoitteeseen." #: classes/class.swpm-settings.php:136 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Tämä sähköposti lähetetään kun uusi käyttäjä rekisteröityy. Toimii vain " "mikäli \"Lähetä ilmoitus ylläpitäjälle\" on aktivoitu." #: classes/class.swpm-settings.php:137 msgid "Email Settings (Registration Complete)" msgstr "Sähköpostiasetukset (Rekisteröinti valmis)" #: classes/class.swpm-settings.php:142 msgid "Send Notification to Admin" msgstr "Lähetä ilmoitus ylläpitäjälle" #: classes/class.swpm-settings.php:143 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Aseta tämä jos haluat ylläpitäjän saavan viestin kun käyttäjä rekisteröityy." #: classes/class.swpm-settings.php:144 msgid "Admin Email Address" msgstr "Ylläpitäjän sähköpostiosoite" #: classes/class.swpm-settings.php:146 msgid "Admin Notification Email Body" msgstr "Ylläpitäjäilmoituksen viestin sisältö" #: classes/class.swpm-settings.php:149 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Lähetä jäsenelle sähköposti kun lisäys tehdään ylläpitäjän käyttöliittymästä." #: classes/class.swpm-settings.php:153 msgid "Email Settings (Password Reset)" msgstr "Sähköpostiasetukset (Salasanan resetointi)" #: classes/class.swpm-settings.php:158 msgid " Email Settings (Account Upgrade Notification)" msgstr "Sähköpostiasetukset (Tilin päivitysilmoitus)" #: classes/class.swpm-settings.php:163 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "Sähköpostiasetukset (Tilin massa-aktivoinnista ilmoitus)" #: classes/class.swpm-settings.php:186 msgid "Enable Expired Account Login" msgstr "Salli vanhentuneen tilin kirjautuminen" #: classes/class.swpm-settings.php:187 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Kun sallittu, vanhentuneen tilin käyttäjä pystyy kirjautumaan järjestelmään " "muttei näe mitään suojattua sisältöä. Tämä mahdollistaa tilin helpon " "uusimisen." #: classes/class.swpm-settings.php:189 msgid "Membership Renewal URL" msgstr "Jäsenyyden uusimis URL" #: classes/class.swpm-settings.php:190 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Voit luoda tilin uusimissivun sivustollesi. Lue (englanniksi)tämä dokumentaatio, jossa kerrotaan miten uusimissivu " "luodaan. " #: classes/class.swpm-settings.php:192 msgid "Allow Account Deletion" msgstr "Salli tilin poistaminen" #: classes/class.swpm-settings.php:193 msgid "Allow users to delete their accounts." msgstr "Salli käyttäjien poistaa tilinsä." #: classes/class.swpm-settings.php:195 msgid "Use WordPress Timezone" msgstr "Käytä WordPressin aikavyöhykettä" #: classes/class.swpm-settings.php:196 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" "Käytä tätä asetusta jos haluat käyttää WordPress yleisissä asetuksissa " "asetettua aikavyöhykettä." #: classes/class.swpm-settings.php:198 msgid "Auto Delete Pending Account" msgstr "Poista automaattisesti \"Vireillä\" oleva tili" #: classes/class.swpm-settings.php:201 msgid "Select how long you want to keep \"pending\" account." msgstr "Valitse kuinka pitkään pidät tiliä \"Vireillä\" ennen poistamista." #: classes/class.swpm-settings.php:203 msgid "Admin Dashboard Access Permission" msgstr "Ylläpitäjän käyttöliittymään pääsynhallinta" #: classes/class.swpm-settings.php:206 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here." msgstr "" "SWPM ylläpitäjän käyttöliittymään on oletuksen pääsy ainoastaan ylläpitäjä " "käyttäjillä. Tässä voit sallia pääsyn muulla WP käyttäjäroolilla." #: classes/class.swpm-settings.php:301 msgid "General Plugin Settings." msgstr "Yleiset liitännäisasetukset." #: classes/class.swpm-settings.php:305 msgid "Page Setup and URL Related settings." msgstr "Sivun asetteluun ja URL liittyvät asetukset." #: classes/class.swpm-settings.php:309 msgid "Testing and Debug Related Settings." msgstr "Testaus ja debuggausasetukset" #: classes/class.swpm-settings.php:313 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Tämä sähköposti lähetetään käyttäjille kun rekisteröinti on suoritettu ja " "heistä on tullut jäseniä." #: classes/class.swpm-settings.php:317 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Tämä sähköposti lähetetään käyttäjille kun he käyttävät salasanan resetointi " "toiminnallisuutta." #: classes/class.swpm-settings.php:321 msgid "Settings in this section apply to all emails." msgstr "Tämän osion asetukset vaikuttavat kaikkiin sähköposteihin." #: classes/class.swpm-settings.php:325 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Tämä sähköposti lähetetään käyttäjälle kun tili päivittyy (kun olemassa " "oleva käyttäjä maksaa uudesta käyttäjätasosta)." #: classes/class.swpm-settings.php:329 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Tämä sähköposti lähetetään käyttäjille kun käytät tilien massa-aktivointi ja " "-ilmoitus ominaisuutta." #: classes/class.swpm-settings.php:333 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Tämä sähköposti lähetetään kehottamaan käyttäjää päättämään rekisteröinnin " "maksun jälkeen." #: classes/class.swpm-settings.php:337 msgid "This page allows you to configure some advanced features of the plugin." msgstr "Tämä sivu sallii muokata eräitä lisäosan edistyneitä ominaisuuksia." #: classes/class.swpm-settings.php:445 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Asetukset" #: classes/class.swpm-utils-member.php:21 #: classes/class.swpm-utils-member.php:29 #: classes/class.swpm-utils-member.php:37 #: classes/class.swpm-utils-member.php:47 msgid "User is not logged in." msgstr "Käyttäjä ei ole kirjautunut sisään." #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Rekisteröinti" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Jäsenen kirjautuminen" #: classes/class.swpm-utils-misc.php:96 msgid "Profile" msgstr "Profiili" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Salasanan resetointi" #: classes/class.swpm-utils-misc.php:219 msgid "Not a Member?" msgstr "Etkö ole jäsen?" #: classes/class.swpm-utils-misc.php:230 msgid "renew" msgstr "uusi" #: classes/class.swpm-utils-misc.php:230 msgid " your account to gain access to this content." msgstr "tilisi päästäksesi tähän sisältöön." #: classes/class.swpm-utils-misc.php:272 classes/class.swpm-utils-misc.php:278 msgid "Error! This action (" msgstr "Virhe! Tämä toiminto (" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Virhe! Valitulle sapluunalle ei löydy polkua (path):" #: classes/class.swpm-utils.php:100 msgid "Never" msgstr "Ei koskaan" #: classes/class.swpm-utils.php:115 msgid "Active" msgstr "Aktiivinen" #: classes/class.swpm-utils.php:116 msgid "Inactive" msgstr "Inaktiivinen" #: classes/class.swpm-utils.php:117 msgid "Pending" msgstr "Vireillä" #: classes/class.swpm-utils.php:118 msgid "Expired" msgstr "Vanhentunut" #: classes/class.swpm-utils.php:450 msgid "Delete Account" msgstr "Poista tili" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "Maksunapin tunnus (ID)" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Maksunapin otsake" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "Jäsenyystason tunnus (ID)" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Napin tyyppi" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Napin lyhytkoodi (shortcode)" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "Valittu merkintä on poistettu!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple Membership::Maksut" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "Transaktiot" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "Hallinnoi maksunappeja" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Luo uusi nappi" #: classes/admin-includes/class.swpm-payments-list-table.php:57 msgid "View Profile" msgstr "Katso profiilia" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "Rivitunniste (Row ID)" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Sähköpostiosoite" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Jäsenprofiili" #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Päiväys" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "Transaktiotunniste (Transaction ID)" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "Tilaajatunniste (Subscriber ID)" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Määrä" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:56 msgid "Your membership profile will be updated to reflect the payment." msgstr "Jäsenyysprofiilisi on päivitety maksun mukaisesti." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:57 msgid "Your profile username: " msgstr "Profiilisi käyttäjätunnus:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:69 msgid "Click on the following link to complete the registration." msgstr "Klikkaa seuraavaa linkkiä päättääksesi rekisteröinnin." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:70 msgid "Click here to complete your paid registration" msgstr "Klikkaa tästä päättääksesi maksetun rekisteröintisi" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:75 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Jos ole juuri suorittanut jäsenmaksusi saattaa maksusi olla vielä " "prosessoitavana. Tarkista muutaman minuutin päästä tilanne uudestaan. Saat " "hetken päästä sähköpostin yksityiskohtaisilla tiedoilla." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:89 msgid "Expiry: " msgstr "Päättymispäivä:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:91 msgid "You are not logged-in as a member" msgstr "Et ole kirjautunut jäsenenä sisään" #: views/add.php:14 views/admin_add.php:18 views/admin_edit.php:38 #: views/edit.php:22 views/login.php:17 msgid "Password" msgstr "Salasana" #: views/add.php:18 views/edit.php:26 msgid "Repeat Password" msgstr "Toista salasana" #: views/add.php:52 msgid "Register" msgstr "Rekisteröidy" #: views/admin_add.php:6 msgid "Create a brand new user and add it to this site." msgstr "Luo kokonaan uusi käyttäjä ja lisää se tälle sivulle." #: views/admin_add.php:10 views/admin_add.php:14 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:13 views/admin_edit.php:34 #: views/admin_edit_level.php:15 views/admin_edit_level.php:19 #: views/admin_edit_level.php:23 msgid "(required)" msgstr "(pakollinen)" #: views/admin_add.php:14 views/admin_edit.php:34 msgid "E-mail" msgstr "Sähköposti" #: views/admin_add.php:18 msgid "(twice, required)" msgstr "(kahdesti, pakollinen)" #: views/admin_add.php:23 views/admin_edit.php:42 msgid "Strength indicator" msgstr "Salasanan vahvuus" #: views/admin_add.php:24 views/admin_edit.php:43 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Vinkki: Salasanan tulisi olla vähintään seitsemän(7) merkkiä pitkä. " "Vahvistaaksesi sitä, käytä isoja ja pieniä kirjaimia, numeroita ja symboleja " "kuten ! \" ? $ % ^ & )." #: views/admin_add.php:28 views/admin_edit.php:47 views/loggedin.php:10 msgid "Account Status" msgstr "Tilin tila" #: views/admin_add.php:38 msgid "Add New Member " msgstr "Lisää uusi jäsen" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Joitain Simple Membership -lisäosan asetuksia ja valintoja näytetään tässä " "(jos niitä on)" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Tallenna muutokset" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Luo uusi jäsenyystaso." #: views/admin_add_level.php:11 views/admin_edit_level.php:15 msgid "Membership Level Name" msgstr "Jäsenyystason nimi" #: views/admin_add_level.php:15 views/admin_edit_level.php:19 msgid "Default WordPress Role" msgstr "Oletus WordPress rooli" #: views/admin_add_level.php:19 views/admin_edit_level.php:23 msgid "Access Duration" msgstr "Pääsyn kesto" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Ei vanhentumista (Pääsy tällä tasolla ei vanhene ennen kuin se peruutetaan)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:27 views/admin_edit_level.php:30 #: views/admin_edit_level.php:33 views/admin_edit_level.php:36 msgid "Expire After" msgstr "Pääsy vanhenee" #: views/admin_add_level.php:24 views/admin_edit_level.php:28 msgid "Days (Access expires after given number of days)" msgstr "Päivää (Pääsy vanhenee näin monen päivän päästä)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Viikkoa (Pääsy vanhenee näin monen viikon päästä)" #: views/admin_add_level.php:28 views/admin_edit_level.php:34 msgid "Months (Access expires after given number of months)" msgstr "Kuukautta (Pääsy vanhenee näin monen kuukauden päästä)" #: views/admin_add_level.php:30 views/admin_edit_level.php:37 msgid "Years (Access expires after given number of years)" msgstr "Vuotta (Pääsy vanhenee näin monen vuoden päästä)" #: views/admin_add_level.php:31 views/admin_edit_level.php:39 msgid "Fixed Date Expiry" msgstr "Kiinteä vanheneminen" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "(Access expires on a fixed date)" msgstr "(Jäsenyys vanhenee tiettynä päivänä)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Lisää uusi jäsenyystaso" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Lisäosat" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Aluksi, suojaa kategoria järjestelmänlaajuisesti sivustollasi valitsemalla " "alla olevast valikosta \"Yleinen suojaus\" ja sitten valitse ne kategoriat " "jotka tulisi suojata rekisteröimättömiltä käyttäjiltä." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Seuraavaksi, valitse olemassa oleva jäsenyystaso alla olevasta " "pudotusvalikosta ja sitten valitse ne kategoriat joihin haluat sallia pääsyn " "kyseisellä jäsenyystasolla." #: views/admin_category_list.php:17 msgid "Membership Level:" msgstr "Jäsenyystaso:" #: views/admin_category_list.php:23 views/edit.php:69 msgid "Update" msgstr "Päivitä" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Muokkaa jäsentä" #: views/admin_edit.php:7 msgid "Edit existing member details." msgstr "Muokkaa olemassa olevan jäsenen tietoja." #: views/admin_edit.php:8 msgid " You are currenty editing member with member ID: " msgstr "Muokkaat tällä hetkellä jäsentä tunnisteella (ID):" #: views/admin_edit.php:38 msgid "(twice, leave empty to retain old password)" msgstr "(kahdesti, jätä tyhjäksi säilyttääksesi vanhan salasanan)" #: views/admin_edit.php:54 msgid "Notify User" msgstr "Ilmoita käyttäjälle" #: views/admin_edit.php:61 msgid "Subscriber ID/Reference" msgstr "Tilaajatunniste (Subscriber ID)/Referenssi" #: views/admin_edit.php:65 msgid "Last Accessed Date" msgstr "Viimeksi kirjautunut" #: views/admin_edit.php:68 views/admin_edit.php:75 msgid "This value gets updated when this member logs into your site." msgstr "Tämä arvo päivittyy kun tämä jäsen kirjautuu sivustolle." #: views/admin_edit.php:72 msgid "Last Accessed From IP" msgstr "Viimeisin IP mistä kirjauduttu" #: views/admin_edit.php:83 msgid "Edit User " msgstr "Muokkaa käyttäjää" #: views/admin_edit.php:88 msgid "Delete User Profile" msgstr "Poista käyttäjäprofiili" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Muokkaa jäsenyystasoa" #: views/admin_edit_level.php:8 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "Voit muokata valitun jäsenyystason yksityiskohtia tästä käyttöliittymästä." #: views/admin_edit_level.php:9 msgid "You are currently editing: " msgstr "Parhaillaan muokkaat:" #: views/admin_edit_level.php:26 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Ei vanhenemista (Tämän tason pääsy ei vanhene ennen peruuttamista)" #: views/admin_edit_level.php:31 msgid "Weeks (Access expires after given number of weeks)" msgstr "Viikkoa (Pääsy vanhenee näin monen viikon päästä)" #: views/admin_edit_level.php:46 msgid "Edit Membership Level " msgstr "Muokkaa jäsenyystasoa" #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Esimerkki sisällön suojaus asetukset" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Sukupuoli" #: views/admin_member_form_common_part.php:30 views/edit.php:38 msgid "Phone" msgstr "Puhelinnumero" #: views/admin_member_form_common_part.php:34 views/edit.php:42 msgid "Street" msgstr "Katu" #: views/admin_member_form_common_part.php:38 views/edit.php:46 msgid "City" msgstr "Kaupunki" #: views/admin_member_form_common_part.php:42 views/edit.php:50 msgid "State" msgstr "Maakunta" #: views/admin_member_form_common_part.php:46 views/edit.php:54 msgid "Zipcode" msgstr "Postinumero" #: views/admin_member_form_common_part.php:50 views/edit.php:58 msgid "Country" msgstr "Maa" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Yritys" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Jäsenyys alkanut" #: views/admin_tools_settings.php:6 msgid "Generate a Registration Completion link" msgstr "Luo rekisteröinnin päättämislinkki" #: views/admin_tools_settings.php:9 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Voi manuaalisesti luoda rekisteröinnin päättämislinkin tässä ja antaa sen " "asiakkaalle jos he eivät jostain syystä ole saaneet automaattisesti luotua " "vahvistusviestiä." #: views/admin_tools_settings.php:14 msgid "Generate Registration Completion Link" msgstr "Luo rekisteröinnin päättämislinkki" #: views/admin_tools_settings.php:15 msgid "For a Particular Member ID" msgstr "Tietylle jäsentunnukselle (Member ID)" #: views/admin_tools_settings.php:17 msgid "OR" msgstr "TAI" #: views/admin_tools_settings.php:18 msgid "For All Incomplete Registrations" msgstr "Kaikille keskeneräisille rekisteröinneille" #: views/admin_tools_settings.php:23 msgid "Send Registration Reminder Email Too" msgstr "Lähetä rekisteröinnin muistutus sähköposti myös." #: views/admin_tools_settings.php:29 msgid "Submit" msgstr "Lähetä" #: views/admin_tools_settings.php:38 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Linkki/linkit luotu onnistuneesti. ao. linkkiä/linkkejä voi käyttää " "rekisteröinnin vahvistamiseksi." #: views/admin_tools_settings.php:40 msgid "Registration completion links will appear below" msgstr "Rekisteröinnin vahvistuslinkit ilmestyvät alle." #: views/forgot_password.php:11 msgid "Reset Password" msgstr "Resetoi salasana" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Kirjautunut käyttäjänä" #: views/loggedin.php:14 msgid "Membership" msgstr "Jäsenyys" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Tilin vanheneminen" #: views/loggedin.php:22 msgid "Logout" msgstr "Ulos kirjautuminen" #: views/login.php:11 msgid "Username or Email" msgstr "Käyttäjätunnus tai sähköposti" #: views/login.php:24 msgid "Remember Me" msgstr "Muista minut" #: views/login.php:33 msgid "Forgot Password" msgstr "Unohdettu salasana" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Kaikki jäsentesi maksutransaktiot tallennetaan tänne." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Etsi transaktiota sähköpostilla tai nimellä." #: views/payments/admin_create_payment_buttons.php:15 msgid "" "You can create new payment button for your memberships using this interface." msgstr "Voit luoda uuden maksunapin jäsenyyksillesi tällä käyttöliittymällä." #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "Valitse maksunapin tyyppi" #: views/payments/admin_create_payment_buttons.php:26 msgid "PayPal Buy Now" msgstr "PayPal Buy Now" #: views/payments/admin_create_payment_buttons.php:28 msgid "PayPal Subscription" msgstr "PayPal Subscription" #: views/payments/admin_create_payment_buttons.php:30 msgid "Stripe Buy Now" msgstr "Stripe Buy Now" #: views/payments/admin_create_payment_buttons.php:32 msgid "Braintree Buy Now" msgstr "Braintree Buy Now" #: views/payments/admin_create_payment_buttons.php:39 msgid "Next" msgstr "Seuraava" #: views/payments/admin_edit_payment_buttons.php:13 msgid "You can edit a payment button using this interface." msgstr "Voit muokata maksunappia tällä käyttöliittymällä." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Kaikki jäsenyysnapit jotka olet luonut näytetään tässä." #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "Virhe! Jäsenyystasotunnus (" #: views/payments/admin_payment_settings.php:27 msgid "PayPal Integration Settings" msgstr "PayPal integraatio asetukset" #: views/payments/admin_payment_settings.php:30 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Luo \"Advanced Variables\" koodi PayPal maksunapillesi" #: views/payments/admin_payment_settings.php:33 msgid "Enter the Membership Level ID" msgstr "Syötä jäsenyystasotunnus" #: views/payments/admin_payment_settings.php:35 msgid "Generate Code" msgstr "Luo koodi" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Braintree Buy Now Button Configuration" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:291 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:245 msgid "Button ID" msgstr "Button ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:299 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:252 msgid "Button Title" msgstr "Napin nimi" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:268 msgid "Payment Amount" msgstr "Maksun määrä" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Braintree API key and account details. You can get this from your Braintree " "account." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Merchant ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Public Key" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Private Key" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "Merchant Account ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:347 msgid "The following details are optional." msgstr "Seuraavat yksityiskohdat ovat valinnaisia" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:91 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:171 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:443 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:351 msgid "Return URL" msgstr "Return URL" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:191 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:463 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:151 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "Save Payment Data" msgstr "Tallenna maksudata" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal Buy Now Button Configuration" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:275 msgid "Payment Currency" msgstr "Maksun valuutta" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:99 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:84 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:356 msgid "PayPal Email" msgstr "PayPal sähköposti" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:107 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:179 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:451 msgid "Button Image URL" msgstr "Napin kuvan URL" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:285 msgid "PayPal Subscription Button Configuration" msgstr "PayPal Subscription Button Configuration" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:92 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:364 msgid "Billing Amount Each Cycle" msgstr "Toistuvan maksun määrä" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:100 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:372 msgid "Billing Cycle" msgstr "Laskutusväli" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:113 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:385 msgid "Billing Cycle Count" msgstr "Laskutusjaksojen määrä" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:121 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:393 msgid "Re-attempt on Failure" msgstr "Uudelleen yritä maksun epäonnistuessa" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:134 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:406 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Koeajan laskutustiedot (Jätä tyhjäksi jos sinulla ei ole koeaika käytössä)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:140 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:412 msgid "Trial Billing Amount" msgstr "Koeajan maksun määrä" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:148 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:420 msgid "Trial Billing Period" msgstr "Koejan pituus" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:165 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:437 msgid "Optional Details" msgstr "Valinnaiset tiedot" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:236 msgid "Stripe Buy Now Button Configuration" msgstr "Stripe Buy Now Button Configuration" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:314 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Stripe API avaimet. Saat nämä tiedot Stripe tililtäsi." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:318 msgid "Test Secret Key" msgstr "Test Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:325 msgid "Test Publishable Key" msgstr "Test Publishable Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 msgid "Live Secret Key" msgstr "Live Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 msgid "Live Publishable Key" msgstr "Live Publishable Key" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:17 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:85 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:87 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:17 msgid "Buy Now" msgstr "Osta nyt" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:213 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:215 msgid "Subscribe Now" msgstr "Tilaa nyt" msgid "Leave empty to keep the current password" msgstr "Jätä tyhjäksi pitääksesi nykyisen salasanan" #: Translation strings from addons Form builder addon msgid "Type password Here" msgstr "Kirjoita salasana tähän" msgid "Retype password Here" msgstr "Toista salasana tähän" msgid "Registration is complete. You can now log into the site." msgstr "Rekisteröinti päätetty. Nyt voit kirjautua sivustolle." msgid " Field has invalid character" msgstr "Kentässä on virheellinen merkki" msgid " Password does not match" msgstr "Salasanat eivät täsmää" msgid "Already taken." msgstr "On jo varattu." msgid "Street Address" msgstr "Osoite" msgid "Apt, Suite, Bldg. (optional)" msgstr "Osoite 2 (valinnainen)" msgid "State / Province / Region" msgstr "Lääni" msgid "Postal / Zip Code" msgstr "Postinumero" #: Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Sinulla ei ole käyttöoikeutta tähän sisältöön." msgid "Your membership level does not have permission to view this content." msgstr "Jäsenyystasollasi ei ole käyttöoikeutta tähän sisältöön." msgid "This content is for members only." msgstr "Tämä sisältö on vain jäsenille." languages/simple-membership-de_DE.mo000064400000306504147206617610013451 0ustar00&L?|2xC.yC4C"CDD6D D DDE}LEEF2[GGNHcH"xHeHINIKgI&III JBJ-ZJ JiJK #K+.KZK lKvKKK6)L`L pL~LL;LL M M*M9MRMgM|MM MMVMR(N{N N NNNNNNN OO)OHOXO!`OOO OOOP!PPMP@ QKQbQ%wQ2QQ QQs RRR#^SS6SSSS T#T =TKT_TeT TTTTTU&UAU`U}U)U'UU U V VV /V =VJV [V |V VV VVVSWnWW,WW W W W XX8XKUXXX*X%Y.Y 3Y @Y-KY9yYYY%YY Z% ZA3ZuZZ [)[/[7['K[s[[0[[[\ \-\2\0L\}\\\\\\\ \ ]()]R]&b]$]]] ] ]]]^C^`^f^ w^^"^"^^_ __1_@_1`_&__ ___` `2`G` d`"`$``` ` a(a?a Za{aaa/aabb[cYc[Hded= eHeqffgwg~3h?h?ha2i*iiRfjj:k3k*k-l+Hl.tlJl4l.#mBRm[m&monmnkngbo<oNpLVpJp@p>/qFnq6q.qHrdryr#s 's4s 0)%.i:k/vIMg::D??a*!,N g r   0JlYAE3N(# N  0#W-(tVjOG*EdGyA/38)9SmT# x+E4 U a my%$ 2q. 4U j&& <]x-+.#/<<lbYgB053f1#'<0C0I z+! 6g;<0'*R0d8+   3 AM&d  0.@+7 c m {Sy&EGH]7 *NH s-6-8f,A1Fd $<1%I%o"&_8(&:U fr-F2#Mq& !86Z8# ,*"Wz/ +C/sms z}gR`A#`OM@e2'lSJ ; =" A` C _ .F (u R  ?x R   <WT1X[M;WLN.?}z8O2 @ P [g p{h*{+/!'AXi #!&9.R8)*34hO ju\.iP"*9SlIaA^$ / @ I 1P   u !!3!,!!' "1"Q"##4#C# T#b#w#.# ###.#$!$*$ @$M$g$ w$*$&$ $I$,%;%6P%*%%%2%&2&I&$_&G&,&& ' 'E"'!h'''9'''()<)H)*6*P*h*%**2*1**!+L++{,$ -*0-H[--:.J.Y.i. b/m/)0B0G0#Y0Y}0.01 1'101-G11u11%11"21$2NV2 2222lO3233!4E'49m444!44g 53q55!5E59#6]6m6 6 6666?67y/7 7 7777)7=7-=8k8+8+8[8J?9 9=999 : ': 1:/;:mk::: ;!; (;gI;!;;-;"<=<R<a< <<<!< < <<=:2=Wm=== ==6>6E>|>>>>5@$@ @* A7ATA+BIB_BoBBBVBC^ CCEC*CCD"0DSDhDDDDD)DEH5E~E{F}F GKG.HS0H$H[HI!I-;IiIIII FJ?TJJJ1JJJ+K#,KPKmKK K+K#KL5L=LlCL:L3L-M MMXMvM }MMMM M<M7N!?N<aN7NRN)O9?O!yO O OO=O5POP=ePP PP PP#PQ 8Q3YQQ.QqQ 6R)WRR,R'R&R S)S=SS[UaUKUQ0V#V$VV+eW)WW3DXBxX*XCX*Ye>YY/Z{ [y[v\my\\]P]Z]W^_w_R'`Vz`M`@b`b>cjQccdTkee eee e" fX,f/f/ffffgg1ggi]j" k 0k(=kJfk1k)k l 'lKHlhlylwmm mmmm6mA nTMnnnKowjooopC2pGvppPqq/rrCsss ttuyuz9vCvvpwwx+xDxx&y+ywyWazzF{={^#|{|+}*FuEZX;+4b>V0EƆ @A·PiCb.IS`?|q 8"ʋ  "*Mdix ȌQ܌.C) hsJ1e#Ui3MTb_w *[ltsk RC `XSt%c xh{;Q'^N>5R8%B\N0xSY!,  g&G3m<O [0l <T u,HXg/!3`m .~ f@Y?dI^e |}-`DQ4E4u\y|NdP:w^v:rjAE{pD#]=M b9;%76*E*+?}WJV7dfIz -}"A#1A?=gL~4&z/a>[ 6{8) cb vYD!WsrhZijOPo-nO"&0]+ un(k5 aKw_$UJc$2l;<v@F / VRx@15+Lo7:Z'_2Wy~KQ.j"tZ'eG2GzUy%Fi#>aHoq$p Iq(nLfp(XVmKF"Hq\k.|)B6$9,MB]& S!r=9C8TP Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match Read this documentation to learn how to recreate them (if needed). Read the Success! The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currently editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains how to use this feature. explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. of our documentation to learn more about creating membership payment buttons. of this plugin (useful if you want to offer paid memberships on the site). page to pay for a premium membership. to learn how to do it. to learn how to use it. to log in. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterA flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site.A prompt to complete registration email was also sent.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add New TransactionAdd a Transaction ManuallyAdd-onsAdditional SettingsAdditional Settings (Optional)Addons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Logout Redirect URLAfter Registration Redirect URLAfter how many cycles should billing stop. Leave this field empty (or enter 0) if you want the payment to continue until the subscription is canceled.AllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow HTML in EmailsAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountAmount to be charged on every billing cycle. If used with a trial period then this amount will be charged after the trial period is over. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Apostrophe character is not allowedApt, Suite, Bldg. (optional)Are you sure that you want to cancel the subscription?Assign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlacklist Message CustomizationBlacklistingBlacklisting & WhitelistingBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton ColorButton HeightButton IDButton Image URLButton LayoutButton ShapeButton ShortcodeButton Style Settings (Optional)Button TitleButton TypeButton Type/LabelButton WidthBuy NowBy default, funding source eligibility is smartly decided based on a variety of factors. You can force disable funding options by selecting them here.Can't find member account.Cancel SubscriptionCannot find member account.Captcha validation failed on the login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check the membership levels that should have access to that page's content.Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CheckoutCityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameConfigure Blacklisting & WhitelistingConfigure the PayPal API credentials for the new PayPal checkout.Confirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate Live WebhookCreate Member Accounts for New WP UsersCreate New ButtonCreate Sandbox WebhookCreate a brand new user and add it to this site.Create new membership level.Credit or debit cardsCustom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDelete WebhooksDescriptionDisable Access to WP DashboardDisable Email Notification After UpgradeDisable FundingDo you really want to delete the form?Do you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEdit the Post or Page that you want to protect in WordPress editor.EmailEmail ActivationEmail AddressEmail Address BlacklistingEmail Address Pattern BlacklistingEmail Address Pattern WhitelistingEmail Address WhitelistingEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty data received.Empty payment data received.Empty transaction data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable Automatic TaxEnable Blacklisting FeatureEnable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Password Reset Using LinkEnable Privacy PolicyEnable Sandbox or Test ModeEnable Terms and ConditionsEnable Toggle Password Visibility in Login FormEnable Whitelisting FeatureEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter a list (comma separated) of email addresses pattern to blacklist. Example value: @baddomain.com, @crazydomain.comEnter a list (comma separated) of email addresses pattern to whitelist. Example value: @gooddomain.com, @gmail.com, @yahoo.comEnter a list (comma separated) of email addresses to blacklist.Enter a list (comma separated) of email addresses to whitelist.Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Enter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the message you want to show to the user when the blacklisted condition is met. Leave it empty to use the default message.Enter the message you want to show to the user when the whitelisted condition is met. Leave it empty to use the default message.Enter the subject for the admin notification email.Enter your PayPal Client ID for live mode.Enter your PayPal Client ID for sandbox mode.Enter your PayPal Secret Key for live mode.Enter your PayPal Secret Key for sandbox mode.Error occured during payment verification. Error code: %1$d. Message: %2$sError occurred during PayPal Smart Checkout process.Error occurred during PayPal checkout process.Error! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Invalid password reset request.Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again.Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again.Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again.Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Password fields do not match. Please try again.Error! Please select a membership level first.Error! The password reset key is invalid. Please generate a new request.Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry DateExpiry: Extra LargeFemaleFirst NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate Registration Completion LinkGenerate a Registration Completion linkGo back to the home page by GoldHTTP error occurred during payment process:Hide AdminbarHide Registration Form to Logged UsersHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).Hit the Update/Save Button to save the changes.HorizontalHow to Apply Content ProtectionI accept the I agree to the IDIPN product validation failed. Check the debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If enabled, the member's decryptable password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have issues with the webhooks, you can delete it and create again.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelInvalid or Missing API Credentials! Check the plugin settings and enter valid API credentials in the PayPal Credentials section for %s mode.Invalid webhook URL.It is useful to use a thank you page in your payment button configuration. Read this documentation to learn more.It will also delete the associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Client IDLive PayPal API credentials are not set. Please set the Live PayPal API credentials first.Live Publishable KeyLive SecretLive Secret KeyLive Webhook exists. If you still have issues with webhooks, you can delete it and create again.Live mode credentials are not set. Cannot create webhook.Log InLogged Out Successfully.Logged in asLogged in as: Login HereLogin Page URLLogoutLogout Member on Browser CloseMaleManage Content ProtectionManage Payment ButtonsManual transaction added successfully. MediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew passwordNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No active subscriptionsNo category found.No items found.No member found.No membership levels found.No token provided.No user found with that email address.No user found with that username or email.No webhook found. Nothing to delete.No webhook found. Use the following Create Live Webhook link to create a new webhook automatically.No webhook found. Use the following Create Sandbox Webhook link to create a new webhook automatically.No webhook found. Use the following Create Webhook button to create a new webhook automatically in your PayPal account.No, Do not protect this content.Nonce check failed.Nonce check failed. Please reload the page.Nonce check failed. The page was most likely cached. Please reload the page and try again.Not SpecifiedNot a Member?Not a member? Note that the PayPal subscription API requires your site to use HTTPS URLs. You must use an SSL certificate with HTTPS URLs to complete the setup of the subscription addon and use it.Note:Note: You cannot enable both the "Disable Access to WP Dashboard" and "Admin Dashboard Access Permission" options at the same time. Only use one of those options.Notify UserOROptional DetailsOptional Pages SettingsOptional page. It is automatically created by the plugin when you install the plugin for the first time.Page Setup and URL Related settings.PagesPages SettingsPasswordPassword ResetPassword Reset Page URLPassword Reset Successful. Password empty or invalid.Password field cannot be empty.Password is requiredPassword mismatchPassword must contain at least:Password reset link has been sent to your email address.Password: PayPayPalPayPal API Credential information is missing in settings. Please enter valid PayPal API Credentials in the General Settings tab for %s mode.PayPal API credentials are missing. Please set the PayPal API credentials.PayPal Billing Plan Details for This ButtonPayPal Buy NowPayPal Buy Now (New API)PayPal Buy Now (New API) Button ConfigurationPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription (New API)PayPal Subscription (New API) Button ConfigurationPayPal Subscription Button ConfigurationPayPal WebhooksPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment DetailsPayment MethodsPayment Notification Forward URLPayment SettingsPayment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s.PaymentsPendingPhonePillPleasePlease %s if you like the plugin.Please Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostcodePostsPre-fill Member Email AddressPre-fills the email address of the logged-in member on the Stripe checkout form when possiblePrivacy PolicyPrivacy Policy Page URLPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRe-enter new passwordRead the Read this documentationRectangularRecurring Billing AmountRecurring Billing CycleRecurring Billing Cycle CountRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReset debug log files by clicking Return URLRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user roles to access the SWPM admin dashboard by selecting a value here. Note that this option cannot work if you enabled the "Disable Access to WP Dashboard" option in General Settings.Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal API credentials first.Sandbox Client IDSandbox SecretSandbox Secret KeySandbox Webhook exists. If you still have issues with webhooks, you can delete it and create again.Sandbox mode credentials are not set. Cannot create webhook.Sandbox or Test Mode Payment SettingsSave ChangesSave DataSave Membership Level Save Payment DataSave Transaction DataScroll down to the section titled 'Simple WP Membership Protection'.SearchSearch for a transaction by using email, name, transaction ID or Subscr ID.Search...Security check: captcha validation failed.Select 'Yes, Protect this content' option.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button height.Select button layout.Select button shape.Select button size.Select button type/label.Select button width.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSet the interval of the recurring payment. Example value: 1 Month (if you want to charge every month)SettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminShow passwordSilverSimple Membership Plugin SiteSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSimple WordPress MembershipSizeSmallSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the Access Starts date value.StateState / Province / RegionStatusStatus/NoteStreetStreet AddressStrength indicatorStripe API IDStripe API Live publishable keyStripe API Live secret keyStripe API SettingsStripe API Test publishable keyStripe API Test secret keyStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe Global SettingsStripe Legacy Buy Now (deprecated)Stripe Legacy Subscription (deprecated)Stripe SCA Buy NowStripe SCA Buy Now Button ConfigurationStripe SCA SubscriptionStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribeSubscribe NowSubscriber IDSubscriber ID/ReferenceSubscription Plan IDSubscription Plan ModeSubscription has been cancelled.Subscription/Recurring Billing DetailsSuccess!Success! Your account has been activated successfully.Take the following steps to apply protection to your content so only members can have access to it.Terms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.Thank YouThank You Page URLThe PayPal payment buttons that uses the new API require webhooks. The plugin will auto-create the required webhooks when you create a PayPal payment button.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The email address you used is blacklisted on this site.The email address you used is not whitelisted on this site.The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This blacklisting & whitelisting documentationThis content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis interface contains useful tools for various admin operations.This interface lets you configure blacklisting & whitelisting for email addresses. This interface lets you customize the various emails that get sent to your members for various actions. The default settings should be good to get your started.This is calculated based on the current membership level assigned to this member and the expiry condition that you have set for that membership level.This is the member's account status. If you want to manually activate an expired member's account then readThis page allows you to configure some advanced features of the plugin.This section allows you to configure Stripe payment related settings.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure blacklisting settings.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This section allows you to configure whitelisting settings.This section allows you to enable/disable sandbox or test mode for the payment buttons.This unique registration link (see the URL in the browser's address bar) has already been used. You don't need to create another account. Log into the existing account to access the protected content.This unique registration link (see the URL in the browser's address bar) is invalid. Could not find a match for the given member ID and the security code. Please contact the site administrator.This value gets updated when this member logs into your site.TitleToolsTransaction IDTransaction completed successfully!TransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTrial PeriodTypeType password hereUnsubscribe from PayPalUpdateUse API keys from Payment Settings tab.Use Global API Keys SettingsUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to hide the registration form to the logged-in members. If logged-in members visit the registration page, they will see a message instead of the registration form.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername field cannot be empty.Username is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVenmoVerificationVerticalView DocumentationView ProfileView general debug log file by clicking View login related debug log file by clicking Visit the %s to read setup and configuration documentation.WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Webhook Endpoint URLWebhook exists. If you still have issues with webhooks, you can delete it and create again.Webhook has been created.Webhook has been deleted.Webook Endpoint URLWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled.When enabled, blacklisting feature will be activated.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.When enabled, whitelisting feature will be activated.WhiteWhitelist Message CustomizationWhitelistingWordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will prevent any non-admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But the given username doesn't match.Wordpress account exists with given username. But the given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are already logged in. You don't need to create another account. So the registration form is hidden.You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can add a new transaction record manually using this interface. It can be useful if you manually accept cash payment for your memberships.You can also use payment buttons from the following plugins to accept payments for your memberships.You can create a new payment button for your memberships using this interface.You can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enable this option if you want to handle the password reset functionality using a reset link that is emailed to the member. Read this documentation to learn more about the password reset function.You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to be logged in to view the rest of the content. You need to be logged in to view this content. You need to confirm your email address. Please check your email and follow instructions to complete your registration.You will be automatically redirected in a few seconds. If not, please %s.You will be redirected to the previous page in a few seconds. If not, please click here.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herecontent protection documentationgive us a ratinghereincompletemembership payment sectionpayments menurenewsubscription createdthis documentationto learn how to get your PayPal API credentials.to learn more.Project-Id-Version: Simple Membership PO-Revision-Date: 2023-06-11 17:16+0200 Last-Translator: Language-Team: Language: de_DE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.4.4 X-Poedit-KeywordsList: __;_e;e X-Poedit-Basepath: . X-Poedit-SearchPath-0: . E-Mail-Einstellungen (Benachrichtigung bei Konto-Aktualisierung) E-Mail-Einstellungen (Benachrichtigung bei Konten-Sammelaktivierung) E-Mail-Einstellungen (E-Mail bei Kontoaktivierung) Das Feld beinhaltet ungültiges Zeichen Passwörter stimmen nicht überein Lesen Sie diese Dokumentation um zu erfahren, wie Sie die Seiten im Bedarfsfall neu erstellen lassen können. Lesen Sie den Abschnitt über Erfolg! Der Rest dieses Inhalts ist für Ihre Mitgliedschaftsstufe nicht freigegeben. Die Protokollierung kann zur Fehlersuche und deren Behebung nützlich sein. Schalten Sie sie aus und setzen Sie die Protokolldateien zurück, sobald die Fehlerbehebung abgeschlossen ist. Verwenden Sie eine andere E-Mail-Adresse, um die Registrierung abzuschließen. Wenn Sie dennoch diese E-Mail-Adresse verwenden möchten, müssen Sie den Benutzernamen eingeben, der dem existierenden WP-Benutzer zugeordnet ist, um sich mit dessen Konto zu verbinden. Verwenden Sie einen anderen Benutzernamen, um die Registrierung abzuschließen. Wenn Sie dennoch diesen Benutzernamen verwenden möchten, müssen Sie die E-Mail-Adresse eingeben, die dem existierenden WP-Benutzer zugeordnet ist, um sich mit dessen Konto zu verbinden. Sie bearbeiten gerade das Mitglied mit der ID: Sie können mehrere durch Kommata getrennte E-Mail-Adressen in das obige Feld eingeben, um die Benachrichtigung an mehrere E-Mail-Adressen zu senden. In dieser E-Mail können Sie keine Merge-Tags, sondern nur generischen Text verwenden. Zeichen erforderlich erläutert, wie diese Funktion benutzt wird. erklärt, welche Merge-Tags Sie im Feld für den E-Mail-Text verwenden können, falls Sie diesen anpassen möchten. erläutert die Details. in der Dokumentation, um mehr über die Erstellung von Zahlungsbuttons für Mitgliedschaften zu erfahren. des Plug-ins erstellen. Dies ist insbesondere nützlich, wenn Sie eine bezahlte Mitgliedschaft auf der Website anbieten möchten. können Sie eine kostenpflichtige Premium-Mitgliedschaft abschließen. um zu erfahren, wie Sie vorgehen müssen. um mehr darüber zu erfahren. um sich anzumelden. um das Profil zu sehen, mit dem Sie in diesem Browser angemeldet sind. Sie Ihre Mitgliedschaft, um Zugang zu diesem Inhalt zu erhalten.(Zugang verfällt zu einem vorgegebenen Termin)(Anmerkung: Aus Sicherheitsgründen ist die Löschung eines zugehörigen WordPress-Kontos mit Administrator-Rolle nicht erlaubt.)(Bitte wählen Sie)(erforderlich)(zweimal; leer lassen, um das alte Passwort zu behalten)(zweimal; erforderlich)– eine Ziffer– einen Kleinbuchstaben– einen GroßbuchstabenEin flexibles, gut unterstütztes und einfach zu nutzendes Plug-in, um auf Ihrer WordPress-Website kostenlose wie zahlungspflichtige Inhalte für registrierte Mitglieder anzubieten.Eine Aufforderung zur Vervollständigung der Registrierung wurde ebenfalls gesendet.ZugriffsdauerZugriff ab/seitZugang gültig für/bisDie Zugriffsdauer muss größer als 0 sein.Änderung des Startdatums für den Zugriff erfolgreich abgeschlossen.Das Feld "Startdatum für den Zugriff" ist ungültigKontoablaufKontostatusKontostatusKonto bereits aktiv. Das Konto ist abgelaufen.Das Konto ist inaktiv.Das Konto wurde noch nicht aktiviert.Das Feld "Kontostatus" ist ungültigAktionsstatusAktivierung erforderlichDer Aktivierungscode stimmt nicht überein. Dieses Konto kann nicht aktiviert werden. Bitte wenden Sie sich an den Website-Administrator.Die E-Mail zur Kontoaktivierung wurde gesendet. Bitte überprüfen Sie Ihr Postfach und aktivieren Sie Ihr Konto.AktivMitgliedschaftsstufe hinzufügenMitglied hinzufügenMitgliedschaftsstufe hinzufügenNeu hinzufügenNeues Mitglied hinzufügen Neue Mitgliedschaftsstufe hinzufügen Zahlung/Transaktion hinzufügenTransaktion manuell hinzufügenAdd-onsWeitere EinstellungenWeitere Einstellungen (optional)Einstellungen für Add-onsAdresseZugriffsberechtigung für das Admin-DashboardE-Mail-Adresse des AdminsE-Mail-Text zur Benachrichtigung des AdminsE-Mail-Betreff zur Benachrichtigung des AdminsErweiterte EinstellungenURL, zu der nach dem Logout weitergeleitet wirdURL, zu der nach erfolgter Registrierung weitergeleitet wirdLegt fest, nach wie vielen Abrechnungszeiträumen die Zahlungen enden sollen. Leer lassen (oder 0 eintragen), wenn die Zahlungen bis zur Kündigung des Abonnements weiterlaufen sollen.AlleHier finden Sie eine Übersicht aller Zahlungsbuttons, die Sie im Plug-in erstellt haben.Hier werden alle Zahlungen/Transaktionen Ihrer Mitglieder erfasst.Kontolöschung zulassenHTML in E-Mails zulassenErlauben Sie Benutzern, ihre Konten zu löschen.Erlaubte Zeichen sind: Buchstaben, Zahlen und .-_*@Bereits ein Mitglied dieser Mitgliedschaftsstufe.Bereits vergebenBereits vergeben.Alternativ können Sie auch einen anderen Browser verwenden (in dem Sie nicht als Admin angemeldet sind), um die Anmeldung zur Mitgliedschaft zu testen.BetragBetrag, der für jeden Abrechnungszeitraum zu zahlen ist. In Verbindung mit einer Testmitgliedschaft erfolgt der Zahlungseinzug, sobald die Zeit der Testmitgliedschaft vorüber ist. Beispiele: 9,90 oder 25,00 oder 299,90 usw. (ohne Währungssymbol).Apostrophzeichen sind nicht erlaubtStockwerk, Wohnung, Gebäude (optional)Sind Sie sicher, dass Sie das Abonnement kündigen möchten?ID der kostenlosen Mitgliedschaftsstufe zuweisenAutorAutomatisches Löschen eines ausstehenden KontosVerfügbarPro Abrechnungszeitraum zu zahlender BetragAbrechnungszeitraumAnzahl von AbrechnungszeiträumenSchwarzMeldung bei UnzulässigkeitSchwarze ListenSchwarze und weiße ListenBlauSchlüssel und Kontodaten für das Braintree-API. Sie können diese von Ihrem Braintree-Konto erhalten.Sofortkauf per BraintreeKonfiguration des Zahlungsbuttons "Sofortkauf per Braintree"Sammeländerung des Startdatums für den ZugriffSammeländerung der MitgliedschafsstufeSammeloperationenSammeländerung des Startdatums für den ZugriffSammeländerung der Mitgliedschaftsstufe für MitgliederEinstellungen für das Aussehen des ButtonsButton-FarbeButton-HöheButton-IDURL des Button-BildsButton-LayoutButton-FormButton-KurzbezeichnungEinstellung zum Button-Stil (optional)Button-NameButton-TypButton-Typ/BeschriftungButton-BreiteSofortkaufÜblicherweise erfolgt die Auswahl zugelassener Zahlungsmittel anhand einer Reihe sinnvoller Bewertungsfaktoren. Hier können Sie unerwünschte Zahlungsmittel ausschließen.Das Mitgliedskonto konnte nicht gefunden werden.Abonnement kündigenDas Mitgliedskonto kann nicht gefunden werden.Die Captcha-Validierung des Anmeldeformulars ist fehlgeschlagen.Die Captcha-Validierung ist fehlgeschlagen.KategorieKategorien-IDKategorienameKategorienschutzKategorieart (Taxonomie)Kategorienschutz aktualisiert!Wählen Sie die Mitgliedschaftsstufen aus, die auf diesen Inhalt zugreifen dürfen.Aktivieren Sie dieses Kontrollkästchen, um das Bild zu löschen. Das Bild wird gelöscht, wenn Sie das Profil speichern.Aktivieren Sie diese Option, um die Debug-Protokollierung zu starten.CheckoutStadtSuche löschenKlicken Sie hierKlicken Sie hier, um Ihre kostenpflichtige Registrierung abzuschließenKlicken Sie auf den folgenden Link, um die Registrierung abzuschließen.Kundenadresse erfassenFarbeKommentare eines Nicht-Mitglieds sind nicht zugelassen.UnternehmenName des UnternehmensKonfiguration schwarzer und weißer ListenKonfiguration der Zugangsdaten des PayPal-APIs für den neuen PayPal-Checkout.Kontolöschung bestätigenBitten Sie den Administrator der Website, Ihren Benutzernamen im WordPress-Menü "Benutzer" zu überprüfen und festzustellen, was mit dem Benutzereintrag Ihres WordPress-Kontos geschehen ist.Fortfahren?AnzahlLandLive-Webhook erstellenMitgliedskonten für neue WP-Benutzer anlegenNeuen Button erstellenSandbox-Webhook erstellenErstellen Sie einen neuen Benutzer für diese Website.Erstellen Sie eine neue Mitgliedschaftsstufe.Kredit- oder DebitkartenLogo für benutzerdefinierte Checkout-SeitenBenutzerdefinierte BeiträgeDatumDas Datumsformat ist ungültig.Tag(en) (Zugang verfällt nach einer bestimmten Anzahl von Tagen)Standard-KontostatusStandard-MitgliedschaftsstufeStandard-Rolle in WordPressLöschenKonto löschenBenutzerprofil löschenWebhooks löschenBeschreibungZugang zum WP-Dashboard deaktivierenE-Mail-Benachrichtigung nach Konto-Aktualisierung abschaltenKeine BonitätsprüfungMöchten Sie diese Inhalte schützen?Möchten Sie diesen Inhalt schützen?E-Mail-AdresseELVMitglied bearbeitenProfil bearbeitenURL zum Bearbeiten der ProfilseiteVorhandene Mitgliederdaten bearbeiten.Mitgliedschaftsstufe bearbeitenÖffnen Sie den Beitrag oder die Seite, die geschützt werden sollen, mit dem WordPress-Editor.E-Mail-AdresseAktivierung per E-MailE-Mail-AdresseUnzulässige E-Mail-AdressenSchablone unzulässiger E-Mail-AddressenSchablone zulässiger E-Mail-AddressenZulässige E-Mail-AdressenE-Mail-Adresse: E-Mail-TextSonstige E-Mail-EinstellungenE-Mail-EinstellungenE-Mail-Einstellungen (Passwort zurücksetzen)E-Mail-Einstellungen (Aufforderung zum Abschließen der Registrierung)E-Mail-Einstellungen (Registrierung abgeschlossen)Übersicht der E-Mail-EinstellungenE-Mail-BetreffUngültige E-Mail-Adresse.E-Mail-Adresse wird bereits verwendet.Die E-Mail-Adresse ist ungültigE-Mail-Adresse erforderlichLeeren Datensatz erhalten.Leere Zahlungsdaten erhalten.Leere Transaktionsdaten erhalten.Automatisches Erstellen von Mitgliedskonten aktivierenAutomatische Anmeldung nach der Registrierung aktivierenAutomatische Besteuerung aktivierenPrüfung anhand schwarzer ListenDebug-Protokoll aktivierenAnmeldung für abgelaufene Konten aktivierenKostenlose Mitgliedschaft anbieten"Mehr"-Inhaltsschutz aktivierenZurücksetzen des Passworts per Link aktivierenDatenschutzerklärung aktivierenSandbox-Test aktivierenAllgemeine Geschäftsbedingungen aktivierenUmschaltung der Passwort-Sichtbarkeit im Anmeldeformular aktivierenPrüfung anhand weißer ListenAktivierung neuer Benutzer per E-Mail zulassen. In diesem Fall müssen die Mitglieder zur Aktivierung ihres Kontos auf einen Aktivierungslink klicken, der an ihre E-Mail-Adresse gesendet wird. Dies ist insbesondere für eine kostenlose Mitgliedschaft nützlich.Aktivierung neuer Benutzer per E-Mail zulassen. In diesem Fall müssen Mitglieder zur Aktivierung ihres Kontos auf einen Aktivierungslink klicken, der an ihre E-Mail-Adresse gesendet wird. Dies ist insbesondere nützlich für eine kostenlose Mitgliedschaft. Aktivieren Sie diese Option, wenn Benutzer nur sichere Passwörter für ihre Konten verwenden können sollen.Aktivieren Sie diese Option, wenn Sie möchten, dass nur Mitglieder der Seite einen Kommentar hinterlassen können.Aktivieren Sie diese Option, wenn der Admin eine Benachrichtigung erhalten soll, sobald sich ein Mitglied registriert hat.Aktivieren Sie diese Option, wenn ein Mitglied abgemeldet werden soll, sobald es den Browser schließt.Aktivieren Sie diese Option, wenn Sie Sandbox-Zahlungstests durchführen möchten.Aktivieren Sie diese Option, wenn die Anmeldung eines Mitglieds mit den WP-Benutzerkonten synchronisiert werden soll. Dies kann nützlich sein, wenn Sie ein anderes Plug-in verwenden, das die WP-Benutzereinträge nutzt, wie etwa das bbPress-Plug-in.Aktivieren Sie diese Option, um automatisch Mitgliedskonten für jeden neuen WP-Benutzer zu erstellen, der von einem anderen Plug-in erstellt wird.Aktiviert oder deaktiviert die Registrierung mit einer kostenlose Mitgliedsschaftsstufe. Stellen Sie beim Einschalten dieser Option sicher, dass im Feld darunter eine ID für die kostenlose Mitgliedschaftsstufe angegeben ist.Aktiviert oder deaktiviert den "Mehr"-Inhaltsschutz in Beiträgen und Seiten. Alles nach dem "Mehr"-Hinweis ist geschützt, der Inhalt davor dient als Anreißer (Teaser-Inhalt).Geben Sie eine durch Kommata getrennte Liste von Schablonen unzulässiger E-Mail-Adressen ein. Beispiele: @baddomain.com, @crazydomain.comGeben Sie eine durch Kommata getrennte Liste von Schablonen zulässiger E-Mail-Adressen ein. Beispiele: @gooddomain.com, @gmail.com, @yahoo.comGeben Sie eine durch Kommata getrennte Liste unzulässiger E-Mail-Adressen ein.Geben Sie eine durch Kommata getrennte Liste zulässiger E-Mail-Adressen ein.Betrag für die Zahlung eingeben. Beispiele: 9,90 oder 25,00 oder 299.90 usw. (ohne Währungssymbol).Geben Sie die URL Ihrer Datenschutzerklärung ein.Geben Sie die URL Ihrer AGB-Seite ein. Sie können eine WordPress-Seite erstellen, auf der Sie Ihre Allgemeinen Geschäftsbedingungen hinterlegen, und deren URL dann im obigen Feld eingeben.Geben Sie die E-Mail-Adresse ein, an welche die E-Mail zur Benachrichtigung des Admins gesendet werden soll.Geben Sie die Meldung ein, die dem Benutzer angezeigt werden soll, wenn eine Bedingung der schwarzen Liste zutrifft. Leer lassen, um die Standardmeldung anzuzeigen.Geben Sie die Meldung ein, die dem Benutzer angezeigt werden soll, wenn eine Bedingung der weißen Liste zutrifft. Leer lassen, um die Standardmeldung anzuzeigen.Geben Sie den Betreff für die E-Mail zur Benachrichtigung des Admins ein.Geben Sie die PayPal-Kundenkennung für den Live-Modus ein.Geben Sie die PayPal-Kundenkennung für den Sandbox-Test ein.Geben Sie den geheimen PayPal-Schlüssel für den Live-Modus ein.Geben Sie den geheimen PayPal-Schlüssel für den Sandbox-Test ein.Bei der Überprüfung der Zahlung ist ein Fehler aufgetreten. Fehlercode: %1$d. Nachricht: %2$sFehler beim Smart-Checkout-Prozess von PayPal.Fehler beim Checkout-Prozess von PayPal.Fehler . Es konnte kein Vorlagenpfad für die angegebene Vorlage gefunden werden: Fehler! Ungültige Anfrage. Es konnte keine Übereinstimmung für den angegebenen Sicherheitscode und die Benutzer-ID gefunden werden.Fehler! Ungültige Anforderung zum Zurücksetzen des Passworts.Fehler! Die Nonce-Verifikation zur Sammelbenutzerregistrierung ist fehlgeschlagen.Fehler! Die Nonce-Verifikation zur Sammeländerung der Mitgliedschaftsstufe ist fehlgeschlagen. Bitte löschen Sie den Cache und versuchen Sie es erneut.Fehler! Die Nonce-Prüfung bei der Aktualisierung des Kategorienschutzes ist fehlgeschlagen. Bitte löschen Sie den Cache und versuchen Sie es erneut.Fehler! Die Nonce-Prüfung zur Aktualisierung der Aktion nach erfolgtem Schutz ist fehlgeschlagen. Bitte löschen Sie den Cache und versuchen Sie es erneut.Fehler! Die Nonce-Verifikation zur Bearbeitung des Benutzer-Profils ist fehlgeschlagen.Fehler! Die Nonce-Verifikation zur Erstellung der Mitgliedsstufe ist fehlgeschlagen.Fehler! Die Nonce-Verifikation zum Löschen der Mitgliedschaftsstufe ist fehlgeschlagen.Fehler! Die Nonce-Verifikation zur Bearbeitung der Mitgliedschaftsstufe ist fehlgeschlagen.Fehler! Die Nonce-Verifikation zum Löschen von Benutzern ist fehlgeschlagen.Fehler! Die Nonce-Verifikation zur Bearbeitung des Benutzereintrags ist fehlgeschlagen.Fehler! Die Nonce-Verifikation zur Benutzerregistrierung ist fehlgeschlagen.Fehler! Die Passwörter stimmen nicht überein. Bitte versuchen Sie es erneut.Fehler! Bitte wählen Sie zuerst eine Mitgliedschaftsstufe aus.Fehler! Der Schlüssel zum Rücksetzen des Passworts ist ungültig. Bitte das Rücksetzen des Passworts erneut beantragen.Fehler! Diese Aktion (Fehler! Für diese Website ist die Funktion "WP-Benutzeranmeldung erzwingen" in den Einstellungen aktiviert. Es existiert jedoch kein WP-Benutzereintrag für den angegebenen Benutzernamen: Beispiel von Einstellungen zum Schutz von InhaltenLäuft aus nachAbgelaufenAblaufdatumAblauf: Sehr großWeiblichVornameSchützen Sie zunächst die Beiträge und Seiten auf Ihrer Website global, indem Sie "Allgemeiner Schutz" aus der Dropdown-Box unten auswählen und dann Beiträge und Seiten markieren, die vor nicht angemeldeten Benutzern geschützt werden sollen.Schützen Sie zunächst die Kategorie auf Ihrer Website global, indem Sie in der Dropdown-Box unten "Allgemeiner Schutz" wählen und dann die Kategorien auswählen, die vor nicht angemeldeten Benutzern geschützt werden sollen.Festes Ablaufdatumfür alle unvollständigen Registrierungenfür das Mitglied mit der IDSicheres Passwort für Mitglieder erzwingenSynchronisation mit WP-Benutzerkonten erzwingenHaben Sie Ihr Passwort vergessen?ID der kostenlosen MitgliedschaftsstufeEine kostenlose Mitgliedschaft wird auf dieser Website nicht angeboten. Über die Seite Von E-Mail-AdresseGeschlechtDas Feld "Geschlecht" ist ungültigAllgemeine Plug-in-Einstellungen.Allgemeiner SchutzAllgemeine EinstellungenLink zum Abschluss der Registrierung erstellenErstellen Sie einen Link zum Abschluss der RegistrierungGehen Sie zurück zur Homepage indem Sie GoldHTTP-Fehler während des Zahlungsvorgangs:Admin-Werkzeugleiste ausblendenAnmeldeformular für angemeldete Benutzer verbergenHInweis: Das Passwort sollte mindestens sieben Zeichen lang sein. Um es sicherer zu machen, verwenden Sie Groß- und Kleinbuchstaben, Zahlen und Symbole (Beispiel: !"?$%^&).Klicken Sie den Button "Aktualisieren/Speichern", um Ihre Eingabe zu speichern.HorizontalInhalte schützenIch akzeptiere die Ich bin einverstanden mit der IDIPN-Produktvalidierung fehlgeschlagen. Prüfen Sie das Debug-Protokoll für weitere Details.Falls zugelassen, wird das entschlüsselbare Mitgliedspasswort vorübergehend in der Datenbank gespeichert, bis das Konto aktiviert wird.Falls zugelassen, wird das entschlüsselbare Mitgliedspasswort vorübergehend in der Datenbank gespeichert, bis das Konto aktiviert wird.Wenn Sie die Seiten, die das Plug-in bei der Installation erstellt hatte, versehentlich gelöscht haben sollten, können Sie diese Option verwenden, um sie erneut erstellen zu lassen.Sollten Sie Probleme mit den Webhooks haben, können Sie sie jederzeit löschen und neu erstellen lassen.Wenn Sie gerade eine Mitgliedschaftszahlung getätigt haben, dann wurde Ihre Zahlung noch nicht verarbeitet. Bitte sehen Sie in enigen Minuten nochmals nach. Sie erhalten in Kürze eine E-Mail mit den Details.InaktivUnvollständigUngültige E-Mail-AdresseUngültiger BenutzernameUngültige E-Mail-AdresseUngültige MitgliedschaftsstufeUngültige oder fehlende Zugangsdaten für das PayPal-API! Prüfen Sie die Zahlungseinstellungen und geben Sie gültige PayPal-Zugangsdaten für den %s-Modul ein.Ungültige Webhook-URL.Es ist nützlich, bei der Konfiguration eines Zahlungsbuttons eine Dankesseite vorzusehen. Lesen Sie diese Dokumentation, um mehr zu erfahren.Das zugehörige WordPress-Benutzerkonto wird ebenfalls gelöscht.Jetzt Mitglied werdenWerden Sie Mitglied bei unsURL der Seite, um Mitglied zu werdenGroßDatum des letzten ZugriffsLetzter Zugriff von IPLetzte AnmeldungNachnameLayoutLeer lassen, um das aktuelle Passwort zu behaltenStufeStufe ändern in: Link(s) erfolgreich erstellt. Ein jeder Link erlaubt, die Registrierung für das betreffende Mitglied abzuschließen.Kundenkennung für den Live-ModusDie Zugangsdaten für das PayPal-API im Live-Modus fehlen noch. Bitte tragen Sie die Zugangsdaten für den Live-Modus des PayPal-APIs ein.Öffentlicher Schlüssel für den Live-ModusGeheimnis für den Live-ModusGeheimer Schlüssel für den Live-ModusDie Webhooks für den Live-Modus sind erstellt. Sollten Sie Probleme mit den Webhooks haben, können Sie sie löschen und neu erstellen lassen.Zugangsdaten für den Live-Modus fehlen noch. Webhook kann nicht erstellt werden.AnmeldenErfolgreich abgemeldet.Angemeldet alsAngemeldet als: Hier anmeldenURL der AnmeldeseiteAbmeldenMitglied beim Schließen des Browsers abmeldenMännlichInhaltsschutz verwaltenZahlungsbuttons verwaltenManueller Transaktionsdatensatz hinzugefügt. MittelMitgliedMitgliederverzeichnisMitglieds-IDAnmeldung für MitgliederMitgliedsprofilMitglied seitMitgliedseintrag erfolgreich hinzugefügt.Das Feld "Mitglied seit" ist ungültigMitgliederMitglieder müssen angemeldet sein, um Kommentare hinterlassen zu könnenMitgliedschaftMitgliedschaftsstufeDie Mitgliedschaftsstufe konnte nicht gefunden werden.Mitgliedschaftsstufe erfolgreich erstellt.Mitgliedschaftsstufen-IDName der MitgliedschaftsstufeDie Mitgliedsstufe wurde erfolgreich aktualisiert.Mitgliedschaftsstufe:Mitgliedschaftsstufe: MitgliedschaftsstufenURL zur Änderung der MitgliedschaftDie Änderung der Mitgliedschaftsstufe wurde erfolgreich abgeschlossen.Die Mitgliedschaftsstufe wurde aktualisiert.Händlerkonto-IDHändler-IDMindestens Monat(en) (Zugang verfällt nach einer bestimmten Anzahl von Monaten)Name enthält ungültiges ZeichenNiemalsNeues PasswortEin neues Passwort wurde an Ihre E-Mail-Adresse gesendet.NächsteAls Nächstes wählen Sie eine bestehende Mitgliedschaftsstufe aus der Dropdown-Liste unten aus und markieren dann die Beiträge und Seiten, die Sie dieser Mitgliedschaftsstufe zugänglich machen möchten.Wählen Sie als Nächstes eine bestehende Mitgliedschaftsstufe aus dem Dropdown-Feld unten aus und wählen Sie dann die Kategorien, auf die Sie Zugriff gewähren möchten (für diese eine Mitgliedschaftsstufe).Kein AblaufdatumKein Ablauf (Zugriff läuft erst ab, wenn er storniert wird)Kein Ablauf (der Zugang für diese Stufe läuft erst nach Kündigung ab)Keine aktiven AbonnementsKeine Kategorie gefunden.Keine Objekte gefunden.Kein Mitglied gefunden.Keine Mitgliedschaftsstufen gefunden.Kein Token vorhanden.Kein Benutzer mit dieser E-Mail-Adresse vorhanden.Kein Benutzer mit dieser E-Mail-Adresse gefunden.Kein Webhook gefunden. Nichts zu löschen.Webhook nicht vorhanden. Verwenden Sie den nachfolgenden Link zur Erstellung eines Live-Webhooks, um den Webhook automatisch neu erstellen zu lassen.Webhook nicht vorhanden. Verwenden Sie den nachfolgenden Link zur Erstellung eines Sandbox-Webhooks, um den Webhook automatisch neu erstellen zu lassen.Webhook nicht vorhanden. Benutzen Sie den Button "Webhook erstellen", um den Webhook in Ihrem PayPal-Konto automatisch neu erstellen zu lassen.Nein, diesen Inhalt nicht schützen.Die Nonce-Verifikation ist fehlgeschlagen.Die Nonce-Prüfung ist fehlgeschlagen. Bitte laden Sie die Seite erneut.Die Nonce-Verifikation ist fehlgeschlagen. Die Seite war vermutlich noch im Cache. Bitte laden Sie die Seite erneut und versuchen Sie es noch einmal.Nicht angegebenKein Mitglied?Kein Mitglied? Beachten Sie bitte, dass das PayPal-API für Teilnehmerzugänge voraussetzt, dass Ihre Website HTTPS-URLs verwendet. Sie benötigen ein SSL-Zertifikat mit HTTPS-URLs, um die Einrichtung des Teilnehmerzugangs abzuschließen und es nutzen zu können.Anmerkung:Anmerkung: Sie können die Optionen "Zugang zum WP-Dashboard deaktivieren" und "Zugriffsberechtigung für das Admin-Dashboard" nicht gleichzeitig aktivieren. Verwenden Sie nur eine davon.Benutzer benachrichtigenODEROptionale AngabenOptionale Einstellungen für SeitenOptionale Seiten. Diese werden vom Plug-in bei der Erstinstallation automatisch erstellt.Einstellungen für Seiteneinrichtung und URLs.SeitenEinstellungen für SeitenPasswortPasswort zurücksetzenURL der Seite zum Zurücksetzen des PasswortsDas Zurücksetzen des Passworts war erfolgreich. Passwort leer oder ungültig.Das Passwort kann nicht leer bleiben.Passwort erforderlichPasswörter stimmen nicht übereinDas Passwort muss mindestens Folgendes enthalten:Ein Link zum Zurücksetzen des Passwort wurde an Ihre E-Mail-Adresse gesendet.Passwort: BezahlenPayPalDie Zugangsdaten für das PayPal-API fehlen noch. Bitte geben Sie in den Zahlungseinstellungen Ihre PayPal-Zugangsdaten für den %s-Modus ein.Die Zugangsdaten für das PayPal-API fehlen noch. Bitte tragen Sie die Zugangsdaten für das PayPal-API ein.Details zum PayPal-Zahlungsplan für diesen ButtonSofortkauf per PayPalSofortkauf per PayPal (neues API)Konfiguration des Zahlungsbuttons "Sofortkauf per PayPal (neues API)"Konfiguration des Zahlungsbuttons "Sofortkauf per PayPal"PayPal-GuthabenE-Mail-Adresse bei PayPalZahlungseinstellungen für PayPalPayPal Smart CheckoutZugangsdaten für das Smart-Checkout-API von PayPal (Sie können diese von Ihrem PayPal-Konto erhalten)Konfiguration des Smart-Checkout-Buttons von PayPalAbonnement per PayPalAbonnement per PayPal (neues API)Konfiguration des Zahlungsbuttons "Abonnement per PayPal (neues API)"Konfiguration des Zahlungsbuttons "Abonnement per PayPal"PayPal-WebhooksZu zahlender BetragButton-IDButton-TitelWährung für die ZahlungZahlungseinstellungenZahlungsmethodenURL, an welche die Zahlungsbenachrichtigung weitergeleitet wirdZahlungseinstellungenDie Überprüfung der Zahlung ist fehlgeschlagen. Ungültiger Betrag eingegangen: %1$s %2$s erwartet, %3$s %4$s erhalten.ZahlungenAusstehendTelefonGerundetBitteBitte %s, wie gut Sie das Plug-in finden.Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.Bitte wählen Sie mindestens eine Option aus.Bitte korrigieren Sie FolgendesBitte korrigieren Sie die folgenden Punkte.Bitte korrigieren Sie die folgenden Punkte:Bitte geben Sie zwei beliebige Ziffern ohne Leerzeichen ein (Beispiel: 12)Bitte geben Sie zwei beliebige Ziffern ohne Leerzeichen ein (Beispiel: 12)Bitte melden Sie sich erneut an.Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.Plug-in-DokumentationBeitrags- und SeitenschutzPostleitzahlBeiträgeBeiträgeMit der E-Mail-Adresse des Mitglieds vorbelegenTrägt die E-Mail-Adresse des angemeldeten Mitglieds in das Checkout-Formular von Stripe ein, sofern möglichDatenschutzerklärungURL der DatenschutzerklärungPrivater SchlüsselProfilProfil erfolgreich aktualisiert.Profil erfolgreich aktualisiert. Sie müssen sich erneut anmelden, da Sie Ihr Passwort geändert haben.Schutzeinstellungen aktualisiert!Öffentlicher SchlüsselWiederholungsversuch bei aufgetretenem FehlerBenötigte Seiten wiederherstellenPasswort wiederholenLesen Sie die Lesen Sie diese DokumentationRechteckigKosten pro AbrechnungszeitraumAbrechnungszeitraumAnzahl von AbrechnungszeiträumenRegistrierenRegistrierungURL der RegistrierungsseiteRegistrierung erfolgreich. Die Links zum Abschluss der Registrierung erscheinen untenDie Registrierung ist abgeschlossen. Sie können sich ab sofort auf der Seite anmelden.Angemeldet bleibenPasswort wiederholenDynamischPasswort zurücksetzenZurücksetzen der Debug-Protokolldateien: klicken Sie URL, zu der nach erfolgter Zahlung weitergeleitet wirdPasswort wiederholenRolleIDDas SWPM-Admin-Dashboard ist nur für Admin-Benutzer zugänglich (wie bei jedem anderen Plug-in auch). Sie können Benutzern mit anderen WP-Benutzerrollen den Zugriff auf das SWPM-Admin-Dashboard erlauben, indem Sie hier eine entsprechende Rolle auswählen. Beachten Sie bitte, dass dies nur funktioniert, wenn die Option "Zugang zum WP-Dashboard deaktivieren" in den allgemeinen Einstellung ausgeschaltet ist.Die Zugangsdaten für das PayPal-API im Sandbox-Modus fehlen noch. Bitte tragen Sie die Zugangsdaten für den Sandbox-Modus des PayPal-APIs ein.Kundenkennung für den Sandbox-ModusGeheimnis für den Sandbox-ModusGeheimer Schlüssel für den Sandbox-ModusDie Webhooks für den Sanbox-Test sind erstellt. Sollten Sie Probleme mit den Webhooks haben, können Sie sie löschen und neu erstellen lassen.Zugangsdaten für den Sandbox-Modus fehlen noch. Webhook kann nicht erstellt werden.Zahlungseinstellungen für den Sandbox-TestÄnderungen speichernDaten speichernMitgliedschaftsstufe speichern Zahlungsdaten speichernTransaktionsdaten speichernScrollen Sie bis zum Abschnitt mit der Überschrift "Schutz per Simple WP Membership".SucheSuche nach einer Transaktion anhand von E-Mail-Adresse, Name, Transaktions- oder Mitglieds-ID.Suche…Sicherheitsüberprüfung: Die Captcha-Validierung ist fehlgeschlagen.Wählen Sie "Ja, diesen Inhalt schützen".Aktuelle Stufe auswählenMitgliedschaftsstufe wählenArt des Zahlungsbuttons auswählenZielstufe auswählenFarbe des Buttons wählen.Höhe des Buttons wählen.Anordnung des Buttons wählen.Form des Buttons wählen.Button-Größe wählen.Art und Beschriftung des Buttons wählen.Breite des Buttons wählen.Wählen Sie aus, wie lange Sie ein "ausstehendes" Konto behalten wollen.Wählen Sie die Zahlungsmethoden aus, die von den Kunden verwendet werden können. Beachten Sie bitte, dass Zahlungen mit Karte immer erlaubt sind.Wählen Sie die Mitgliedschaftsstufe (das Startdatum für den Zugriff wird für alle Mitglieder dieser Stufe aktualisiert).Wählen Sie die aktuelle Mitgliedschaftsstufe aus (die Mitgliedschaftsstufe aller Mitglieder dieser Stufe wird aktualisiert).Wählen Sie den Standard-Kontostatus für neu registrierte Benutzer. Wenn Sie die Mitglieder manuell freigeben möchten, können Sie den Status auf "Ausstehend" setzen.Wählen Sie die Mitgliedschaftsstufe, die auf diesen Inhalt zugreifen kann:Wählen Sie die neue Mitgliedschaftsstufe aus.E-Mail an ein Mitglied senden, wenn es über das Admin-Dashboard hinzugefügt wurdeBenachrichtigung an den Admin sendenZusätzlich eine Aufforderung zur Vervollständigung der Registrierung per E-Mail versendenDie Sitzung ist abgelaufen.Status auf "Aktiv" setzenStatus auf "Aktiv" setzen und benachrichtigenStatus auf "Abgelaufen" setzenStatus auf "Inaktiv" setzenStatus auf "Ausstehend" setzenGeben Sie das Intervall für den Abrechnungszeitraum an. Beispiel: 1 Monat (falls sie einen monatlichen Zahlungseingang wünschen)EinstellungenDie Einstellungen in diesem Abschnitt gelten für alle E-Mails.Einstellungen aktualisiert!FormAdmin-Werkzeugleiste den Admin-Benutzern anzeigenPasswort anzeigenSilberWebsite des Plug-ins "Simple WP Membership"Simple WP Membership SchutzoptionenSimple Membership::ZahlungenSimple WP Membership::SchutzSimple WP Membership::Add-onsSimple WP Membership::MitgliederSimple WP Membership::MitgliedschaftsstufenSimple WP Membership::EinstellungenSimple WordPress MembershipGrößeKleinEinige der Einstellungen und Optionen von Add-ons des Plug-ins werden hier angezeigt (falls Sie diese haben)Entschuldigung, die Nonce-Verifikation ist fehlgeschlagen.Entschuldigung, das Passwort stimmt nicht überein.Geben Sie das Startdatum für den Zugriff an.BundeslandBundesland / Provinz / RegionStatusStatus/NotizStraßeStraße und HausnummerPasswortsicherheitStripe-API-IDÖffentlicher Schlüssel für den Live-Modus des Stripe-APIsGeheimer Schlüssel für den Live-Modus des Stripe-APIsEinstellungen für das Stripe-APIÖffentlicher Schlüssel für den Test-Modus des Stripe-APIsGeheimer Schlüssel für den Test-Modus des Stripe-APIsSchüssel für das Stripe-API. Sie können diesen von Ihrem Stripe-Konto erhalten.Sofortkauf per StripeKonfiguration des Zahlungsbuttons "Sofortkauf per Stripe"Zahlungseinstellungen für StripeSofortkauf per Stripe (veraltet)Abonnement per Stripe (veraltet)Sofortkauf per Stripe-SCAKonfiguration des Zahlungsbuttons "Sofortkauf per Stripe-SCA"Abonnement per Stripe-SCAAbonnement per StripeKonfiguration des Zahlungsbuttons "Abonnement per Stripe-SCA"AbsendenAbonnementKostenpflichtig abonnierenAbonnenten-IDTeilnehmer-ID/ReferenzZahlungsplan-ID für das AbonnementZahlungsplan für AbonnementIhr Abonnement wurde gekündigt.Details zum Abonnement und regelmäßigen ZahlungenErfolg!Erfolg! Ihr Konto wurde erfolgreich aktiviert.Führen Sie die folgenden Schritte aus, um Inhalte so zu schützen, dass nur Mitglieder darauf zugreifen können.Allgemeine GeschäftsbedingungenURL der Allgemeinen GeschäftsbedingungenEinstellungen für Test & DebugÖffentlicher Schlüssel für den Test-ModusGeheimer Schlüssel für den Test-ModusEinstellungen zum Testen und Debuggen.Vielen DankURL der DankesseiteDie Buttons für PayPal-Zahlungen mittels des neuen APIs erfordern Webhooks. Das Plug-in erstellt die benötigten Webhooks, sobald Sie einen Button für PayPal-Zahlungen anlegen.Der Startdatum für den Zugriff eines Mitglieds wird auf den Tag festgelegt, an dem er Benutzer sich registriert. Anhand dieses Datums wird ermittelt, bis wann ein Mitglied auf Inhalte, die mit einem Laufzeitschutz in der Mitgliedschaftsstufe geschützt sind, zugreifen kann. Der Administrator dieser Seite gestattet Benutzern nicht, auf das WP-Dashboard zuzugreifen.Die Kategorie oder die übergeordnete Kategorie dieses Beitrags ist geschützt. Sie können die Kategorien-Schutzeinstellungen im Die von Ihnen verwendete E-Mail-Adresse ist auf dieser Website unzulässig.Die von Ihnen verwendete E-Mail-Adresse ist auf dieser Website nicht freigegeben.Die folgenden Angaben sind optionalDie folgenden Angaben sind optional.Die folgenden Seiten werden für die korrekte Funktion des Plug-ins benötigt. Diese Seiten wurden vom Plug-in bei der Installation automatisch erstellt.Die benötigten Seiten wurden neu erstellt.Der ausgewählte Eintrag wurde gelöscht!Der Administrator kann die Funktion "WP-Benutzerssynchronisation" in den Einstellungen deaktivieren, wodurch dieser Fehler behoben wird.Diese Dokumentation für schwarze und weiße ListenDieser Inhalt kann nur von Mitgliedern eingesehen werden, die vor Dieser Inhalt ist Mitgliedern vorbehalten.Dieser Inhalt ist für Ihre Mitgliedschaftsstufe nicht freigegeben.Diese DokumentationDiese E-Mail wird gesendet, wenn für eine Mitgliedschaftsstufe die E-Mail-Aktivierung aktiviert ist.Diese E-Mail wird an die Benutzer gesendet, um sie aufzufordern, die – gegebenenfalls kostenpflichtige – Registrierung abzuschließen.Diese E-Mail wird an den Admin gesendet, wenn ein neuer Benutzer die Registrierung der Mitgliedschaft abgeschlossen hat. Dies setzt voraus, dass Sie oben die Option "Benachrichtigung an den Admin senden" aktiviert haben.Diese E-Mail wird an Mitglieder gesendet, wenn Sie die Konten gesammelt aktivieren oder Sammelbenachrichtigungen versenden.Diese E-Mail wird an Benutzer nach der Aktualisierung ihres Kontos gesendet (Zahlung für eine neue Mitgliedschafsstufe).Diese E-Mail wird an die Benutzer gesendet, wenn sie die Registrierung abgeschlossen haben und Mitglied geworden sind.Diese E-Mail wird an Ihre Benutzer gesendet, wenn sie die Funktion zum Zurücksetzen des Passworts verwenden.Dieser Fehler tritt auf, wenn ein Mitgliedskonto kein korrespondierendes WP-Benutzerkonto hat. Das Plug-in meldet den Benutzer somit nicht im WP-Benutzersystem an.Dieses Feld ist ein PflichtfeldDiese Seite beinhaltet nützliche Werkzeuge für verschiedene Admin-Operationen.Dieses Seite erlaubt die Konfiguration schwarzer und weißer Listen für E-Mail-Adressen. Nachfolgend können Sie die E-Mails anpassen, die für verschiedene Vorgänge an Ihre Mitglieder gesendet werden. Die Standardeinstellungen sollten für den Anfang genügen.Wird errechnet anhand der aktuellen Mitgliedschaftsstufe dieses Mitglieds und der Ablaufbedingung, die Sie für die entsprechende Mitgliedschaftsstufe eingestellt haben.Dies ist der Kontostatus des Mitglieds. Wenn Sie ein abgelaufenes Mitgliedskonto manuell aktivieren möchten, lesen SieDiese Seite erlaubt die Konfiguration einiger erweiterter Funktionen des Plug-ins.Dieser Abschnitt erlaubt es Ihnen, Einstellungen für Stripe-Zahlungen zu vorzunehmen.In diesem Abschnitt können Sie die automatische Erstellung von Mitgliedskonten konfigurieren, wenn neue WP-Benutzereinträge von einem anderen Plug-in erstellt werden. Dies kann nützlich sein, wenn Sie ein anderes Plug-in verwenden, das WP-Benutzereinträge erstellt und diese im Simple-WP-Membership-Plug-in erkannt werden sollen.Dieser Abschnitt erlaubt die Konfiguration von schwarzen Listen.In diesem Abschnitt können Sie die Allgemeinen Geschäftbedingungen (AGB) sowie die Datenschutzerklärung konfigurieren, die Benutzer bei der Registrierung akzeptieren müssen.Dieser Abschnitt erlaubt die Konfiguration von weißen Listen.Dieser Abschnitt erlaubt die Aktivierung/Deaktivierung des Sandbox-Test-Modus für die Zahlungsfunktionen.Der Registrierungslink (die URL in der Adresszeile des Browsers) wurde bereits verwendet. Sie müssen somit keinen neuen Benutzer anlegen. Melden Sie sich mit Ihrem bestehenden Benutzer an, um Zugriff auf den geschützten Inhalt zu erhalten.Der Registrierungslink (die URL in der Adresszeile des Browsers) ist ungültig. Dessen Benutzerkennung und Sicherheitscode sind unbekannt. Bitte kontaktieren Sie den Website-Administrator.Dieser Wert wird aktualisiert, sobald sich dieses Mitglied auf Ihrer Seite anmeldet.TitelWerkzeugeTransaktions-IDTransaktion abgeschlossen!TransaktionenKosten für die TestmitgliedschaftDetails zur Testmitgliedschaft (leer lassen, wenn Sie keine Testmitgliedschaft anbieten)Abrechnungszeitraum für die TestmitgliedschaftAbrechnungszeitraum für die TestmitgliedschaftTypPasswort eingebenVon PayPal abmeldenAktualisierungAPI-Schlüssel aus den Zahlungseinstellungen verwenden.Globale Einstellung für API-Schlüssel verwendenBenutzen Sie diese Option, wenn Mitglieder automatisch angemeldet sein sollen, sobald sie die Registrierung abgeschlossen haben. Diese Option setzt die Weiterleitung nach der Registrierung außer Kraft und führt stattdessen die Weiterleitung nach dem Login aus. Lesen Sie diese Dokumentation, um mehr zu erfahren.Verwenden Sie diese Option, um das Anmeldeformular für angemeldete Mitglieder zu verbergen. Wenn angemeldete Mitglieder die Registrierungsseite aufrufen, erhalten Sie einen Hinweis anstelle des Anmeldeformulars.Verwenden Sie diese Option, wenn Sie die Admin-Werkzeugleiste nur für Admin-Benutzer anzeigen möchten. Die Admin-Werkzeugleiste wird für alle anderen Benutzer ausgeblendet.Der Benutzer ist nicht angemeldet.BenutzernameDer Benutzername wird bereits verwendet.Der Benutzername kann nur Folgendes enthalten: Buchstaben, Zahlen und .-*@Der Benutzername enthält ein ungültiges ZeichenDer Benutzername kann nicht leer bleiben.Benutzername erforderlichBenutzername oder E-Mail-AdresseBenutzernamen dürfen nur Folgendes enthalten: Buchstaben, Zahlen und .-_*@Mitglieder müssen Ihre Datenschutzerklärung akzeptieren, um die Registrierung abschließen zu können.Mitglieder müssen die Allgemeinen Geschäftsbedingungen (AGB) akzeptieren, um die Registrierung abschließen zu können.Validierung, bitte wartenVenmoVerifikationVertikalDokumentation einsehenProfil anzeigenAllgemeine Debug-Protokolldatei anzeigen: klicken Sie Debug-Protokolldatei für Anmeldevorgänge anzeigen: klicken Sie Besuchen Sie %s, um die Dokumentation für Einrichtung und Konfiguration einzusehen.WP-MitgliedschaftAchtung! Das Simple-Membership-Plug-in kann diese Anmeldung nicht bearbeiten, um zu verhindern, dass Sie versehentlich als WP-Admin abgemeldet werden.Endpunkt-URL für den WebhooksWebhook existiert bereits. Sollten Sie dennoch Probleme mit Webhooks haben, können Sie sie löschen und neu erstellen.Webhook wurde erstellt.Webhook wurde gelöscht.Endpunkt-URL für den WebhooksWoche(n) (Zugang verfällt nach einer bestimmten Anzahl von Wochen)Woche(n) (der Zugang verfällt nach einer bestimmten Anzahl von Wochen)Bei der automatischen Erstellung eines Mitgliedskontos wird der Status des Mitgliedskontos des Benutzers auf den hier angegebenen Status gesetzt.Bei der automatischen Erstellung eines Mitgliedskontos mit dieser Funktion wird die Mitgliedschaftsstufe des Benutzers auf die hier angegebene Stuefe eingestellt.Falls gesetzt, wird bei einer fehlgeschlagenen Zahlung noch zweimal versucht den Betrag einzuziehen. Beim dritten Fehlschlag wird das Abonnement gekündigt.Aktiviert die Prüfung anhand schwarzer Listen.Wenn diese Funktion aktiviert ist, können sich abgelaufene Mitglieder zwar in das System einloggen, aber keine geschützten Inhalte mehr sehen. Dies ermöglicht es ihnen, ihr Abonnement durch eine weitere Zahlung zu verlängern.Aktiviert die Prüfung anhand weißer Listen (zulässige Eingaben).WeißMeldung bei ZulässigkeitWeiße ListenWordPress ermöglicht es einem normalen Benutzer, mittels der Admin-URL über das WordPress-Dashboard auf sein Profil zuzugreifen. Mit dieser Option wird verhindert, dass Nicht-Admin-Benutzer auf das WordPress-Dashboard zugreifen können.WordPress zeigt eingeloggten Website-Benutzern eine Admin-Werkzeugleiste. Aktivieren Sie diese Option, wenn Sie die Admin-Werkzeugleiste im Frontend Ihrer Website ausblenden möchten.Ein WordPress-Konto mit der angegebenen E-Mail-Adresse existiert, aber der angegebene Benutzername stimmt nicht überein.Ein WordPress-Konto mit dem angegebenen Benutzernamen existiert, aber die angegebene E-Mail-Adresse stimmt nicht überein.Jahr(en) (Zugang verfällt nach einer bestimmten Anzahl von Jahren)Ja, diesen Inhalt schützen.Sie sind dabei, ein Konto zu löschen. Dadurch werden die mit diesem Konto verbundenen Benutzerdaten gelöscht. Sie sind bereits angemeldet und müssen somit keinen weiteren Benutzer anlegen. Das Formular zur Registrierung wird deshalb nicht angezeigt.Sie bearbeiten gerade: Sie sind angemeldet als:In diesem Browser sind Sie als Admin-Benutzer auf der Website angemeldet. Bitte zuerst als WP-Admin abmelden, damit Sie sich als normales Mitglied anmelden können.Sie sind nicht angemeldet.Sie sind nicht als Mitglied angemeldetAuf dieser Seite können Sie eine Zahlung manuell erfassen. Dies ist insbesondere nützlich, wenn Sie Zahlungen für Mitgliedschaften auch in bar oder per Vorab-Überweisung entgegennehmen.Sie können außerdem Zahlungsbuttons der folgenden Plug-ins verwenden, um Zahlungen für Mitgliedschaften zu erhalten.Auf dieser Seite können Sie neue Zahlungsbuttons für Ihre Mitgliedschaften erstellen.Sie können eine Seite zur Änderung der Mitgliedschaft erstellen. Lesen Sie hier nach, wie Sie dies bewerkstelligen können.Sie können neue Zahlungsbuttons für Ihre Mitgliedschaften über das Auf dieser Seite können Sie einen Zahlungsbutton bearbeiten.Auf dieser Seite können Sie die Details einer ausgewählten Mitgliedschaftsstufe bearbeiten. Sie können diese Option aktivieren, wenn Sie zum Zurücksetzen eines Passworts einen Link verwenden möchten, der einem Mitglied per E-Mail zugesendet wird. Lesen Sie diese Dokumentation, um mehr über die Funktion zum Zurücksetzen von Passwörtern zu erfahren.Sie können hier eine URL eingeben, auf die Mitglieder weitergeleitet werden, sobald die Zahlung ihres Mitgliedschaftsbetrags vom Plug-in verarbeitet wurde. Dies ist insbesondere nützlich, wenn Sie die Zahlungsbenachrichtigung an ein externes Skript zur weiteren Verarbeitung weiterleiten möchten.Sie können hier eine URL angeben, auf die Mitglieder weitergeleitet werden, nachdem Sie den Link zum Abmelden angeklickt haben.Sie können hier eine URL eingeben, um die Mitglieder nach dem Absenden des Anmeldeformulars auf eine bestimmte Seite weiterzuleiten. Lesen Sie hier nach, wie Sie eine solche Weiterleitung einrichten können.Sie können die Mitgliedschaftsstufe eines jeden Mitglieds manuell ändern, indem Sie den Eintrag im Mitglieder-Menü bearbeiten. Sie können hier manuell einen Link zum Abschluss des Registrierung erstellen und Ihrem Kunden bekanntgeben, falls die E-Mail, die nach der Zahlung automatisch versendet wurde, verloren gegangen sein sollte.Mit der folgenden Option können Sie manuell ein Startdatum für den Zugriff aller Mitglieder festlegen, die eine bestimmte Mitgliedschaftsstufe besitzen.Hiermit können Sie dem Anmeldeformular eine Option zur Anzeige des Passworts hinzufügen.Sie können den Zurück-Button Ihres Browsers verwenden, um zur Website zurückzukehren.Sie können die folgende Option verwenden, um die Mitgliedschaftsstufe von Benutzern, die zu der unten ausgewählten Stufe gehören, zu aktualisieren.Sie können diese Option verwenden, um die E-Mail-Benachrichtigung, die an ein Mitglied nach Aktualisierung des Kontos gesendet wird, abzuschalten.Sie können diese Option verwenden, um schnell eine E-Mail an dieses Mitglied zu senden (die E-Mail wird gesendet, wenn Sie den Speichern-Button unten anklicken).Sie sind nicht berechtigt, diesen Inhalt einzusehen.Sie haben den Sandkasten-Zahlungsmodus in den Einstellungen aktiviert. Stellen Sie sicher, dass Sie den Sandkasten-Modus deaktiviert haben, wenn Sie Live-Transaktionen durchführen möchten.Sie müssen die Allgemeinen Geschäftsbedingungen akzeptieren.Sie müssen der Datenschutzerklärung zustimmen.Sie müssen eingeloggt sein, um Ihre Mitgliedschaft zu aktualisieren.Sie müssen Ihr Konto aktivieren. Wenn Sie keine E-Mail erhalten haben, dann %s, um die E-Mail zur Aktivierung erneut zu senden.Sie müssen sich anmelden, um den Rest dieses Inhalts zu sehen. Sie müssen sich anmelden, um diesen Inhalt einsehen zu können. Sie müssen Ihre E-Mail-Adresse bestätigen. Bitte überprüfen Sie Ihr Postfach und folgen Sie den Anweisungen, um Ihre Registrierung abzuschließen.Sie werden in wenigen Sekunden automatisch weitergeleitet. Wenn nicht, bitte %s.Sie werden in wenigen Sekunden automatisch weitergeleitet. Wenn nicht, bitte hier klicken.Sie müssen sich neu anmelden, da Sie Ihr Passwort geändert haben.Nach der Zahlung erhalten Sie per E-Mail einen Registrierungslink, um die Registrierung für die Premium-Mitgliedschaft abzuschließen.Ihr Konto ist abgelaufen. Ihr aktuelles PasswortIhre Mitgliedschaftsstufe umfasst nicht die Berechtigung, diesen Inhalt einzusehen.Ihr Mitgliedsprofil wird entsprechend der Zahlung aktualisiert.Ihre normalen Besucher oder Mitglieder werden diese Nachricht nie sehen. Diese Meldung ist NUR für Admin-Benutzer bestimmt.Ihr Benutzername: PostleitzahlDokumentation zum Sammelschutz für Beiträge und SeitenDokumentation zum KategorienschutzKategorienschutz-Menü ändernklicken Sie hierhier klickenDokumentation zum Kategorienschutzgeben Sie uns FeedbackhierunvollständigZahlungen für MitgliedschaftenZahlungsmenüändernTeilnehmerzugang erstelltdiese Dokumentationzum zu erfahren, wie sie Ihre Zugrangsdaten für das PayPal-API erhalten können.für weitere Details.languages/simple-membership-da_DK.po000064400000075254147206617610013463 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2015-01-27 14:50+1000\n" "PO-Revision-Date: 2015-08-20 13:29+0100\n" "Last-Translator: Jon Bertelsen \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.6.10\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: da_DK\n" "X-Poedit-SearchPath-0: .\n" #: simple-membership/classes/class.bAccessControl.php:21 #: simple-membership/classes/class.bAccessControl.php:28 #: simple-membership/classes/class.bAccessControl.php:48 msgid "You need to login to view this content. " msgstr "Du skal logge ind for at se dette indhold." #: simple-membership/classes/class.bAccessControl.php:35 #: simple-membership/classes/class.bAccessControl.php:39 #: simple-membership/classes/class.bAccessControl.php:54 msgid "You are not allowed to view this content" msgstr "Du har ikke tilladelse til at se dette indhold." #: simple-membership/classes/class.bAccessControl.php:72 msgid "You do no have permission to view rest of the content" msgstr "Du har ikke tilladelse til at se resten af indholdet." #: simple-membership/classes/class.bAccessControl.php:76 #: simple-membership/classes/class.bAccessControl.php:94 msgid "You need to login to view the rest of the content. " msgstr "Du skal logge ind for at se resten af indholdet." #: simple-membership/classes/class.bAdminRegistration.php:49 msgid "Registration Successful." msgstr "Du er nu registreret." #: simple-membership/classes/class.bAdminRegistration.php:54 #: simple-membership/classes/class.bAdminRegistration.php:89 #: simple-membership/classes/class.bMembershipLevel.php:42 #: simple-membership/classes/class.bMembershipLevel.php:60 msgid "Please correct the following:" msgstr "Korriger venligst følgende:" #: simple-membership/classes/class.bAjax.php:17 #: simple-membership/classes/class.bAjax.php:28 msgid "Already taken" msgstr "Anvendes allerede af en anden." #: simple-membership/classes/class.bAjax.php:29 msgid "Available" msgstr "Ledig" #: simple-membership/classes/class.bAuth.php:46 #: simple-membership/classes/class.bFrontRegistration.php:173 msgid "User Not Found." msgstr "Bruger ikke fundet." #: simple-membership/classes/class.bAuth.php:53 msgid "Password Empty or Invalid." msgstr "Kodeord er tomt eller ugyldigt." #: simple-membership/classes/class.bAuth.php:76 msgid "Account is inactive." msgstr "Kontoen er inaktiv." #: simple-membership/classes/class.bAuth.php:93 msgid "Account has expired." msgstr "Kontoen er udløbet." #: simple-membership/classes/class.bAuth.php:100 msgid "You are logged in as:" msgstr "Du er logget ind som:" #: simple-membership/classes/class.bAuth.php:139 msgid "Logged Out Successfully." msgstr "Du er nu logget ud." #: simple-membership/classes/class.bAuth.php:186 msgid "Session Expired." msgstr "Session udløbet." #: simple-membership/classes/class.bAuth.php:194 msgid "Invalid User Name" msgstr "Ugyldigt brugernavn" #: simple-membership/classes/class.bAuth.php:202 msgid "Sorry! Something went wrong" msgstr "Beklager. Noget gik galt." #: simple-membership/classes/class.bCategoryList.php:15 #: simple-membership/classes/class.bMembers.php:21 #: simple-membership/classes/class.bMembershipLevels.php:8 #: simple-membership/classes/class.bMembershipLevels.php:17 #: simple-membership/views/add.php:30 #: simple-membership/views/admin_member_form_common_part.php:2 #: simple-membership/views/edit.php:52 msgid "Membership Level" msgstr "Medlemskatergori" #: simple-membership/classes/class.bCategoryList.php:16 #: simple-membership/classes/class.bMembershipLevels.php:9 #: simple-membership/classes/class.simple-wp-membership.php:464 msgid "Membership Levels" msgstr "Medlemskategorier" #: simple-membership/classes/class.bCategoryList.php:29 #: simple-membership/classes/class.bMembers.php:16 #: simple-membership/classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "ID" #: simple-membership/classes/class.bCategoryList.php:30 msgid "Name" msgstr "Navn" #: simple-membership/classes/class.bCategoryList.php:31 msgid "Description" msgstr "Beskrivelse" #: simple-membership/classes/class.bCategoryList.php:32 msgid "Count" msgstr "Antal" #: simple-membership/classes/class.bCategoryList.php:63 msgid "Updated! " msgstr "Opdateret." #: simple-membership/classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "Wordpress kontoen er oprettet, men email adressen matcher ikke." #: simple-membership/classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "Email adressen matcher en Wordpress konto, men ikke denne." #: simple-membership/classes/class.bForm.php:40 msgid "User name is required" msgstr "Brugernavn er påkrævet" #: simple-membership/classes/class.bForm.php:44 msgid "User name contains invalid character" msgstr "Brugernavn indeholder ugyldige karakterer." #: simple-membership/classes/class.bForm.php:52 msgid "User name already exists." msgstr "Brugernavnet eksisterer allerede." #: simple-membership/classes/class.bForm.php:75 msgid "Password is required" msgstr "Kodeord er påkrævet." #: simple-membership/classes/class.bForm.php:82 msgid "Password mismatch" msgstr "Kodeordene matcher ikke." #: simple-membership/classes/class.bForm.php:98 msgid "Email is required" msgstr "Email er påkrævet." #: simple-membership/classes/class.bForm.php:102 msgid "Email is invalid" msgstr "Ugyldig email." #: simple-membership/classes/class.bForm.php:118 msgid "Email is already used." msgstr "Email er allerede i brug." #: simple-membership/classes/class.bForm.php:184 msgid "Member since field is invalid" msgstr "Medlem siden feltet er ugyldigt." #: simple-membership/classes/class.bForm.php:195 msgid "Access starts field is invalid" msgstr "Adgangsfeltet er ugyldigt." #: simple-membership/classes/class.bForm.php:205 msgid "Gender field is invalid" msgstr "Kønsfeltet er ugyldigt." #: simple-membership/classes/class.bForm.php:216 msgid "Account state field is invalid" msgstr "Kontostatus feltet er ugyldigt." #: simple-membership/classes/class.bForm.php:223 msgid "Invalid membership level" msgstr "Ugyldigt medlemskategori." #: simple-membership/classes/class.bFrontRegistration.php:61 msgid "Registration Successful. " msgstr "Registrering fuldendt." #: simple-membership/classes/class.bFrontRegistration.php:61 #: simple-membership/classes/class.bSettings.php:367 msgid "Please" msgstr "Venligst" #: simple-membership/classes/class.bFrontRegistration.php:61 #: simple-membership/classes/class.bSettings.php:367 #: simple-membership/views/login.php:21 msgid "Login" msgstr "Login" #: simple-membership/classes/class.bFrontRegistration.php:72 #: simple-membership/classes/class.bFrontRegistration.php:152 msgid "Please correct the following" msgstr "Ret venligst følgende:" #: simple-membership/classes/class.bFrontRegistration.php:106 msgid "Membership Level Couldn't be found." msgstr "Medlemskategorien findes ikke." #: simple-membership/classes/class.bFrontRegistration.php:162 msgid "Email Address Not Valid." msgstr "Email adressen er ugyldig." #: simple-membership/classes/class.bFrontRegistration.php:193 msgid "New password has been sent to your email address." msgstr "Et nyt kodeord er blevet sendt til din email adresse." #: simple-membership/classes/class.bLevelForm.php:47 msgid "Date format is not valid." msgstr "Datoformatet er ugyldigt." #: simple-membership/classes/class.bLevelForm.php:54 msgid "Access duration must be > 0." msgstr "Tidsbegrænsningen skal være større end 0." #: simple-membership/classes/class.bMembers.php:7 msgid "Member" msgstr "Medlem" #: simple-membership/classes/class.bMembers.php:8 #: simple-membership/classes/class.simple-wp-membership.php:462 msgid "Members" msgstr "Medlemmer" #: simple-membership/classes/class.bMembers.php:17 #: simple-membership/views/add.php:6 simple-membership/views/edit.php:4 msgid "User Name" msgstr "Brugernavn" #: simple-membership/classes/class.bMembers.php:18 #: simple-membership/views/add.php:22 #: simple-membership/views/admin_member_form_common_part.php:15 #: simple-membership/views/edit.php:20 msgid "First Name" msgstr "Fornavn" #: simple-membership/classes/class.bMembers.php:19 #: simple-membership/views/add.php:26 #: simple-membership/views/admin_member_form_common_part.php:19 #: simple-membership/views/edit.php:24 msgid "Last Name" msgstr "Efternavn" #: simple-membership/classes/class.bMembers.php:20 #: simple-membership/views/add.php:10 simple-membership/views/edit.php:8 msgid "Email" msgstr "Email" #: simple-membership/classes/class.bMembers.php:22 #: simple-membership/views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Adgang starter" #: simple-membership/classes/class.bMembers.php:23 msgid "Account State" msgstr "Konto status" #: simple-membership/classes/class.bMembers.php:35 #: simple-membership/classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "Slet" #: simple-membership/classes/class.bMembers.php:101 msgid "No Member found." msgstr "Ingen medlemmer fundet." #: simple-membership/classes/class.bMembershipLevel.php:37 msgid "Membership Level Creation Successful." msgstr "Oprettelsen af medlem er fuldendt." #: simple-membership/classes/class.bMembershipLevel.php:56 msgid "Updated Successfully." msgstr "Opdatering er fuldendt." #: simple-membership/classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "Rolle" #: simple-membership/classes/class.bMembershipLevels.php:19 msgid "Access Valid For/Until" msgstr "Adgang gyldig i / indtil" #: simple-membership/classes/class.bSettings.php:30 msgid "Plugin Documentation" msgstr "Plugin dokumentation" #: simple-membership/classes/class.bSettings.php:32 msgid "General Settings" msgstr "Generel opsætning" #: simple-membership/classes/class.bSettings.php:34 msgid "Enable Free Membership" msgstr "Tillad gratis medlemskab." #: simple-membership/classes/class.bSettings.php:37 msgid "Enable/disable registration for free membership level" msgstr "Tillad / stop registrering af gratismedlemskaber." #: simple-membership/classes/class.bSettings.php:38 msgid "Free Membership Level ID" msgstr "Gratis medlemskab niveau" #: simple-membership/classes/class.bSettings.php:41 msgid "Assign free membership level ID" msgstr "Tildel gratis medlemskab niveau" #: simple-membership/classes/class.bSettings.php:42 msgid "Enable More Tag Protection" msgstr "Tillad beskyttelse af flere tags." #: simple-membership/classes/class.bSettings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Tillad eller stop \"more\" tag beskyttelse in indlæg og sider. Alt efter " "'mere' tag vil være beskyttet. Alt før 'mere' tag kan ses." #: simple-membership/classes/class.bSettings.php:46 msgid "Hide Adminbar" msgstr "Skjul administrationsværktøjslinie" #: simple-membership/classes/class.bSettings.php:49 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WordPress viser en administrationsværktøjslinie til brugere der er logget på " "på denne side. Marker hvis du ønsker at skjule administrationsværktøjslinien." #: simple-membership/classes/class.bSettings.php:51 msgid "Default Account Status" msgstr "Normalt konto status" #: simple-membership/classes/class.bSettings.php:56 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Vælg den normale konto status for nyregistrerede brugere. Hvis du ønsker at " "godkende medlemmerne manuelt, kan du sætte status som \"Afventer\"." #: simple-membership/classes/class.bSettings.php:62 msgid "Pages Settings" msgstr "Sideopsætning" #: simple-membership/classes/class.bSettings.php:64 msgid "Login Page URL" msgstr "Login side URL" #: simple-membership/classes/class.bSettings.php:68 msgid "Registration Page URL" msgstr "Registreringsside URL" #: simple-membership/classes/class.bSettings.php:72 msgid "Join Us Page URL" msgstr "Bliv medlem side URL" #: simple-membership/classes/class.bSettings.php:76 msgid "Edit Profile Page URL" msgstr "Skift profilside URL" #: simple-membership/classes/class.bSettings.php:80 msgid "Password Reset Page URL" msgstr "Kodeord reset side URL" #: simple-membership/classes/class.bSettings.php:85 msgid "Test & Debug Settings" msgstr "Test & fejlrettelser indstillinger" #: simple-membership/classes/class.bSettings.php:91 msgid "Enable Sandbox Testing" msgstr "Tillad sandbox test" #: simple-membership/classes/class.bSettings.php:94 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Tillad denne hvis du vil teste i sandbox." #: simple-membership/classes/class.bSettings.php:104 msgid "Email Misc. Settings" msgstr "Diverse email indstillinger" #: simple-membership/classes/class.bSettings.php:106 msgid "From Email Address" msgstr "Afsender email adresse" #: simple-membership/classes/class.bSettings.php:111 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Email indstillinger (spørg for at færdiggøre registrering)" #: simple-membership/classes/class.bSettings.php:113 #: simple-membership/classes/class.bSettings.php:124 #: simple-membership/classes/class.bSettings.php:143 msgid "Email Subject" msgstr "Email emne" #: simple-membership/classes/class.bSettings.php:117 #: simple-membership/classes/class.bSettings.php:128 #: simple-membership/classes/class.bSettings.php:147 msgid "Email Body" msgstr "Email tekst" #: simple-membership/classes/class.bSettings.php:122 msgid "Email Settings (Registration Complete)" msgstr "Email indstillinger (fuldendt registrering)" #: simple-membership/classes/class.bSettings.php:132 msgid "Send Notification To Admin" msgstr "Send besked til administrator" #: simple-membership/classes/class.bSettings.php:136 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Send email til medlem som tilføjes via administrationskontrolpanelet." #: simple-membership/classes/class.bSettings.php:141 msgid " Email Settings (Account Upgrade Notification)" msgstr "Email indstillinger (besked om kontoopgradering)" #: simple-membership/classes/class.bSettings.php:367 msgid "Not a Member?" msgstr "Ikke medlem?" #: simple-membership/classes/class.bSettings.php:367 #: simple-membership/views/login.php:27 msgid "Join Us" msgstr "Meld dig ind" #: simple-membership/classes/class.bUtils.php:63 msgid "Active" msgstr "Aktiv" #: simple-membership/classes/class.bUtils.php:64 msgid "Inactive" msgstr "Inaktiv" #: simple-membership/classes/class.bUtils.php:65 msgid "Pending" msgstr "Afventer" #: simple-membership/classes/class.bUtils.php:66 msgid "Expired" msgstr "Udløbet" #: simple-membership/classes/class.bUtils.php:251 msgid "Never" msgstr "Aldrig" #: simple-membership/classes/class.miscUtils.php:51 msgid "Registration" msgstr "Registrering" #: simple-membership/classes/class.miscUtils.php:74 msgid "Member Login" msgstr "Medlemslogin" #: simple-membership/classes/class.miscUtils.php:97 msgid "Profile" msgstr "Profil" #: simple-membership/classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "Kodeord reset" #: simple-membership/classes/class.simple-wp-membership.php:184 msgid "You are not logged in." msgstr "Du er ikke logget ind." #: simple-membership/classes/class.simple-wp-membership.php:215 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership beskyttelse" #: simple-membership/classes/class.simple-wp-membership.php:228 msgid "Simple Membership Protection options" msgstr "Simple Membership Protection valgmuligheder" #: simple-membership/classes/class.simple-wp-membership.php:244 msgid "Do you want to protect this content?" msgstr "Vil du beskytte dette indhold?" #: simple-membership/classes/class.simple-wp-membership.php:249 msgid "Select the membership level that can access this content:" msgstr "Vælg medlemskategori der kan tilgå dette indhold:" #: simple-membership/classes/class.simple-wp-membership.php:459 msgid "WP Membership" msgstr "WP medlemskab" #: simple-membership/classes/class.simple-wp-membership.php:466 msgid "Settings" msgstr "Indstillinger" #: simple-membership/classes/class.simple-wp-membership.php:468 msgid "Add-ons" msgstr "Plugin" #: simple-membership/views/add.php:14 simple-membership/views/admin_add.php:19 #: simple-membership/views/admin_edit.php:17 #: simple-membership/views/edit.php:12 simple-membership/views/login.php:11 msgid "Password" msgstr "Kodeord" #: simple-membership/views/add.php:18 simple-membership/views/edit.php:16 msgid "Repeat Password" msgstr "Gentag kodeord" #: simple-membership/views/add.php:37 msgid "Register" msgstr "Registrer" #: simple-membership/views/admin_add.php:6 msgid "Add Member" msgstr "Tilmeld medlem" #: simple-membership/views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Tilmeld helt ny bruger til denne hjemmeside." #: simple-membership/views/admin_add.php:11 msgid "User name" msgstr "Brugernavn" #: simple-membership/views/admin_add.php:11 #: simple-membership/views/admin_add.php:15 #: simple-membership/views/admin_add_level.php:11 #: simple-membership/views/admin_add_level.php:15 #: simple-membership/views/admin_add_level.php:19 #: simple-membership/views/admin_edit.php:9 #: simple-membership/views/admin_edit.php:13 #: simple-membership/views/admin_edit_level.php:10 #: simple-membership/views/admin_edit_level.php:14 #: simple-membership/views/admin_edit_level.php:18 msgid "(required)" msgstr "(påkrævet)" #: simple-membership/views/admin_add.php:15 #: simple-membership/views/admin_edit.php:13 msgid "E-mail" msgstr "Email" #: simple-membership/views/admin_add.php:19 msgid "(twice, required)" msgstr "(to gange, påkrævet)" #: simple-membership/views/admin_add.php:24 #: simple-membership/views/admin_edit.php:21 msgid "Strength indicator" msgstr "Styrkeindikator" #: simple-membership/views/admin_add.php:25 #: simple-membership/views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Råd: Kodeordet skal være mindst syv karakterer langt. For at gøre det " "stærkere, brug store og små bogstaver, tal og symboler som ! \" ? $ % ^ " "& )." #: simple-membership/views/admin_add.php:29 #: simple-membership/views/admin_edit.php:26 #: simple-membership/views/loggedin.php:7 msgid "Account Status" msgstr "Kontostatus" #: simple-membership/views/admin_add.php:36 msgid "Add New Member " msgstr "Tilmeld nyt medlem" #: simple-membership/views/admin_addon_settings.php:2 #: simple-membership/views/admin_payment_settings.php:2 #: simple-membership/views/admin_settings.php:2 #: simple-membership/views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership indstillinger" #: simple-membership/views/admin_addon_settings.php:7 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Nogle af de Simple Membership plugin indstillinger vil blive vist her (hvis " "du har dem)." #: simple-membership/views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Opret ny medlemskategori." #: simple-membership/views/admin_add_level.php:11 #: simple-membership/views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "Medlemskategori navn" #: simple-membership/views/admin_add_level.php:15 #: simple-membership/views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "Standard WordPress rolle" #: simple-membership/views/admin_add_level.php:19 #: simple-membership/views/admin_edit_level.php:18 msgid "Access Duration" msgstr "Adgangsvarighed" #: simple-membership/views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Intet udløb (adgang til denne medlemskategori vil ikke udløbe med mindre den " "slettes)." #: simple-membership/views/admin_add_level.php:23 #: simple-membership/views/admin_add_level.php:25 #: simple-membership/views/admin_add_level.php:27 #: simple-membership/views/admin_add_level.php:29 #: simple-membership/views/admin_edit_level.php:22 #: simple-membership/views/admin_edit_level.php:25 #: simple-membership/views/admin_edit_level.php:28 #: simple-membership/views/admin_edit_level.php:31 msgid "Expire After" msgstr "Udløber efter" #: simple-membership/views/admin_add_level.php:24 #: simple-membership/views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "Dage (adgang udløber efter et givent antal dage)" #: simple-membership/views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Uger (adgang udløber efter et givent antal uger)" #: simple-membership/views/admin_add_level.php:28 #: simple-membership/views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "Måneder (adgang udløber efter et givent antal måneder)" #: simple-membership/views/admin_add_level.php:30 #: simple-membership/views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "År (adgang udløber efter et givent antal år)" #: simple-membership/views/admin_add_level.php:31 #: simple-membership/views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "Fast udløbsdato" #: simple-membership/views/admin_add_level.php:32 #: simple-membership/views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(Adgang udløber på en bestemt dato)" #: simple-membership/views/admin_add_level.php:36 msgid "Access to older posts." msgstr "Adgang til ældre indlæg." #: simple-membership/views/admin_add_level.php:39 msgid "Only allow access to posts published after the user's join date." msgstr "Tillad kun adgang til indlæg udgivet efter brugerens indmeldelsesdato." #: simple-membership/views/admin_add_level.php:45 msgid "Add New Membership Level " msgstr "Opret ny medlemskategori." #: simple-membership/views/admin_add_ons_page.php:6 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership :: Plugin" #: simple-membership/views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership :: Kategorier" #: simple-membership/views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Vælg ført global beskyttelse af kategorien på din internetside ved at vælge " "\"General Protection\" fra dropdown boksen nedenfor, og vælg så de " "kategorier som skal beskyttes mod brugere, der ikke er logget ind." #: simple-membership/views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Vælg derefter en eksistererende medlemskategori fra dropdown boksen " "herunder, og vælg så de kategorier du ønsker at give medlemskategorien " "adgang til." #: simple-membership/views/admin_edit.php:5 msgid "Edit Member" msgstr "Ret medlem" #: simple-membership/views/admin_edit.php:6 msgid "Edit existing member details." msgstr "Ret eksisterende medlemsindstillinger." #: simple-membership/views/admin_edit.php:9 #: simple-membership/views/login.php:5 msgid "Username" msgstr "Brugernavn" #: simple-membership/views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(to gange, efterlad tomt for at bevare nuværende kodeord)" #: simple-membership/views/admin_edit.php:33 msgid "Notify User" msgstr "Send besked til bruger" #: simple-membership/views/admin_edit.php:40 msgid "Edit User " msgstr "Ret bruger" #: simple-membership/views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Ret medlemskategori" #: simple-membership/views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "Ret medlemskategori." #: simple-membership/views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Intet udløb (adgang til denne kategori udløber ikke med mindre kategorien " "slettes)." #: simple-membership/views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "Uger (adgang udløber efter et givent antal uger)" #: simple-membership/views/admin_edit_level.php:40 msgid "Protect Older Posts (optional)" msgstr "Beskyt ældre indlæg (valgfrit)" #: simple-membership/views/admin_edit_level.php:43 msgid "" "Only allow access to protected posts published after the members's join date." msgstr "" "Beskyt kun adgang til beskyttede indlæg udgivet efter medlemmets " "indmeldelsesdato." #: simple-membership/views/admin_edit_level.php:51 msgid "Edit Membership Level " msgstr "Ret medlemskategori" #: simple-membership/views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership :: Medlemmer" #: simple-membership/views/admin_members.php:3 #: simple-membership/views/admin_members.php:19 #: simple-membership/views/admin_membership_levels.php:20 msgid "Add New" msgstr "Opret ny" #: simple-membership/views/admin_members.php:9 #: simple-membership/views/admin_membership_levels.php:10 msgid "search" msgstr "søg" #: simple-membership/views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership :: Medlemskategori" #: simple-membership/views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "Medlemskategori" #: simple-membership/views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "Håndter indholdsproduktion" #: simple-membership/views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "Kategoribeskyttelse" #: simple-membership/views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "Eksempel på indstillinger af indholdsbeskyttelse" #: simple-membership/views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Køn" #: simple-membership/views/admin_member_form_common_part.php:30 #: simple-membership/views/edit.php:28 msgid "Phone" msgstr "Telefon" #: simple-membership/views/admin_member_form_common_part.php:34 #: simple-membership/views/edit.php:32 msgid "Street" msgstr "Gade" #: simple-membership/views/admin_member_form_common_part.php:38 #: simple-membership/views/edit.php:36 msgid "City" msgstr "By" #: simple-membership/views/admin_member_form_common_part.php:42 #: simple-membership/views/edit.php:40 msgid "State" msgstr "Stat" #: simple-membership/views/admin_member_form_common_part.php:46 #: simple-membership/views/edit.php:44 msgid "Zipcode" msgstr "Postnummer" #: simple-membership/views/admin_member_form_common_part.php:50 #: simple-membership/views/edit.php:48 msgid "Country" msgstr "Land" #: simple-membership/views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Virksomhed" #: simple-membership/views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Medlem siden" #: simple-membership/views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "PayPal integrationsindstillinger" #: simple-membership/views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Generer \"avancerede muligheder\" kode til din PayPal knap" #: simple-membership/views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Indtast medlemskategori ID" #: simple-membership/views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Generer kode" #: simple-membership/views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "Generer et registrering komplet link" #: simple-membership/views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Du kan generere et registrering komplet link manuelt her og give det til dit " "medlem, hvis medlemmet ikke har emailen, som blev sendt automatisk " "umiddelbart efter betaling." #: simple-membership/views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "Generer registrering komplet link" #: simple-membership/views/admin_tools_settings.php:20 msgid "OR" msgstr "ELLER" #: simple-membership/views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "For alle afventende registreringer" #: simple-membership/views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "Registrering komplet links vil fremgå herunder:" #: simple-membership/views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "Send også email med registreringspåmindelse" #: simple-membership/views/admin_tools_settings.php:34 msgid "Submit" msgstr "Send" #: simple-membership/views/edit.php:58 msgid "Update" msgstr "Opdater" #: simple-membership/views/forgot_password.php:5 msgid "Email Address" msgstr "Email adresse" #: simple-membership/views/forgot_password.php:12 msgid "Reset Password" msgstr "Opdater kodeord" #: simple-membership/views/loggedin.php:3 msgid "Logged in as" msgstr "Logged ind som" #: simple-membership/views/loggedin.php:11 msgid "Membership" msgstr "Medlemskab" #: simple-membership/views/loggedin.php:15 msgid "Account Expiry" msgstr "Kontoudløb" #: simple-membership/views/loggedin.php:19 msgid "Logout" msgstr "Log ud" #: simple-membership/views/login.php:18 msgid "Remember Me" msgstr "Husk mig" #: simple-membership/views/login.php:24 msgid "Forgot Password" msgstr "Glemt kodeord" languages/simple-membership-zh_HK.po000064400000044126147206617610013516 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "POT-Creation-Date: 2014-07-30 17:30+0800\n" "PO-Revision-Date: 2014-07-30 23:09+0800\n" "Last-Translator: \n" "Language-Team: \n" "Language: zh_Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.6.7\n" "X-Poedit-Basepath: .\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.bAdminRegistration.php:48 #: classes/class.bFrontRegistration.php:61 msgid "Registration Successful." msgstr "注册成功" #: classes/class.bAdminRegistration.php:53 #: classes/class.bAdminRegistration.php:72 #: classes/class.bMembershipLevel.php:36 classes/class.bMembershipLevel.php:54 msgid "Please correct the following:" msgstr "请更改以下信息" #: classes/class.bAjax.php:16 classes/class.bAjax.php:28 msgid "Aready taken" msgstr "已被占用" #: classes/class.bAjax.php:29 msgid "Available" msgstr "可以使用" #: classes/class.bAuth.php:47 classes/class.bFrontRegistration.php:176 msgid "User Not Found." msgstr "找不到用户" #: classes/class.bAuth.php:54 msgid "Password Empty or Invalid." msgstr "密码空或者无效" #: classes/class.bAuth.php:78 msgid "Account is inactive." msgstr "账户未激活" #: classes/class.bAuth.php:88 msgid "You are logged in as:" msgstr "您已使用以下身份登陆" #: classes/class.bAuth.php:127 msgid "Logged Out Successfully." msgstr "成功退出登陆" #: classes/class.bAuth.php:169 msgid "Session Expired." msgstr "登陆超时" #: classes/class.bAuth.php:178 msgid "Invalid User Name" msgstr "无效的用户名" #: classes/class.bAuth.php:186 msgid "Bad Cookie Hash" msgstr "坏的Cookie" #: classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "用户名正确,但邮箱错误" #: classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "邮箱正确,但用户名错误" #: classes/class.bForm.php:40 msgid "User name is required" msgstr "请输入用户名" #: classes/class.bForm.php:49 msgid "User name already exists." msgstr "用户名已经存在" #: classes/class.bForm.php:72 msgid "Password is required" msgstr "请输入密码" #: classes/class.bForm.php:79 msgid "Password mismatch" msgstr "密码不符" #: classes/class.bForm.php:95 msgid "Email is required" msgstr "请输入邮箱地址" #: classes/class.bForm.php:99 msgid "Email is invalid" msgstr "邮箱无效" #: classes/class.bForm.php:112 msgid "Email is already used." msgstr "邮箱已经存在" #: classes/class.bForm.php:128 msgid "Phone number is invalid" msgstr "电话号码无效" #: classes/class.bForm.php:174 msgid "Member since field is invalid" msgstr "号码段无效" #: classes/class.bForm.php:185 msgid "Subscription starts field is invalid" msgstr "开始时间字段无效" #: classes/class.bForm.php:195 msgid "Gender field is invalid" msgstr "性别填写无效" #: classes/class.bForm.php:206 msgid "Account state field is invalid" msgstr "账户描述无效" #: classes/class.bFrontRegistration.php:61 msgid "Please" msgstr "请" #: classes/class.bFrontRegistration.php:61 views/login.php:21 msgid "Login" msgstr "登陆" #: classes/class.bFrontRegistration.php:76 #: classes/class.bFrontRegistration.php:155 msgid "Please correct the following" msgstr "请修改以下信息" #: classes/class.bFrontRegistration.php:89 msgid "Membership Level Couldn't be found." msgstr "会员等级不存在" #: classes/class.bFrontRegistration.php:165 msgid "Email Address Not Valid." msgstr "Email地址无效" #: classes/class.bFrontRegistration.php:196 msgid "New password has been sent to your email address." msgstr "新的密码已经发送到您的邮箱" #: classes/class.bLevelForm.php:31 msgid "Subscriptoin duration must be > 0." msgstr "过程必须大于0" #: classes/class.bMembers.php:7 msgid "Member" msgstr "会员" #: classes/class.bMembers.php:8 classes/class.simple-wp-membership.php:439 msgid "Members" msgstr "会员" #: classes/class.bMembers.php:16 classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "ID" #: classes/class.bMembers.php:17 views/add.php:5 views/edit.php:4 #: views/login.php:5 msgid "User Name" msgstr "用户名" #: classes/class.bMembers.php:18 views/add.php:21 #: views/admin_member_form_common_part.php:2 views/edit.php:20 msgid "First Name" msgstr "名" #: classes/class.bMembers.php:19 views/add.php:25 #: views/admin_member_form_common_part.php:6 views/edit.php:24 msgid "Last Name" msgstr "姓" #: classes/class.bMembers.php:20 views/add.php:9 views/edit.php:8 msgid "Email" msgstr "Email" #: classes/class.bMembers.php:21 classes/class.bMembershipLevels.php:8 #: classes/class.bMembershipLevels.php:17 views/add.php:64 #: views/admin_member_form_common_part.php:55 views/edit.php:52 msgid "Membership Level" msgstr "会员等级" #: classes/class.bMembers.php:22 views/admin_member_form_common_part.php:78 msgid "Subscription Starts" msgstr "订阅开始于" #: classes/class.bMembers.php:23 msgid "Account State" msgstr "账户描述" #: classes/class.bMembers.php:35 classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "删除" #: classes/class.bMembers.php:98 msgid "No Member found." msgstr "会员不存在" #: classes/class.bMembershipLevel.php:31 msgid "Membership Level Creation Successful." msgstr "会员等级创建成功" #: classes/class.bMembershipLevel.php:50 msgid "Updated Successfully." msgstr "更新成功" #: classes/class.bMembershipLevels.php:9 #: classes/class.simple-wp-membership.php:441 msgid "Membership Levels" msgstr "会员等级" #: classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "角色" #: classes/class.bMembershipLevels.php:19 msgid "Subscription Valid For" msgstr "订阅有效于" #: classes/class.bSettings.php:28 msgid "Plugin Documentation" msgstr "插件文件" #: classes/class.bSettings.php:30 msgid "General Settings" msgstr "总体设置" #: classes/class.bSettings.php:32 msgid "Enable Free Membership" msgstr "启用免费会员" #: classes/class.bSettings.php:35 msgid "Enable/disable registration for free membership level" msgstr "启用/不启用免费会员注册" #: classes/class.bSettings.php:36 msgid "Free Membership Level ID" msgstr "免费会员等级ID" #: classes/class.bSettings.php:39 msgid "Assign free membership level ID" msgstr "指定免费会员级别ID" #: classes/class.bSettings.php:40 msgid "Hide Adminbar" msgstr "隐藏管理栏" #: classes/class.bSettings.php:43 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WordPress对已经登陆的用户显示管理工具栏,如果你想在网站前端隐藏管理栏请勾选这" "里" #: classes/class.bSettings.php:45 msgid "Pages Settings" msgstr "页面设置" #: classes/class.bSettings.php:47 msgid "Login Page URL" msgstr "登陆页面URL" #: classes/class.bSettings.php:51 msgid "Registration Page URL" msgstr "注册页面URL" #: classes/class.bSettings.php:55 msgid "Join Us Page URL" msgstr "加入页面URL" #: classes/class.bSettings.php:59 msgid "Edit Profile Page URL" msgstr "修改会员信息页面URL" #: classes/class.bSettings.php:63 msgid "Password Reset Page URL" msgstr "更改密码页面URL" #: classes/class.bSettings.php:68 msgid "Test & Debug Settings" msgstr "测试与调试设置" #: classes/class.bSettings.php:74 msgid "Enable Sandbox Testing" msgstr "启用沙盒测试" #: classes/class.bSettings.php:77 msgid "Enable this option if you want to do sandbox payment testing." msgstr "如果你要测试付款方式,请启用沙盒" #: classes/class.bSettings.php:90 msgid "Email Misc. Settings" msgstr "电子邮件杂项设置" #: classes/class.bSettings.php:92 msgid "From Email Address" msgstr "电子邮件来路" #: classes/class.bSettings.php:97 msgid "Email Settings (Prompt to Complete Registration )" msgstr "电子邮件设置(快速完成注册)" #: classes/class.bSettings.php:99 classes/class.bSettings.php:110 #: classes/class.bSettings.php:129 msgid "Email Subject" msgstr "Email标题" #: classes/class.bSettings.php:103 classes/class.bSettings.php:114 #: classes/class.bSettings.php:133 msgid "Email Body" msgstr "Email内容" #: classes/class.bSettings.php:108 msgid "Email Settings (Registration Complete)" msgstr "Email设置(完成注册)" #: classes/class.bSettings.php:118 msgid "Send Notification To Admin" msgstr "给管理员发送通知" #: classes/class.bSettings.php:122 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "管理员添加用户后给用户发送邮件" #: classes/class.bSettings.php:127 msgid " Email Settings (Account Upgrade Notification)" msgstr "Email设置(账户更新信息通知)" #: classes/class.miscUtils.php:51 msgid "Registration" msgstr "注册" #: classes/class.miscUtils.php:74 msgid "Member Login" msgstr "会员登陆" #: classes/class.miscUtils.php:97 msgid "Profile" msgstr "个人资料" #: classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "更改密码" #: classes/class.simple-wp-membership.php:181 msgid "Simple WP Membership Protection" msgstr "会员保护" #: classes/class.simple-wp-membership.php:194 msgid "Simple Membership Protection options" msgstr "会员保护选项" #: classes/class.simple-wp-membership.php:210 msgid "Do you want to protect this content?" msgstr "你是否需要保护这个内容" #: classes/class.simple-wp-membership.php:215 msgid "Select the membership level that can access this content:" msgstr "选择可以查看该内容的会员等级" #: classes/class.simple-wp-membership.php:347 msgid "Display SWPM Login." msgstr "显示SWPM登陆" #: classes/class.simple-wp-membership.php:349 msgid "SWPM Login" msgstr "SWPM登陆" #: classes/class.simple-wp-membership.php:436 msgid "WP Membership" msgstr "WP会员" #: classes/class.simple-wp-membership.php:443 msgid "Settings" msgstr "设置" #: views/add.php:13 views/admin_member_form_common_part.php:45 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "密码" #: views/add.php:17 views/edit.php:16 msgid "Repeat Password" msgstr "重复密码" #: views/add.php:29 views/admin_member_form_common_part.php:10 msgid "Gender" msgstr "性别" #: views/add.php:36 views/admin_member_form_common_part.php:17 #: views/edit.php:28 msgid "Phone" msgstr "电话" #: views/add.php:40 views/admin_member_form_common_part.php:21 #: views/edit.php:32 msgid "Street" msgstr "街道" #: views/add.php:44 views/admin_member_form_common_part.php:25 #: views/edit.php:36 msgid "City" msgstr "城市" #: views/add.php:48 views/admin_member_form_common_part.php:29 #: views/edit.php:40 msgid "State" msgstr "省份" #: views/add.php:52 views/admin_member_form_common_part.php:33 #: views/edit.php:44 msgid "Zipcode" msgstr "邮编" #: views/add.php:56 views/admin_member_form_common_part.php:37 #: views/edit.php:48 msgid "Country" msgstr "国家" #: views/add.php:60 views/admin_member_form_common_part.php:41 msgid "Company" msgstr "公司" #: views/add.php:71 msgid "Register" msgstr "注册" #: views/admin_add.php:6 msgid "Add Member" msgstr "添加会员" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "给网站创建一个新用户" #: views/admin_add.php:11 msgid "User name" msgstr "用户名" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 #: views/admin_edit_level.php:10 views/admin_edit_level.php:14 #: views/admin_edit_level.php:18 msgid "(required)" msgstr "必填" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "Add New Member " msgstr "添加新会员" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "创建新会员等级" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "会员等级名" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "默认的WP角色" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Subscription Duration" msgstr "有效期" #: views/admin_add_level.php:26 views/admin_edit_level.php:27 msgid "No Expiry" msgstr "不失效" #: views/admin_add_level.php:55 msgid "Add New Membership Level " msgstr "添加新的会员等级" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "修改会员" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "修改已存在用户信息" #: views/admin_edit.php:9 msgid "Username" msgstr "用户名" #: views/admin_edit.php:17 msgid "Edit User " msgstr "修改用户" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "修改会员等级" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "修改会员等级" #: views/admin_edit_level.php:54 msgid "Edit Membership Level " msgstr "修改会员等级" #. translators: password input field #: views/admin_member_form_common_part.php:45 msgid "(twice, required)" msgstr "2次,必填" #: views/admin_member_form_common_part.php:50 msgid "Strength indicator" msgstr "强度指示器" #: views/admin_member_form_common_part.php:51 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "密码最少7个字符,为保证密码强度,请使用大小写字母,数字和例如! \" ? $ % ^ " "&的符号" #: views/admin_member_form_common_part.php:64 views/loggedin.php:7 #: views/login_widget_logged.php:6 msgid "Account Status" msgstr "账户状态" #: views/admin_member_form_common_part.php:66 msgid "Active" msgstr "激活" #: views/admin_member_form_common_part.php:67 msgid "Inactive" msgstr "未激活" #: views/admin_member_form_common_part.php:68 msgid "Pending" msgstr "待定" #: views/admin_member_form_common_part.php:69 msgid "Expired" msgstr "失效" #: views/admin_member_form_common_part.php:74 msgid "Member Since" msgstr "会员自" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "会员等级:会员" #: views/admin_members.php:3 views/admin_members.php:19 #: views/admin_membership_levels.php:21 msgid "Add New" msgstr "添加新的" #: views/admin_members.php:9 views/admin_membership_levels.php:11 msgid "search" msgstr "搜索" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "会员等级" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "管理内容制作" #: views/admin_membership_levels.php:3 msgid "Simple WP Membership::Membership Levels" msgstr "会员:会员等级" #: views/admin_membership_levels.php:4 msgctxt "Level" msgid "Add New" msgstr "添加新等级" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "内容保护设置例子" #: views/admin_payment_settings.php:2 views/admin_settings.php:2 #: views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "会员:设置" #: views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "Paypal集成设置" #: views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "您的PayPal按钮产生高级变量代码" #: views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "输入会员等级ID" #: views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "生成代码" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "生成注册完成链接" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "如果你的用户在完成付款后没收到自动生成的邮件,那么你可以在这里手动生成注册完" "成链接,并发送给你的用户" #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "生成注册完成链接" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "或者" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "对于所有待定的注册" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "注册完成链接会出现在:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "同时发送注册提醒邮件" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "提交" #: views/edit.php:58 msgid "Update" msgstr "更新" #: views/forgot_password.php:5 msgid "Email Address" msgstr "Email地址" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "重置密码" #: views/loggedin.php:3 views/login_widget_logged.php:3 msgid "Logged in as" msgstr "以以下身份登陆" #: views/loggedin.php:11 views/login_widget_logged.php:9 msgid "Membership" msgstr "会员" #: views/loggedin.php:15 views/login_widget_logged.php:13 msgid "Logout" msgstr "退出登陆" #: views/login.php:17 msgid "Remember Me" msgstr "记住这个身份" #: views/login.php:26 msgid "Forgot Password" msgstr "忘记密码" #: views/login.php:30 msgid "Join Us" msgstr "加入会员" languages/simple-membership-zh_CN.po000064400000044126147206617610013514 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "POT-Creation-Date: 2014-07-30 17:30+0800\n" "PO-Revision-Date: 2014-07-30 23:09+0800\n" "Last-Translator: \n" "Language-Team: \n" "Language: zh_Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.6.7\n" "X-Poedit-Basepath: .\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.bAdminRegistration.php:48 #: classes/class.bFrontRegistration.php:61 msgid "Registration Successful." msgstr "注册成功" #: classes/class.bAdminRegistration.php:53 #: classes/class.bAdminRegistration.php:72 #: classes/class.bMembershipLevel.php:36 classes/class.bMembershipLevel.php:54 msgid "Please correct the following:" msgstr "请更改以下信息" #: classes/class.bAjax.php:16 classes/class.bAjax.php:28 msgid "Aready taken" msgstr "已被占用" #: classes/class.bAjax.php:29 msgid "Available" msgstr "可以使用" #: classes/class.bAuth.php:47 classes/class.bFrontRegistration.php:176 msgid "User Not Found." msgstr "找不到用户" #: classes/class.bAuth.php:54 msgid "Password Empty or Invalid." msgstr "密码空或者无效" #: classes/class.bAuth.php:78 msgid "Account is inactive." msgstr "账户未激活" #: classes/class.bAuth.php:88 msgid "You are logged in as:" msgstr "您已使用以下身份登陆" #: classes/class.bAuth.php:127 msgid "Logged Out Successfully." msgstr "成功退出登陆" #: classes/class.bAuth.php:169 msgid "Session Expired." msgstr "登陆超时" #: classes/class.bAuth.php:178 msgid "Invalid User Name" msgstr "无效的用户名" #: classes/class.bAuth.php:186 msgid "Bad Cookie Hash" msgstr "坏的Cookie" #: classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "用户名正确,但邮箱错误" #: classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "邮箱正确,但用户名错误" #: classes/class.bForm.php:40 msgid "User name is required" msgstr "请输入用户名" #: classes/class.bForm.php:49 msgid "User name already exists." msgstr "用户名已经存在" #: classes/class.bForm.php:72 msgid "Password is required" msgstr "请输入密码" #: classes/class.bForm.php:79 msgid "Password mismatch" msgstr "密码不符" #: classes/class.bForm.php:95 msgid "Email is required" msgstr "请输入邮箱地址" #: classes/class.bForm.php:99 msgid "Email is invalid" msgstr "邮箱无效" #: classes/class.bForm.php:112 msgid "Email is already used." msgstr "邮箱已经存在" #: classes/class.bForm.php:128 msgid "Phone number is invalid" msgstr "电话号码无效" #: classes/class.bForm.php:174 msgid "Member since field is invalid" msgstr "号码段无效" #: classes/class.bForm.php:185 msgid "Subscription starts field is invalid" msgstr "开始时间字段无效" #: classes/class.bForm.php:195 msgid "Gender field is invalid" msgstr "性别填写无效" #: classes/class.bForm.php:206 msgid "Account state field is invalid" msgstr "账户描述无效" #: classes/class.bFrontRegistration.php:61 msgid "Please" msgstr "请" #: classes/class.bFrontRegistration.php:61 views/login.php:21 msgid "Login" msgstr "登陆" #: classes/class.bFrontRegistration.php:76 #: classes/class.bFrontRegistration.php:155 msgid "Please correct the following" msgstr "请修改以下信息" #: classes/class.bFrontRegistration.php:89 msgid "Membership Level Couldn't be found." msgstr "会员等级不存在" #: classes/class.bFrontRegistration.php:165 msgid "Email Address Not Valid." msgstr "Email地址无效" #: classes/class.bFrontRegistration.php:196 msgid "New password has been sent to your email address." msgstr "新的密码已经发送到您的邮箱" #: classes/class.bLevelForm.php:31 msgid "Subscriptoin duration must be > 0." msgstr "过程必须大于0" #: classes/class.bMembers.php:7 msgid "Member" msgstr "会员" #: classes/class.bMembers.php:8 classes/class.simple-wp-membership.php:439 msgid "Members" msgstr "会员" #: classes/class.bMembers.php:16 classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "ID" #: classes/class.bMembers.php:17 views/add.php:5 views/edit.php:4 #: views/login.php:5 msgid "User Name" msgstr "用户名" #: classes/class.bMembers.php:18 views/add.php:21 #: views/admin_member_form_common_part.php:2 views/edit.php:20 msgid "First Name" msgstr "名" #: classes/class.bMembers.php:19 views/add.php:25 #: views/admin_member_form_common_part.php:6 views/edit.php:24 msgid "Last Name" msgstr "姓" #: classes/class.bMembers.php:20 views/add.php:9 views/edit.php:8 msgid "Email" msgstr "Email" #: classes/class.bMembers.php:21 classes/class.bMembershipLevels.php:8 #: classes/class.bMembershipLevels.php:17 views/add.php:64 #: views/admin_member_form_common_part.php:55 views/edit.php:52 msgid "Membership Level" msgstr "会员等级" #: classes/class.bMembers.php:22 views/admin_member_form_common_part.php:78 msgid "Subscription Starts" msgstr "订阅开始于" #: classes/class.bMembers.php:23 msgid "Account State" msgstr "账户描述" #: classes/class.bMembers.php:35 classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "删除" #: classes/class.bMembers.php:98 msgid "No Member found." msgstr "会员不存在" #: classes/class.bMembershipLevel.php:31 msgid "Membership Level Creation Successful." msgstr "会员等级创建成功" #: classes/class.bMembershipLevel.php:50 msgid "Updated Successfully." msgstr "更新成功" #: classes/class.bMembershipLevels.php:9 #: classes/class.simple-wp-membership.php:441 msgid "Membership Levels" msgstr "会员等级" #: classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "角色" #: classes/class.bMembershipLevels.php:19 msgid "Subscription Valid For" msgstr "订阅有效于" #: classes/class.bSettings.php:28 msgid "Plugin Documentation" msgstr "插件文件" #: classes/class.bSettings.php:30 msgid "General Settings" msgstr "总体设置" #: classes/class.bSettings.php:32 msgid "Enable Free Membership" msgstr "启用免费会员" #: classes/class.bSettings.php:35 msgid "Enable/disable registration for free membership level" msgstr "启用/不启用免费会员注册" #: classes/class.bSettings.php:36 msgid "Free Membership Level ID" msgstr "免费会员等级ID" #: classes/class.bSettings.php:39 msgid "Assign free membership level ID" msgstr "指定免费会员级别ID" #: classes/class.bSettings.php:40 msgid "Hide Adminbar" msgstr "隐藏管理栏" #: classes/class.bSettings.php:43 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "WordPress对已经登陆的用户显示管理工具栏,如果你想在网站前端隐藏管理栏请勾选这" "里" #: classes/class.bSettings.php:45 msgid "Pages Settings" msgstr "页面设置" #: classes/class.bSettings.php:47 msgid "Login Page URL" msgstr "登陆页面URL" #: classes/class.bSettings.php:51 msgid "Registration Page URL" msgstr "注册页面URL" #: classes/class.bSettings.php:55 msgid "Join Us Page URL" msgstr "加入页面URL" #: classes/class.bSettings.php:59 msgid "Edit Profile Page URL" msgstr "修改会员信息页面URL" #: classes/class.bSettings.php:63 msgid "Password Reset Page URL" msgstr "更改密码页面URL" #: classes/class.bSettings.php:68 msgid "Test & Debug Settings" msgstr "测试与调试设置" #: classes/class.bSettings.php:74 msgid "Enable Sandbox Testing" msgstr "启用沙盒测试" #: classes/class.bSettings.php:77 msgid "Enable this option if you want to do sandbox payment testing." msgstr "如果你要测试付款方式,请启用沙盒" #: classes/class.bSettings.php:90 msgid "Email Misc. Settings" msgstr "电子邮件杂项设置" #: classes/class.bSettings.php:92 msgid "From Email Address" msgstr "电子邮件来路" #: classes/class.bSettings.php:97 msgid "Email Settings (Prompt to Complete Registration )" msgstr "电子邮件设置(快速完成注册)" #: classes/class.bSettings.php:99 classes/class.bSettings.php:110 #: classes/class.bSettings.php:129 msgid "Email Subject" msgstr "Email标题" #: classes/class.bSettings.php:103 classes/class.bSettings.php:114 #: classes/class.bSettings.php:133 msgid "Email Body" msgstr "Email内容" #: classes/class.bSettings.php:108 msgid "Email Settings (Registration Complete)" msgstr "Email设置(完成注册)" #: classes/class.bSettings.php:118 msgid "Send Notification To Admin" msgstr "给管理员发送通知" #: classes/class.bSettings.php:122 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "管理员添加用户后给用户发送邮件" #: classes/class.bSettings.php:127 msgid " Email Settings (Account Upgrade Notification)" msgstr "Email设置(账户更新信息通知)" #: classes/class.miscUtils.php:51 msgid "Registration" msgstr "注册" #: classes/class.miscUtils.php:74 msgid "Member Login" msgstr "会员登陆" #: classes/class.miscUtils.php:97 msgid "Profile" msgstr "个人资料" #: classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "更改密码" #: classes/class.simple-wp-membership.php:181 msgid "Simple WP Membership Protection" msgstr "会员保护" #: classes/class.simple-wp-membership.php:194 msgid "Simple Membership Protection options" msgstr "会员保护选项" #: classes/class.simple-wp-membership.php:210 msgid "Do you want to protect this content?" msgstr "你是否需要保护这个内容" #: classes/class.simple-wp-membership.php:215 msgid "Select the membership level that can access this content:" msgstr "选择可以查看该内容的会员等级" #: classes/class.simple-wp-membership.php:347 msgid "Display SWPM Login." msgstr "显示SWPM登陆" #: classes/class.simple-wp-membership.php:349 msgid "SWPM Login" msgstr "SWPM登陆" #: classes/class.simple-wp-membership.php:436 msgid "WP Membership" msgstr "WP会员" #: classes/class.simple-wp-membership.php:443 msgid "Settings" msgstr "设置" #: views/add.php:13 views/admin_member_form_common_part.php:45 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "密码" #: views/add.php:17 views/edit.php:16 msgid "Repeat Password" msgstr "重复密码" #: views/add.php:29 views/admin_member_form_common_part.php:10 msgid "Gender" msgstr "性别" #: views/add.php:36 views/admin_member_form_common_part.php:17 #: views/edit.php:28 msgid "Phone" msgstr "电话" #: views/add.php:40 views/admin_member_form_common_part.php:21 #: views/edit.php:32 msgid "Street" msgstr "街道" #: views/add.php:44 views/admin_member_form_common_part.php:25 #: views/edit.php:36 msgid "City" msgstr "城市" #: views/add.php:48 views/admin_member_form_common_part.php:29 #: views/edit.php:40 msgid "State" msgstr "省份" #: views/add.php:52 views/admin_member_form_common_part.php:33 #: views/edit.php:44 msgid "Zipcode" msgstr "邮编" #: views/add.php:56 views/admin_member_form_common_part.php:37 #: views/edit.php:48 msgid "Country" msgstr "国家" #: views/add.php:60 views/admin_member_form_common_part.php:41 msgid "Company" msgstr "公司" #: views/add.php:71 msgid "Register" msgstr "注册" #: views/admin_add.php:6 msgid "Add Member" msgstr "添加会员" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "给网站创建一个新用户" #: views/admin_add.php:11 msgid "User name" msgstr "用户名" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 #: views/admin_edit_level.php:10 views/admin_edit_level.php:14 #: views/admin_edit_level.php:18 msgid "(required)" msgstr "必填" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "Add New Member " msgstr "添加新会员" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "创建新会员等级" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "会员等级名" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "默认的WP角色" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Subscription Duration" msgstr "有效期" #: views/admin_add_level.php:26 views/admin_edit_level.php:27 msgid "No Expiry" msgstr "不失效" #: views/admin_add_level.php:55 msgid "Add New Membership Level " msgstr "添加新的会员等级" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "修改会员" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "修改已存在用户信息" #: views/admin_edit.php:9 msgid "Username" msgstr "用户名" #: views/admin_edit.php:17 msgid "Edit User " msgstr "修改用户" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "修改会员等级" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "修改会员等级" #: views/admin_edit_level.php:54 msgid "Edit Membership Level " msgstr "修改会员等级" #. translators: password input field #: views/admin_member_form_common_part.php:45 msgid "(twice, required)" msgstr "2次,必填" #: views/admin_member_form_common_part.php:50 msgid "Strength indicator" msgstr "强度指示器" #: views/admin_member_form_common_part.php:51 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "密码最少7个字符,为保证密码强度,请使用大小写字母,数字和例如! \" ? $ % ^ " "&的符号" #: views/admin_member_form_common_part.php:64 views/loggedin.php:7 #: views/login_widget_logged.php:6 msgid "Account Status" msgstr "账户状态" #: views/admin_member_form_common_part.php:66 msgid "Active" msgstr "激活" #: views/admin_member_form_common_part.php:67 msgid "Inactive" msgstr "未激活" #: views/admin_member_form_common_part.php:68 msgid "Pending" msgstr "待定" #: views/admin_member_form_common_part.php:69 msgid "Expired" msgstr "失效" #: views/admin_member_form_common_part.php:74 msgid "Member Since" msgstr "会员自" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "会员等级:会员" #: views/admin_members.php:3 views/admin_members.php:19 #: views/admin_membership_levels.php:21 msgid "Add New" msgstr "添加新的" #: views/admin_members.php:9 views/admin_membership_levels.php:11 msgid "search" msgstr "搜索" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "会员等级" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "管理内容制作" #: views/admin_membership_levels.php:3 msgid "Simple WP Membership::Membership Levels" msgstr "会员:会员等级" #: views/admin_membership_levels.php:4 msgctxt "Level" msgid "Add New" msgstr "添加新等级" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "内容保护设置例子" #: views/admin_payment_settings.php:2 views/admin_settings.php:2 #: views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "会员:设置" #: views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "Paypal集成设置" #: views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "您的PayPal按钮产生高级变量代码" #: views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "输入会员等级ID" #: views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "生成代码" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "生成注册完成链接" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "如果你的用户在完成付款后没收到自动生成的邮件,那么你可以在这里手动生成注册完" "成链接,并发送给你的用户" #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "生成注册完成链接" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "或者" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "对于所有待定的注册" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "注册完成链接会出现在:" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "同时发送注册提醒邮件" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "提交" #: views/edit.php:58 msgid "Update" msgstr "更新" #: views/forgot_password.php:5 msgid "Email Address" msgstr "Email地址" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "重置密码" #: views/loggedin.php:3 views/login_widget_logged.php:3 msgid "Logged in as" msgstr "以以下身份登陆" #: views/loggedin.php:11 views/login_widget_logged.php:9 msgid "Membership" msgstr "会员" #: views/loggedin.php:15 views/login_widget_logged.php:13 msgid "Logout" msgstr "退出登陆" #: views/login.php:17 msgid "Remember Me" msgstr "记住这个身份" #: views/login.php:26 msgid "Forgot Password" msgstr "忘记密码" #: views/login.php:30 msgid "Join Us" msgstr "加入会员" languages/simple-membership-et_EE.mo000064400000057552147206617610013500 0ustar00", <P.QD    +2D Tby  > EPXh M@Y%p    2 ?IZ kx*-9IQW0_0+2 A$Mr y   ,7L[1{&  # 5 R i  [ = 5!!i"R"#" " ## #)# 8#C# $$=$M$f$y$$$ $%$'$=% C%Q%%%&&&&&&' ' ('2' K'X'^'m't'' '' '!''' ((#"(%F(l((((4((()1)K)P)@)A;*}**&* * ****+ +&+5+M+b+#t+ ++(+++ , ,1,B,K,S,Y,`,},,,,,X,C-Y- b-0o--- --- -. . ..1./8.*h. . ...3. /9/3/0$)0N0_0t00000$00131 Q1r1'11k1!C2e22222 2222C38J3333J33 44*4:4Q4Z4#s44 4 41424,55L6L627N7d7!{7L737838(9S/99?9999:*;>; ;<(< 7<8A<z<<< < <<= = .=<=N=e=== ======>>*>G;>9>>&>>? ?!?"8?[?d??? ???? ? ??@. @ O@7Y@8@ @@@9@A/A8A=XAAAA A AAB BB1BLB#\BBBBBB BBB& C93C)mCC!C"CCD#DBDWDtDSDAD$EEaFL|FF FFF G G'G/GG! H.H@HZHqHvHHH1H3H9IIIeI JJJJJJK%K8KXKaKqKK KK KKKKK LL%:L `L jL vLL"LLLL M7MGM#LM pM+}MMMBYN>NNN/O3ODOVO[OnO}O OOOOO&O!P8P%UP {P PP PPPPPPPPQ4QLQTQRnQQQ Q:Q7RPRlR ~RRRRRRRR2R2S OS ZSdS~S1SS5hT5TT0TU-UFU`U{UUU$UUU V!,VNV(nVVTV& W0WNW VWbWvW ~WWWWDW4X MX ZXeXSXXXX YY =YJY,jYYY Y?YK ZXZ[][\ \;g\\\$\G\0A]r]4/^@d^M^^5_<_ Y_e_[",a! 0{Qk$Cgfs\}- zIP<nmX^d _x:!V`J Fjc B~7R; AW)%lyv + ?4t G 6hET&]LZr9YO./1 D=*"Mu2w'>8|oHNi@U#eSqpb35(K Email Settings (Account Upgrade Notification) The rest of the content is not permitted for your membership level.%1$s %2$d%s pending(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.AmountApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton ShortcodeButton TitleBuy NowCategory ProtectionCategory protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Example Content Protection SettingsExcerpt ViewExpire AfterExpiredExpiry: Filter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameList ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameName contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.No items found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease correct the followingPlease correct the following:Please login again.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful. Remember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSave ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email tooSession Expired.Set Status to ActiveSet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!Simple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content can only be viewed by members who joined on or before This content is not permitted for your membership level.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUpdated Successfully.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredView ProfileWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not logged in.You are not logged-in as a memberYou can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: ZipcodesearchProject-Id-Version: simple membership POT-Creation-Date: 2016-08-23 22:57+0300 PO-Revision-Date: 2016-08-25 20:14+0300 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.8 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=2; plural=(n != 1); Language: et X-Poedit-SearchPath-0: . E-kirja seaded (konto uuendamise teavitus) Ülejäänud sisu ei ole kättesaadav sinu kasutaja tasemele.%1$s %2$d%s ootel(ligipääs katkeb märgitud kuupäeval)(nõutav)(veelkord - jäta tühjaks, et säilitada senine parool)(uuesti, nõutav)Ligipääsu kestusLigipääs algabLigipääs on kehtiv alates/kuniLigipäsu kestus peab olema > 0.Kasutusõiguse algus on viganeKonto kehtivusKonto staatusKonto staatusKonto on aegunud.Konto ei ole aktiivne.Konto on kinnituse ootel.Konto staatuse väli on viganeActiveLisa kasutajaLisa uusLisa uus kasutaja Lisa uus kasutaja taseLisandidLisandite seadedAdmini e-posti aadressTäiendavad seadedKõik kuupäevadKõik liikmelisuse nupud, mille oled loonud pluginast, on kuvatud siin.Kõik sinu kasutajate maksed/tehingus salvestatakse siia.Luba konto kustutamistLuba kasutajatel kustutada oma kontot.KogusKinnitaJuba võetudMäära vaba kasutamise taseme IDAutomaatne ootel konto kustutamineSaadavalMakse summa igakordne tsükkelMakse tsükkelMakse tsükli arvMasstegevusedNupu IDNupu pildi URLNupu lühikoodNupu nimetusOsta nüüdKategooria kaitseKategooria kaitse uuendatud!Märgi see valik, et lubada silumise logimine.Linn/valdKliki siia, et viia lõpule oma makstud registreerimineKliki alloleval viitel, et viia registreerimine lõpule.EttevõteHulkRiikLoo täiesti uus kasutaja ja lisa ta sellele veebilehele.Loo uus kasutaja tase.KuupäevKuupäeva formaat ei ole sobiv.päeva pärast (ligipääs katkeb märgitud päevade pärast)Vaikimisi konto staatusVaikimisi Wordpressi rollKustutaKustuta kontoKirjeldusKas tahad seda sisu kaitsta?E-postMuuda kasutajatMuuda kasutaja tasetProfiili muutmise lehe URLMuuda kasutajatMuuda olemasoleva kasutaja andmeid.Muuda kasutaja tasetMuuda kasutaja taset.E-postE-posti aadressE-posti aadress: E-kirja sisuMitmesugused e-kirja seadedE-posti seadedE-kirja seaded (parooli lähtestamine)E-posti seaded (ajendamaks registreerumist lõpule viima)E-kirja seaded (registreerumine läbitud)E-kirja teemaridaE-posti aadress ei ole korrektne.E-posti aadress on juba kasutusel.E-posti aadress on viganeE-posti aadress on nõutavLuba aegunud konto ligipääsuLuba vaba kasutamistLuba “Veel” sildi kaitseLuba liivakasti testimineMäära see valik, kui soovid, et admin saaks teavituse, kui kasutaja registreerus.Luba see valik, kui soovid teostada liivakasti maksete testimist.Luba/keela registreerimine vaba kasutamise tasemele. Kui lubad seda valikut veendu, et määrad vaba kasutamise kasutaja taseme ID allolevas lahtris.Lubab või keelab “Veel” sildi kaitse postitustes ja lehtedel. Kõik pärast “Veel” silti on kaitstud. Kõik, mis on enne “Veel” silti, on sissejuhatatus.Sisesta kasutaja taseme IDSisesta e-posti aadress, kuhu sa tahad, et admin e-kirja teavitus saadetaks.Näidissisu kaitse seadedKatkend vaadeLõpetaAegunudKehtivus: Filtreeri kuupäeva järgiEesnimiEsiteks kaitse globaalselt oma veebilehe kategooriat, valides allolevast rippmenüüst “Peamine kaitse” ja siis vali kategooriad, mis peaksid olema kaitstud mitte sisseloginud kasutajate jaoks.Konkreetse kuupäevaniKõigile ootel registreerumisteleUnustasid parooliVaba kasutamise taseme IDSaatja e-posti aadressSuguSoo väli on viganePeamised seadedGenereeri koodGenereeri registreerimise lõpliku kinnituse linkGenereeri registreerimise lõpliku kinnitamise linkGenereeri "Advanced Variables" kood oma PayPal nupu jaoksPeida admin tööriistaribaVihje: Parool peab olema vähemalt 7 tähemärki pikk. Et muuta seda veelgi tugevamaks, kasuta suur- ja väiketähti, numbreid ja sümboleid, nagu ! " ? $ % ^ & ).IDKui sa oled äsja teinud kasutajaks saamise makse, siis sinu makse on veel töötluses. Palun vaata uuesti mõne minuti pärast. Sulle saabub peagi e-kiri, koos edasiste juhistega.InactiveVigane e-posti aadressVigane kasutajanimiVigane kasutaja taseTäida liitumisavaldusLiitumise lehe URLViimati kasutatud IP-aadressiltPerenimiNimekirja vaadeEdukalt välja logitud.Sisseloginud kuiLogi sisseSisselogimise lehe URLLogi väljaHalda sisu loometKasutajaKasutaja sisselogimineKasutaja profiilKasutaja alatesKasutaja kanne lisati edukalt.Kasutaja liikmelisuse algus on viganeKasutajadLiikmelisusKasutaja taseKasutaja taset ei leitud.Kasutaja taseme loomine õnnestus.Kasutaja taseme IDKasutajate taseme nimetusKasutajate tasemedKasutaja tasekuu pärast (ligipääs katkeb märgitud kuude pärast)NimiNimi sisaldab lubamatut tähemärkiMitte kunagiUus parool saadeti sinu e-posti aadressile.EdasiJärgmiseks vali olemasolev kasutaja tase allolevast rippmenüüst ja siis vali kategooriad, et võimaldada neile ligipääsu (sellele konkreetsele kasutajate tasemele).Ei aegu (selle taseme ligipääs ei aegu, kuniks see katkestatakseEi aegu (ligipääs sel tasemel ei aegu, kuniks katkestatakse)Kasutajat ei leitud.Üksusi ei leitud.Sellise e-posti aadressiga kasutajat ei leitud.Ei ole kasutaja?Teavita kasutajatVÕIValikulised andmedLehtede seadedParoolParool on täitmata või vigane.Parooli tühistamineParooli vahetamise lehe URLParool on nõutavParoolid ei kattuPayPal Osta KOhe nupu konfigureeriminePayPal e-posti aadressPayPal integratsiooni seadedPayPal tellimuse nupu konfiguratsioonMakse summaMakse nupu IDMakse nupu nimetusMakse valuutaMaksete seadedMaksedPendingTelefonPalunPalun korrigeeri järgnevatPalun korrigeeri järgnevat:Palun logi uuesti sisse.Plugina dokumentatsioonProfiilProfiil uuendati edukalt.Profiil uuendati edukalt. Sa pead uuesti sisselogima, sest sa muutsid oma parooli.Ebaõnnestumisel proovi uuestiRegistreerumineRegistreeruRegistreerimise lõpliku kinnituse lingid ilmuvad allpool:Registreerimise lehe URLregistreerimine õnnestus. Jäta mind meeldeKorda parooliLähtesta paroolTagasituleku URLRollRea IDSalvesta muudatusedSalvesta makse andmedOtsiOtsi tehingut kasutades e-posti aadressi või nimeTurvakontroll: captcha valideerimine ebaõnnestus.Vali kõikVali lehtVali maksmise nupu tüüpVali masstegevusVali, kui kaua soovid hoida “Pending” kontot.Vali vaikimisi konto staatus uutele registreerujatele. Kui soovid manuaalselt kinnitada uute kasutajate registreerumisi, siis võid märkida staatuseks “Pending”.Vali kasutajate tase, kes saavad sellele sisule ligi:Saada e-kiri kasutajale, kui see lisati admin pooleltSaada teavitus adminileSaada registreerimise meeldetuletuse e-kirjad kaSessioon aegus.Määra staatus - ActiveMäära staatus - ExpiredMäära staatus - InactiveMäära staatus - PendingSeadedSeaded uuendatud!Simple Membership Protection valikudSimple Membership::MaksedSimple WP Membership ProtectionSimple WP Membership::LisandidSimple WP Membership::KategooriadSimple WP Membership::KasutajadSimple WP Membership::Kasutajate tasemedSimple WP Membership::SeadedMõned Simple Membership plugina seaded ja valikud on kuvatud siin (kui sul on neid)Vabandust, kontrollimine ebaõnnestus.Vabandust, paroolid ei kattu.MaakondTänav/taluTugevuse indikaatorKinnitaLiitu nüüdTellija ID/viideTestimise ja silumise seadedValitud kirje kustutatud!See sisu on nähtav ainult kasutajatele, kes on varasemalt liitunud See sisu ei ole kättesaadav sinu kasutaja tasemele.TööriistadTehingu IDKatselise makse perioodi summaKatselise perioodi makse andmed (jäta tühjaks, kui sa ei paku katselist perioodi)Katselise makse perioodUuendaEdukalt uuendatud.Kasutajat ei leitud.Kasutaja ei ole sisseloginud.KasutajanimiKasutajanimi on juba kasutusel.Kasutajanimi sisaldab lubamatuid tähemärkeKasutajanimi on nõutavVaata profiiliWP Membershipnädala pärast (ligipääs katkeb märgitud nädalate pärast)nädala pärast (ligipääs aegub pärast sisestatud nädalate möödumist)Kui see on lubatud, siis aegunud kontoga kasutajad saavad süsteemi sisselogida, aga ei näe kaitstud sisu. See võimaldab neil lihtsalt uuendada oma kontot, tehes selle eest uue makse.Wordpress kuvab veebilehel admin tööriistariba sisseloginud kasutajatele. Märgista see kastike, kui soovid selle riba peita veebilehe avalikus pooles.Sellise e-posti aadressiga konto on Wordpressis olemas. Aga sisestatud kasutajanimi ei kattu.Sellise kasutajanimega konto on Wordpressis olemas. Aga sisestatud e-posti aadress ei kattu.aasta pärast (ligipääs katkeb märgitud aastate pärast)Oled sisseloginud, kui: Sa ei ole sisseloginud.Sa ei ole sisseloginud, kui kasutajaSaad luua uue maksmise nupu oma liikmelisusele, kasutades seda liidest.Saad muuta makmise nuppu kasutades seda liidest.Siit saad manuaalselt genereerida registreerimise lõpliku kinnituse lingi ja anda selle oma kliendile, kui nad on kaotanud neile automaatselt saadetud e-kirja, mis saadeti pärast makset.Pead olema sisse loginud, et näha järgnevat sisu. Selle lehekülje sisu nägemiseks pead olema sisseloginud.
Sinu konto on aegunud. Palun uuenda oma kontot, et saada ligi sellele sisule.Sinu kehtiv paroolSinu kasutaja profiili uuendatakse kajastades makset.Sinu profiili kasutajanimi: Postiindeksotsilanguages/simple-membership-pt_BR.mo000064400000062365147206617610013523 0ustar00!$ ,@.ADp   +* :H_| $ +6>Nhp M@?%V|     %/@ Q^fz*-9/7=0Ev0 '$3X _k   2A1a&   8 O j [ = !!O"Rm"#" " ""## #)##$#$3$L$_$f$~$ $%$'$=$ )%7%%%&&&&&&& ' '' 1'>'D'S'Z't' {'' '!''' ''#(%,(R(f(|((4((((1(1)6)@)A!*c*t*&* * ****** ++3+H+#Z+ ~++(++++,,(,1,9,?,F,c,,,,,X,)-?- H-0U--- --- --- -../.*N. y. ...3..9/3//$040E0Z0p0000$0001 71X1'v11k1!)2K2i2o2v22 2222C2803i3o3~3J33334 474@4#Y4}4 4 4142455Lg6L62747J7!a7L737838(8S9i9?99999<;N; 5<$B<g<8v<<<< <1=)C=m======&==>>%>!;>]>e>#>>>J>J?!d?.? ???1?@ 6@B@Z@m@@ @@@@ @@#AH2A{A5A2AAAA3B6BTB#YB8}BBBB B C*C9C?COC iCC&CCCCCD"D1DQD1jD8D.DEE2EQEnE!E!EEEsFP|FFG"AHcdH6H H II "I.I ?IMI+J!DJfJyJJJJJ J$J'KA>K"KKHLKL MM8MTM qM*~MM M MM M M N#N!(NJNSNeNxN+N%N NNNN,OIObO}OO;OO"OP)P8PAPNPQFQQQQ.QR(R+R>RYR_R|R0RRR2R1S,AS0nSSSSSS T&T/T 8T"CT#fT(TTTTgT[U vUU3UUUU VV)V8V AVMVaV{V4V=VVW&W?W6ZWWG@XXX*X, Y9YKYeYYYYY1YZ";Z^Z |ZZ)Z'Zb[)r[*[[[[[ [[ \%;\Ea\E\ \\% ]1])] ]]]+^B^S^"r^^^ ^?^<_M_2`[`[3a9aa+a)bF8bBbbJxcLc\dmdB}ddddZ!+` /~zPj#Bfer[|, yHO;ml]c^w9 U_I WEib A}6Q : @V($kxu *  >3sF5gDS%\KYq8XN-.0 C<)!Lt1v&=7{nGMh?T"dRpoa24'J Email Settings (Account Upgrade Notification) The rest of the content is not permitted for your membership level.%s pending(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.AmountApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton ShortcodeButton TitleBuy NowCategory ProtectionCategory protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Example Content Protection SettingsExcerpt ViewExpire AfterExpiredExpiry: Filter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameList ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameName contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.No items found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease correct the followingPlease correct the following:Please login again.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful. Remember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSave ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email tooSession Expired.Set Status to ActiveSet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!Simple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content can only be viewed by members who joined on or before This content is not permitted for your membership level.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUpdated Successfully.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredView ProfileWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not logged in.You are not logged-in as a memberYou can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: ZipcodesearchProject-Id-Version: simple membership plugin POT-Creation-Date: 2015-12-28 16:16-0200 PO-Revision-Date: 2016-01-03 15:48-0200 Language-Team: www.cindie.com.br MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.6 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=2; plural=(n > 1); Language: pt_BR X-Poedit-SearchPath-0: . Configurações de email (notificação de upgrade de conta)O restante do conteúdo não pode ser visualizado pelo seu nível de usuário.%s pendentes(O acesso expira em uma data fixada)(obrigatório)(duas vezes, deixem em branco para reter a senha antiga)(duas vezes, obrigatório)Duração do acessoInício do acessoO acesso é válido até/duranteA duração do acesso deve ser maior do que zero.O campo "início de acesso" é inválido.Expiração de contaEstado da contaStatus da contaA conta expirou.Conta fora de uso.Conta pendente,O campo "estado da conta" é inválidoAtivoAdicionar usuárioAdicionar novoAdicionar novo membroAdicionar novo nível de usuárioAdd-onsConfigurações de add-onsEndereço de email do administradorConfigurações avançadasTodas as datasTodos os botões de cadastro de usuário que você criou aparecerão aqui.Todos os pagamentos/transações de seus usuários serão registrados aquiPermitir a desativação da contaPermitir que os usuários deletem suas contas.QuantidadeAplicarNão está disponível para usoAtribua uma ID para o nível de usuário gratuitoAuto Deletar Conta PendenteDisponívelCobrança de cada CicloCiclo de cobrançaContagem de Ciclo de CobrançaAções em massaID do BotãoURL da Imagem do botãoShortcode do botãoTítulo do botãoComprar AgoraProteção de categoriaProteção de categoria atualizada!Marque esta opção para habilitar o registro de verificação de erros.CidadeClique aqui para finalizar seu cadastro com pagamentoClique no link a seguir para finalizar o cadastro.EmpresaContagemPaísCriar uma usuário novo e adicioná-lo a este site.Criar novo nível de usuárioData O formato de data não é válido.Dias (O acesso expira após o número informado de dias)Estado padrão da contaFunção padrão no WordpressDeletarExcluir contaDescriçãoVocê gostaria de proteger este conteúdo?EmailEditar usuárioEditar nível de usuárioEdite a URL da página de perfilEditar UsuárioEditar detalhes de usuário existente.Editar nível de usuárioEditar nível de usuárioEmailEndereço de emailEndereço de email:Corpo do emailOutras configurações de emailConfigurações de emailConfigurações de email (redefinição de senha)Configurações de email (Avisar para concluir cadastro)Configurações do email (Cadastro concluído)Assunto do emailEndereço de email inválidoEste email já foi cadastrado.Endereço de email inválidoEndereço de email inválidoHabilitar login de conta expiradaHabilitar participação gratuitaHabilitar a proteção More TagHabilite o teste sandboxHabilite esta opção se você quiser que o administrador receba uma notificação quando um usuário se cadastrar.Habilite esta opção se você quiser realizar um teste de pagamento em sandbox.Habilitar/desabilitar cadastro para o nível de usuário gratuito. Quando você habilitar esta opção, certifique-se de especificar uma ID de nível de usuário no campo abaixoHabilite ou desabilite a proteção more tag nos posts e páginas. Tudo que estiver após a tag More estará protegido. Qualquer coisa que estiver antes da tag More é conteúdo do tipo teaser.Informe o ID de nível de usuárioInforme o endereço de email recipiente para as notificações a serem entregues ao administrador.Exemplo de configurações de proteção de conteúdo Modo resumoExpirar apósExpiradoExpiraçãoFiltrar por dataPrimeiro nomeAntes de qualquer coisa, efetue a proteção global de categoria no seu site selecionando a "Proteção Geral" da caixa drop-down abaixo e depois selecione as categorias que devem ser protegidas de usuários não logados.Expiração de data fixaPara todos os cadastros pendentesEsqueceu sua senhaNível de usuário gratuitoEmail remetenteGêneroO campo "gênero" é inválidoConfigurações geraisGerar CódigoGerar link de conclusão de cadastroGerar um link de conclusão de cadastroGerar o código de "Variáveis Avançadas" para seu botão PayPalOcultar a barra de administraçãoDica: A senha deverá ter ao menos sete caracteres. Para torna-la mais forte, utilize letras em maiúsculas e minúsculas, números e símbolos como ! " $ ^ & ).IDSe você acabou de realizar um pagamento de assinatura, o processamento ainda será efetuado. Por favor, verifique novamente em alguns minutos. Em breve, você receberá um email com os detalhes.Fora de usoEndereço de email inválidoNome de usuário inválido.Nível de usuário inválidoCadastre-se!URL da página Cadastre-se/Junte-se a nósÚltimo acesso do IPSobrenomeModo listaSessão finalizada com sucesso.Logado comoFaça loginURL da página de loginSairGerenciar produção de conteúdoUsuárioLogin de usuárioPerfil de usuárioUsuário desdeCadastro de usuário realizado com sucesso.O campo "usuário desde" é inválidoUsuáriosUsuárioNível de usuárioNível de usuário inválidoCriação de nível de usuário bem sucedidaID de nível de usuárioNome de nível de usuárioNíveis de usuárioNível de usuárioMeses (O acesso expira após o número informado de meses)NomeO nome contem caracteres iválidosNuncaUma nova senha foi enviada para seu emailPróximoEm seguida, selecione o nível de usuário da caixa drop-down e depois selecione as categorias para as quais você deseja conceder acesso (para esse nível de usuário específico).Sem expiração (O acesso para este nível não irá epirar até ser canelado)Sem expiração (O acesso deste nível não irá expirar até que seja cancelado)Nenhum usuário econtradoNenhum dado encontradoEndereço de email inválidoVocê ainda não possui uma conta de usuário?Notificar usuárioOUDetalhes OpcionaisConfigurações da páginaSenhaSenha inválida ou em brancoRedefinição de senhaEdite a URL da página de redefinição de senhaSenha inválida ou em brancoSenha inválida ou em brancoConfiguração do botão "Comprar Agora" do PayPalEmail do PayPalConfigurações de integração com o PayPalConfiguração do Botão de Assinatura do PayPalValor do PagamentoID de botão de pagamentoTítulo de botão de pagamentoMoeda de PagamentoConfigurações de pagamentoPagamentosPendenteTelefonePor favor,Por favor, corrija os erros abaixoPor favor, corrija os erros abaixo:Por favor, inicie sua sessão novamente.Documentação de pluginPerfilCadastro atualizado com sucessoCadastro realizado com sucesso. Você precisa reiniciar sua sessão uma vez que sua senha foi alterada.Tentar novamente se falharCadastrarCadastroLinks de conclusão de cadastro aparecerão abaixo:URL da página de cadastroCadastro realizado com sucesso!Lembrar-se de mimRepita a senhaRedefinir SenhaURL de RetornoFunçãoID da linhaSalvar alteraçõesSalvar Dados do PagamentoBuscarBuscar por transações a partir do email ou do nomeVerificação de segurança: a validação do captcha falhou.Selecionar tudoSelecionar páginaSelecionar tipo de botão de pagamentoSelecionar ação em massaSelecione o tempo de duração das contas "pendentes".Selecione o status padrão de conta para usuário recém cadastrados. Se você quiser aprovar os usuários manualmente, então você poderá definir o status como "Pendente".Selecione o nível de usuário permitido para o acesso deste conteúdo.Envir email ao usuário quando seu cadastro for realizado pelo painel de administraçãoEnviar notificações para o administradorEnviar também email de lembrete de cadastroSessão expirada.Definir status como ativoDefinir status como expiradoDefinir status como desativadoDefinir status como pendenteConfiguraçõesConfigurações atualizadas!Opções para a proteção do Simple WP MembershpSimple Membership::PagamentosProteção do Simple WP MembershipSimple WP Membership::Add-onsSimple WP Membership::CategoriasSimple WP Membership::UsuáriosSimple WP Membership::Níveis de UsuárioConfigurações do Simple WP MembershipAlguns dos add-ons e opções do plug-in Simple Membership aparecerão aqui (se você os possuir).Pedimos desculpa! A verificação falhou!Pedimos desculpa! A senha não é válida.EstadoRuaIndicador de qualidadeEnviarAssinar AgoraID/Referência de assinanteConfigurações de teste e debugO registro selecionado foi excluído.Esta página só pode ser visualizada por usuários cadastrados até Este conteúdo não pode ser visualizado pelo seu nível de usuário.FerramentasID da transaçãoValor do período de experimentaçãoDetalhes da Cobrança de período de experimentação (Deixe em branco se você não oferecer uma período de experimentação)Período de cobrança de experimentaçãoAtualizarAtualização realizadaUsuário não encontradoVocê não iniciou uma sessão de usuário!Nome de usuárioO nome de usuário já existe.O nome contem caracteres iválidosNome de usuário inválidoVisualizar perfilWP MembershipSemanas (O acesso expira após o número informado de semanas)Semanas (O acesso expira após número informado de semanas)Quando habilitado, as contas expiradas poderão iniciar sessões no sistema mas não poderão visualizar nenhum conteúdo protegido. Isto permite que eles renovem suas contas facilmente mediante a realização de novo pagamento.O Wordpress mostra uma barra de administração para o usuário logado no site. Marque esta caixa se você quiser ocultar a barra de ferramentas de administração.Existe uma conta na CINDIE com o email fornecido, mas este nome não está associado a ela.Existe uma conta na CINDIE com o nome fornecido, mas este email não está associado a ela.Anos (O acesso expira após o número informado de anos)Você está logado como:Você não iniciou uma sessão de usuário!Você não está logado como um usuário.Você pode criar um novo botão de pagamento utilizando esta interfaceVocê pode editar um botão de pagamento utilizando esta interfaceVocê pode gerar aqui um link de conclusão de cadastro manualmente e informa-lo ao seu cliente se ele tiver perdido o email que foi automaticamente enviado a ele após o pagamento.Você precisa iniciar uma sessão para visualizar o restante do conteúdo.Você precisa iniciar uma sessão de usuário para visualizar esta página. Sua conta de usuário expirou! Por favor, renove sua conta para obter acesso a esta página.Sua senha atualSeu perfil de usuário será atualizado de acordo com o pagamento.Nome de usuário de seu perfilCódigo Postalbuscarlanguages/simple-membership-fi_FI.mo000064400000117476147206617610013475 0ustar00 ,!.!4!"""D;"1""-8# f# #+### ##$;"$^$}$ $$$$$$% % %"%*%:%T%\%!l%%%%M%@ &a&%x&&s&!'(' E'R'r' '' ''T')(&;(b((()('( ( )) +) 8)D)(L) u) ))))*)*- *97*%q*****0** ++0,+]+t++++ ++$+, ,,/, E,P,n,, ,, ,,,,1,&)- P-^-w------.Y.[q.=. //?0R]0B0[0<O1N1L1J(2@s2>2F2.:3 i33#3 333 334 4455I-5w55555 5%5'6=/6m6 66:7=777 8868>8O8b8 x8(88_8 959E9 ^9k9q99999 99 9!9 :(:$0: U:`:#q:%:::&: ;;1;C;9Z;; ;4;; <1<A<F<@<A1=s===&= = ===$>-><>E>`>o>>>>#> >> ?(?G?V?h?}?????????@%@>@S@ e@q@y@X@ @@A A'A=A/WA8A AAA AA BBB BBB/B*,CWC lCyCC3CiCpFDD9KE E3EE$EF+F@F`FvFFF-FFF$G(GDGdGG'GGkG!SHuH%HHHHHH;I>I#MIqI xI IIIII#I JGJ#:K^KC~K!K8KSLqLaMv}M^MUSNGN=N/O5O DOQOJfOOOOOOmxPPP QQ#/QSQhQ zQ QQ1R2LRR E O]#p#Ӏ  !-#6[Z '  199k ‚ ӂނȃۃ//@ Vc}E_ՄL5CL\h"ņ67'Ow ˇ>Շ-+"Y|ӈ$`7,ʼn"߉ 91k#z *ъ0@^1I){^Ō$$3Il}oxpqkIN> א# P) z $zёjL(В$ 20c" 7I7ct8KM6G~ E&bKo7QUEsKj5*`*)$Nӝ@4?wt  +9Og,Ypz<`! [0Fu Gs>q(q+5wmc s")Rzt%'n/ bm`L1J87rY7lh~VV$c:;]v|]^T}KI?w Q\bjDk8U*v@&3 ;^eATH. Xf%L'&jCP _l#93Mg/( W 6[aUPNkJx2nKX?E*xB1oyi h5SF"OriudCe!\~9a.4{=,y2$)EI=GW+S-D-#:NMdB>0fAotpR6{Z}H@_|4 <QZ Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. your account to gain access to this content.(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd LevelAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdvanced SettingsAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Already taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApt, Suite, Bldg. (optional)Aready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCaptcha validation failed on login form.Category IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.Comments not allowed by a non-member.CompanyCountCountryCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDisable Access to WP DashboardDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Error! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! The membership level ID (Error! This action (Example Content Protection SettingsExpire AfterExpiredExpiry: First NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForgot PasswordFree Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo back to the home page by Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed DateLast Accessed From IPLast NameLeave empty to keep the current passwordLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Publishable KeyLive Secret KeyLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProtectionManage Payment ButtonsMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Merchant Account IDMerchant IDMonths (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No member found.No membership levels found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPage Setup and URL Related settings.Pages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy NowPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal SubscriptionPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease Login to Comment.Please correct the followingPlease correct the following:Please login again.Please login to comment.Plugin DocumentationPostal / Zip CodePrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Public KeyRe-attempt on FailureRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordReset PasswordReturn URLRetype password HereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here.Save ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect how long you want to keep "pending" account.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!Show Adminbar to AdminSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the access starts date value.StateState / Province / RegionStreetStreet AddressStrength indicatorStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The following details are optional.The selected entry was deleted!This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This page allows you to configure some advanced features of the plugin.This value gets updated when this member logs into your site.ToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodType password HereUpdateUse WordPress TimezoneUse this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredUsername or EmailView ProfileWP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Weeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a sandard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use the following option to bulk update the membership level of users who belong to the level you select below.You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You need to login to view the rest of the content. You need to login to view this content. You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodeclicking hereincompleterenewProject-Id-Version: POT-Creation-Date: 2017-05-27 13:24+0300 PO-Revision-Date: 2017-05-28 19:30+0300 Last-Translator: Language-Team: Language: fi_FI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.7.1 X-Poedit-Basepath: . Plural-Forms: nplurals=2; plural=(n != 1); Sähköpostiasetukset (Tilin päivitysilmoitus)Sähköpostiasetukset (Tilin massa-aktivoinnista ilmoitus)Kentässä on virheellinen merkkiSalasanat eivät täsmääJäsenyystasosi ei mahdollista lopun sisällön näyttämistä.Muokkaat tällä hetkellä jäsentä tunnisteella (ID):Voit laittaa useita osoitteita pilkulla erotettuna (,) ylläolevaan kenttään lähettääksesi ilmoituksen useaan osoitteeseen.tilisi päästäksesi tähän sisältöön.(Jäsenyys vanhenee tiettynä päivänä)(pakollinen)(kahdesti, jätä tyhjäksi säilyttääksesi vanhan salasanan)(kahdesti, pakollinen)Pääsyn kestoPääsy alkaaPääsyn loppumisaikaPääsyn kesto pitää olla > 0.Pääsyn aloitusajan muutos tehty onnistuneesti.Pääsyn alku -kenttä on virheellinenTilin vanheneminenTilin tilaTilin tilaTili on vanhentunut.Tili ei ole käytössä.Tili on laitettu vireille.Tilin tila -kenttä on virheellinenAktiivinenLisää tasoLisää jäsenLisää uusiLisää uusi jäsenLisää uusi jäsenyystasoLisäosatLisäosien asetuksetYlläpitäjän käyttöliittymään pääsynhallintaYlläpitäjän sähköpostiosoiteYlläpitäjäilmoituksen viestin sisältöLaajemmat asetuksetKaikki jäsenyysnapit jotka olet luonut näytetään tässä.Kaikki jäsentesi maksutransaktiot tallennetaan tänne.Salli tilin poistaminenSalli käyttäjien poistaa tilinsä.On jo varattu.Vaihtoehtoisesti voit kirjautua toisella selaimella (jossa et ole kirjautuneen ylläpitäjänä) testataksesi jäsenenä kirjautumista.MääräOsoite 2 (valinnainen)On jo varattuAseta ilmaisjäsenyystason tunnistePoista automaattisesti "Vireillä" oleva tiliKäytettävissäToistuvan maksun määräLaskutusväliLaskutusjaksojen määräBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationMassamuutoksen pääsyn aloituspäivämääräJäsenyystason massamuutosMassamuutosMassapäivityksen jäsenten pääsy alkaa päivämääräJäsenten jäsenyystasojen massapäivitysButton IDNapin kuvan URLNapin lyhytkoodi (shortcode)Napin nimiNapin tyyppiOsta nytCaptcha varmennus epäonnistui kirjautumislomakkeella.Kategoriatunnus (ID)Kategorian nimiKategoriasuojausKategoria tyyppi (Taksonomia)Kategorian suojaus päivitetty.Valitse tämä kytkeäksesi debug lokituksen.KaupunkiKlikkaa tästä päättääksesi maksetun rekisteröintisiKlikkaa seuraavaa linkkiä päättääksesi rekisteröinnin.Kommentointi sallittu vain jäsenille.YritysMääräMaaLuo uusi nappiLuo kokonaan uusi käyttäjä ja lisää se tälle sivulle.Luo uusi jäsenyystaso.PäiväysPäivämäärän muoto on virheellinen.Päivää (Pääsy vanhenee näin monen päivän päästä)Oletus tilin tilaOletus WordPress rooliPoistaPoista tiliPoista käyttäjäprofiiliKuvausEstä pääsy WP käyttöliittymäänHaluatko suojata tämän sisällön?SähköpostiMuokkaa jäsentäMuokkaa jäsenyystasoaMuokkaa profiilia sivun URLMuokkaa käyttäjääMuokkaa olemassa olevan jäsenen tietoja.Muokkaa jäsenyystasoaSähköpostiosoiteSähköpostiosoiteSähköpostiosoite:Sähköpostin sisältöSähköpostin sekalaiset asetuksetSähköpostiasetuksetSähköpostiasetukset (Salasanan resetointi)Sähköpostiasetukset (Kehota tekemään rekisteröinti loppuun)Sähköpostiasetukset (Rekisteröinti valmis)Sähköpostin aihe kenttäVirheellinen sähköpostiosoite.Sähköposti on jo käytössä.Sähköposti on virheellinenSähköposti edellytetäänSalli vanhentuneen tilin kirjautuminenMahdollista ilmaisjäsenyysKytke "Lisää..." tägin suojausKytke maksutestausAseta tämä valinta jos sallit vain jäsenten kommentit.Aseta tämä jos haluat ylläpitäjän saavan viestin kun käyttäjä rekisteröityy.Valitse tämä jos haluat testata maksuliikennettäKytke/poiskytke ilmaisjäsenyystasolle rekisteröityminen. Kytkiessäsi päälle tätä valintaa, määrittelethän alle ilmaisjäsenyystason tason tunnisteen.Kytkee/poiskytkee "Lisää..." tägin suojauksen postauksissa ja sivuilla. Kaikki "Lisää.." tägin jälkeen on suojattu. Kaikki ennen "Lisää..." tägiä on "teaser" sisältöä.Syötä jäsenyystasotunnusKirjoita osoite johon haluat ylläpitäjäilmoituksen lähettää.Virhe! Valitulle sapluunalle ei löydy polkua (path):Virhe! Virheellinen pyyntö. Annetun turvakoodin ja käyttäjätunnuksen välille ei löytynyt vastaavuutta.Virhe! Kertakäyttöavaimen varmennus epäonnistui edustan profiilin muokkaamisen yhteydessä.Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystasoa luotaessa.Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystasoa poistettaessa.Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystason muokkauksen yhteydessä.Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän poiston yhteydessä.Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän muokkaamisen yhteydessä.Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän rekisteröinnin yhteydessä.Virhe! Valitse jäsenyystaso ensin.Virhe! Jäsenyystasotunnus (Virhe! Tämä toiminto (Esimerkki sisällön suojaus asetuksetPääsy vanheneeVanhentunutPäättymispäivä:EtunimiAluksi, suojaa kategoria järjestelmänlaajuisesti sivustollasi valitsemalla alla olevast valikosta "Yleinen suojaus" ja sitten valitse ne kategoriat jotka tulisi suojata rekisteröimättömiltä käyttäjiltä.Kiinteä vanheneminenKaikille keskeneräisille rekisteröinneilleTietylle jäsentunnukselle (Member ID)Unohdettu salasanaIlmaisjäsenyystason tunnisteIlmaisjäsenyys on poistettu käytöstä tällä sivustolla. Teethän maksusuorituksenFrom: SähköpostiosoiteSukupuoliSukupuoli -kenttä on virheellinenYleiset liitännäisasetukset.Yleiset asetuksetLuo koodiLuo rekisteröinnin päättämislinkkiLuo rekisteröinnin päättämislinkkiLuo "Advanced Variables" koodi PayPal maksunapillesiMene takaisin kotisivullePiilota ylläpitäjän palkkiVinkki: Salasanan tulisi olla vähintään seitsemän(7) merkkiä pitkä. Vahvistaaksesi sitä, käytä isoja ja pieniä kirjaimia, numeroita ja symboleja kuten ! " ? $ % ^ & ).TunnisteJos ole juuri suorittanut jäsenmaksusi saattaa maksusi olla vielä prosessoitavana. Tarkista muutaman minuutin päästä tilanne uudestaan. Saat hetken päästä sähköpostin yksityiskohtaisilla tiedoilla.InaktiivinenVirheellinen sähköpostiosoiteVirheellinen käyttäjätunnus.Virheellinen jäsenyystasoLiity meihinLiity meihin sivun URLViimeksi kirjautunutViimeisin IP mistä kirjauduttuSukunimiJätä tyhjäksi pitääksesi nykyisen salasananTaso jolle päivitetään:Linkki/linkit luotu onnistuneesti. ao. linkkiä/linkkejä voi käyttää rekisteröinnin vahvistamiseksi.Live Publishable KeyLive Secret KeyUloskirjautuminen onnistui.Kirjautunut käyttäjänäKirjauduKirjautumissivun URLUlos kirjautuminenHallinnoi sisällön suojaustaHallinnoi maksunappejaJäsenJäsenen kirjautuminenJäsenprofiiliJäsenyys alkanutJäsenen lisääminen onnistui.Jäsenyyden alku -kenttä on virheellinenJäsenetKäyttäjien pitää olla kirjautuneita kommentoidakseen.JäsenyysJäsenyystasoJäsenyys tasoa ei löydy.Jäsenyystason luominen onnistui.Jäsenyystason tunnus (ID)Jäsenyystason nimiJäsenyystaso päivitetty onnistuneesti.Jäsenyystaso:Jäsenyystaso:JäsentasotJäsenyyden uusimis URLJäsenyystason vaihto suoritettu onnistuneesti.Merchant Account IDMerchant IDKuukautta (Pääsy vanhenee näin monen kuukauden päästä)Nimessä on kelpaamaton merkkiEi koskaanUusi salasana on lähetetty sähköpostiisi.SeuraavaSeuraavaksi, valitse olemassa oleva jäsenyystaso alla olevasta pudotusvalikosta ja sitten valitse ne kategoriat joihin haluat sallia pääsyn kyseisellä jäsenyystasolla.Ei vanhentumista (Pääsy tällä tasolla ei vanhene ennen kuin se peruutetaan)Ei vanhenemista (Tämän tason pääsy ei vanhene ennen peruuttamista)Kategoriaa ei löydy.Jäsentä ei löydy.Jäsenyystasoja ei löydy.Kyseiselle sähköpostille ei löydy käyttäjää.Etkö ole jäsen?Ilmoita käyttäjälleTAIValinnaiset tiedotSivun asetteluun ja URL liittyvät asetukset.Sivujen asetuksetSalasanaSalasana tyhjä tai virheellinen.Salasanan resetointiSalasanan resetointi sivun URLSalasana on pakollinenSalasanat eivät täsmääPayPal Buy NowPayPal Buy Now Button ConfigurationPayPal sähköpostiPayPal integraatio asetuksetPayPal SubscriptionPayPal Subscription Button ConfigurationMaksun määräMaksunapin tunnus (ID)Maksunapin otsakeMaksun valuuttaMaksuasetuksetMaksutVireilläPuhelinnumeroOle ystävällinenKirjaudu sisään kommentoidaksesi.Korjaathan seuraavatKorjaathan seuraavat:Kirjaudu uudelleen.Kirjaudu sisään kommentoidaksesi.Liitännäisten dokumentaatioPostinumeroPrivate KeyProfiiliProfiili päivitetty onnistuneesti.Profiili päivitetty onnistuneesti. Joudut kirjautumaan uudestaan salasanan vaihdon vuoksi.Public KeyUudelleen yritä maksun epäonnistuessaRekisteröidyRekisteröintiRekisteröitymissivun URLRekisteröinti onnistui.Rekisteröinnin vahvistuslinkit ilmestyvät alle.Rekisteröinti päätetty. Nyt voit kirjautua sivustolle.Muista minutToista salasanaResetoi salasanaReturn URLToista salasana tähänRooliRivitunniste (Row ID)SWPM ylläpitäjän käyttöliittymään on oletuksen pääsy ainoastaan ylläpitäjä käyttäjillä. Tässä voit sallia pääsyn muulla WP käyttäjäroolilla.Tallenna muutoksetTallenna maksudataHakuEtsi transaktiota sähköpostilla tai nimellä.Turvatarkistus: captcha varmistus epäonnistui.Valitse nykyinen tasoValitse tasoValitse maksunapin tyyppiValitse kohdetasoValitse kuinka pitkään pidät tiliä "Vireillä" ennen poistamista.Valitse jäsenyystaso (kaikkien tämän tason jäsenten aloituspäivämäärä päivitetään).Valitse nykyinen taso (kaikkien tämän tason jäsenyystaso päivitetään).Aseta rekisteröityvien käyttäjien oletustila. Jos haluat manuaalisesti hyväksyä jäsenet voit asettaa oletustilaksi "Vireillä".Valitse mikä jäsenyystaso pääsee käsiksi tähän sisältöön:Valitse uusi jäsenyystaso.Lähetä jäsenelle sähköposti kun lisäys tehdään ylläpitäjän käyttöliittymästä.Lähetä ilmoitus ylläpitäjälleLähetä rekisteröinnin muistutus sähköposti myös.Istunto on vanhentunut.Aseta tila aktiiviseksiAseta tila aktiiviseksi ja tee ilmoitusAseta tila vanhentuneeksiAseta tila pois käytöstäAseta tila vireillä olevaksiAsetuksetTämän osion asetukset vaikuttavat kaikkiin sähköposteihin.Asetukset päivitetty!Näytä ylläpitäjän palkki ylläpitäjilleSimple Membership suojausasetuksetSimple Membership::MaksutSimple WP Membership suojausSimple WP Membership::LisäosatSimple WP Membership::JäsenetSimple WP Membership::JäsenyystasotSimple WP Membership::AsetuksetJoitain Simple Membership -lisäosan asetuksia ja valintoja näytetään tässä (jos niitä on)Kertakäyttöavaimen varmistus epäonnistui.Salasana ei ollut oikein.Määritä aloituspäivämäärä.MaakuntaLääniKatuOsoiteSalasanan vahvuusStripe API avaimet. Saat nämä tiedot Stripe tililtäsi.Stripe Buy NowStripe Buy Now Button ConfigurationLähetäTilaa nytTilaajatunniste (Subscriber ID)Tilaajatunniste (Subscriber ID)/ReferenssiTestaus ja debuggaus asetuksetTest Publishable KeyTest Secret KeyTestaus ja debuggausasetuksetPääsy alkaa on asetettu päiväksi jona käyttäjä rekisteröityy. Tätä päivää käytetään laskemaan kuinka pitkään kyseinen käyttäjä pääsee sisältöön joka on suojaus on toteutettu jäsenyystason keston perusteella.Ylläpitäjä ei salli hallintapaneelinäkymää.Seuraavat yksityiskohdat ovat valinnaisiaValittu merkintä on poistettu!Tämän sisällön näkevät vain jäsenet jotka ovat liittyneet tähän päivään mennessä:Tämä sisältö on vain jäsenille.Tätä sisältöä ei näytetä jäsenyystasollasi.Tämä sähköposti lähetetään kehottamaan käyttäjää päättämään rekisteröinnin maksun jälkeen.Tämä sähköposti lähetetään kun uusi käyttäjä rekisteröityy. Toimii vain mikäli "Lähetä ilmoitus ylläpitäjälle" on aktivoitu.Tämä sähköposti lähetetään käyttäjille kun käytät tilien massa-aktivointi ja -ilmoitus ominaisuutta.Tämä sähköposti lähetetään käyttäjälle kun tili päivittyy (kun olemassa oleva käyttäjä maksaa uudesta käyttäjätasosta).Tämä sähköposti lähetetään käyttäjille kun rekisteröinti on suoritettu ja heistä on tullut jäseniä.Tämä sähköposti lähetetään käyttäjille kun he käyttävät salasanan resetointi toiminnallisuutta.Tämä sivu sallii muokata eräitä lisäosan edistyneitä ominaisuuksia.Tämä arvo päivittyy kun tämä jäsen kirjautuu sivustolle.TyökalutTransaktiotunniste (Transaction ID)TransaktiotKoeajan maksun määräKoeajan laskutustiedot (Jätä tyhjäksi jos sinulla ei ole koeaika käytössä)Koejan pituusKirjoita salasana tähänPäivitäKäytä WordPressin aikavyöhykettäValitse tämä jos haluat näyttää ylläpitäjän palkin vain ylläpitäjille. Muilta käyttäjiltä palkki piilotetaan.Käytä tätä asetusta jos haluat käyttää WordPress yleisissä asetuksissa asetettua aikavyöhykettä.Käyttäjää ei löydy.Käyttäjä ei ole kirjautunut sisään.KäyttäjätunnusKäyttäjätunnus on jo käytössä.Käyttäjätunnuksessa on virheellisiä merkkejä.Käyttäjätunnus tarvitaanKäyttäjätunnus tai sähköpostiKatso profiiliaWP MembershipVaroitus! Simple Membership lisäosa ei voi käsitellä kirjautumispyyntöä estääkseen tahattoman uloskirjautumisen WP ylläpidosta. Viikkoa (Pääsy vanhenee näin monen viikon päästä)Viikkoa (Pääsy vanhenee näin monen viikon päästä)Kun sallittu, vanhentuneen tilin käyttäjä pystyy kirjautumaan järjestelmään muttei näe mitään suojattua sisältöä. Tämä mahdollistaa tilin helpon uusimisen.WordPress sallii peruskäyttäjän pääsyn wp-admin osoitteeseen ja pääsyn omaan profiiliinsa WP käyttöliittymässä. Tällä valinnalla estetään muiden kuin ylläpitäjien pääsy WP käyttöliittymään.WordPress näyttää ylläpitäjän palkin kirjautuneille käyttäjille. Valitse tämä jos haluat piilottaa palkin.Sähköpostille löytyy tili, mutta annettu käyttäjätunnus ei täsmää.Käyttäjätunnukselle löytyy tili, mutta annettu sähköposti ei täsmää.Vuotta (Pääsy vanhenee näin monen vuoden päästä)Parhaillaan muokkaat:Olet kirjautunut käyttäjänä:Olet kirjautunut sivustolle tässä selaimessa ylläpitäjänä. Kirjaudu ensin ulos WP ylläpidosta, jonka jälkeen voit kirjautua jäsenenä.Et ole kirjautunut sisään.Et ole kirjautunut jäsenenä sisäänVoit luoda tilin uusimissivun sivustollesi. Lue (englanniksi)tämä dokumentaatio, jossa kerrotaan miten uusimissivu luodaan. Voit luoda uuden maksunapin jäsenyyksillesi tällä käyttöliittymällä.Voit muokata maksunappia tällä käyttöliittymällä.Voit muokata valitun jäsenyystason yksityiskohtia tästä käyttöliittymästä.Voit manuaalisesti muuttaa minkä tahansa jäsenen jäsenyystasoa jäsenyysvalikosta.Voi manuaalisesti luoda rekisteröinnin päättämislinkin tässä ja antaa sen asiakkaalle jos he eivät jostain syystä ole saaneet automaattisesti luotua vahvistusviestiä.Voit seuraavalla valinnalla asettaa manuaalisesti tietyn aloituspäivämäärän kaikkille tietyn tason jäsenille.Voit käyttää seuraavaa valintaa alla valitsemasi tason kaikkien jäsenten jäsenyystason muuttamiseksi.Sinulla ei ole käyttöoikeutta tähän sisältöön.Sinulla on testimaksutila kytkettynä lisäosan asetuksissa. Varmista että kytket testimaksutilan pois päältä kun haluat käyttää oikeita maksuja.Kirjaudu nähdäksesi loput sisällöstä.Kirjaudu nähdäksesi tämän sisällön.Saat yksilöllisen linkin sähköpostiin maksun jälkeen. Linkin avulla voit suorittaa loppuun Premium-jäsenyyden rekisteröinnin. Tilisi on vanhentunut.Nykyinen salasanasiJäsenyystasollasi ei ole käyttöoikeutta tähän sisältöön.Jäsenyysprofiilisi on päivitety maksun mukaisesti.Tavalliset vierailijat tai jäsenet eivät näe tätä viestiä. Tämä viesti näytetään ainoastaan ylläpitäjille.Profiilisi käyttäjätunnus:Postinumeroklikkaamalla tästäpuutteellinenuusilanguages/simple-membership-zh_CN.mo000064400000024542147206617610013511 0ustar00  H .I x        *7 Waqv~0$+ 2>U kv  1&@ gu=5Q#o  0%>'d= z}    % , 9Fd lw#%1  =GX[js%B`u} 0  #9.3h$$;'Y$"-Pfm   MM"8)    . 5 BO_ x  !.P Wdw     *+ V t     0 " !0!E!^!e!i! !!!!! ! !!"* "K"t["" "" "" ##!#4#J#Q# a#n## # #### #### $ $'#$ K$U$e$ l$y$$ $$$ $$$$$ %%$% :% G%T%[%!b%% %% % %% %*%- &9&R& q&~&& &&&&&&&& '' '0'I']'s' z' '' ''' ''r'!Z(!|(((T)[)T.DYP`MIg2QymO u& izj!6@<F?}Wq3GE>#;^*9b_XwV :~B5']{,oR[tJn +Hk7sL8\(xfvp-"Sh rd el4$cCA)%KU/=1|0aNZ Email Settings (Account Upgrade Notification)(required)(twice, required)Account StateAccount StatusAccount is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Aready takenAssign free membership level IDAvailableBad Cookie HashCityCompanyCountryCreate a brand new user and add it to this site.Create new membership level.Default WordPress RoleDeleteDisplay SWPM Login.Do you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnter the Membership Level IDExample Content Protection SettingsExpiredFirst NameFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameJoin UsJoin Us Page URLLast NameLevelAdd NewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelNew password has been sent to your email address.No ExpiryNo Member found.ORPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePhone number is invalidPleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Remember MeRepeat PasswordReset PasswordRoleSWPM LoginSelect the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsStateStreetStrength indicatorSubmitSubscription DurationSubscription StartsSubscription Valid ForSubscription starts field is invalidSubscriptoin duration must be > 0.Test & Debug SettingsUpdateUpdated Successfully.User NameUser Not Found.User nameUser name already exists.User name is requiredUsernameWP MembershipWordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.You are logged in as:You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.ZipcodesearchProject-Id-Version: Simple WordPress Membership POT-Creation-Date: 2014-07-30 17:30+0800 PO-Revision-Date: 2014-07-30 23:09+0800 Last-Translator: Language-Team: Language: zh_Hans MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.6.7 X-Poedit-Basepath: . X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e Plural-Forms: nplurals=1; plural=0; X-Poedit-SearchPath-0: . Email设置(账户更新信息通知)必填2次,必填账户描述账户状态账户未激活账户描述无效激活添加会员添加新的添加新会员添加新的会员等级已被占用指定免费会员级别ID可以使用坏的Cookie城市公司国家给网站创建一个新用户创建新会员等级默认的WP角色删除显示SWPM登陆你是否需要保护这个内容E-mail修改会员修改会员等级修改会员信息页面URL修改用户修改已存在用户信息修改会员等级修改会员等级EmailEmail地址Email地址无效Email内容电子邮件杂项设置电子邮件设置(快速完成注册)Email设置(完成注册)Email标题邮箱已经存在邮箱无效请输入邮箱地址启用免费会员启用沙盒测试如果你要测试付款方式,请启用沙盒启用/不启用免费会员注册输入会员等级ID内容保护设置例子失效名对于所有待定的注册忘记密码免费会员等级ID电子邮件来路性别性别填写无效总体设置生成代码生成注册完成链接生成注册完成链接您的PayPal按钮产生高级变量代码隐藏管理栏密码最少7个字符,为保证密码强度,请使用大小写字母,数字和例如! " ? $ % ^ &的符号ID未激活无效的用户名加入会员加入页面URL姓添加新等级成功退出登陆以以下身份登陆登陆登陆页面URL退出登陆管理内容制作会员会员登陆会员自号码段无效会员会员会员等级会员等级不存在会员等级创建成功会员等级名会员等级会员等级新的密码已经发送到您的邮箱不失效会员不存在或者页面设置密码密码空或者无效更改密码更改密码页面URL请输入密码密码不符Paypal集成设置待定电话电话号码无效请请修改以下信息请更改以下信息插件文件个人资料注册注册注册完成链接会出现在:注册页面URL注册成功记住这个身份重复密码重置密码角色SWPM登陆选择可以查看该内容的会员等级管理员添加用户后给用户发送邮件给管理员发送通知同时发送注册提醒邮件登陆超时设置会员保护选项会员保护会员等级:会员会员:会员等级会员:设置省份街道强度指示器提交有效期订阅开始于订阅有效于开始时间字段无效过程必须大于0测试与调试设置更新更新成功用户名找不到用户用户名用户名已经存在请输入用户名用户名WP会员WordPress对已经登陆的用户显示管理工具栏,如果你想在网站前端隐藏管理栏请勾选这里邮箱正确,但用户名错误用户名正确,但邮箱错误您已使用以下身份登陆如果你的用户在完成付款后没收到自动生成的邮件,那么你可以在这里手动生成注册完成链接,并发送给你的用户邮编搜索languages/simple-membership-fr_CA.po000064400000261207147206617610013466 0ustar00msgid "" msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "Project-Id-Version: Simple WordPress Membership\n" "POT-Creation-Date: 2021-07-07 13:25+1000\n" "PO-Revision-Date: 2021-09-13 17:46-0400\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.0\n" "X-Poedit-Basepath: ..\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: simple-wp-membership.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "Last-Translator: \n" "Language: fr_CA\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.min.js\n" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Payment Button Title" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Membership Level ID" msgstr "Niveau" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Type" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 msgid "Button Shortcode" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:95 #: classes/admin-includes/class.swpm-payments-list-table.php:110 #: classes/class.swpm-members.php:49 #: classes/class.swpm-membership-levels.php:36 msgid "Delete" msgstr "Supprimer" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:128 #: views/admin_members_list.php:8 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "L’entrée sélectionnée a été supprimée!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:23 msgid "Simple Membership::Payments" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:65 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Voir ton profil" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Row ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:84 #: views/forgot_password.php:5 #: views/payments/admin_add_edit_transaction_manually.php:75 msgid "Email Address" msgstr "Adresse email" #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: classes/class.swpm-members.php:23 views/add.php:34 #: views/admin_member_form_common_part.php:15 views/edit.php:39 #: views/payments/admin_add_edit_transaction_manually.php:83 #: includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Prénom" #: classes/admin-includes/class.swpm-payments-list-table.php:86 #: classes/class.swpm-members.php:24 views/add.php:38 #: views/admin_member_form_common_part.php:19 views/edit.php:43 #: views/payments/admin_add_edit_transaction_manually.php:91 #: includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Nom" #: classes/admin-includes/class.swpm-payments-list-table.php:87 msgid "Member Profile" msgstr "Profil de membre" #: classes/admin-includes/class.swpm-payments-list-table.php:88 #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: views/payments/admin_add_edit_transaction_manually.php:125 msgid "Date" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:89 #: views/payments/admin_add_edit_transaction_manually.php:133 msgid "Transaction ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:90 #: views/payments/admin_add_edit_transaction_manually.php:141 msgid "Subscriber ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:91 #: views/payments/admin_add_edit_transaction_manually.php:117 msgid "Amount" msgstr "Montant" #: classes/admin-includes/class.swpm-payments-list-table.php:92 #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:26 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 views/add.php:42 #: views/admin_member_form_common_part.php:2 views/admin_members_list.php:50 #: views/edit.php:75 views/payments/admin_add_edit_transaction_manually.php:107 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:232 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:330 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:312 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:108 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:108 msgid "Membership Level" msgstr "Niveau" #: classes/admin-includes/class.swpm-payments-list-table.php:93 #: views/payments/admin_add_edit_transaction_manually.php:149 msgid "Status/Note" msgstr "" #: classes/class-swpm-member-subscriptions.php:121 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:164 msgid "No active subscriptions" msgstr "Aucun abonnement actif" #: classes/class-swpm-member-subscriptions.php:132 msgid "Cancel Subscription" msgstr "Annuler l'Abonnement" #: classes/class-swpm-member-subscriptions.php:134 msgid "Are you sure that you want to cancel the subscription?" msgstr "Es-tu sûre de vouloir annuler ton abonnement?" #: classes/class.simple-wp-membership.php:189 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "L’administrateur de ce site ne permet pas aux utilisateurs d’accéder au " "tableau de bord wp." #: classes/class.simple-wp-membership.php:190 msgid "Go back to the home page by " msgstr "Retourne sur la page d’accueil en " #: classes/class.simple-wp-membership.php:190 msgid "clicking here" msgstr "cliquant ici" #: classes/class.simple-wp-membership.php:255 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "Erreur! Ce site a la fonction de connexion d’utilisateur de force WP activée " "dans les paramètres. Nous n’avons pas pu trouver d’enregistrement " "d’utilisateur WP pour le nom d’utilisateur donné " #: classes/class.simple-wp-membership.php:256 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" #: classes/class.simple-wp-membership.php:257 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Contactez l’administrateur du site et demandez-leur de vérifier votre nom " "d’utilisateur dans le menu des utilisateurs WP pour voir ce qui s’est passé " "avec l’entrée utilisateur WP de votre compte." #: classes/class.simple-wp-membership.php:258 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" #: classes/class.simple-wp-membership.php:259 msgid "You can use the back button of your browser to go back to the site." msgstr "" "Tu peux utiliser le bouton retour de ton navigateur pour revenir sur le site." #: classes/class.simple-wp-membership.php:431 #: classes/class.swpm-wp-loaded-tasks.php:141 msgid "You are not logged in." msgstr "Tu n’es pas connectée." #: classes/class.simple-wp-membership.php:482 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" #: classes/class.simple-wp-membership.php:497 msgid "Simple WP Membership Protection" msgstr "" #: classes/class.simple-wp-membership.php:509 msgid "Simple Membership Protection options" msgstr "" #: classes/class.simple-wp-membership.php:527 msgid "Do you want to protect this content?" msgstr "" #: classes/class.simple-wp-membership.php:528 msgid "No, Do not protect this content." msgstr "" #: classes/class.simple-wp-membership.php:529 msgid "Yes, Protect this content." msgstr "" #: classes/class.simple-wp-membership.php:532 msgid "Select the membership level that can access this content:" msgstr "" #: classes/class.simple-wp-membership.php:673 #: classes/class.simple-wp-membership.php:677 msgid "Validating, please wait" msgstr "Ça sera pas long :)" #: classes/class.simple-wp-membership.php:680 msgid "Invalid email address" msgstr "Adresse email invalide" #: classes/class.simple-wp-membership.php:683 msgid "This field is required" msgstr "Ce champ est requis" #: classes/class.simple-wp-membership.php:686 msgid "Password must contain at least:" msgstr "Le mot de passe doit contenir au moins:" #: classes/class.simple-wp-membership.php:686 msgid "- a digit" msgstr "Un chiffre" #: classes/class.simple-wp-membership.php:686 msgid "- an uppercase letter" msgstr "Une lettre majuscule" #: classes/class.simple-wp-membership.php:686 msgid "- a lowercase letter" msgstr "Une lettre minuscule" #: classes/class.simple-wp-membership.php:689 classes/class.swpm-auth.php:310 msgid "Invalid Username" msgstr "Nom d’utilisateur invalide" #: classes/class.simple-wp-membership.php:689 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Le nom d’utilisateur peut seulement contenir: lettres, nombres et .-*@" #: classes/class.simple-wp-membership.php:692 msgid "Minimum " msgstr "" #: classes/class.simple-wp-membership.php:693 msgid " characters required" msgstr " caractères requis" #: classes/class.simple-wp-membership.php:696 msgid "Apostrophe character is not allowed" msgstr "L’apostrophe n’est pas autorisée" #: classes/class.simple-wp-membership.php:736 msgid "WP Membership" msgstr "" #: classes/class.simple-wp-membership.php:737 classes/class.swpm-members.php:12 #: classes/class.swpm-members.php:718 msgid "Members" msgstr "Membres" #: classes/class.simple-wp-membership.php:738 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:269 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Niveau" #: classes/class.simple-wp-membership.php:739 msgid "Settings" msgstr "Paramètres" #: classes/class.simple-wp-membership.php:740 msgid "Payments" msgstr "Paiements" #: classes/class.simple-wp-membership.php:741 msgid "Add-ons" msgstr "Modules complémentaires" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Tu dois te connecter pour voir ce contenu " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Ton compte est expiré " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Ce contenu n’est pas autorisé pour ton niveau d’adhésion." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Tu dois te vous connecter pour voir le reste du contenu " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " Le reste du contenu n’est pas autorisé pour ton niveau d’adhésion." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" #: classes/class.swpm-admin-registration.php:79 msgid "Member record added successfully." msgstr "" #: classes/class.swpm-admin-registration.php:87 #: classes/class.swpm-admin-registration.php:149 #: classes/class.swpm-admin-registration.php:187 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "SVP corriger les éléments suivants:" #: classes/class.swpm-admin-registration.php:100 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" #: classes/class.swpm-admin-registration.php:166 msgid "Your current password" msgstr "Ton mot de passe actuel" #: classes/class.swpm-ajax.php:14 classes/class.swpm-ajax.php:34 #: ipn/swpm-smart-checkout-ipn.php:326 msgid "Nonce check failed. Please reload the page." msgstr "" #: classes/class.swpm-ajax.php:18 msgid "Invalid Email Address" msgstr "Adresse email invalide" #: classes/class.swpm-ajax.php:25 classes/class.swpm-ajax.php:44 msgid "Already taken" msgstr "Déjà pris" #: classes/class.swpm-ajax.php:25 classes/class.swpm-ajax.php:45 msgid "Available" msgstr "Disponible" #: classes/class.swpm-ajax.php:38 msgid "Name contains invalid character" msgstr "Le nom contient des caractères invalides" #: classes/class.swpm-auth.php:60 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" #: classes/class.swpm-auth.php:61 msgid "Click here" msgstr "Clique ici" #: classes/class.swpm-auth.php:61 msgid " to see the profile you are currently logged into in this browser." msgstr "" #: classes/class.swpm-auth.php:62 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" #: classes/class.swpm-auth.php:63 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" #: classes/class.swpm-auth.php:64 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" #: classes/class.swpm-auth.php:71 msgid "Captcha validation failed on login form." msgstr "" #: classes/class.swpm-auth.php:96 msgid "User Not Found." msgstr "Utilisateur non trouvé." #: classes/class.swpm-auth.php:103 msgid "Password Empty or Invalid." msgstr "Mot de passe vide ou invalide." #: classes/class.swpm-auth.php:144 msgid "Account is inactive." msgstr "Compte est inactif." #: classes/class.swpm-auth.php:147 classes/class.swpm-auth.php:176 msgid "Account has expired." msgstr "Compte est expiré." #: classes/class.swpm-auth.php:150 msgid "Account is pending." msgstr "Compte est en attente." #: classes/class.swpm-auth.php:160 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Tu dois activer ton compte. Si tu n’as pas reçu un email, %s pour envoyer un " "nouveau email d’activation." #: classes/class.swpm-auth.php:160 #: classes/class.swpm-front-registration.php:451 #: classes/class.swpm-front-registration.php:504 #: classes/class.swpm-utils-misc.php:196 msgid "click here" msgstr "clique ici" #: classes/class.swpm-auth.php:184 msgid "You are logged in as:" msgstr "" #: classes/class.swpm-auth.php:248 msgid "Logged Out Successfully." msgstr "" #: classes/class.swpm-auth.php:301 msgid "Session Expired." msgstr "" #: classes/class.swpm-auth.php:318 msgid "Please login again." msgstr "" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "" #: classes/class.swpm-category-list.php:78 msgid "" "Error! Nonce security verification failed for Category Protection Update " "action. Clear cache and try again." msgstr "" #: classes/class.swpm-category-list.php:99 msgid "Category protection updated!" msgstr "" #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "" #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "" #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "" #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But the given email doesn't " "match." msgstr "" "Un compte WordPress existe avec ce nom d’utilisateur. Mais le email indiqué " "ne correspond pas." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " Utilise un autre nom d’utilisateur pour terminer l’enregistrement. Si tu " "souhaites utiliser ce nom d’utilisateur, tu dois entrer l’adresse e-mail " "correcte associée à l’utilisateur WP existant pour te connecter à ce compte." #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But the given username doesn't " "match." msgstr "" "Le compte Wordpress existe avec ce email. Mais le nom d’utilisateur donné ne " "correspond pas." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " Utilise une autre adresse email pour terminer l’inscription. Si tu " "souhaites utiliser ce email, tu dois entrer le nom d’utilisateur correct " "associé à l’utilisateur WP existant pour te connecter à ce compte." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Nom d’utilisateur requis" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Le nom d’utilisateur contient un caractère invalide" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Le nom d’utilisateur existe déjà." #: classes/class.swpm-form.php:81 msgid "Password is required" msgstr "" #: classes/class.swpm-form.php:88 msgid "Password mismatch" msgstr "" #: classes/class.swpm-form.php:99 msgid "Email is required" msgstr "" #: classes/class.swpm-form.php:103 msgid "Email is invalid" msgstr "" #: classes/class.swpm-form.php:119 msgid "Email is already used." msgstr "" #: classes/class.swpm-form.php:171 msgid "Member since field is invalid" msgstr "" #: classes/class.swpm-form.php:182 msgid "Access starts field is invalid" msgstr "" #: classes/class.swpm-form.php:192 msgid "Gender field is invalid" msgstr "" #: classes/class.swpm-form.php:203 msgid "Account state field is invalid" msgstr "" #: classes/class.swpm-form.php:210 msgid "Invalid membership level" msgstr "" #: classes/class.swpm-front-registration.php:26 msgid "" "You are already logged in. You don't need to create another account. So the " "registration form is hidden." msgstr "" #: classes/class.swpm-front-registration.php:59 #: classes/class.swpm-utils-misc.php:364 views/login.php:38 msgid "Join Us" msgstr "Joins-toi à nous" #: classes/class.swpm-front-registration.php:61 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" #: classes/class.swpm-front-registration.php:63 msgid " page to pay for a premium membership." msgstr "" #: classes/class.swpm-front-registration.php:65 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Vous recevrez un lien unique par e-mail après le paiement. Vous pourrez " "utiliser ce lien pour compléter l’inscription à l’adhésion premium." #: classes/class.swpm-front-registration.php:95 msgid "Security check: captcha validation failed." msgstr "" #: classes/class.swpm-front-registration.php:108 msgid "You must accept the terms and conditions." msgstr "" #: classes/class.swpm-front-registration.php:122 msgid "You must agree to the privacy policy." msgstr "" #: classes/class.swpm-front-registration.php:163 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "Tu dois confirmer ton adresse e-mail. Vérifie tes emails et suis les " "instructions pour terminer ton inscription." #: classes/class.swpm-front-registration.php:176 msgid "Registration Successful. " msgstr "" #: classes/class.swpm-front-registration.php:176 #: classes/class.swpm-utils-misc.php:363 classes/class.swpm-utils-misc.php:375 msgid "Please" msgstr "" #: classes/class.swpm-front-registration.php:176 #: classes/class.swpm-utils-misc.php:363 views/login.php:32 msgid "Login" msgstr "Se connecter" #: classes/class.swpm-front-registration.php:195 msgid "Please correct the following" msgstr "" #: classes/class.swpm-front-registration.php:243 msgid "Membership Level Couldn't be found." msgstr "" #: classes/class.swpm-front-registration.php:295 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" #: classes/class.swpm-front-registration.php:303 msgid "Profile updated successfully." msgstr "Le profil a été mis à jour." #: classes/class.swpm-front-registration.php:316 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" #: classes/class.swpm-front-registration.php:344 msgid "Please correct the following." msgstr "" #: classes/class.swpm-front-registration.php:360 msgid "Captcha validation failed." msgstr "" #: classes/class.swpm-front-registration.php:371 msgid "Email address not valid." msgstr "" #: classes/class.swpm-front-registration.php:385 msgid "No user found with that email address." msgstr "" #: classes/class.swpm-front-registration.php:386 #: classes/class.swpm-front-registration.php:418 msgid "Email Address: " msgstr "" #: classes/class.swpm-front-registration.php:417 msgid "New password has been sent to your email address." msgstr "" #: classes/class.swpm-front-registration.php:446 msgid "Can't find member account." msgstr "" #: classes/class.swpm-front-registration.php:451 #: classes/class.swpm-front-registration.php:504 msgid "Account already active. " msgstr "" #: classes/class.swpm-front-registration.php:451 #: classes/class.swpm-front-registration.php:504 msgid " to login." msgstr "" #: classes/class.swpm-front-registration.php:458 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" #: classes/class.swpm-front-registration.php:472 msgid "Success! Your account has been activated successfully." msgstr "" #: classes/class.swpm-front-registration.php:499 msgid "Cannot find member account." msgstr "" #: classes/class.swpm-front-registration.php:521 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" #: classes/class.swpm-init-time-tasks.php:137 msgid "Sorry, Nonce verification failed." msgstr "" #: classes/class.swpm-init-time-tasks.php:144 msgid "Sorry, Password didn't match." msgstr "" #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "" #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "" #: classes/class.swpm-members.php:11 msgid "Member" msgstr "" #: classes/class.swpm-members.php:21 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "" #: classes/class.swpm-members.php:22 views/add.php:18 views/admin_add.php:12 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Nom d’utilisateur" #: classes/class.swpm-members.php:25 views/add.php:22 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "" #: classes/class.swpm-members.php:27 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "" #: classes/class.swpm-members.php:28 views/admin_members_list.php:45 #: includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "" #: classes/class.swpm-members.php:29 msgid "Last Login Date" msgstr "" #: classes/class.swpm-members.php:50 msgid "Set Status to Active" msgstr "" #: classes/class.swpm-members.php:51 msgid "Set Status to Active and Notify" msgstr "" #: classes/class.swpm-members.php:52 msgid "Set Status to Inactive" msgstr "" #: classes/class.swpm-members.php:53 msgid "Set Status to Pending" msgstr "" #: classes/class.swpm-members.php:54 msgid "Set Status to Expired" msgstr "" #: classes/class.swpm-members.php:80 msgid "incomplete" msgstr "" #: classes/class.swpm-members.php:221 msgid "No member found." msgstr "" #: classes/class.swpm-members.php:376 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" #: classes/class.swpm-members.php:522 msgid "" "Error! Nonce security verification failed for Bulk Change Membership Level " "action. Clear cache and try again." msgstr "" #: classes/class.swpm-members.php:530 classes/class.swpm-members.php:567 msgid "Error! Please select a membership level first." msgstr "" #: classes/class.swpm-members.php:547 msgid "Membership level change operation completed successfully." msgstr "" #: classes/class.swpm-members.php:559 msgid "" "Error! Nonce security verification failed for Bulk Change Access Starts Date " "action. Clear cache and try again." msgstr "" #: classes/class.swpm-members.php:584 msgid "Access starts date change operation successfully completed." msgstr "" #: classes/class.swpm-members.php:713 msgid "Simple WP Membership::Members" msgstr "" #: classes/class.swpm-members.php:714 views/admin_members_list.php:69 msgid "Add New" msgstr "" #: classes/class.swpm-members.php:719 views/admin_add.php:7 msgid "Add Member" msgstr "" #: classes/class.swpm-members.php:720 msgid "Bulk Operation" msgstr "" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "" #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "" #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "" #: classes/class.swpm-membership-levels.php:199 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" #: classes/class.swpm-membership-levels.php:218 views/admin_members_list.php:56 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "" #: classes/class.swpm-membership-levels.php:265 msgid "Simple WP Membership::Membership Levels" msgstr "" #: classes/class.swpm-membership-levels.php:270 msgid "Add Level" msgstr "" #: classes/class.swpm-membership-levels.php:271 msgid "Manage Content Protection" msgstr "" #: classes/class.swpm-membership-levels.php:272 msgid "Category Protection" msgstr "" #: classes/class.swpm-membership-levels.php:273 msgid "Post and Page Protection" msgstr "" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "" #: classes/class.swpm-post-list.php:109 msgid "" "Error! Nonce security verification failed for Post Protection Update action. " "Clear cache and try again." msgstr "" #: classes/class.swpm-post-list.php:132 msgid "Protection settings updated!" msgstr "" #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "" #: classes/class.swpm-settings.php:25 classes/class.swpm-settings.php:53 msgid "General Settings" msgstr "" #: classes/class.swpm-settings.php:26 msgid "Payment Settings" msgstr "" #: classes/class.swpm-settings.php:27 msgid "Email Settings" msgstr "" #: classes/class.swpm-settings.php:28 msgid "Tools" msgstr "" #: classes/class.swpm-settings.php:29 classes/class.swpm-settings.php:569 msgid "Advanced Settings" msgstr "" #: classes/class.swpm-settings.php:30 msgid "Addons Settings" msgstr "" #: classes/class.swpm-settings.php:52 msgid "Plugin Documentation" msgstr "" #: classes/class.swpm-settings.php:56 msgid "Enable Free Membership" msgstr "" #: classes/class.swpm-settings.php:62 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" #: classes/class.swpm-settings.php:67 msgid "Free Membership Level ID" msgstr "" #: classes/class.swpm-settings.php:73 msgid "Assign free membership level ID" msgstr "" #: classes/class.swpm-settings.php:78 msgid "Enable More Tag Protection" msgstr "" #: classes/class.swpm-settings.php:84 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" #: classes/class.swpm-settings.php:89 msgid "Hide Adminbar" msgstr "" #: classes/class.swpm-settings.php:95 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" #: classes/class.swpm-settings.php:100 msgid "Show Adminbar to Admin" msgstr "" #: classes/class.swpm-settings.php:106 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" #: classes/class.swpm-settings.php:111 msgid "Disable Access to WP Dashboard" msgstr "" #: classes/class.swpm-settings.php:117 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashboard. Using this option will prevent any " "non-admin users from going to the wp dashboard." msgstr "" #: classes/class.swpm-settings.php:123 classes/class.swpm-settings.php:761 msgid "Default Account Status" msgstr "" #: classes/class.swpm-settings.php:131 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" #: classes/class.swpm-settings.php:137 msgid "Members Must be Logged in to Comment" msgstr "" #: classes/class.swpm-settings.php:143 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" #: classes/class.swpm-settings.php:154 msgid "Pages Settings" msgstr "" #: classes/class.swpm-settings.php:157 msgid "Login Page URL" msgstr "" #: classes/class.swpm-settings.php:168 msgid "Registration Page URL" msgstr "" #: classes/class.swpm-settings.php:179 msgid "Join Us Page URL" msgstr "" #: classes/class.swpm-settings.php:190 msgid "Edit Profile Page URL" msgstr "" #: classes/class.swpm-settings.php:201 msgid "Password Reset Page URL" msgstr "" #: classes/class.swpm-settings.php:211 msgid "Test & Debug Settings" msgstr "" #: classes/class.swpm-settings.php:213 msgid "Check this option to enable debug logging." msgstr "" #: classes/class.swpm-settings.php:214 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" #: classes/class.swpm-settings.php:216 msgid "View general debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:216 classes/class.swpm-settings.php:217 #: classes/class.swpm-settings.php:218 msgid "here" msgstr "" #: classes/class.swpm-settings.php:217 msgid "View login related debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:218 msgid "Reset debug log files by clicking " msgstr "" #: classes/class.swpm-settings.php:221 msgid "Enable Debug" msgstr "" #: classes/class.swpm-settings.php:232 msgid "Enable Sandbox Testing" msgstr "" #: classes/class.swpm-settings.php:238 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" #: classes/class.swpm-settings.php:246 msgid "Stripe Global Settings" msgstr "" #: classes/class.swpm-settings.php:249 msgid "Pre-fill Member Email Address" msgstr "" #: classes/class.swpm-settings.php:255 msgid "" "Pre-fills the email address of the logged-in member on the Stripe checkout " "form when possible" msgstr "" #: classes/class.swpm-settings.php:260 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:399 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:381 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:156 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:148 msgid "Test Publishable Key" msgstr "" #: classes/class.swpm-settings.php:266 msgid "Stripe API Test publishable key" msgstr "" #: classes/class.swpm-settings.php:271 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:406 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:388 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:164 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:156 msgid "Test Secret Key" msgstr "" #: classes/class.swpm-settings.php:277 msgid "Stripe API Test secret key" msgstr "" #: classes/class.swpm-settings.php:282 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:413 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:395 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:172 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:164 msgid "Live Publishable Key" msgstr "" #: classes/class.swpm-settings.php:288 msgid "Stripe API Live publishable key" msgstr "" #: classes/class.swpm-settings.php:293 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:420 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:402 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:180 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:172 msgid "Live Secret Key" msgstr "" #: classes/class.swpm-settings.php:299 msgid "Stripe API Live secret key" msgstr "" #: classes/class.swpm-settings.php:309 msgid "Email Settings Overview" msgstr "" #: classes/class.swpm-settings.php:310 msgid "Email Misc. Settings" msgstr "" #: classes/class.swpm-settings.php:314 msgid "From Email Address" msgstr "" #: classes/class.swpm-settings.php:326 msgid "Allow HTML in Emails" msgstr "" #: classes/class.swpm-settings.php:337 msgid "Email Settings (Prompt to Complete Registration )" msgstr "" #: classes/class.swpm-settings.php:340 classes/class.swpm-settings.php:371 #: classes/class.swpm-settings.php:452 classes/class.swpm-settings.php:477 #: classes/class.swpm-settings.php:513 classes/class.swpm-settings.php:538 msgid "Email Subject" msgstr "" #: classes/class.swpm-settings.php:351 classes/class.swpm-settings.php:382 #: classes/class.swpm-settings.php:463 classes/class.swpm-settings.php:488 #: classes/class.swpm-settings.php:524 classes/class.swpm-settings.php:549 msgid "Email Body" msgstr "" #: classes/class.swpm-settings.php:362 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" #: classes/class.swpm-settings.php:363 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" #: classes/class.swpm-settings.php:365 msgid "Enter the subject for the admin notification email." msgstr "" #: classes/class.swpm-settings.php:366 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" #: classes/class.swpm-settings.php:368 msgid "Email Settings (Registration Complete)" msgstr "" #: classes/class.swpm-settings.php:393 msgid "Send Notification to Admin" msgstr "" #: classes/class.swpm-settings.php:399 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" #: classes/class.swpm-settings.php:404 msgid "Admin Email Address" msgstr "" #: classes/class.swpm-settings.php:415 msgid "Admin Notification Email Subject" msgstr "" #: classes/class.swpm-settings.php:426 msgid "Admin Notification Email Body" msgstr "" #: classes/class.swpm-settings.php:438 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" #: classes/class.swpm-settings.php:449 msgid "Email Settings (Password Reset)" msgstr "" #: classes/class.swpm-settings.php:474 msgid " Email Settings (Account Upgrade Notification)" msgstr "" #: classes/class.swpm-settings.php:499 msgid "Disable Email Notification After Upgrade" msgstr "" #: classes/class.swpm-settings.php:505 msgid "" "You can use this option to disable the email notification that gets sent to " "the members when they make a payment for upgrade or renewal." msgstr "" #: classes/class.swpm-settings.php:510 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "" #: classes/class.swpm-settings.php:535 msgid " Email Settings (Email Activation)" msgstr "" #: classes/class.swpm-settings.php:573 msgid "Enable Expired Account Login" msgstr "" #: classes/class.swpm-settings.php:579 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" #: classes/class.swpm-settings.php:585 msgid "Membership Renewal URL" msgstr "" #: classes/class.swpm-settings.php:591 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" #: classes/class.swpm-settings.php:597 msgid "After Registration Redirect URL" msgstr "" #: classes/class.swpm-settings.php:603 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after registration " "redirect." msgstr "" #: classes/class.swpm-settings.php:609 msgid "Enable Auto Login After Registration" msgstr "" #: classes/class.swpm-settings.php:615 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" #: classes/class.swpm-settings.php:621 msgid "Hide Registration Form to Logged Users" msgstr "" #: classes/class.swpm-settings.php:627 msgid "" "Use this option if you want to hide the registration form to the logged-in " "members. If logged-in members visit the registration page, they will see a " "message instead of the registration form." msgstr "" #: classes/class.swpm-settings.php:633 msgid "After Logout Redirect URL" msgstr "" #: classes/class.swpm-settings.php:639 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" #: classes/class.swpm-settings.php:645 msgid "Logout Member on Browser Close" msgstr "" #: classes/class.swpm-settings.php:651 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" #: classes/class.swpm-settings.php:657 msgid "Allow Account Deletion" msgstr "" #: classes/class.swpm-settings.php:663 msgid "Allow users to delete their accounts." msgstr "" #: classes/class.swpm-settings.php:669 msgid "Force Strong Password for Members" msgstr "" #: classes/class.swpm-settings.php:675 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" #: classes/class.swpm-settings.php:681 msgid "Auto Delete Pending Account" msgstr "" #: classes/class.swpm-settings.php:693 msgid "Select how long you want to keep \"pending\" account." msgstr "" #: classes/class.swpm-settings.php:699 msgid "Admin Dashboard Access Permission" msgstr "" #: classes/class.swpm-settings.php:712 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user roles to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" #: classes/class.swpm-settings.php:718 msgid "Force WP User Synchronization" msgstr "" #: classes/class.swpm-settings.php:724 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" #: classes/class.swpm-settings.php:729 msgid "Create Member Accounts for New WP Users" msgstr "" #: classes/class.swpm-settings.php:733 msgid "Enable Auto Create Member Accounts" msgstr "" #: classes/class.swpm-settings.php:739 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" #: classes/class.swpm-settings.php:746 msgid "Default Membership Level" msgstr "" #: classes/class.swpm-settings.php:754 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" #: classes/class.swpm-settings.php:769 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" #: classes/class.swpm-settings.php:775 msgid "Payment Notification Forward URL" msgstr "" #: classes/class.swpm-settings.php:781 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" #: classes/class.swpm-settings.php:786 views/add.php:68 msgid "Terms and Conditions" msgstr "" #: classes/class.swpm-settings.php:790 msgid "Enable Terms and Conditions" msgstr "" #: classes/class.swpm-settings.php:796 msgid "Users must accept the terms before they can complete the registration." msgstr "" #: classes/class.swpm-settings.php:801 msgid "Terms and Conditions Page URL" msgstr "" #: classes/class.swpm-settings.php:807 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" #: classes/class.swpm-settings.php:812 msgid "Enable Privacy Policy" msgstr "Activer la politique de confidentialité" #: classes/class.swpm-settings.php:818 msgid "Users must accept it before they can complete the registration." msgstr "" #: classes/class.swpm-settings.php:823 msgid "Privacy Policy Page URL" msgstr "" #: classes/class.swpm-settings.php:829 msgid "Enter the URL of your privacy policy page." msgstr "" #: classes/class.swpm-settings.php:927 #, php-format msgid "Visit the %s to read setup and configuration documentation." msgstr "" #: classes/class.swpm-settings.php:927 msgid "Simple Membership Plugin Site" msgstr "" #: classes/class.swpm-settings.php:928 #, php-format msgid "Please %s if you like the plugin." msgstr "" #: classes/class.swpm-settings.php:928 msgid "give us a rating" msgstr "" #: classes/class.swpm-settings.php:945 classes/class.swpm-settings.php:991 #: classes/class.swpm-settings.php:1019 msgid "Settings updated!" msgstr "" #: classes/class.swpm-settings.php:980 views/admin_tools_settings.php:82 msgid "This documentation" msgstr "" #: classes/class.swpm-settings.php:1034 msgid "" "Note: You cannot enable both the \"Disable Access to WP Dashboard\" and " "\"Admin Dashboard Access Permission\" options at the same time. Only use one " "of those options." msgstr "" #: classes/class.swpm-settings.php:1200 msgid "Simple WP Membership::Settings" msgstr "" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 #: classes/class.swpm-utils-member.php:68 msgid "User is not logged in." msgstr "" #: classes/class.swpm-utils-member.php:88 msgid "No Expiry" msgstr "" #: classes/class.swpm-utils-misc.php:57 msgid "Registration" msgstr "" #: classes/class.swpm-utils-misc.php:85 msgid "Member Login" msgstr "" #: classes/class.swpm-utils-misc.php:113 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:135 msgid "Profile" msgstr "" #: classes/class.swpm-utils-misc.php:141 msgid "Password Reset" msgstr "Réinitialisation du mot de passe" #: classes/class.swpm-utils-misc.php:195 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "" "Tu vas être automatiquement redirigé dans quelques secondes. Sinon, %s svp." #: classes/class.swpm-utils-misc.php:199 msgid "Action Status" msgstr "" #: classes/class.swpm-utils-misc.php:364 msgid "Not a Member?" msgstr "Pas encore membre?" #: classes/class.swpm-utils-misc.php:375 msgid "renew" msgstr "" #: classes/class.swpm-utils-misc.php:375 msgid " your account to gain access to this content." msgstr "" #: classes/class.swpm-utils-misc.php:433 classes/class.swpm-utils-misc.php:439 msgid "Error! This action (" msgstr "" #: classes/class.swpm-utils-misc.php:680 msgid "(Please Select)" msgstr "(SVP sélectionner)" #: classes/class.swpm-utils-misc.php:696 msgid "PayPal Buy Now" msgstr "" #: classes/class.swpm-utils-misc.php:697 msgid "PayPal Subscription" msgstr "" #: classes/class.swpm-utils-misc.php:698 msgid "PayPal Smart Checkout" msgstr "" #: classes/class.swpm-utils-misc.php:699 msgid "Stripe Buy Now" msgstr "" #: classes/class.swpm-utils-misc.php:700 msgid "Stripe Subscription" msgstr "" #: classes/class.swpm-utils-misc.php:701 msgid "Stripe SCA Buy Now" msgstr "" #: classes/class.swpm-utils-misc.php:702 msgid "Stripe SCA Subscription" msgstr "" #: classes/class.swpm-utils-misc.php:703 msgid "Braintree Buy Now" msgstr "" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "" #: classes/class.swpm-utils.php:111 msgid "Never" msgstr "Jamais" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "" #: classes/class.swpm-utils.php:126 views/admin_members_list.php:33 msgid "Active" msgstr "Actif" #: classes/class.swpm-utils.php:127 views/admin_members_list.php:34 msgid "Inactive" msgstr "Inactif" #: classes/class.swpm-utils.php:128 views/admin_members_list.php:35 msgid "Activation Required" msgstr "Activation requise" #: classes/class.swpm-utils.php:129 views/admin_members_list.php:36 msgid "Pending" msgstr "En suspens" #: classes/class.swpm-utils.php:130 views/admin_members_list.php:38 msgid "Expired" msgstr "Expiré" #: classes/class.swpm-utils.php:481 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "" #: classes/class.swpm-wp-loaded-tasks.php:118 msgid "" "You will be redirected to the previous page in a few seconds. If not, please " "click here." msgstr "" "Tu vas être redirigé vers la page précédente dans quelques secondes. Sinon, " "clique ici svp." #: classes/class.swpm-wp-loaded-tasks.php:121 msgid "Success!" msgstr "C’est fait!" #: classes/class.swpm-wp-loaded-tasks.php:129 msgid "No token provided." msgstr "" #: classes/class.swpm-wp-loaded-tasks.php:136 msgid "Nonce check failed." msgstr "" #: classes/class.swpm-wp-loaded-tasks.php:161 msgid "Subscription has been cancelled." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:70 msgid "Your membership profile will be updated to reflect the payment." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:71 msgid "Your profile username: " msgstr "Ton nom d’utilisateur " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:89 msgid "Click on the following link to complete the registration." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:90 msgid "Click here to complete your paid registration" msgstr "Clique ici pour compléter ton inscription" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:109 msgid "Expiry: " msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:111 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:156 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:238 msgid "You are not logged-in as a member" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:133 msgid "Logged in as: " msgstr "Connecté en tant que " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:136 #: views/loggedin.php:31 msgid "Logout" msgstr "Se déconnecter" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:139 msgid "Login Here" msgstr "Se connecter" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:140 msgid "Not a member? " msgstr "Pas encore membre " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:141 msgid "Join Now" msgstr "Inscris-toi maintenant" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:218 msgid "Unsubscribe from PayPal" msgstr "" #. translators: %1$d is error code; %2$s is error message. #: ipn/swpm-smart-checkout-ipn.php:264 ipn/swpm-smart-checkout-ipn.php:291 #, php-format msgid "" "Error occured during payment verification. Error code: %1$d. Message: %2$s" msgstr "" #. translators: %1$s is expected amount, %2$s is expected currency. #: ipn/swpm-smart-checkout-ipn.php:305 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s " "%4$s." msgstr "" #: ipn/swpm-smart-checkout-ipn.php:341 msgid "Empty payment data received." msgstr "" #: ipn/swpm-smart-checkout-ipn.php:400 msgid "IPN product validation failed. Check the debug log for more details." msgstr "" #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" #: views/account_delete_warning.php:8 msgid "It will also delete the associated WordPress user account." msgstr "" #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Mot de passe " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "" #: views/add.php:26 views/admin_add.php:20 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:19 msgid "Password" msgstr "Mot de passe" #: views/add.php:30 views/edit.php:35 msgid "Repeat Password" msgstr "Répéter le mot de passe" #: views/add.php:68 msgid "I accept the " msgstr "" #: views/add.php:80 msgid "I agree to the " msgstr "" #: views/add.php:80 msgid "Privacy Policy" msgstr "" #: views/add.php:91 msgid "Register" msgstr "S’inscrire" #: views/admin_add.php:8 msgid "Create a brand new user and add it to this site." msgstr "" #: views/admin_add.php:12 views/admin_add.php:16 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "" #: views/admin_add.php:16 views/admin_edit.php:40 msgid "E-mail" msgstr "" #: views/admin_add.php:20 msgid "(twice, required)" msgstr "" #: views/admin_add.php:25 views/admin_edit.php:48 msgid "Strength indicator" msgstr "" #: views/admin_add.php:26 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" #: views/admin_add.php:30 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Status du compte" #: views/admin_add.php:40 msgid "Add New Member " msgstr "" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "" #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "Activation par email" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "" #: views/admin_add_level.php:45 msgid "" "If enabled, the member's decryptable password is temporarily stored in the " "database until the account is activated." msgstr "" #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "" #: views/admin_add_ons_page.php:11 msgid "Simple WP Membership::Add-ons" msgstr "" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" #: views/admin_addon_settings.php:9 msgid "Save Changes" msgstr "" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_category_list.php:11 views/admin_post_list.php:11 msgid "Read the " msgstr "" #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "" #: views/admin_category_list.php:11 msgid "to learn more." msgstr "" #: views/admin_category_list.php:21 views/admin_post_list.php:34 msgid "General Protection" msgstr "" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "" #: views/admin_edit.php:14 msgid " You are currently editing member with member ID: " msgstr "" #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" #: views/admin_edit.php:60 msgid "this documentation" msgstr "" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr "" #: views/admin_edit.php:66 msgid "Notify User" msgstr "" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" #: views/admin_edit.php:75 msgid "Subscriber ID/Reference" msgstr "" #: views/admin_edit.php:79 msgid "Expiry Date" msgstr "Date d’expiration" #: views/admin_edit.php:86 msgid "" "This is calculated based on the current membership level assigned to this " "member and the expiry condition that you have set for that membership level." msgstr "" #: views/admin_edit.php:91 msgid "Last Accessed Date" msgstr "" #: views/admin_edit.php:94 views/admin_edit.php:101 msgid "This value gets updated when this member logs into your site." msgstr "" #: views/admin_edit.php:98 msgid "Last Accessed From IP" msgstr "" #: views/admin_edit.php:109 msgid "Save Data" msgstr "" #: views/admin_edit.php:114 msgid "Delete User Profile" msgstr "" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "" #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" #: views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "" #: views/admin_member_form_common_part.php:23 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Genre" #: views/admin_member_form_common_part.php:30 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Téléphone" #: views/admin_member_form_common_part.php:34 views/edit.php:51 msgid "Street" msgstr "Rue" #: views/admin_member_form_common_part.php:38 views/edit.php:55 msgid "City" msgstr "Ville" #: views/admin_member_form_common_part.php:42 views/edit.php:59 msgid "State" msgstr "Province" #: views/admin_member_form_common_part.php:46 views/edit.php:63 msgid "Zipcode" msgstr "Code postal" #: views/admin_member_form_common_part.php:50 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Pays" #: views/admin_member_form_common_part.php:54 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Companie" #: views/admin_member_form_common_part.php:58 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Membre depuis" #: views/admin_members_list.php:32 msgid "All" msgstr "Tout" #: views/admin_members_list.php:37 views/admin_members_list.php:47 msgid "Incomplete" msgstr "Incomplet" #: views/admin_membership_manage.php:19 msgid "Example Content Protection Settings" msgstr "" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr "" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "" #: views/admin_tools_settings.php:21 msgid "Generate a Registration Completion link" msgstr "" #: views/admin_tools_settings.php:24 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" #: views/admin_tools_settings.php:29 msgid "Generate Registration Completion Link" msgstr "" #: views/admin_tools_settings.php:32 msgid "OR" msgstr "" #: views/admin_tools_settings.php:33 msgid "For All Incomplete Registrations" msgstr "" #: views/admin_tools_settings.php:38 msgid "Send Registration Reminder Email Too" msgstr "" #: views/admin_tools_settings.php:44 msgid "Submit" msgstr "Envoyer" #: views/admin_tools_settings.php:53 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" #: views/admin_tools_settings.php:55 msgid "Registration completion links will appear below" msgstr "" #: views/admin_tools_settings.php:65 msgid "A prompt to complete registration email was also sent." msgstr "" #: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88 msgid "Re-create the Required Pages" msgstr "" #: views/admin_tools_settings.php:81 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" #: views/admin_tools_settings.php:82 msgid " has full explanation." msgstr "" #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Laisser vide pour garder le mot de passe actuel" #: views/edit.php:71 msgid "Company Name" msgstr "Companie" #: views/edit.php:84 msgid "Update" msgstr "Mettre à jour" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Réinitialisation du mot de passe" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Connecté en tant que" #: views/loggedin.php:14 msgid "Membership" msgstr "Niveau" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Expiration du compte" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Modifier ton profil" #: views/login.php:26 msgid "Remember Me" msgstr "Se souvenir de moi" #: views/login.php:35 msgid "Forgot Password?" msgstr "Tu as oublié ton mot de passe?" #: views/payments/admin_add_edit_transaction_manually.php:68 msgid "Add New Transaction" msgstr "" #: views/payments/admin_add_edit_transaction_manually.php:99 #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "ID membre" #: views/payments/admin_add_edit_transaction_manually.php:160 msgid "Save Transaction Data" msgstr "" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "" #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "" #: views/payments/admin_all_payment_transactions.php:49 msgid "Add a Transaction Manually" msgstr "" #: views/payments/admin_create_payment_buttons.php:17 msgid "" "You can create a new payment button for your memberships using this " "interface." msgstr "" #: views/payments/admin_create_payment_buttons.php:25 msgid "Select Payment Button Type" msgstr "" #: views/payments/admin_create_payment_buttons.php:58 msgid "Next" msgstr "" #: views/payments/admin_edit_payment_buttons.php:17 msgid "You can edit a payment button using this interface." msgstr "" #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" #: views/payments/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "" #: views/payments/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" #: views/payments/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "" #: views/payments/admin_payment_settings.php:41 msgid "Generate Code" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:216 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:304 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:316 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:298 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:92 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:92 msgid "Button ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:224 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:312 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:323 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:305 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:100 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:100 msgid "Button Title" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:242 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:321 msgid "Payment Amount" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:429 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:411 msgid "The following details are optional." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:459 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:442 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:424 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:227 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:219 msgid "Return URL" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:128 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:325 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:215 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:488 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:472 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:454 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:248 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:240 msgid "Save Payment Data" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:207 msgid "PayPal Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:250 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:330 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:328 msgid "Payment Currency" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:298 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:370 msgid "PayPal Email" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:306 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:467 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:450 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:432 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:235 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:227 msgid "Button Image URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:314 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:475 msgid "Custom Checkout Page Logo Image" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 msgid "Medium" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Large" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 msgid "Gold" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 msgid "Blue" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 msgid "Silver" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 msgid "Black" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 msgid "Select button color." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 msgid "Rectangular" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 msgid "Pill" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 msgid "Select button shape." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 msgid "Vertical" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 msgid "Horizontal" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 msgid "Select button layout." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "PayPal Credit" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:298 msgid "PayPal Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:378 msgid "Billing Amount Each Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:386 msgid "Billing Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:399 msgid "Billing Cycle Count" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:407 msgid "Re-attempt on Failure" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:422 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:428 msgid "Trial Billing Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:436 msgid "Trial Billing Period" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:213 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:205 msgid "Optional Details" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:26 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:307 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:289 msgid "Stripe Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:386 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:368 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:391 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:373 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:148 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:140 msgid "Use Global API Keys Settings" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:394 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:376 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:151 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:143 msgid "" "Use API keys from Payment " "Settings tab." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:434 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:416 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:219 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:211 msgid "Collect Customer Address" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:26 msgid "Stripe SCA Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:84 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:84 msgid "Stripe Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:118 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:118 msgid "Stripe API ID" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:129 msgid "Trial Period" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:142 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:134 msgid "Stripe API Settings" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:188 msgid "Webhook Endpoint URL" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:180 msgid "Webook Endpoint URL" msgstr "" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:21 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:100 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:102 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:161 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:144 msgid "Buy Now" msgstr "Payer maintenant" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:235 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:237 msgid "Subscribe Now" msgstr "Inscris-toi maintenant" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:149 msgid "Error occurred during PayPal Smart Checkout process." msgstr "" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:178 msgid "HTTP error occurred during payment process:" msgstr "" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Écrire le mot de passe ici" msgid "Retype password here" msgstr "Ré-écrire le mot de passe ici" msgid "Registration is complete. You can now log into the site." msgstr "Ton inscription est complète. Tu peux maintenant te connecter au site." msgid " Field has invalid character" msgstr " Caractères invalides" msgid " Password does not match" msgstr " Les mots de passe sont différents" msgid "Already taken." msgstr "Déjà pris." msgid "Street Address" msgstr "Rue" msgid "Apt, Suite, Bldg. (optional)" msgstr "" msgid "State / Province / Region" msgstr "" msgid "Postal / Zip Code" msgstr "" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" msgid "You will need to re-login since you changed your password." msgstr "Tu vas devoir te re-connecter puisque tu as changé ton mot de passe." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" msgid "Verification" msgstr "Vérification" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Le nom d’utilisateur peut seulement contenir: lettres, nombres et .-*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Les caractères permis sont: lettres, nombres et .-*@" msgid "Please check at least one." msgstr "SVP en cocher au moins un." #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Tu n’as pas la permission de voir ce contenu." msgid "Your membership level does not have permission to view this content." msgstr "" "Ton niveau d’inscription ne te donne pas la permission de voir ce contenu." msgid "This content is for members only." msgstr "Ce contenu est pour les membres seulement." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Niveau" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adresse" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Rechercher…" #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Recherche d’effacement" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Vous devez être connecté pour mettre à niveau un abonnement." msgid "Membership level has been updated." msgstr "Le niveau d’adhésion a été mis à jour." msgid "Already a member of this level." msgstr "Déjà membre de ce niveau." languages/simple-membership-ca_ES.mo000064400000060570147206617610013463 0ustar00{.D - 7 B c+n  ,:I^s  (M2@% 8 T^ x   *D-I9w004e| $  %CYp v 1& <Jcz[ =_ 5!!R!#B" f" s""" ""l#~####### $%$'<$=d$ $$R%U%&&$&6&O&W&h& ~& && &&&&&& & '!'1'O' W'b'#s'%'''''4 (?(D(1J(|((@+)Al)))&) ) ***$*3*<*W*f*~**#* **(*+*+<+Q+b+s+|+++++++++X,t,, ,0,,, - -- ,-7-<- C-P-b-/i-*- - ---3 .=.9.3 /?/$Z////$/// 0 *0K0'i00k0!1>1\1b1i1|1 1111C18#2\2b2q2J2222 3 33 43>3$X3}33 3132344Md5M52636I6L`636637(7S7F8?\88888NW:M: : :$ ; .;B;;~;;;;;!;<&<7<I<_<u<<< < <<<<==/=E=FU=G==,=+>2>:>0J> {> >>>>> ??.?B? S?_?%w?=??<?9@ Y@c@j@/p@@@@:@A9AUA^A nA zAA AA(A ABB4BMBTBfByBBB<BOB7CC{CCCCC(CD 4DUDkmDHD"EEFvF03GdGsGGGGGHHH$HIII8I MI/ZI0I>IIJJJsK{K KKKKKKL"L 9LGLMLkL"rLLL L'LLLM MMOL($/ %r"Kb&]3sWuNxl8Yeq@n;`\. m vDT9?o Email Settings (Account Upgrade Notification) The rest of the content is not permitted for your membership level.%1$s %2$d%s pending(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.AmountApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton ShortcodeButton TitleBuy NowCategory ProtectionCategory protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Example Content Protection SettingsExcerpt ViewExpire AfterExpiredFilter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid User NameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameList ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember record added successfully.Member since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.No items found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease correct the followingPlease correct the following:Please login again.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful. Remember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSave ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email tooSession Expired.SettingsSettings updated!Simple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content can only be viewed by members who joined on or before This content is not permitted for your membership level.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUpdated Successfully.User NameUser Not Found.User is not logged in.User nameUser name already exists.User name contains invalid characterUser name is requiredUsernameWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not logged in.You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: ZipcodesearchProject-Id-Version: Simple Membership POT-Creation-Date: 2015-10-20 18:32+0200 PO-Revision-Date: 2015-10-20 20:30+0200 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.5 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=2; plural=(n != 1); Language: ca_ES X-Poedit-SearchPath-0: . Configuració del correu electrònic (Compte d'actualització de notificació)La resta d’aquest contingut no és accessible amb el seu nivell d’accés.%1$s %2$d%s restant(L’accés expira en una data fixa)(obligatori)(dues vegades, deixar en blanc per mantenir la contrasenya antiga)(dues vegades, es requereix)Duració del accésInici de l’accésAccés vàlid finsLa duració ha de ser > 0.El camp d’accés és no vàlid El comte expira elEstat del compteStatus del compteEl compte ha caducat.El compte és inactiuEl compte està en tràmit.Camp d’estat no vàlidActiuAfegir membreAfegir nouAfegir un nou membreAfegir nou nivell de membresAfegitsParàmetres ExtresCorreu del administradorParàmetres AvançatsTotes les datesTots els botons de membres que ha creat en el plugin es mostren aquí.Tots els pagaments / transaccions dels seus membres es registren aquí.Permetre esborrar comptesPermetre als usuaris esborrar el seu compte.ImportAplicarJa està agafatAssignar l’identificador dels membres gratuitsAutoesborrat de comptes pendentsDisponibleQuantitat a facturar cada cicleCicle de pagamentContador del cicle de pagamentAccions globalsID del botóURL del botó d’imatgeShortcode del botóTítol del botóComprar araCategoria de proteccióCategoria de protecció actualitzada!Marqueu aquesta opció per activar el registre de depuració.CiutatFeu clic aquí per completar la seva inscripció de pagamentFeu clic al següent enllaç per a completar el registre.CompanyiaComptePaísCrea un nou usuari i l’afegeix a aquest lloc.Crear un nou nivell de membres.DataFormat de data incorrecte.Dies (Access expira després de determinat nombre de dies)Status per defecte del compteRol per defecte a WordPressEsborrarCompte esborratDescripcióVoleu protegir aquest contingut?CorreuEditar membreEditar nivell de membresURL de la pàgina d’edició del perfilEditar UsuariEditar detalls del membre.Editar nivell de membresEditar nivell de membresCorreuAdreça de correuAdreça de correu:Cos del correuParàmetres del correuParàmetres del correuConfiguració del correu electrònic (Restablir contrasenya)Configuració del correu electrònic (Sol·licitud per a completar el registre)Configuració del correu electrònic (Registre complet)Assumpte del correuCorreu incorrecte.Aquest correu ja es fa servir.El còrreu no és vàlidCal escriure un correuHabilitar la entrada de comptes caducatsPermetre membres gratuitsActivar protecció d’etiquetesPermetre test de provesHabiliteu aquesta opció si voleu que l'administrador per rebre una notificació quan un registres membres.Habiliteu aquesta opció si vostè vol fer la prova de pagament simulat.Activa/Desactiva el registre de membres gratuits. Quan actives aquesta opció cal estar segur d’especificar l’identificador del nivell gratuit en el camp inferior.Activa o desactiva el la protecció addicional d'etiquetes a les entrades i pàgines. Qualsevol cosa després de l'etiqueta Més està protegida. Qualsevol cosa abans de l'etiqueta és més contingut de sumari.Entrar el nivell ID del membreIntroduïu l'adreça de correu electrònic on voleu enviar el correu electrònic de notificació a l’administració.Exemple Configuració de protecció de contingutVista de resumExpira després deCaducatFiltre per datesNomEn primer lloc, protegir a nivell global la categoria al seu lloc mitjançant la selecció de "protecció general" al quadre desplegable de sota i després seleccionar les categories que han de ser protegides dels usuaris no registrats.Data d’expiració fixaPer tots els registres pendentsContrasenya oblidadaIdentificador dels membres gratuits.Emissor del correuGènereCamp de gènere no vàlidParàmetres generalsGenerar CodiGenerar un enllaç de finalització de registreGenerar un enllaç de finalització del registreGenerar Codi "Variables avançades" per al seu botó de PayPalAmagar barra d’administracióConsell: La contrasenya ha de tenir almenys set caràcters. Per fer-ho més fort, utilitzeu lletres majúscules i minúscules, nombres i símbols com! ? "$% ^ & Amp;).IDSi vostè acaba de fer un pagament, el pagament encara no s'ha processat. Si us plau, torni a uns pocs minuts. En breu se li trametrà un correu electrònic amb els detalls.InactiuAdreça de correu incorrectaNom no vàlidNivell d’accés no vàlidUneix-teURL de la pàgina de uneix-teIP del darrer accésCognomsVista de llistaS’ha desconnectat correctament. Connectat comEntraURL de la pàgina d’entradaSortirManeig de Producció de ContingutsMembreEntrada MembresMembre des deRegistre d’usuari efectuat amb èxit.Camp de membre no vàlidMembresMembreNivell de seguretatNivell de seguretat no trobatNivell creat correctament.ID del nivell d’identificacióNom del nivell de membresNivellsNivell de membresMesos (Access expira després de determinat nombre de mesos)NomMaiHem tramés una nova contrasenya al seu correu.SegüentA continuació, seleccioneu un nivell de membres vigent des del quadre desplegable de sota i després seleccioneu les categories que voleu concedir accés a (per a aquest nivell de membres en particular).No Expiració (accés per a aquest nivell no expira fins que es cancel·li)No Expiració (accés per a aquest nivell no expira fins que es cancel·li)No es troba el membre.No es troben entrades.No hi ha cap usuari amb aquest correu.No ets membre?Notificar a l’usuarioDetalls opcionalsConfiguració de les pàginesContrasenyaContrasenya en blanc o incorrecta.Canviar ContrasenyaURL de la pàgina de canviar la contrasenyaCal una contrasenyaLa contrasenya és incorrectaConfiguració del botó Comprar Ara de PayPalCorreu de PayPalConfiguració de la integració amb PayPalBotó de configuració de la subscripció de PayPalImport del pagamentID del botó de pagamentEtiqueta del botó de pagamentMoneda del pagamentParàmetres de PagamentPagamentsPendentTelèfonPer favorSi us plau corregiu el següentSi us plau corregiu el següent:Si us plau torneu a connectar.Documentació del afegitPerfilPerfil actualitzat amb èxit.Perfil actualitzat amb èxit. Cal reiniciar.Reintentar si fallaRegistreRegistreL’enllaç de finalització del registre apareixerà a sota:URL de la pàgina de registreRegistre realitzat amb correctament.Recordar-meRepeteixi la contrasenyaRestablir contrasenyaURL de retornRolID de CasellaDesar canvisDesar data de pagamentCercaRecerca d'una transacció mitjançant l'ús de correu electrònic o nomLa validació ha fallat. Seleccionar totSeleccionar pàginaSeleccioneu tipus de botó de pagamentSeleccionar l’acció globalSeleccioneu quant temps voleu mantenir "pendent" un compte.Seleccioneu l'estat del compte per defecte per als usuaris recentment registrats. Si desitja aprovar manualment els membres llavors es pot establir l'estat a "Pendent".Seleccioneu el nivell de pertinença que pot accedir a aquest contingut:Enviar correu electrònic notificant membres afegits a través del panell d'administracióTrametre una notificació al AdministradorTambé trametre un correu recordatori del registreLa sessió ha finalitzat.AjustosConfiguració actualitzada!Opcions simples de pertinença i proteccióSimple Membership::PagamentsProtecció Simple per Usuaris de WPMembres WP simple :: ComplementsMembres WP simple :: CategoriesSimple WP Membership::MembresSimple WP Membership::Nivells de MembresSimple WP Membership::ConfiguracióAlgunes de les configuracions i opcions de plugins es mostraran aquí (si els té)Perdò, ha fallat la verificació.Perdò, la contrasenya és incorrecta.EstatCarrerForça de la contrasenyaTrametreSubscriure araReferència ID del subscriptorConfiguració de Test i depuracióL’entrada seleccionada està esborrada!Aquest contingut només pot ser visualitzat per membres que s’han identificat prèviamentAquest contingut no és accessible amb el seu nivell d’accés.EinesID de la transaccióPreu de la provaDetalls de facturació de Prova (Deixar en blanc si no està oferint un període de prova)Temps del periode de provaActualitzarActualització correcta.Nom d’usuariUsuari no trobat.L’usuari no està connectat.Nom d’usuariJa existeix aquest nom d’usuari.El nom d’usuari conté caràcters no vàlidsCal un nom d’usuariNom d’usuariMembres de WPSetmanes (Access expira després de determinat nombre de setmanes)Setmanes (Access expira després de determinat nombre de setmanes)Quan s'activa, els membres caducats podran iniciar sessió en el sistema, però no seran capaços de veure qualsevol contingut protegit. Això els permet renovar fàcilment el seu compte al fer un altre pagament.WordPress mostra una barra d'eines d'administració per a la els usuaris registrats del lloc. Marqueu aquesta casella si voleu amagar aquesta barra d'eines d'administració en el fronend del seu lloc.Existeix un compte amb aquest correu, però el nom d’usuari no coincideix.Existeix un usuari amb aquest usuari, però el correu no coincideix.Anys (Access expira després de determinat nombre d’anys)Has connectat com:No esteu connectat.Pots crear un nou botó de pagament per als seus membres utilitzant aquesta interfície.Podeu editar un botó de pagament utilitzant aquesta interfície.Pot generar manualment un enllaç de finalització d'inscripció aquí i donar-li al seu client si han perdut el correu electrònic que s'envia automàticament després del pagament.Has d’identificar-te per poder veure la resta d’aquest contingutHas d’identificar-te per poder veure aquest contingut.El teu compte ha caducat. Si et plau renova el teu compte per poder continuar accedint a aquest contingut.La teva contrasenya actualEl seu perfil de membres s'actualitzarà per reflectir el pagament.El seu perfil d’usuari:Codi Postalcercarlanguages/simple-membership-sl_SI.mo000064400000157134147206617610013525 0ustar00\!p,.q,",,,D,>-.1./N//e/Q0&h00 0B0-0 #1iD11 1+11 22&26<2s2 222;23 33-3F3[3p33 33V3R4o4 v4 444444444!5(5<5 Z5{5555M5@6Z6%q6266 66s7{7#7777 77 88/858T:88&8888 9 9 &929:9U9(q99 9 9 999:X$:}: : :-:9:;;%!;G; O;\;u; <<<<00<a< ~<<<0<<< ="=)=8= L=X=$w=== = ==== >> !>/> ?>J>Y>1y>&>> >>?(?9?K?$h??????@@[AYA[ABeBCChDE*"EMERE3GF3{FFF[F>RGFG.G H(H#H HHHH HI I9I!TIvIIIIIJJ"J:JSJfJ wJ%J'J=JK.K*3K ^KlK L L'L7Lm:LL1MM MM NN2N6KNNNNNNNN NN(NO#O_8OO OOO OOOOPP2PIPPPWP hP rPP P!PPP$P QQ#$Q%HQnQ&QQQQQ9Q"3RVR4_RRR1RR R@RAU MUwUU(UUUU UVI0VzVVVVVVVVWI%W9oWWWWWXXX+XCXKXXiXXXX Y Y(Y 1Y>YTY/nY8Y YYYZZ Z )Z3ZJZ/QZ Z*ZZ ZZZ[[2[G[3[[g[i[pa\\9f] ]3]]$^5^F^[^{^^^^-^^_ _$_+_G_'e___!__%_``7`>`E`T`g`#v``(`` ` ``6aIa^aG|ata"9b\b(bcC2c!vc8ccNcS3dda1eve^ fUiffXgogkh=~hhhh hhJhDiYi^iqixiikmk ll4l=l4Vl#lll6l? mFMmm mmm mm1gn2nn`ooprqLrLTr2rr]rMsisst!%tGtuLu3uI&vpvySw(whx_yzCzwzT{0{) |%6|.\|i|v|3l}(}I}:~N~~~D?Sa !7 P [ itz5.+d9Ճ*xeޅpg$}! ĆTц%&"Lmo݇ 3/ DPe@|Έ߈. DRap ĉo \{؊  /KSfz9!*݋,5I"fL=ڌ20.c ƍFM'h%#Ŏ#Q){%#ُ  (9 S>t* ސ ":W]̑5ۑ;Mf$lĒ > /5,P}ǔД0#3W` d q~(ؕ6(J2s+Җ<Q"f*-=Z?`&]_ZE$+ٝT64&O[cGUW)נ# ˡ֡ޡ&<)XK3Re y,,8$>1Dv ' 4?NsQťS  &B^zC٧#:Nc k4v'c٨=Nb s #ʩѩ  0: LZ#c . &%!G.[?ի% ;1Fx4Ь׬NF9!ƭ8! < I Vdl2ʮѮ :L\w ԯ'7(Hq[ %6TqM=9%V| ϲٲ%L="'"ճ   (B:ZC ٴ#):Ph0o A 3I_{?wcchǷ09H!a.ù'ݹ; V>a#%% Kl!u+ 6*Gr.ļ Լ޼2% DReq"*uM,þ=L1j^X e!w^1`bG? ^/!/<(Qz>DH8+  .v/~^RvY+#O]k@;/|Fs/8ghzX|`&$/0-o0'9XA>z:?m7""+ :DKf<T [hYqis\!fU-&E3=60H>?VuPlsOGjY*a%F eyL:\x|'4 qh R"{x 1[cFS27KK{'5M64W AGz>~XUep#] j ,w?C  7Jm 8r/Lz;`v Tno$ O!BD@2SPvu-|l(rN9t~ }Z$"]/X:EpH3W Rwm`(b9Q8#5).I^.ktoM0D_cgVA),d@ZJB}n+_ 1aidQy<Ig+^;C&* =kNb% Email Settings (Account Upgrade Notification) Email Settings (Email Activation) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. page to pay for a premium membership. to learn how to do it. to login. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterA prompt to complete registration email was also sent.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Account ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add-onsAdditional SettingsAddons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Logout Redirect URLAfter Registration Redirect URLAllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApostrophe character is not allowedAssign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Membership LevelBulk OperationButton Appearance SettingsButton IDButton TitleButton TypeBuy NowCan't find member account.Cannot find member account.Captcha validation failed on login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this box to delete the image. The image will be deleted when you save the profile.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameConfirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.Custom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDisable Access to WP DashboardDo you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEmailEmail ActivationEmail AddressEmail Address: Email BodyEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty payment data received.Enable Auto Login After RegistrationEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Privacy PolicyEnable Terms and ConditionsEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the subject for the admin notification email.Error occured during PayPal Smart Checkout process.Error occured during payment verification. Error code: %d. Message: %sError! Invalid Request. Could not find a match for the given security code and the user ID.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! The membership level ID (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry: FemaleFirst NameFixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo back to the home page by GoldHTTP error occured during payment process:Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).HorizontalI accept the I agree to the IDIf enabled, decryptable member password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelIt will also delete associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Logged Out Successfully.Logged in asLogged in as: LoginLogin HereLogin Page URLLogoutLogout Member on Browser CloseMaleManage Content ProtectionManage Payment ButtonsMediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Minimum Months (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNo ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No items found.No member found.No membership levels found.No user found with that email address.No, Do not protect this content.Not SpecifiedNot a Member?Not a member? Note:Notify UserOROptional DetailsPage Setup and URL Related settings.PagesPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPassword must contain at least:Password: PayPal Buy NowPayPal CreditPayPal Integration SettingsPayPal Smart CheckoutPayPal SubscriptionPayPal Subscription Button ConfigurationPayment AmountPayment Button TitlePayment MethodsPayment Notification Forward URLPayment SettingsPayment check failed: invalid amount received. Expected %s %s, got %s %s.PaymentsPendingPhonePleasePlease Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostsPrivacy PolicyPrivacy Policy Page URLProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Re-attempt on FailureRe-create the Required PagesRead the RectangularRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordReset PasswordRetype password hereRoleSave ChangesSave DataSave Membership Level SearchSearch for a transaction by using email or nameSearch...Security check: captcha validation failed.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button layout.Select button shape.Select button size.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminSilverSimple Membership::PaymentsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSizeSorry, Nonce verification failed.Sorry, Password didn't match.Specify the access starts date value.StateState / Province / RegionStatusStreetStreet AddressStrength indicatorStripe Buy NowStripe Buy Now Button ConfigurationStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceSuccess! Your account has been activated successfully.Terms and ConditionsTerms and Conditions Page URLThe admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The following details are optionalThe following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The required pages have been re-created.The selected entry was deleted!This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis interface lets you custsomize the various emails that gets sent to your members for various actions. The default settings should be good to get your started.This is the member's account status. If you want to manually activate an expired member's account then readThis value gets updated when this member logs into your site.TitleToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTypeType password hereUpdateUse WordPress TimezoneUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVerificationVerticalView DocumentationView ProfileWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Weeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the payments menu of this plugin (useful if you want to offer paid membership on the site).You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to confirm your email address. Please check your email and follow instructions to complete your registration.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodecategory protection documentationcategory protection menuclick hereclicking hereincompleterenewthis documentationProject-Id-Version: Simple Membership PO-Revision-Date: 2021-03-24 14:44+0100 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 2.4.2 X-Poedit-KeywordsList: __;_e;e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n%100<=4 ? 2 : 3); Language: sl_SI X-Poedit-SearchPath-0: . Nastavitve e-pošte (obvestilo o nadgradnji računa) Nastavitve e-pošte (Aktiviranje e-pošte) Polje ima neveljaven znak Geslo se ne ujemaNadaljnja vsebina ni dovoljena za vašo raven članstva. Za dokončanje registracije uporabite drug e-poštni naslov. Če želite uporabiti to e-poštno sporočilo, morate vnesti pravilno uporabniško ime, povezano z obstoječim uporabnikom WP, da se povežete s tem računom. Za dokončanje registracije uporabite drugo uporabniško ime. Če želite uporabiti to uporabniško ime, morate vnesti pravilen e-poštni naslov, povezan z obstoječim Wordpress uporabnikom, da se povežete s tem računom. Trenutno urejate člana z ID-jem člana: V zgornje polje lahko vstavite več e-poštnih naslovov, ločenih z vejico (,), da pošljete obvestilo na več e-poštnih naslovov. V tem e-poštnem sporočilu ne morete uporabljati oznak za spajanje e-pošte. Uporabljate lahko le generično besedilo. znakov, ki so potrebni pojasnjuje, katere oznake spajanja e-pošte lahko uporabite v telesu e-pošte, da jo prilagodite (če želite). ima popolno razlago. mesečno članstvo na naši strani. da se naučite, kako to storiti. za prijavo. če si želite ogleti profil, v katerega ste trenutno prijavljeni v tem brskalniku. svoj račun za dostop do te vsebine.(Dostop poteče na določen datum)(OPOMBA: za varnost ne dovolimo izbrisa katerega koli povezanega WordPress računa z administratorsko vlogo).(Izberite prosim)(zahtevano)(dvakrat pustite prazno za obhajanje starega gesla)(dvakrat, zahtevano)- številko- malo tiskano črko- veliko tiskano črkoPoslan je bil tudi poziv za dokončanje registracijske e-pošte.Trajanje dostopaZačetek dostopaDostop veljaven za/doTrajanje dostopa mora biti > 0.Sprememba datuma začetka dostopa je uspešna.Potek računaStanje računaStatus računaRačun je že aktiven. Račun je potekel.Račun ni aktiven.Račun je v čakanju.Polje stanja računa ni veljavnoStanje dejanjaPotrebna je aktivacijaNeskladje aktivacijske kode. Tega računa ni mogoče aktivirati. Obrnite se na administratorja spletnega mesta.Aktivacijsko e-poštno sporočilo je bilo poslano. Preverite e-pošto in aktivirajte račun.AktivnoDodaj ravenDodaj članaDodaj raven članstvaDodaj novoDodaj novega člana Dodaj novo raven članstva DodatkiDodatne nastavitveNastavitve dodatkovNaslovDovoljenje za dostop do nadzorne plošče administratorjaE-poštni naslov administratorja Telo e-poštnega obvestila administratorjuZadeva e-poštnega obvestila administratorjuNapredne nastavitvePreusmeritveni URL po odjaviPreusmeritveni URL po registracijiVseVsi gumbi za članstvo, ki ste jih ustvarili v vtičnik, so prikazani tukaj.Vsa plačila/transakcije vaših članov so zabeležena tukaj.Dovoli brisanje računaUporabnikom dovolite, da izbrišejo svoje račune.Dovoljeni znaki so: črke, številke in .-_* @Že član tega nivoja.Že uporabljenoŽe odvzeto.Druga možnost je, da uporabite drug brskalnik (kjer niste prijavljeni kot administrator), da preizkusite prijavo za članstvo.ZnesekZnak apostrofa ni dovoljenDodelite ID brezplačne ravni članstvaAvtorSamodejni izbris računov na čakanjuNa voljoZnesek obračunavanja za vsak cikelCikel zaračunavanjaŠtevilo ciklov obračunavanjaČrnaModraBraintree API ključ in podrobnosti računa. To lahko dobiš s pametnega računa.Braintree Kupi zdajBraintree Buy Now Konfiguracija gumbaSkupinska sprememba ravni članstevMnožično delovanjeNastavitve videza gumbaID gumbaNaslov gumbaVrsta GumbaTakojšnji nakupNe najdem računa člana.Računa člana ni mogoče najti.Preverjanje veljavnosti Captche v prijavnem obrazcu ni uspelo.Preverjanje veljavnosti Captche ni uspelo.KategorijeID kategorijeIme kategorijeZaščita kategorijeVrsta kategorije (taksonomija)Zaščita kategorije posodobljena!Če želite izbrisati sliko, potrdite to polje. Slika bo izbrisana, ko shranite profil.MestoPočisti iskanjeKliknite tukajKliknite tukaj, da dokončate plačljive registracijeKliknite na naslednjo povezavo, da dokončate registracijo.Zbiranje naslova strankeBarvaKomentarji nečlanom niso dovoljeni.PodjetjeNaziv podjetjaPotrditev brisanja računaObrnite se na administratorja spletne strani in ga prosite, da med Wordpress uporabnikih preveri vaše uporabniško ime in da si ogleda, kaj se je zgodilo z vnosom vašega uporabniškega računa v Wordpressu.Nadaljuj?ŠteviloDržavaUstvari nov gumbUstvarite novega uporabnika in ga dodajte na to spletno stran.Ustvarite novo raven članstva.Objave po meriDatumOblika datuma ni veljavna.Dnevi (Dostop poteče po danem številu dni)Privzeto stanje računaPrivzeta raven članstvaPrivzeta Wordpress vlogaIzbrišiIzbriši računIzbriši uporabniški profilOpisOnemogoči dostop do Wordpress nadzorne ploščeAli želite zaščititi to vsebino?E-poštaELVUredi članaUredi profilURL strani Uredi profilUredite obstoječe podrobnosti o članu.Urejanje ravni članstvaE-poštaAktiviranje e-pošteE-poštni naslovE-poštni naslov: Telo e-poštnega sporočilaNastavitve e-pošteNastavitve e-pošte (Ponastavitev gesla)Nastavitve e-pošte (Poziv k popolni registraciji)Nastavitve e-pošte (končana registracija)Pregled nastavitev e-pošteZadeva e-pošteE-poštni naslov ni veljaven.Ta e-pošta je že uporabljena.E-pošta ni veljavnaE-pošta je potrebnaPrejeti prazni podatki o plačilu.Omogoči samodejno prijavo po registracijiOmogoči prijavo na račun po njegovem potekuOmogoči brezplačno članstvoOmogoči več zaščite oznakOmogoči pravilnik zasebnostiOmogoči pogoje in določilaOmogočite aktiviranje novega uporabnika preko e-pošte. Ko je omogočeno, bodo člani morali klikniti na aktivacijsko povezavo, ki je poslana na njihov e-poštni naslov za aktiviranje računa. Uporabno za brezplačno članstvo.Omogočite aktiviranje novega uporabnika preko e-pošte. Če je omogočeno, bodo člani morali klikniti na aktivacijsko povezavo, ki bo poslana na njihov e-poštni naslov za aktiviranje računa. Uporabno za brezplačno članstvo. Omogočite to, če želite, da so uporabniki prisiljeni uporabiti močno geslo za svoje račune.Omogočite to možnost, če želite da lahko člani spletnega mesta objavljajo le komentarje.Omogočite to možnost, če želite, da administrator prejme obvestilo, ko se član registrira.Omogočite to možnost, če želite, da je član odjavljen iz računa, ko zapre brskalnik.Omogočite to možnost, če želite prisiliti, da se prijava člana sinhronizira z Wordpress uporabniškim računom. To je lahko koristno, če uporabljate drug vtičnik, ki uporablja WP uporabniške zapise. Na primer: bbPress plugin.Omogočite/onemogočite registracijo za brezplačno raven članstva. Ko omogočite to možnost, v spodnjem polju navedite brezplačni ID ravni članstva.Omogoča ali onemogoči zaščito oznak »več« v objavah in straneh. Vse po več oznako je zaščitena. Vse, kar je pred več oznako je teaser vsebina.Vnesite ID ravni članstvaVnesite URL strani pravilnika o zasebnosti.Vnesite URL strani s pogoji poslovanja. Lahko ustvarite WordPress stran in določite svoje pogoje tam nato določite URL te strani v zgornjem polju.Vnesite e-poštni naslov, kamor želite poslati e-poštno obvestilo administratorja.Vnesite zadevo za e-poštno obvestilo administratorju.Med postopkom pametnega PayPal je prišlo do napake.Med preverjanjem plačila je prišlo do napake. Koda napake: %d. Sporočilo: %sNapaka! Neveljavna zahteva. Ni bilo mogoče najti ujemanja za dano varnostno kodo in ID uporabnika.Napaka! Preverjanje ni uspelo za urejanje uporabnika s strani skrbnika.Napaka! Preverjanje ni uspelo za registracijo uporabnika iz administracijskega konca.Napaka! Najprej izberite raven članstva.Napaka! ID ravni članstva (Napaka! Na tem mestu je omogočena funkcija obvezne prijave uporabnika v Wordpress v nastavitvah. Za dano uporabniško ime ni bilo mogoče najti Wordpress uporabniškega zapisa: Primer nastavitve zaščite vsebinePoteče poPotekloIztek: ŽenskaImeKončen datum dostopaZa vse nepopolne registracijeZa določen ID članaSili močno geslo za članeSili Wordpress sinhronizacijo uporabnikovPozabljeno geslo?ID brezplačne ravni članstvaBrezplačno članstvo je na tej strani onemogočeno. Prosimo, da naročite Iz e-poštnega naslovaSpolPolje spola ni veljavnoSplošne nastavitve vtičnika.Splošna zaščitaSplošne nastavitveUstvari kodoUstvari povezavo za dokončanje registracijeUstvari povezavo za dokončanje registracijeUstvarite kodo »Napredne spremenljivke« za PayPal gumbVrnite se na domačo stran tako, da ZlataMed postopkom plačila je prišlo do napake HTTP:Skrij skrbniško vrsticoNamig: Geslo mora biti dolgo vsaj sedem znakov. Da bo močnejši, uporabite zgornje in spodnje črke, številke in simbole, kot so ! " ? $ % ^ & ).HorizontalnoSprejemam Strinjam se z IDČe je omogočeno, je dešifrirano geslo člana začasno shranjeno v zbirki podatkov, dokler se račun ne aktivira.Če ste po nesreči izbrisali zahtevane strani, ki jih ta vtičnik ustvari ob namestitvi, lahko za ponovno ustvarjanje uporabite to možnost.Če ste pravkar opravili plačilo za članstvo, je vaše plačilo v obdelavi. Prosim, preverite še enkrat v nekaj minutah. V kratkem vam bo poslano tudi e-poštno sporočilo s podrobnostmi.NeaktivenNepopolneNeveljaven e-poštni naslovNeveljavno uporabniško imeNeveljaven e-poštni naslovNeveljavna raven članstvaPrav tako se bo izbrisal pridruženi WordPress uporabniški račun.Včlanite se zdajPridružite se namURL strani Pridružite se namVelikoDatum zadnjega dostopaZadnji dostop iz IPDatum zadnje prijavePriimekPostavitevPustite prazno, če želite obdržati trenutno gesloRavenRaven, v katero članstvo spreminjate: Povezave so uspešno ustvarjene. Za dokončanje registracije se lahko uporabijo naslednje povezave.Odjava uspešna.Prijavljeni ste kotPrijavljen kot: Prijavite sePrijavi seURL prijavne straniOdjavaOdjava člana po zaprtju brskalnikaMoškiUpravljanje zaščite vsebineUpravljanje plačilnih gumbovSrednjeUporabnikImenik za članeID članaPrijava za članeProfil članaČlan OdZapis člana je bil uspešno dodan.Član, ker je polje neveljavnoUporabnikiČlani morajo biti prijavljeni za komentiranjeČlanstvoRaven članstvaRavni članstva ni bilo mogoče najti.Ustvarjanje ravni članstva uspešno.Ime ravni članstvaRaven članstva je bila uspešno posodobljena.Raven članstva:Raven članstva: Ravni članstvaURL obnovitve članstvaOperacija spremembe ravni članstva se je uspešno zaključila.Raven članstva je bila posodobljena.Minimalno Meseci (Dostop poteče po danem številu mesecev)Ime vsebuje neveljaven znakNikoliNa vaš e-poštni naslov je bilo poslano novo geslo.NaprejBrez datuma potekaBrez izteka veljavnosti (Dostop za to raven ne bo potekel, dokler ni preklicanBrez izteka veljavnosti (Dostop za to raven ne bo potekel do preklica)Ni najdene kategorije.Ne najdem ničesar.Noben član ni bil najden.Ni bilo najdenih ravni članstva.Noben uporabnik ni bil najden s tem e-poštnim naslovom.Ne, ne ščiti te vsebine.Ni določenoNiste član?Niste član? Opomba:Obvesti uporabnikaALIIzbirne podrobnostiNastavitve strani in nastavitve povezane z URL-ji.StraniNastavitve straniGesloGeslo prazno ali neveljavno.Ponastavitev geslaURL strani za ponastavitev geslaGeslo je potrebnoNeskladje geslaGeslo mora vsebovati vsaj:Geslo: PayPal Kupi zdajPayPal KreditPayPal nastavitve integracijePayPal Pametna blagajnaPayPal naročninaKonfiguracija PayPay Subscription gumbaZnesek plačilaNaslov plačilnega gumbaNačini plačilaURL za posredovanje obvestila o plačiluNastavitve plačilaPreverjanje plačila ni uspelo: prejeti neveljaven znesek. Pričakovano %s %s, dobil %s %s.Možnosti plačilaNa čakanjuTelefonProsimoZa komentiranje se prosimo prijavite.Prosim, preverite vsaj enega.Prosimo, popravite naslednjeProsimo, popravite naslednje.Prosimo, popravite naslednje:Vnesite kateri koli dve števki brez presledkov (Primer: 12)Vnesite kateri koli dve števki brez presledkov (Primer: 12)*Prosimo, prijavite se znova.Za komentiranje se prosimo prijavite.Dokumentacija vtičnikaZaščita prispevkov in straniPoštna / poštna številkaPrispevkiPravilnik o zasebnostiURL strani s pravilnikom o zasebnostiProfilProfil je uspešno posodobljen.Profil je uspešno posodobljen. Zaradi spremembe gesla se ponovno prijavite.Nastavitve zaščite posodobljene!V primeru neuspešnosti poskusi ponovnoPonovno ustvarite zahtevane straniPreberite PravokotnoRegistracijaRegistracijaURL registracijske straniRegistracija uspešna. Povezave za dokončanje registracije bodo prikazane spodajRegistracija je končana. Zdaj se lahko prijavite na spletno mesto.Zapomni si mePonovitev geslaPonastavi gesloPonovno vnesite geslo tukajVlogaShrani spremembeShranjevanje podatkovShrani raven članstva IščiIskanje transakcije z uporabo e-pošte ali imenaIskanje...Varnostno preverjanje: preverjanje veljavnosti Captche ni uspelo.Izberi trenutno ravenIzberite ravenIzberite vrsto plačilnega gumbaIzberite ciljno ravenIzberite barvo gumba.Izberite postavitev gumbov.Izberite obliko gumba.Izberite velikost gumba.Izberite, koliko časa želite ohraniti račun »na čakanju«.Izberite načine plačila, ki jih lahko uporabljajo stranke. Upoštevajte, da je plačilo s karticami vedno omogočeno.Izberite raven članstva (datum začetka dostopa vseh članov, ki so na tej ravni, bo posodobljen).Izberite trenutno raven članstva (raven članstva vseh članov, ki so na tej ravni, bodo posodobljena).Izberite privzeto stanje računa za novo registrirane uporabnike. Če želite člane ročno odobriti, lahko stanje nastavite na »Neohajano«.Izberite raven članstva, ki lahko dostopa do te vsebine:Izberite novo raven članstva.Pošlji e-pošto članu, ko je ta dodan prek Wordpress nadzorne ploščePošlji obvestilo administratorjuPošlji tudi e-pošto opomnika za registracijoSeja je potekla.Nastavi status na AktivnoNastavi stanje na Aktivno in me obvestiNastavi stanje na PotekloNastavi stanje na NeaktivnoNastavi stanje na ČakanjeNastavitveNastavitve v tem razdelku veljajo za vsa e-poštna sporočila.Nastavitve posodobljene!OblikaPokaži skrbniško vrstico skrbnikuSrebrnaSimple Membership::PlačilaSimple WP Membership::ČlaniSimple WP Membership::Ravni članstvaSimple WP Membership::NastavitveVelikostOprostite, preverjanje ni uspelo.Oprostite, gesla se ne ujemajo.Določite vrednost datuma začetka dostopa.RegijaZvezna država/Provinca/RegijaStanjeUlicaUlicaIndikator kakovosti geslaStripe Kupi zdajKonfiguracija gumba Stripe “Kupi zdaj”Stripe naročniški sistemKonfiguracija gumba za naročnino preko StripePošljiNaroči se zdajID članaID naročnika/sklicČestitamo! Vaš račun je bil uspešno aktiviran.Določila in pogoji poslovanjaURL strani s pogoji in določiliSkrbnik tega mesta uporabnikom ne omogoča dostopa do Wordpress nadzorne plošče.Kategorija ali nadrejena kategorija te objave je zaščitena. Nastavitve zaščite kategorije lahko spremenite v Naslednje podrobnosti so neobvezneZa pravilno delovanje vtičnika so potrebne naslednje strani. Te strani je vtičnik samodejno ustvaril ob namestitvi.Zahtevane strani so bile ponovno ustvarjene.Izbrani vnos je bil izbrisan!To vsebino si lahko ogledajo le člani, ki so se pridružili Ta vsebina je samo za člane.Ta vsebina ni dovoljena za vašo raven članstva.Ta dokumentacijaTo e-poštno sporočilo bo poslano, če je aktiviranje e-pošte omogočeno za raven članstva.To e-poštno sporočilo bo poslano uporabnikom, naj po plačilu dokončajo registracijo.To e-poštno sporočilo bo poslano administratorju, ko novi uporabnik dokonča registracijo članstva. Deluje le, če ste zgoraj omogočili možnost »Pošlji obvestilo administratorju«.To e-poštno sporočilo bo poslano članom, ko uporabite množično aktiviranje in se odločite za obveščanje članov o dejanju množičnega računa.To e-poštno sporočilo bo poslano uporabnikom po nadgradnji računa (ko obstoječi član plača novo raven članstva).To e-poštno sporočilo bo poslano uporabnikom, ko dokončajo registracijo in postanejo član.To e-poštno sporočilo bo poslano uporabnikom, ko bodo uporabljali funkcijo ponastavitve gesla.Ta napaka se sproži, ko račun člana nima ustreznega Wordpress uporabniškega računa. Zato vtičnik ne uspe prijaviti uporabnika v Wordpress Uporabniški sistem.To polje je obveznoTa vmesnik vam omogoča, da prilagodite e-poštna sporočila, ki se pošljejo članom za različna dejanja. Privzete nastavitve so dovolj dobre za začetek.To je stanje računa člana. Če želite ročno aktivirati račun člana, ki je poteklo, preberiteTa vrednost se posodobi, ko se ta član prijavi na vaše mesto.NaslovOrodjaID transakcijeTransakcijeZnesek preizkusnega obdobjaPodrobnosti preskušanega obračunavanja (Pustite prazno, če ne ponujate preskusnega obdobja)Obdobje preizkusnega obdobjaVrstaTukaj vnesite gesloPosodobiUporaba Wordpress časovnega pasuUporabite to možnost, če želite, da so člani samodejno prijavljeni na vaše mesto takoj po končani registraciji. Ta možnost bo preklicala vse preusmeritve po registraciji in namesto tega sprožila preusmeritev po prijavi. Preberite to dokumentacijo, če želite izvedeti več.To možnost uporabite, če želite skrbniku pokazati orodno vrstico samo za administratorje. Skrbniška orodna vrstica bo skrita za vse druge ravni skrbništva spletne strani.Uporabite to možnost, če želite uporabiti vrednost časovnega pasu, ki je določena v vmesniku za splošne nastavitve WordPress.Uporabnik ni bil najden.Uporabnik ni prijavljen.Uporabniško imeUporabniško ime že obstaja.Uporabniško ime lahko vsebuje le: črke, številke in .-* @Uporabniško ime vsebuje neveljaven znakUporabniško ime je obveznoUporabniško ime ali e-naslovUporabniško ime lahko vsebuje samo: črke, številke in .-_*@Uporabniki ga morajo sprejeti, preden lahko dokončajo registracijo.Uporabniki morajo sprejeti pogoje, preden lahko dokončajo registracijo.Preverjanje veljavnosti, prosimo počakajteVerifikacijaVertikalnoOgled dokumentacijePoglej profilOpozorilo! Vtičnik Simple Membership ne more obdelati te zahteve za prijavo, da bi preprečili nenamerno prijavo iz Wordpress administracije.Tedni (Dostop poteče po danem številu tednovTedni (Dostop poteče po danem številu tednov)Ko samodejno ustvarite račun člana s to funkcijo, bo stanje računa članstva uporabnika nastavljeno na stanje, ki ga določite tukaj.Ko samodejno ustvarite račun člana s to funkcijo, bo raven članstva uporabnika nastavljena na raven, ki jo določite tukaj.Če je to omogočeno, se bodo lahko člani, katerim je članstvo poteklo, prijavili v sistem, vendar si ne bodo mogli ogledati zaščitene vsebine. To jim omogoča enostavno podaljšanje računa z drugim plačilom.WordPress omogoča standardnemu uporabnik Wordpressa, da lahko gre na “wp-admin” URL in dostopa do njegovega profila iz Wordpress nadzorne plošče. S to možnostjo boste preprečili, da bi vsi uporabniki, ki niso skrbniki, lahko prišli na Wordpress nadzorno ploščo.WordPress prikaže skrbniško orodno vrstico prijavljenim skrbnikom spletnega mesta. Obkljukajte, če želite skriti to skrbniško orodno vrstico na frontendu spletnega mesta.Wordpress račun z dano e-pošto že obstaja, vendar se uporabniško ime ne ujema.Wordpress račun z danim uporabniškim imenom že obstaja, vendar se ne ujema z e-pošto.Leta (Dostop poteče po danem številu let)Da, zaščitite to vsebino.Račun boste izbrisali. S tem boste izbrisali uporabniške podatke, povezane s tem računom. Trenutno urejate: Prijavljeni ste kot:V tem brskalniku ste prijavljeni na spletno mesto kot administrator. Najprej se odjavite iz WP Admin, da se boste potem lahko prijavili kot normalen član.Niste prijavljeni.Niste prijavljeni kot članZa svoje mesto lahko ustvarite stran za obnovitev. Preberite to dokumentacijo, če želite izvedeti, kako ustvariti stran za obnovitev.Gumbe za plačilo članstva lahko ustvarite iz plačilnega menija tega vtičnika (uporabno, če želite na strani ponuditi plačano članstvo).S tem vmesnikom lahko ustvarite nov plačilni gumb za članstvo.Gumb za plačilo lahko uredite s tem vmesnikom.Podrobnosti o izbrani ravni članstva lahko urejate iz tega vmesnika. Tukaj lahko vnesete URL, da pošljete obvestilo o plačilu po tem, ko je ta vtičnik obdeloval plačilo članstva. Koristno, če želite obvestilo o plačilu posredovati zunanji skripti za nadaljnjo obdelavo.Tukaj lahko vnesete URL, da preusmerite člane na to stran, potem ko kliknejo povezavo za odjavo s spletnega mesta.Tukaj lahko vnesete URL, da preusmerite člane na to stran, potem ko pošljejo obrazec za registracijo. Preberite to dokumentacijo in se naučite nastaviti preusmeritev po registraciji.Raven članstva katerega koli člana lahko ročno spremenite tako, da uredite zapis v seznamu članov. Tukaj lahko ročno ustvarite povezavo za dokončanje registracije in jo daste stranki, če so zamudili e-poštno sporočilo, ki mu je bilo po plačilu samodejno poslano.Določeno vrednost datuma začetka dostopa lahko ročno nastavite za vse člane, ki pripadajo določeni ravni, in to z naslednjo možnostjo.Če se želite vrniti na spletno mesto, uporabite gumb “Nazaj” na vašem brskalniku.To možnost lahko uporabite za množično posodobite ravne članstva uporabnikov, ki pripadajo ravni, ki jo izberete spodaj.To možnost lahko uporabite za pošiljanje hitrega e-poštnega obvestila temu članu (e-poštno sporočilo bo poslano, ko pritisnete gumb za shranjevanje spodaj).Za ogled te vsebine nimate dovoljenja.Sprejeti morate pogoje in določila.Strinjati se morate s pravilnikom o zasebnosti.Za nadgradnjo članstva morate biti prijavljeni.Svoj račun morate aktivirati. Če e-poštnega sporočila niste prejeli, %s za ponovno pošiljanje e-poštnega sporočila za aktiviranje.Potrditi morate svoj e-poštni naslov. Preverite e-pošto in upoštevajte navodila za dokončanje registracije.Za ogled preostale vsebine se morate prijaviti. Če si želite ogledati to vsebino, se morate prijaviti. V nekaj sekundah boste samodejno preusmerjeni. Če ne, prosim %s.Odkar ste spremenili geslo, se boste morali ponovno prijaviti.Po plačilu boste prejeli edinstveno povezavo preko e-pošte. To povezavo uporabite za dokončanje registracije članstva.Vaš račun je potekel. Vaše trenutno gesloVaša raven članstva nima dovoljenja za ogled te vsebine.Vaš profil članstva bo posodobljen tako, da odraža plačilo.Vaši obiskovalci ali člani tega sporočila ne bodo videli. To sporočilo je prikazano samo administratorju.Uporabniško ime vašega profila: Poštna številkadokumentacija o varstvu kategorijemeniju za zaščito kategorijekliknite tukajkliknete tukajnepopolnoobnovito dokumentacijolanguages/simple-membership-da_DK.mo000064400000037635147206617610013461 0ustar00Dl .  +" 2@Wt  &19Ic kx 009j $  9Of lz 1& 1BTk=5#   2ELd u%'=   2?ET[u |  #%"8J4[1@wA  %@(Mi&8T\bi 0'=V p|94 3n  $   $ !!A! _!!'!!k!Q"m"s"z""""" " "" ""$#4#J# S#1a#2##M^$M$2$-%(C%l%%57&3m&(&&&&0(%( (:(4)K)[)j),))) ) ) ) * *4*T*Z*i*r******** + ++,+E+_+1y++++ ++ , ,,., C,&N,u,,, ,, ,,=,+3- _-j----!--)-1".T..1.&/5/>/F/0"-0 P0^0w0000 0!0$081$L1q1 222+2 E2R2 g2q2222222 2 2 2 3 3#343"S3v333933353)4X4U5s5 555G5S5Q6`6h6 6666 6677707M7b7 i7 7 70777788-8=8C838F 9P9-n99 9+9 9 :"(:!K:'m:":X:;+;0;5;E;"J;m;u; ; ;; ;!;*;< (< 3<1A<1s<<:G=?=/==/>8>O>5>01?*b? ??[C6snh:~{tF|@zyQEA9i } qLR^'3H7DTPkM4g_v WXUaK= I1\cVmN8/?G5$2O-wj"l&Z!>,J %S(#Y+p*]e.d)<;o0B`rx bfu Email Settings (Account Upgrade Notification)(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccess to older posts.Account ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAready takenAssign free membership level IDAvailableCategory ProtectionCityCompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.Date format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDExample Content Protection SettingsExpire AfterExpiredFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameInvalid membership levelJoin UsJoin Us Page URLLast NameLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameNeverNew password has been sent to your email address.Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.Not a Member?Notify UserOROnly allow access to posts published after the user's join date.Only allow access to protected posts published after the members's join date.Pages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileProtect Older Posts (optional)RegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Registration Successful. Remember MeRepeat PasswordReset PasswordRoleSelect the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry! Something went wrongStateStreetStrength indicatorSubmitTest & Debug SettingsUpdateUpdated Successfully.Updated! User NameUser Not Found.User nameUser name already exists.User name contains invalid characterUser name is requiredUsernameWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not allowed to view this contentYou are not logged in.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You do no have permission to view rest of the contentYou need to login to view the rest of the content. You need to login to view this content. ZipcodesearchProject-Id-Version: Simple Membership POT-Creation-Date: 2015-01-27 14:50+1000 PO-Revision-Date: 2015-08-20 13:29+0100 Last-Translator: Jon Bertelsen Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.6.10 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=2; plural=(n != 1); Language: da_DK X-Poedit-SearchPath-0: . Email indstillinger (besked om kontoopgradering)(Adgang udløber på en bestemt dato)(påkrævet)(to gange, efterlad tomt for at bevare nuværende kodeord)(to gange, påkrævet)AdgangsvarighedAdgang starterAdgang gyldig i / indtilTidsbegrænsningen skal være større end 0.Adgangsfeltet er ugyldigt.Adgang til ældre indlæg.KontoudløbKonto statusKontostatusKontoen er udløbet.Kontoen er inaktiv.Kontostatus feltet er ugyldigt.AktivTilmeld medlemOpret nyTilmeld nyt medlemOpret ny medlemskategori.PluginAnvendes allerede af en anden.Tildel gratis medlemskab niveauLedigKategoribeskyttelseByVirksomhedAntalLandTilmeld helt ny bruger til denne hjemmeside.Opret ny medlemskategori.Datoformatet er ugyldigt.Dage (adgang udløber efter et givent antal dage)Normalt konto statusStandard WordPress rolleSletBeskrivelseVil du beskytte dette indhold?EmailRet medlemRet medlemskategoriSkift profilside URLRet brugerRet eksisterende medlemsindstillinger.Ret medlemskategoriRet medlemskategori.EmailEmail adresseEmail adressen er ugyldig.Email tekstDiverse email indstillingerEmail indstillinger (spørg for at færdiggøre registrering)Email indstillinger (fuldendt registrering)Email emneEmail er allerede i brug.Ugyldig email.Email er påkrævet.Tillad gratis medlemskab.Tillad beskyttelse af flere tags.Tillad sandbox testTillad denne hvis du vil teste i sandbox.Tillad / stop registrering af gratismedlemskaber.Tillad eller stop "more" tag beskyttelse in indlæg og sider. Alt efter 'mere' tag vil være beskyttet. Alt før 'mere' tag kan ses.Indtast medlemskategori IDEksempel på indstillinger af indholdsbeskyttelseUdløber efterUdløbetFornavnVælg ført global beskyttelse af kategorien på din internetside ved at vælge "General Protection" fra dropdown boksen nedenfor, og vælg så de kategorier som skal beskyttes mod brugere, der ikke er logget ind.Fast udløbsdatoFor alle afventende registreringerGlemt kodeordGratis medlemskab niveauAfsender email adresseKønKønsfeltet er ugyldigt.Generel opsætningGenerer kodeGenerer registrering komplet linkGenerer et registrering komplet linkGenerer "avancerede muligheder" kode til din PayPal knapSkjul administrationsværktøjslinieRåd: Kodeordet skal være mindst syv karakterer langt. For at gøre det stærkere, brug store og små bogstaver, tal og symboler som ! " ? $ % ^ & ).IDInaktivUgyldigt brugernavnUgyldigt medlemskategori.Meld dig indBliv medlem side URLEfternavnDu er nu logget ud.Logged ind somLoginLogin side URLLog udHåndter indholdsproduktionMedlemMedlemsloginMedlem sidenMedlem siden feltet er ugyldigt.MedlemmerMedlemskabMedlemskatergoriMedlemskategorien findes ikke.Oprettelsen af medlem er fuldendt.Medlemskategori navnMedlemskategorierMedlemskategoriMåneder (adgang udløber efter et givent antal måneder)NavnAldrigEt nyt kodeord er blevet sendt til din email adresse.Vælg derefter en eksistererende medlemskategori fra dropdown boksen herunder, og vælg så de kategorier du ønsker at give medlemskategorien adgang til.Intet udløb (adgang til denne medlemskategori vil ikke udløbe med mindre den slettes).Intet udløb (adgang til denne kategori udløber ikke med mindre kategorien slettes).Ingen medlemmer fundet.Ikke medlem?Send besked til brugerELLERTillad kun adgang til indlæg udgivet efter brugerens indmeldelsesdato.Beskyt kun adgang til beskyttede indlæg udgivet efter medlemmets indmeldelsesdato.SideopsætningKodeordKodeord er tomt eller ugyldigt.Kodeord resetKodeord reset side URLKodeord er påkrævet.Kodeordene matcher ikke.PayPal integrationsindstillingerAfventerTelefonVenligstRet venligst følgende:Korriger venligst følgende:Plugin dokumentationProfilBeskyt ældre indlæg (valgfrit)RegistrerRegistreringRegistrering komplet links vil fremgå herunder:Registreringsside URLDu er nu registreret.Registrering fuldendt.Husk migGentag kodeordOpdater kodeordRolleVælg den normale konto status for nyregistrerede brugere. Hvis du ønsker at godkende medlemmerne manuelt, kan du sætte status som "Afventer".Vælg medlemskategori der kan tilgå dette indhold:Send email til medlem som tilføjes via administrationskontrolpanelet.Send besked til administratorSend også email med registreringspåmindelseSession udløbet.IndstillingerSimple Membership Protection valgmulighederSimple WP Membership beskyttelseSimple WP Membership :: PluginSimple WP Membership :: KategorierSimple WP Membership :: MedlemmerSimple WP Membership :: MedlemskategoriSimple WP Membership indstillingerNogle af de Simple Membership plugin indstillinger vil blive vist her (hvis du har dem).Beklager. Noget gik galt.StatGadeStyrkeindikatorSendTest & fejlrettelser indstillingerOpdaterOpdatering er fuldendt.Opdateret.BrugernavnBruger ikke fundet.BrugernavnBrugernavnet eksisterer allerede.Brugernavn indeholder ugyldige karakterer.Brugernavn er påkrævetBrugernavnWP medlemskabUger (adgang udløber efter et givent antal uger)Uger (adgang udløber efter et givent antal uger)WordPress viser en administrationsværktøjslinie til brugere der er logget på på denne side. Marker hvis du ønsker at skjule administrationsværktøjslinien.Email adressen matcher en Wordpress konto, men ikke denne.Wordpress kontoen er oprettet, men email adressen matcher ikke.År (adgang udløber efter et givent antal år)Du er logget ind som:Du har ikke tilladelse til at se dette indhold.Du er ikke logget ind.Du kan generere et registrering komplet link manuelt her og give det til dit medlem, hvis medlemmet ikke har emailen, som blev sendt automatisk umiddelbart efter betaling.Du har ikke tilladelse til at se resten af indholdet.Du skal logge ind for at se resten af indholdet.Du skal logge ind for at se dette indhold.Postnummersøglanguages/simple-membership-he_IL.po000064400000105217147206617610013472 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2015-11-24 16:24+0200\n" "PO-Revision-Date: 2015-11-24 16:47+0200\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.6\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: he_IL\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:263 msgid "You are not logged in." msgstr "אתה לא מחובר." #: classes/class.simple-wp-membership.php:297 msgid "Simple WP Membership Protection" msgstr "" #: classes/class.simple-wp-membership.php:309 msgid "Simple Membership Protection options" msgstr "" #: classes/class.simple-wp-membership.php:325 msgid "Do you want to protect this content?" msgstr "" #: classes/class.simple-wp-membership.php:330 msgid "Select the membership level that can access this content:" msgstr "" #: classes/class.simple-wp-membership.php:463 msgid "WP Membership" msgstr "" #: classes/class.simple-wp-membership.php:464 classes/class.swpm-members.php:10 #: views/admin_members_menu.php:2 msgid "Members" msgstr "" #: classes/class.simple-wp-membership.php:465 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:11 msgid "Membership Levels" msgstr "" #: classes/class.simple-wp-membership.php:466 msgid "Settings" msgstr "" #: classes/class.simple-wp-membership.php:467 msgid "Payments" msgstr "" #: classes/class.simple-wp-membership.php:468 msgid "Add-ons" msgstr "" #: classes/class.swpm-access-control.php:21 #: classes/class.swpm-access-control.php:28 #: classes/class.swpm-access-control.php:55 msgid "You need to login to view this content. " msgstr "עליך להיות משתמש רשום על מנת לצפות בתוכן זה" #: classes/class.swpm-access-control.php:34 #: classes/class.swpm-access-control.php:60 msgid "" "Your account has expired. Please renew your account to gain access to this " "content." msgstr "" #: classes/class.swpm-access-control.php:41 msgid "This content can only be viewed by members who joined on or before " msgstr "תוכן זה זמין למשתמשים רשומים בלבד" #: classes/class.swpm-access-control.php:46 #: classes/class.swpm-access-control.php:66 msgid "This content is not permitted for your membership level." msgstr "" #: classes/class.swpm-access-control.php:84 msgid " The rest of the content is not permitted for your membership level." msgstr "" #: classes/class.swpm-access-control.php:88 #: classes/class.swpm-access-control.php:106 msgid "You need to login to view the rest of the content. " msgstr "אתה צריך להיות מחובר כדי להציג דף זה." #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "" #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:100 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "" #: classes/class.swpm-admin-registration.php:91 msgid "Your current password" msgstr "הסיסמא שלך" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "כתובת דוא’ל לא חוקית" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:32 msgid "Aready taken" msgstr "" #: classes/class.swpm-ajax.php:33 msgid "Available" msgstr "זמין" #: classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "המשתמש לא נמצא." #: classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "סיסמא לא תקינה." #: classes/class.swpm-auth.php:82 msgid "Account is inactive." msgstr "" #: classes/class.swpm-auth.php:85 msgid "Account is pending." msgstr "" #: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106 msgid "Account has expired." msgstr "" #: classes/class.swpm-auth.php:114 msgid "You are logged in as:" msgstr "" #: classes/class.swpm-auth.php:160 msgid "Logged Out Successfully." msgstr "התנתקת בהצלחה" #: classes/class.swpm-auth.php:210 msgid "Session Expired." msgstr "" #: classes/class.swpm-auth.php:219 msgid "Invalid User Name" msgstr "שם משתמש לא תקין" #: classes/class.swpm-auth.php:227 msgid "Please login again." msgstr "" #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23 #: classes/class.swpm-membership-levels.php:10 #: classes/class.swpm-membership-levels.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:53 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:37 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:310 msgid "Membership Level" msgstr "" #: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18 #: classes/class.swpm-membership-levels.php:19 msgid "ID" msgstr "" #: classes/class.swpm-category-list.php:34 msgid "Name" msgstr "שם" #: classes/class.swpm-category-list.php:35 msgid "Description" msgstr "תיאור" #: classes/class.swpm-category-list.php:36 msgid "Count" msgstr "" #: classes/class.swpm-category-list.php:80 msgid "Category protection updated!" msgstr "" #: classes/class.swpm-form.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "" #: classes/class.swpm-form.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" #: classes/class.swpm-form.php:40 msgid "User name is required" msgstr "נדרש שם משתמש" #: classes/class.swpm-form.php:44 msgid "User name contains invalid character" msgstr "שם משתמש לא תקין" #: classes/class.swpm-form.php:52 msgid "User name already exists." msgstr "שם משתמש קיים כבר" #: classes/class.swpm-form.php:75 msgid "Password is required" msgstr "נדרשת סיסמא" #: classes/class.swpm-form.php:82 msgid "Password mismatch" msgstr "סיסמא לא תקינה." #: classes/class.swpm-form.php:93 msgid "Email is required" msgstr "נדרשת כתובת דוא\"ל" #: classes/class.swpm-form.php:97 msgid "Email is invalid" msgstr "כתובת דוא\"ל לא תקינה" #: classes/class.swpm-form.php:113 msgid "Email is already used." msgstr "כתובת דוא\"ל כבר בשימוש" #: classes/class.swpm-form.php:170 msgid "Member since field is invalid" msgstr "" #: classes/class.swpm-form.php:181 msgid "Access starts field is invalid" msgstr "" #: classes/class.swpm-form.php:191 msgid "Gender field is invalid" msgstr "" #: classes/class.swpm-form.php:202 msgid "Account state field is invalid" msgstr "" #: classes/class.swpm-form.php:209 msgid "Invalid membership level" msgstr "" #: classes/class.swpm-front-registration.php:71 msgid "Security check: captcha validation failed." msgstr "" #: classes/class.swpm-front-registration.php:80 msgid "Registration Successful. " msgstr "רישום לאתר הצליח!" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 msgid "Please" msgstr "בבקשה" #: classes/class.swpm-front-registration.php:80 #: classes/class.swpm-settings.php:377 views/login.php:21 msgid "Login" msgstr "הכנס " #: classes/class.swpm-front-registration.php:92 #: classes/class.swpm-front-registration.php:179 msgid "Please correct the following" msgstr "אנא תקן את השדות הבאים:" #: classes/class.swpm-front-registration.php:123 msgid "Membership Level Couldn't be found." msgstr "" #: classes/class.swpm-front-registration.php:162 msgid "Profile updated successfully." msgstr "עידכון פרופיל בוצע בהצלחה" #: classes/class.swpm-front-registration.php:170 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" #: classes/class.swpm-front-registration.php:189 msgid "Email address not valid." msgstr "כתובת דוא\"ל לא תקינה" #: classes/class.swpm-front-registration.php:200 msgid "No user found with that email address." msgstr "" #: classes/class.swpm-front-registration.php:201 #: classes/class.swpm-front-registration.php:224 msgid "Email Address: " msgstr "כתובת דוא\"ל:" #: classes/class.swpm-front-registration.php:223 msgid "New password has been sent to your email address." msgstr "הסיסמא החדשה נשלחה לדוא\"ל שלך" #: classes/class.swpm-init-time-tasks.php:108 msgid "Sorry, Nonce verification failed." msgstr "" #: classes/class.swpm-init-time-tasks.php:115 msgid "Sorry, Password didn't match." msgstr "הסיסמא לא נכונה" #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "" #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "" #: classes/class.swpm-member-utils.php:22 #: classes/class.swpm-member-utils.php:30 #: classes/class.swpm-member-utils.php:38 #: classes/class.swpm-member-utils.php:48 msgid "User is not logged in." msgstr "" #: classes/class.swpm-members.php:9 msgid "Member" msgstr "" #: classes/class.swpm-members.php:19 views/add.php:6 views/edit.php:4 msgid "User Name" msgstr "שם משתמש" #: classes/class.swpm-members.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:48 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:20 msgid "First Name" msgstr "שם פרטי" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:49 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:24 msgid "Last Name" msgstr "שם משפחה" #: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:8 msgid "Email" msgstr "כתובת דוא\"ל" #: classes/class.swpm-members.php:24 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "" #: classes/class.swpm-members.php:25 msgid "Account State" msgstr "" #: classes/class.swpm-members.php:38 #: classes/class.swpm-membership-levels.php:35 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 #: classes/admin-includes/class.swpm-payments-list-table.php:68 msgid "Delete" msgstr "מחק" #: classes/class.swpm-members.php:112 msgid "No Member found." msgstr "" #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "" #: classes/class.swpm-membership-level.php:57 msgid "Updated Successfully." msgstr "עידכון בוצע בהצלחה" #: classes/class.swpm-membership-levels.php:21 msgid "Role" msgstr "" #: classes/class.swpm-membership-levels.php:22 msgid "Access Valid For/Until" msgstr "" #: classes/class.swpm-misc-utils.php:50 msgid "Registration" msgstr "" #: classes/class.swpm-misc-utils.php:73 msgid "Member Login" msgstr "כניסת משתמש רשום " #: classes/class.swpm-misc-utils.php:96 msgid "Profile" msgstr "פרופיל" #: classes/class.swpm-misc-utils.php:119 msgid "Password Reset" msgstr "איתחול סיסמא" #: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39 msgid "General Settings" msgstr "" #: classes/class.swpm-settings.php:21 msgid "Payment Settings" msgstr "" #: classes/class.swpm-settings.php:22 msgid "Email Settings" msgstr "" #: classes/class.swpm-settings.php:22 msgid "Tools" msgstr "" #: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150 msgid "Advanced Settings" msgstr "" #: classes/class.swpm-settings.php:22 msgid "Addons Settings" msgstr "" #: classes/class.swpm-settings.php:38 msgid "Plugin Documentation" msgstr "" #: classes/class.swpm-settings.php:40 msgid "Enable Free Membership" msgstr "" #: classes/class.swpm-settings.php:41 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" #: classes/class.swpm-settings.php:42 msgid "Free Membership Level ID" msgstr "" #: classes/class.swpm-settings.php:43 msgid "Assign free membership level ID" msgstr "" #: classes/class.swpm-settings.php:44 msgid "Enable More Tag Protection" msgstr "" #: classes/class.swpm-settings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" #: classes/class.swpm-settings.php:46 msgid "Hide Adminbar" msgstr "" #: classes/class.swpm-settings.php:47 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" #: classes/class.swpm-settings.php:49 msgid "Default Account Status" msgstr "" #: classes/class.swpm-settings.php:52 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" #: classes/class.swpm-settings.php:53 msgid "Allow Account Deletion" msgstr "" #: classes/class.swpm-settings.php:55 msgid "Allow users to delete their accounts." msgstr "" #: classes/class.swpm-settings.php:56 msgid "Auto Delete Pending Account" msgstr "" #: classes/class.swpm-settings.php:59 msgid "Select how long you want to keep \"pending\" account." msgstr "" #: classes/class.swpm-settings.php:67 msgid "Pages Settings" msgstr "" #: classes/class.swpm-settings.php:68 msgid "Login Page URL" msgstr "" #: classes/class.swpm-settings.php:70 msgid "Registration Page URL" msgstr "" #: classes/class.swpm-settings.php:72 msgid "Join Us Page URL" msgstr "" #: classes/class.swpm-settings.php:74 msgid "Edit Profile Page URL" msgstr "" #: classes/class.swpm-settings.php:76 msgid "Password Reset Page URL" msgstr "" #: classes/class.swpm-settings.php:79 msgid "Test & Debug Settings" msgstr "" #: classes/class.swpm-settings.php:81 msgid "Check this option to enable debug logging." msgstr "" #: classes/class.swpm-settings.php:86 msgid "Enable Sandbox Testing" msgstr "" #: classes/class.swpm-settings.php:87 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" #: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145 #: classes/class.swpm-settings.php:243 msgid "Settings updated!" msgstr "" #: classes/class.swpm-settings.php:102 msgid "Email Misc. Settings" msgstr "" #: classes/class.swpm-settings.php:103 msgid "From Email Address" msgstr "" #: classes/class.swpm-settings.php:106 msgid "Email Settings (Prompt to Complete Registration )" msgstr "" #: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113 #: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132 msgid "Email Subject" msgstr "נושא:" #: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115 #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134 msgid "Email Body" msgstr "תוכן ההודעה:" #: classes/class.swpm-settings.php:112 msgid "Email Settings (Registration Complete)" msgstr "" #: classes/class.swpm-settings.php:117 msgid "Send Notification to Admin" msgstr "" #: classes/class.swpm-settings.php:118 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" #: classes/class.swpm-settings.php:119 msgid "Admin Email Address" msgstr "" #: classes/class.swpm-settings.php:120 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" #: classes/class.swpm-settings.php:121 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" #: classes/class.swpm-settings.php:124 msgid "Email Settings (Password Reset)" msgstr "" #: classes/class.swpm-settings.php:131 msgid " Email Settings (Account Upgrade Notification)" msgstr "" #: classes/class.swpm-settings.php:152 msgid "Enable Expired Account Login" msgstr "" #: classes/class.swpm-settings.php:153 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" #: classes/class.swpm-settings.php:377 msgid "Not a Member?" msgstr "אינך משתמש רשום עדיין?" #: classes/class.swpm-settings.php:377 views/login.php:27 msgid "Join Us" msgstr "הצטרף אלינו" #: classes/class.swpm-utils.php:67 msgid "Active" msgstr "" #: classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "" #: classes/class.swpm-utils.php:69 msgid "Pending" msgstr "" #: classes/class.swpm-utils.php:70 msgid "Expired" msgstr "" #: classes/class.swpm-utils.php:296 msgid "Never" msgstr "" #: classes/class.swpm-utils.php:370 msgid "Delete Account" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63 msgid "Payment Button ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64 msgid "Payment Button Title" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65 msgid "Membership Level ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66 msgid "Button Shortcode" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106 #: views/admin_members_list.php:15 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:46 msgid "Row ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:47 #: views/forgot_password.php:5 msgid "Email Address" msgstr "כתובת דוא\"ל:" #: classes/admin-includes/class.swpm-payments-list-table.php:50 msgid "Date" msgstr "תאריך" #: classes/admin-includes/class.swpm-payments-list-table.php:51 msgid "Transaction ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:52 msgid "Amount" msgstr "" #: classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "" #: classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "" #: classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "" #: classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "" #: classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "" #: classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "" #: classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "" #: classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "" #: classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "" #: classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "" #: classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "" #: classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "שם המשתמש שלך:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "לחץ על קישור זה ע\"מ להשלים את הרישום לאתר" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" #: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17 #: views/edit.php:12 views/login.php:11 msgid "Password" msgstr "סיסמא" #: views/add.php:18 views/edit.php:16 msgid "Repeat Password" msgstr "איפוס סיסמא" #: views/add.php:41 msgid "Register" msgstr "הרשם" #: views/admin_add.php:6 msgid "Add Member" msgstr "" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "" #: views/admin_add.php:11 msgid "User name" msgstr "שם משתמש" #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10 #: views/admin_edit_level.php:14 views/admin_edit_level.php:18 msgid "(required)" msgstr "(נדרש)" #: views/admin_add.php:15 views/admin_edit.php:13 msgid "E-mail" msgstr "כתובת דוא\"ל" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(נדרש)" #: views/admin_add.php:24 views/admin_edit.php:21 msgid "Strength indicator" msgstr "" #: views/admin_add.php:25 views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" #: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7 msgid "Account Status" msgstr "" #: views/admin_add.php:39 msgid "Add New Member " msgstr "" #: views/admin_addon_settings.php:3 views/admin_settings.php:3 #: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3 msgid "Simple WP Membership::Settings" msgstr "" #: views/admin_addon_settings.php:8 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" #: views/admin_addon_settings.php:13 msgid "Save Changes" msgstr "שמור שינויים" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "" #: views/admin_add_level.php:11 views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "" #: views/admin_add_level.php:15 views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "" #: views/admin_add_level.php:19 views/admin_edit_level.php:18 msgid "Access Duration" msgstr "" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:22 views/admin_edit_level.php:25 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 msgid "Expire After" msgstr "" #: views/admin_add_level.php:24 views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "" #: views/admin_add_level.php:28 views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "" #: views/admin_add_level.php:30 views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "" #: views/admin_add_level.php:31 views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "" #: views/admin_add_level.php:32 views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "" #: views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "" #: views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" #: views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "" #: views/admin_edit.php:6 msgid "Edit existing member details." msgstr "" #: views/admin_edit.php:9 views/login.php:5 msgid "Username" msgstr "שם משתמש" #: views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "" #: views/admin_edit.php:33 msgid "Notify User" msgstr "" #: views/admin_edit.php:40 msgid "Subscriber ID/Reference" msgstr "" #: views/admin_edit.php:44 msgid "Last Accessed From IP" msgstr "" #: views/admin_edit.php:52 msgid "Edit User " msgstr "" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "" #: views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "" #: views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" #: views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "" #: views/admin_edit_level.php:41 msgid "Edit Membership Level " msgstr "" #: views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "" #: views/admin_members.php:3 views/admin_members_list.php:30 msgid "Add New" msgstr "" #: views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "" #: views/admin_membership_levels.php:12 views/admin_members_list.php:6 msgid "search" msgstr "" #: views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "" #: views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "" #: views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "" #: views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "" #: views/admin_member_form_common_part.php:30 views/edit.php:28 msgid "Phone" msgstr "מס' טלפון" #: views/admin_member_form_common_part.php:34 views/edit.php:32 msgid "Street" msgstr "" #: views/admin_member_form_common_part.php:38 views/edit.php:36 msgid "City" msgstr "" #: views/admin_member_form_common_part.php:42 views/edit.php:40 msgid "State" msgstr "" #: views/admin_member_form_common_part.php:46 views/edit.php:44 msgid "Zipcode" msgstr "" #: views/admin_member_form_common_part.php:50 views/edit.php:48 msgid "Country" msgstr "" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "" #: views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "" #: views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" #: views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "" #: views/admin_tools_settings.php:20 msgid "OR" msgstr "" #: views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "" #: views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "" #: views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "" #: views/admin_tools_settings.php:34 msgid "Submit" msgstr "שלח" #: views/edit.php:58 msgid "Update" msgstr "עדכן" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "איתחול סיסמא" #: views/loggedin.php:3 msgid "Logged in as" msgstr "" #: views/loggedin.php:11 msgid "Membership" msgstr "" #: views/loggedin.php:15 msgid "Account Expiry" msgstr "" #: views/loggedin.php:19 msgid "Logout" msgstr "" #: views/login.php:18 msgid "Remember Me" msgstr "התנתק" #: views/login.php:24 msgid "Forgot Password" msgstr "שכחת סיסמא?" #: views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "" #: views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "" #: views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "" #: views/payments/admin_create_payment_buttons.php:13 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "" #: views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "הבא" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "" #: views/payments/admin_payments_page.php:9 msgid "Simple Membership::Payments" msgstr "" #: views/payments/admin_payment_buttons.php:7 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" #: views/payments/admin_payment_settings.php:31 msgid "PayPal Integration Settings" msgstr "" #: views/payments/admin_payment_settings.php:34 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" #: views/payments/admin_payment_settings.php:37 msgid "Enter the Membership Level ID" msgstr "" #: views/payments/admin_payment_settings.php:39 msgid "Generate Code" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:29 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:302 msgid "Button Title" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 msgid "Payment Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:47 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 msgid "Payment Currency" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:446 msgid "Return URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:86 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:359 msgid "PayPal Email" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:454 msgid "Button Image URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:466 msgid "Save Payment Data" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:294 msgid "Button ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:20 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:288 msgid "PayPal Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:94 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "Billing Amount Each Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:102 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:115 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:388 msgid "Billing Cycle Count" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:123 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Re-attempt on Failure" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:136 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:409 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:142 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:415 msgid "Trial Billing Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:423 msgid "Trial Billing Period" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:167 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:440 msgid "Optional Details" msgstr "" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:77 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:79 msgid "Buy Now" msgstr "" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:197 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:199 msgid "Subscribe Now" msgstr "הרשם כעט" languages/simple-membership-fi.po000064400000206760147206617610013115 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2018-02-17 13:47+1000\n" "PO-Revision-Date: 2018-03-15 11:08+0100\n" "Last-Translator: No one\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.6\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: fi\n" "Report-Msgid-Bugs-To: \n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:172 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "Ylläpitäjä ei salli hallintapaneelinäkymää." #: classes/class.simple-wp-membership.php:173 msgid "Go back to the home page by " msgstr "Mene takaisin kotisivulle " #: classes/class.simple-wp-membership.php:173 msgid "clicking here" msgstr "klikkaamalla tästä" #: classes/class.simple-wp-membership.php:311 msgid "You are not logged in." msgstr "Et ole kirjautunut sisään." #: classes/class.simple-wp-membership.php:358 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "Sinulla on testimaksutila kytkettynä lisäosan asetuksissa. Varmista että " "kytket testimaksutilan pois päältä kun haluat käyttää oikeita maksuja." #: classes/class.simple-wp-membership.php:373 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership suojaus" #: classes/class.simple-wp-membership.php:385 msgid "Simple Membership Protection options" msgstr "Simple Membership suojausasetukset" #: classes/class.simple-wp-membership.php:403 msgid "Do you want to protect this content?" msgstr "Haluatko suojata tämän sisällön?" #: classes/class.simple-wp-membership.php:408 msgid "Select the membership level that can access this content:" msgstr "Valitse mikä jäsenyystaso pääsee käsiksi tähän sisältöön:" #: classes/class.simple-wp-membership.php:543 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:544 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:575 msgid "Members" msgstr "Jäsenet" #: classes/class.simple-wp-membership.php:545 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:257 msgid "Membership Levels" msgstr "Jäsentasot" #: classes/class.simple-wp-membership.php:546 msgid "Settings" msgstr "Asetukset" #: classes/class.simple-wp-membership.php:547 msgid "Payments" msgstr "Maksut" #: classes/class.simple-wp-membership.php:548 msgid "Add-ons" msgstr "Lisäosat" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Kirjaudu sisään nähdäksesi tämän sisällön. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Tilisi on vanhentunut. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Tämän sisällön näkevät vain jäsenet jotka ovat liittyneet tähän päivään " "mennessä:" #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Tätä sisältöä ei näytetä jäsenyystasollasi." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Kirjaudu sisään nähdäksesi loput sisällöstä. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr "Jäsenyystasosi ei mahdollista lopun sisällön näyttämistä." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän rekisteröinnin " "yhteydessä." #: classes/class.swpm-admin-registration.php:66 msgid "Member record added successfully." msgstr "Jäsenen lisääminen onnistui." #: classes/class.swpm-admin-registration.php:71 #: classes/class.swpm-admin-registration.php:102 #: classes/class.swpm-admin-registration.php:126 #: classes/class.swpm-membership-level.php:69 #: classes/class.swpm-membership-level.php:97 msgid "Please correct the following:" msgstr "Korjaathan seuraavat:" #: classes/class.swpm-admin-registration.php:82 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän muokkaamisen " "yhteydessä." #: classes/class.swpm-admin-registration.php:131 msgid "Your current password" msgstr "Nykyinen salasanasi" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Virheellinen sähköpostiosoite" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "On jo varattu" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Nimessä on kelpaamaton merkki" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Käytettävissä" #: classes/class.swpm-auth.php:49 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Varoitus! Simple Membership lisäosa ei voi käsitellä kirjautumispyyntöä " "estääkseen tahattoman uloskirjautumisen WP ylläpidosta. " #: classes/class.swpm-auth.php:50 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a member." msgstr "" "Olet kirjautunut sivustolle tässä selaimessa ylläpitäjänä. Kirjaudu ensin " "ulos WP ylläpidosta, jonka jälkeen voit kirjautua jäsenenä." #: classes/class.swpm-auth.php:51 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Vaihtoehtoisesti voit kirjautua toisella selaimella (jossa et ole " "kirjautuneen ylläpitäjänä) testataksesi jäsenenä kirjautumista." #: classes/class.swpm-auth.php:52 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Tavalliset vierailijat tai jäsenet eivät näe tätä viestiä. Tämä viesti " "näytetään ainoastaan ylläpitäjille." #: classes/class.swpm-auth.php:59 msgid "Captcha validation failed on login form." msgstr "CAPTCHA varmennus epäonnistui kirjautumislomakkeella." #: classes/class.swpm-auth.php:84 msgid "User Not Found." msgstr "Käyttäjää ei löydy." #: classes/class.swpm-auth.php:91 msgid "Password Empty or Invalid." msgstr "Salasana tyhjä tai virheellinen." #: classes/class.swpm-auth.php:124 msgid "Account is inactive." msgstr "Tili ei ole käytössä." #: classes/class.swpm-auth.php:128 classes/class.swpm-auth.php:146 msgid "Account has expired." msgstr "Tili on vanhentunut." #: classes/class.swpm-auth.php:131 msgid "Account is pending." msgstr "Tili odottaa aktivointia." #: classes/class.swpm-auth.php:153 msgid "You are logged in as:" msgstr "Olet kirjautunut käyttäjänä:" #: classes/class.swpm-auth.php:200 msgid "Logged Out Successfully." msgstr "Uloskirjautuminen onnistui." #: classes/class.swpm-auth.php:252 msgid "Session Expired." msgstr "Istunto on vanhentunut." #: classes/class.swpm-auth.php:261 msgid "Invalid Username" msgstr "Virheellinen käyttäjätunnus." #: classes/class.swpm-auth.php:269 msgid "Please login again." msgstr "Kirjaudu uudelleen." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:31 views/admin_member_form_common_part.php:2 views/edit.php:62 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:307 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 msgid "Membership Level" msgstr "Jäsenyystaso" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Kategoriatunnus (ID)" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Kategorian nimi" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Kategoria tyyppi (Taksonomia)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Kuvaus" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Määrä" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "Kategorian suojaus päivitetty." #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "Kategoriaa ei löydy." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Kirjaudu sisään kommentoidaksesi." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Kirjaudu sisään kommentoidaksesi." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Kommentointi sallittu vain jäsenille." #: classes/class.swpm-form.php:29 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "Käyttäjätunnukselle löytyy tili, mutta annettu sähköposti ei täsmää." #: classes/class.swpm-form.php:30 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " Käytä eri käyttätunnusta rekisteröinnin tekemiseen. Jos haluat käyttää samaa " "käyttäjätunnusta, sinun pitää antaa siihen liitetty oikea sähköpostiosoite. " #: classes/class.swpm-form.php:36 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "Sähköpostille löytyy tili, mutta annettu käyttäjätunnus ei täsmää." #: classes/class.swpm-form.php:37 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " Käytä eri sähköpostiosoitetta rekisteröinnin tekemiseen. Jos haluat käyttää samaa " "sähköpostiosoitetta, sinun pitää antaa siihen liitetty oikea käyttäjätunnus. " #: classes/class.swpm-form.php:47 msgid "Username is required" msgstr "Käyttäjätunnus tarvitaan" #: classes/class.swpm-form.php:51 msgid "Username contains invalid character" msgstr "Käyttäjätunnuksessa on virheellisiä merkkejä." #: classes/class.swpm-form.php:59 msgid "Username already exists." msgstr "Käyttäjätunnus on jo käytössä." #: classes/class.swpm-form.php:82 msgid "Password is required" msgstr "Salasana on pakollinen" #: classes/class.swpm-form.php:89 msgid "Password mismatch" msgstr "Salasanat eivät täsmää" #: classes/class.swpm-form.php:96 msgid "Email is required" msgstr "Sähköposti on pakollinen" #: classes/class.swpm-form.php:100 msgid "Email is invalid" msgstr "Sähköposti on virheellinen" #: classes/class.swpm-form.php:116 msgid "Email is already used." msgstr "Sähköposti on jo käytössä." #: classes/class.swpm-form.php:173 msgid "Member since field is invalid" msgstr "Jäsenyyden alku -kenttä on virheellinen" #: classes/class.swpm-form.php:184 msgid "Access starts field is invalid" msgstr "Pääsyn alku -kenttä on virheellinen" #: classes/class.swpm-form.php:194 msgid "Gender field is invalid" msgstr "Sukupuoli -kenttä on virheellinen" #: classes/class.swpm-form.php:205 msgid "Account state field is invalid" msgstr "Tilin tila -kenttä on virheellinen" #: classes/class.swpm-form.php:212 msgid "Invalid membership level" msgstr "Virheellinen jäsenyystaso" #: classes/class.swpm-front-registration.php:33 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "Virhe! Virheellinen pyyntö. Annetun turvakoodin ja käyttäjätunnuksen välille " "ei löytynyt vastaavuutta." #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:219 views/login.php:36 msgid "Join Us" msgstr "Luo tunnukset täällä" #: classes/class.swpm-utils-misc.php:394 msgid "(Please Select)" msgstr "(Valitse)" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "Ilmaisjäsenyys on poistettu käytöstä tällä sivustolla. Teethän " "maksusuorituksen" #: classes/class.swpm-front-registration.php:49 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Saat yksilöllisen linkin sähköpostiin maksun jälkeen. Linkin avulla voit " "suorittaa loppuun Premium-jäsenyyden rekisteröinnin. " #: classes/class.swpm-front-registration.php:77 msgid "Security check: captcha validation failed." msgstr "Turvatarkistus: captcha varmistus epäonnistui." #: classes/class.swpm-front-registration.php:100 msgid "Registration Successful. " msgstr "Rekisteröinti onnistui. " #: classes/class.swpm-front-registration.php:113 #: classes/class.swpm-utils-misc.php:246 classes/class.swpm-utils-misc.php:258 msgid "Please" msgstr "" #: classes/class.swpm-front-registration.php:113 #: classes/class.swpm-utils-misc.php:246 views/login.php:30 msgid "Login" msgstr "Kirjaudu sisään tästä" #: classes/class.swpm-front-registration.php:113 #: classes/class.swpm-front-registration.php:236 msgid "Please correct the following" msgstr "Korjaathan seuraavat kohdat:" #: classes/class.swpm-front-registration.php:158 msgid "Membership Level Couldn't be found." msgstr "Jäsenyystasoa ei löydy." #: classes/class.swpm-front-registration.php:209 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" "Virhe! Kertakäyttöavaimen varmennus epäonnistui edustan profiilin " "muokkaamisen yhteydessä." #: classes/class.swpm-front-registration.php:217 msgid "Profile updated successfully." msgstr "Profiili päivitetty onnistuneesti." #: classes/class.swpm-front-registration.php:225 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profiili päivitetty onnistuneesti. Joudut kirjautumaan uudestaan salasanan " "vaihdon vuoksi." #: classes/class.swpm-front-registration.php:246 msgid "Email address not valid." msgstr "Virheellinen sähköpostiosoite." #: classes/class.swpm-front-registration.php:257 msgid "No user found with that email address." msgstr "Kyseiselle sähköpostille ei löydy käyttäjää." #: classes/class.swpm-front-registration.php:258 #: classes/class.swpm-front-registration.php:284 msgid "Email Address: " msgstr "Sähköpostiosoite: " #: classes/class.swpm-front-registration.php:283 msgid "New password has been sent to your email address." msgstr "Uusi salasana on lähetetty sähköpostiisi." #: classes/class.swpm-init-time-tasks.php:112 msgid "Sorry, Nonce verification failed." msgstr "Kertakäyttöavaimen varmistus epäonnistui." #: classes/class.swpm-init-time-tasks.php:119 msgid "Sorry, Password didn't match." msgstr "Salasana ei ollut oikein." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Päivämäärän muoto on virheellinen." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "Pääsyn kesto pitää olla > 0." #: classes/class.swpm-members.php:10 msgid "Member" msgstr "Jäsen" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "Tunniste" #: classes/class.swpm-members.php:20 views/add.php:7 views/admin_add.php:10 #: views/admin_edit.php:13 views/edit.php:14 msgid "Username" msgstr "Käyttäjätunnus" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:23 views/admin_member_form_common_part.php:15 #: views/edit.php:30 msgid "First Name" msgstr "Etunimi" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:27 views/admin_member_form_common_part.php:19 #: views/edit.php:34 msgid "Last Name" msgstr "Sukunimi" #: classes/class.swpm-members.php:23 views/add.php:11 views/edit.php:18 msgid "Email" msgstr "Sähköpostiosoite" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Pääsy alkaa" #: classes/class.swpm-members.php:26 msgid "Account State" msgstr "Tilin tila" #: classes/class.swpm-members.php:42 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Poista" #: classes/class.swpm-members.php:43 msgid "Set Status to Active" msgstr "Aseta tila aktiiviseksi" #: classes/class.swpm-members.php:44 msgid "Set Status to Active and Notify" msgstr "Aseta tila aktiiviseksi ja tee ilmoitus" #: classes/class.swpm-members.php:45 msgid "Set Status to Inactive" msgstr "Aseta tila pois käytöstä" #: classes/class.swpm-members.php:46 msgid "Set Status to Pending" msgstr "Aseta tila vireillä olevaksi" #: classes/class.swpm-members.php:47 msgid "Set Status to Expired" msgstr "Aseta tila vanhentuneeksi" #: classes/class.swpm-members.php:68 msgid "incomplete" msgstr "puutteellinen" #: classes/class.swpm-members.php:187 msgid "No member found." msgstr "Jäsentä ei löydy." #: classes/class.swpm-members.php:331 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän poiston yhteydessä." #: classes/class.swpm-members.php:400 classes/class.swpm-members.php:430 msgid "Error! Please select a membership level first." msgstr "Virhe! Valitse jäsenyystaso ensin." #: classes/class.swpm-members.php:417 msgid "Membership level change operation completed successfully." msgstr "Jäsenyystason vaihto suoritettu onnistuneesti." #: classes/class.swpm-members.php:447 msgid "Access starts date change operation successfully completed." msgstr "Pääsyn aloitusajan muutos tehty onnistuneesti." #: classes/class.swpm-members.php:456 msgid "Bulk Update Membership Level of Members" msgstr "Jäsenten jäsenyystasojen massapäivitys" #: classes/class.swpm-members.php:459 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Voit manuaalisesti muuttaa minkä tahansa jäsenen jäsenyystasoa " "jäsenyysvalikosta." #: classes/class.swpm-members.php:460 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "Voit käyttää seuraavaa valintaa alla valitsemasi tason kaikkien jäsenten " "jäsenyystason muuttamiseksi." #: classes/class.swpm-members.php:466 classes/class.swpm-members.php:514 msgid "Membership Level: " msgstr "Jäsenyystaso:" #: classes/class.swpm-members.php:470 msgid "Select Current Level" msgstr "Valitse nykyinen taso" #: classes/class.swpm-members.php:473 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "Valitse nykyinen taso (kaikkien tämän tason jäsenyystaso päivitetään)." #: classes/class.swpm-members.php:479 msgid "Level to Change to: " msgstr "Taso jolle päivitetään:" #: classes/class.swpm-members.php:483 msgid "Select Target Level" msgstr "Valitse kohdetaso" #: classes/class.swpm-members.php:486 msgid "Select the new membership level." msgstr "Valitse uusi jäsenyystaso." #: classes/class.swpm-members.php:492 msgid "Bulk Change Membership Level" msgstr "Jäsenyystason massamuutos" #: classes/class.swpm-members.php:502 msgid "Bulk Update Access Starts Date of Members" msgstr "Massapäivityksen jäsenten pääsy alkaa päivämäärä" #: classes/class.swpm-members.php:506 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "Pääsy alkaa on asetettu päiväksi jona käyttäjä rekisteröityy. Tätä päivää " "käytetään laskemaan kuinka pitkään kyseinen käyttäjä pääsee sisältöön joka " "on suojaus on toteutettu jäsenyystason keston perusteella." #: classes/class.swpm-members.php:507 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Voit seuraavalla valinnalla asettaa manuaalisesti tietyn aloituspäivämäärän " "kaikkille tietyn tason jäsenille." #: classes/class.swpm-members.php:517 msgid "Select Level" msgstr "Valitse taso" #: classes/class.swpm-members.php:520 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Valitse jäsenyystaso (kaikkien tämän tason jäsenten aloituspäivämäärä " "päivitetään)." #: classes/class.swpm-members.php:529 msgid "Specify the access starts date value." msgstr "Määritä aloituspäivämäärä." #: classes/class.swpm-members.php:535 msgid "Bulk Change Access Starts Date" msgstr "Massamuutoksen pääsyn aloituspäivämäärä" #: classes/class.swpm-members.php:570 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Jäsenet" #: classes/class.swpm-members.php:571 #: classes/class.swpm-membership-levels.php:225 views/admin_members_list.php:43 msgid "Add New" msgstr "Lisää uusi" #: classes/class.swpm-members.php:576 views/admin_add.php:5 msgid "Add Member" msgstr "Lisää jäsen" #: classes/class.swpm-members.php:577 msgid "Bulk Operation" msgstr "Massamuutos" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" "Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystasoa luotaessa." #: classes/class.swpm-membership-level.php:64 msgid "Membership Level Creation Successful." msgstr "Jäsenyystason luominen onnistui." #: classes/class.swpm-membership-level.php:80 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystason muokkauksen " "yhteydessä." #: classes/class.swpm-membership-level.php:92 msgid "Membership Level Updated Successfully." msgstr "Jäsenyystaso päivitetty onnistuneesti." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Rooli" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Pääsyn loppumisaika" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "Jäsenyystasoja ei löydy." #: classes/class.swpm-membership-levels.php:196 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" "Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystasoa poistettaessa." #: classes/class.swpm-membership-levels.php:215 views/admin_members_list.php:30 #: views/payments/admin_all_payment_transactions.php:16 msgid "Search" msgstr "Haku" #: classes/class.swpm-membership-levels.php:253 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Jäsenyystasot" #: classes/class.swpm-membership-levels.php:258 msgid "Add Level" msgstr "Lisää taso" #: classes/class.swpm-membership-levels.php:259 msgid "Manage Content Protection" msgstr "Hallinnoi sisällön suojausta" #: classes/class.swpm-membership-levels.php:260 msgid "Category Protection" msgstr "Kategoriasuojaus" #: classes/class.swpm-settings.php:27 classes/class.swpm-settings.php:55 msgid "General Settings" msgstr "Yleiset asetukset" #: classes/class.swpm-settings.php:28 msgid "Payment Settings" msgstr "Maksuasetukset" #: classes/class.swpm-settings.php:29 msgid "Email Settings" msgstr "Sähköpostiasetukset" #: classes/class.swpm-settings.php:30 msgid "Tools" msgstr "Työkalut" #: classes/class.swpm-settings.php:31 classes/class.swpm-settings.php:184 msgid "Advanced Settings" msgstr "Laajemmat asetukset" #: classes/class.swpm-settings.php:32 msgid "Addons Settings" msgstr "Lisäosien asetukset" #: classes/class.swpm-settings.php:54 msgid "Plugin Documentation" msgstr "Liitännäisten dokumentaatio" #: classes/class.swpm-settings.php:56 msgid "Enable Free Membership" msgstr "Mahdollista ilmaisjäsenyys" #: classes/class.swpm-settings.php:57 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Kytke/poiskytke ilmaisjäsenyystasolle rekisteröityminen. Kytkiessäsi päälle " "tätä valintaa, määrittelethän alle ilmaisjäsenyystason tason tunnisteen." #: classes/class.swpm-settings.php:58 msgid "Free Membership Level ID" msgstr "Ilmaisjäsenyystason tunniste" #: classes/class.swpm-settings.php:59 msgid "Assign free membership level ID" msgstr "Aseta ilmaisjäsenyystason tunniste" #: classes/class.swpm-settings.php:60 msgid "Enable More Tag Protection" msgstr "Kytke \"Lisää...\" tägin suojaus" #: classes/class.swpm-settings.php:61 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Kytkee/poiskytkee \"Lisää...\" tägin suojauksen postauksissa ja sivuilla. " "Kaikki \"Lisää..\" tägin jälkeen on suojattu. Kaikki ennen \"Lisää...\" " "tägiä on \"teaser\" sisältöä." #: classes/class.swpm-settings.php:62 msgid "Hide Adminbar" msgstr "Piilota ylläpitäjän palkki" #: classes/class.swpm-settings.php:63 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress näyttää ylläpitäjän palkin kirjautuneille käyttäjille. Valitse " "tämä jos haluat piilottaa palkin." #: classes/class.swpm-settings.php:64 msgid "Show Adminbar to Admin" msgstr "Näytä ylläpitäjän palkki ylläpitäjille" #: classes/class.swpm-settings.php:65 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Valitse tämä jos haluat näyttää ylläpitäjän palkin vain ylläpitäjille. " "Muilta käyttäjiltä palkki piilotetaan." #: classes/class.swpm-settings.php:66 msgid "Disable Access to WP Dashboard" msgstr "Estä pääsy WP käyttöliittymään" #: classes/class.swpm-settings.php:67 msgid "" "WordPress allows a sandard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashbaord. Using this option will prevent any " "non admin users from going to the wp dashboard." msgstr "" "WordPress sallii peruskäyttäjän pääsyn wp-admin osoitteeseen ja pääsyn omaan " "profiiliinsa WP käyttöliittymässä. Tällä valinnalla estetään muiden kuin " "ylläpitäjien pääsy WP käyttöliittymään." #: classes/class.swpm-settings.php:69 msgid "Default Account Status" msgstr "Oletus tilin tila" #: classes/class.swpm-settings.php:72 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Aseta rekisteröityvien käyttäjien oletustila. Jos haluat manuaalisesti " "hyväksyä jäsenet voit asettaa oletustilaksi \"Vireillä\"." #: classes/class.swpm-settings.php:74 msgid "Members Must be Logged in to Comment" msgstr "Käyttäjien pitää olla kirjautuneita kommentoidakseen." #: classes/class.swpm-settings.php:75 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "Aseta tämä valinta jos sallit vain jäsenten kommentit." #: classes/class.swpm-settings.php:84 msgid "Pages Settings" msgstr "Sivujen asetukset" #: classes/class.swpm-settings.php:85 msgid "Login Page URL" msgstr "Kirjautumissivun URL" #: classes/class.swpm-settings.php:87 msgid "Registration Page URL" msgstr "Rekisteröitymissivun URL" #: classes/class.swpm-settings.php:89 msgid "Join Us Page URL" msgstr "Liity meihin sivun URL" #: classes/class.swpm-settings.php:91 msgid "Edit Profile Page URL" msgstr "Muokkaa profiilia sivun URL" #: classes/class.swpm-settings.php:93 msgid "Password Reset Page URL" msgstr "Salasanan resetointi sivun URL" #: classes/class.swpm-settings.php:96 msgid "Test & Debug Settings" msgstr "Testaus ja debuggaus asetukset" #: classes/class.swpm-settings.php:98 msgid "Check this option to enable debug logging." msgstr "Valitse tämä kytkeäksesi debug lokituksen." #: classes/class.swpm-settings.php:103 msgid "Enable Sandbox Testing" msgstr "Kytke maksutestaus" #: classes/class.swpm-settings.php:104 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Valitse tämä jos haluat testata maksuliikennettä" #: classes/class.swpm-settings.php:117 classes/class.swpm-settings.php:179 #: classes/class.swpm-settings.php:296 msgid "Settings updated!" msgstr "Asetukset päivitetty!" #: classes/class.swpm-settings.php:122 msgid "Email Misc. Settings" msgstr "Sähköpostin sekalaiset asetukset" #: classes/class.swpm-settings.php:123 msgid "From Email Address" msgstr "From: Sähköpostiosoite" #: classes/class.swpm-settings.php:127 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Sähköpostiasetukset (Kehota tekemään rekisteröinti loppuun)" #: classes/class.swpm-settings.php:128 classes/class.swpm-settings.php:138 #: classes/class.swpm-settings.php:154 classes/class.swpm-settings.php:159 #: classes/class.swpm-settings.php:164 msgid "Email Subject" msgstr "Sähköpostin aihe kenttä" #: classes/class.swpm-settings.php:130 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:155 classes/class.swpm-settings.php:160 #: classes/class.swpm-settings.php:165 msgid "Email Body" msgstr "Sähköpostin sisältö" #: classes/class.swpm-settings.php:134 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "Kirjoita osoite johon haluat ylläpitäjäilmoituksen lähettää." #: classes/class.swpm-settings.php:135 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" "Voit laittaa useita osoitteita pilkulla erotettuna (,) ylläolevaan kenttään " "lähettääksesi ilmoituksen useaan osoitteeseen." #: classes/class.swpm-settings.php:136 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Tämä sähköposti lähetetään kun uusi käyttäjä rekisteröityy. Toimii vain " "mikäli \"Lähetä ilmoitus ylläpitäjälle\" on aktivoitu." #: classes/class.swpm-settings.php:137 msgid "Email Settings (Registration Complete)" msgstr "Sähköpostiasetukset (Rekisteröinti valmis)" #: classes/class.swpm-settings.php:142 msgid "Send Notification to Admin" msgstr "Lähetä ilmoitus ylläpitäjälle" #: classes/class.swpm-settings.php:143 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Aseta tämä jos haluat ylläpitäjän saavan viestin kun käyttäjä rekisteröityy." #: classes/class.swpm-settings.php:144 msgid "Admin Email Address" msgstr "Ylläpitäjän sähköpostiosoite" #: classes/class.swpm-settings.php:146 msgid "Admin Notification Email Body" msgstr "Ylläpitäjäilmoituksen viestin sisältö" #: classes/class.swpm-settings.php:149 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Lähetä jäsenelle sähköposti kun lisäys tehdään ylläpitäjän käyttöliittymästä." #: classes/class.swpm-settings.php:153 msgid "Email Settings (Password Reset)" msgstr "Sähköpostiasetukset (Salasanan resetointi)" #: classes/class.swpm-settings.php:158 msgid " Email Settings (Account Upgrade Notification)" msgstr "Sähköpostiasetukset (Tilin päivitysilmoitus)" #: classes/class.swpm-settings.php:163 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "Sähköpostiasetukset (Tilin massa-aktivoinnista ilmoitus)" #: classes/class.swpm-settings.php:186 msgid "Enable Expired Account Login" msgstr "Salli vanhentuneen tilin kirjautuminen" #: classes/class.swpm-settings.php:187 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Kun sallittu, vanhentuneen tilin käyttäjä pystyy kirjautumaan järjestelmään " "muttei näe mitään suojattua sisältöä. Tämä mahdollistaa tilin helpon " "uusimisen." #: classes/class.swpm-settings.php:189 msgid "Membership Renewal URL" msgstr "Jäsenyyden uusimis URL" #: classes/class.swpm-settings.php:190 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Voit luoda tilin uusimissivun sivustollesi. Lue (englanniksi)tämä dokumentaatio, jossa kerrotaan miten uusimissivu " "luodaan. " #: classes/class.swpm-settings.php:192 msgid "Allow Account Deletion" msgstr "Salli tilin poistaminen" #: classes/class.swpm-settings.php:193 msgid "Allow users to delete their accounts." msgstr "Salli käyttäjien poistaa tilinsä." #: classes/class.swpm-settings.php:195 msgid "Use WordPress Timezone" msgstr "Käytä WordPressin aikavyöhykettä" #: classes/class.swpm-settings.php:196 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" "Käytä tätä asetusta jos haluat käyttää WordPress yleisissä asetuksissa " "asetettua aikavyöhykettä." #: classes/class.swpm-settings.php:198 msgid "Auto Delete Pending Account" msgstr "Poista automaattisesti \"Vireillä\" oleva tili" #: classes/class.swpm-settings.php:201 msgid "Select how long you want to keep \"pending\" account." msgstr "Valitse kuinka pitkään pidät tiliä \"Vireillä\" ennen poistamista." #: classes/class.swpm-settings.php:203 msgid "Admin Dashboard Access Permission" msgstr "Ylläpitäjän käyttöliittymään pääsynhallinta" #: classes/class.swpm-settings.php:206 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here." msgstr "" "SWPM ylläpitäjän käyttöliittymään on oletuksen pääsy ainoastaan ylläpitäjä " "käyttäjillä. Tässä voit sallia pääsyn muulla WP käyttäjäroolilla." #: classes/class.swpm-settings.php:301 msgid "General Plugin Settings." msgstr "Yleiset liitännäisasetukset." #: classes/class.swpm-settings.php:305 msgid "Page Setup and URL Related settings." msgstr "Sivun asetteluun ja URL liittyvät asetukset." #: classes/class.swpm-settings.php:309 msgid "Testing and Debug Related Settings." msgstr "Testaus ja debuggausasetukset" #: classes/class.swpm-settings.php:313 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Tämä sähköposti lähetetään käyttäjille kun rekisteröinti on suoritettu ja " "heistä on tullut jäseniä." #: classes/class.swpm-settings.php:317 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Tämä sähköposti lähetetään käyttäjille kun he käyttävät salasanan resetointi " "toiminnallisuutta." #: classes/class.swpm-settings.php:321 msgid "Settings in this section apply to all emails." msgstr "Tämän osion asetukset vaikuttavat kaikkiin sähköposteihin." #: classes/class.swpm-settings.php:325 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Tämä sähköposti lähetetään käyttäjälle kun tili päivittyy (kun olemassa " "oleva käyttäjä maksaa uudesta käyttäjätasosta)." #: classes/class.swpm-settings.php:329 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Tämä sähköposti lähetetään käyttäjille kun käytät tilien massa-aktivointi ja " "-ilmoitus ominaisuutta." #: classes/class.swpm-settings.php:333 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Tämä sähköposti lähetetään kehottamaan käyttäjää päättämään rekisteröinnin " "maksun jälkeen." #: classes/class.swpm-settings.php:337 msgid "This page allows you to configure some advanced features of the plugin." msgstr "Tämä sivu sallii muokata eräitä lisäosan edistyneitä ominaisuuksia." #: classes/class.swpm-settings.php:445 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Asetukset" #: classes/class.swpm-utils-member.php:21 #: classes/class.swpm-utils-member.php:29 #: classes/class.swpm-utils-member.php:37 #: classes/class.swpm-utils-member.php:47 msgid "User is not logged in." msgstr "Käyttäjä ei ole kirjautunut sisään." #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Rekisteröinti" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Jäsenen kirjautuminen" #: classes/class.swpm-utils-misc.php:96 msgid "Profile" msgstr "Profiili" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Salasanan resetointi" #: classes/class.swpm-utils-misc.php:247 msgid "Not a Member?" msgstr "Eikö sinulla ole tunnuksia?" #: classes/class.swpm-utils-misc.php:258 msgid "renew" msgstr "uusi" #: classes/class.swpm-utils-misc.php:230 msgid " your account to gain access to this content." msgstr " tilisi päästäksesi tähän sisältöön." #: classes/class.swpm-utils-misc.php:272 classes/class.swpm-utils-misc.php:278 msgid "Error! This action (" msgstr "Virhe! Tämä toiminto (" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Virhe! Valitulle sapluunalle ei löydy polkua (path):" #: classes/class.swpm-utils.php:100 msgid "Never" msgstr "Ei koskaan" #: classes/class.swpm-utils.php:115 views/admin_members_list.php:19 msgid "Active" msgstr "Aktiivinen" #: classes/class.swpm-utils.php:116 views/admin_members_list.php:20 msgid "Inactive" msgstr "Inaktiivinen" #: classes/class.swpm-utils.php:117 views/admin_members_list.php:21 msgid "Pending" msgstr "Vireillä" #: classes/class.swpm-utils.php:118 views/admin_members_list.php:23 msgid "Expired" msgstr "Vanhentunut" #: classes/class.swpm-utils.php:459 msgid "Delete Account" msgstr "Poista tili" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "Maksunapin tunnus (ID)" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Maksunapin otsake" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "Jäsenyystason tunnus (ID)" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Napin tyyppi" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Napin lyhytkoodi (shortcode)" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "Valittu merkintä on poistettu!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple Membership::Maksut" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "Transaktiot" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "Hallinnoi maksunappeja" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Luo uusi nappi" #: classes/admin-includes/class.swpm-payments-list-table.php:57 msgid "View Profile" msgstr "Katso profiilia" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "Rivitunniste (Row ID)" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Sähköpostiosoite" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Jäsenprofiili" #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Päiväys" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "Transaktiotunniste (Transaction ID)" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "Tilaajatunniste (Subscriber ID)" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Määrä" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:56 msgid "Your membership profile will be updated to reflect the payment." msgstr "Jäsenyysprofiilisi on päivitety maksun mukaisesti." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:57 msgid "Your profile username: " msgstr "Profiilisi käyttäjätunnus:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:69 msgid "Click on the following link to complete the registration." msgstr "Klikkaa seuraavaa linkkiä päättääksesi rekisteröinnin." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:70 msgid "Click here to complete your paid registration" msgstr "Klikkaa tästä päättääksesi maksetun rekisteröintisi" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:75 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Jos ole juuri suorittanut jäsenmaksusi saattaa maksusi olla vielä " "prosessoitavana. Tarkista muutaman minuutin päästä tilanne uudestaan. Saat " "hetken päästä sähköpostin yksityiskohtaisilla tiedoilla." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:89 msgid "Expiry: " msgstr "Päättymispäivä:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:91 msgid "You are not logged-in as a member" msgstr "Et ole kirjautunut jäsenenä sisään" #: views/add.php:15 views/admin_add.php:19 views/admin_edit.php:44 #: views/edit.php:22 views/login.php:17 msgid "Password" msgstr "Salasana" #: views/add.php:18 views/edit.php:26 msgid "Repeat Password" msgstr "Toista salasana" #: views/add.php:52 msgid "Register" msgstr "Rekisteröidy" #: views/admin_add.php:6 msgid "Create a brand new user and add it to this site." msgstr "Luo kokonaan uusi käyttäjä ja lisää se tälle sivulle." #: views/admin_add.php:10 views/admin_add.php:14 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:13 views/admin_edit.php:34 #: views/admin_edit_level.php:15 views/admin_edit_level.php:19 #: views/admin_edit_level.php:23 msgid "(required)" msgstr "(pakollinen)" #: views/admin_add.php:14 views/admin_edit.php:34 msgid "E-mail" msgstr "Sähköposti" #: views/admin_add.php:18 msgid "(twice, required)" msgstr "(kahdesti, pakollinen)" #: views/admin_add.php:23 views/admin_edit.php:42 msgid "Strength indicator" msgstr "Salasanan vahvuus" #: views/admin_add.php:24 views/admin_edit.php:43 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Vinkki: Salasanan tulisi olla vähintään seitsemän(7) merkkiä pitkä. " "Vahvistaaksesi sitä, käytä isoja ja pieniä kirjaimia, numeroita ja symboleja " "kuten ! \" ? $ % ^ & )." #: views/admin_add.php:28 views/admin_edit.php:47 views/loggedin.php:10 msgid "Account Status" msgstr "Tilin tila" #: views/admin_add.php:38 msgid "Add New Member " msgstr "Lisää uusi jäsen" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Joitain Simple Membership -lisäosan asetuksia ja valintoja näytetään tässä " "(jos niitä on)" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Tallenna muutokset" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Luo uusi jäsenyystaso." #: views/admin_add_level.php:11 views/admin_edit_level.php:15 msgid "Membership Level Name" msgstr "Jäsenyystason nimi" #: views/admin_add_level.php:15 views/admin_edit_level.php:19 msgid "Default WordPress Role" msgstr "Oletus WordPress rooli" #: views/admin_add_level.php:19 views/admin_edit_level.php:23 msgid "Access Duration" msgstr "Pääsyn kesto" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Ei vanhentumista (Pääsy tällä tasolla ei vanhene ennen kuin se peruutetaan)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:27 views/admin_edit_level.php:30 #: views/admin_edit_level.php:33 views/admin_edit_level.php:36 msgid "Expire After" msgstr "Pääsy vanhenee" #: views/admin_add_level.php:24 views/admin_edit_level.php:28 msgid "Days (Access expires after given number of days)" msgstr "Päivää (Pääsy vanhenee näin monen päivän päästä)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Viikkoa (Pääsy vanhenee näin monen viikon päästä)" #: views/admin_add_level.php:28 views/admin_edit_level.php:34 msgid "Months (Access expires after given number of months)" msgstr "Kuukautta (Pääsy vanhenee näin monen kuukauden päästä)" #: views/admin_add_level.php:30 views/admin_edit_level.php:37 msgid "Years (Access expires after given number of years)" msgstr "Vuotta (Pääsy vanhenee näin monen vuoden päästä)" #: views/admin_add_level.php:31 views/admin_edit_level.php:39 msgid "Fixed Date Expiry" msgstr "Kiinteä vanheneminen" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "(Access expires on a fixed date)" msgstr "(Jäsenyys vanhenee tiettynä päivänä)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Lisää uusi jäsenyystaso" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Lisäosat" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Aluksi, suojaa kategoria järjestelmänlaajuisesti sivustollasi valitsemalla " "alla olevast valikosta \"Yleinen suojaus\" ja sitten valitse ne kategoriat " "jotka tulisi suojata rekisteröimättömiltä käyttäjiltä." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Seuraavaksi, valitse olemassa oleva jäsenyystaso alla olevasta " "pudotusvalikosta ja sitten valitse ne kategoriat joihin haluat sallia pääsyn " "kyseisellä jäsenyystasolla." #: views/admin_category_list.php:17 msgid "Membership Level:" msgstr "Jäsenyystaso:" #: views/admin_category_list.php:23 views/edit.php:69 msgid "Update" msgstr "Päivitä" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Muokkaa jäsentä" #: views/admin_edit.php:7 msgid "Edit existing member details." msgstr "Muokkaa olemassa olevan jäsenen tietoja." #: views/admin_edit.php:8 msgid " You are currenty editing member with member ID: " msgstr "Muokkaat tällä hetkellä jäsentä tunnisteella (ID):" #: views/admin_edit.php:38 msgid "(twice, leave empty to retain old password)" msgstr "(kahdesti, jätä tyhjäksi säilyttääksesi vanhan salasanan)" #: views/admin_edit.php:54 msgid "Notify User" msgstr "Ilmoita käyttäjälle" #: views/admin_edit.php:61 msgid "Subscriber ID/Reference" msgstr "Tilaajatunniste (Subscriber ID)/Referenssi" #: views/admin_edit.php:65 msgid "Last Accessed Date" msgstr "Viimeksi kirjautunut" #: views/admin_edit.php:68 views/admin_edit.php:75 msgid "This value gets updated when this member logs into your site." msgstr "Tämä arvo päivittyy kun tämä jäsen kirjautuu sivustolle." #: views/admin_edit.php:72 msgid "Last Accessed From IP" msgstr "Viimeisin IP mistä kirjauduttu" #: views/admin_edit.php:83 msgid "Edit User " msgstr "Muokkaa käyttäjää" #: views/admin_edit.php:88 msgid "Delete User Profile" msgstr "Poista käyttäjäprofiili" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Muokkaa jäsenyystasoa" #: views/admin_edit_level.php:8 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "Voit muokata valitun jäsenyystason yksityiskohtia tästä käyttöliittymästä." #: views/admin_edit_level.php:9 msgid "You are currently editing: " msgstr "Parhaillaan muokkaat:" #: views/admin_edit_level.php:26 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Ei vanhenemista (Tämän tason pääsy ei vanhene ennen peruuttamista)" #: views/admin_edit_level.php:31 msgid "Weeks (Access expires after given number of weeks)" msgstr "Viikkoa (Pääsy vanhenee näin monen viikon päästä)" #: views/admin_edit_level.php:46 msgid "Edit Membership Level " msgstr "Muokkaa jäsenyystasoa" #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Esimerkki sisällön suojaus asetukset" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Sukupuoli" #: views/admin_member_form_common_part.php:30 views/edit.php:38 msgid "Phone" msgstr "Puhelinnumero" #: views/admin_member_form_common_part.php:34 views/edit.php:42 msgid "Street" msgstr "Katu" #: views/admin_member_form_common_part.php:38 views/edit.php:46 msgid "City" msgstr "Kaupunki" #: views/admin_member_form_common_part.php:42 views/edit.php:50 msgid "State" msgstr "Maakunta" #: views/admin_member_form_common_part.php:46 views/edit.php:54 msgid "Zipcode" msgstr "Postinumero" #: views/admin_member_form_common_part.php:50 views/edit.php:58 msgid "Country" msgstr "Maa" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Yritys" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Jäsenyys alkanut" #: views/admin_tools_settings.php:6 msgid "Generate a Registration Completion link" msgstr "Luo rekisteröinnin päättämislinkki" #: views/admin_tools_settings.php:9 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Voi manuaalisesti luoda rekisteröinnin päättämislinkin tässä ja antaa sen " "asiakkaalle jos he eivät jostain syystä ole saaneet automaattisesti luotua " "vahvistusviestiä." #: views/admin_tools_settings.php:14 msgid "Generate Registration Completion Link" msgstr "Luo rekisteröinnin päättämislinkki" #: views/admin_tools_settings.php:15 msgid "For a Particular Member ID" msgstr "Tietylle jäsentunnukselle (Member ID)" #: views/admin_tools_settings.php:17 msgid "OR" msgstr "TAI" #: views/admin_tools_settings.php:18 msgid "For All Incomplete Registrations" msgstr "Kaikille keskeneräisille rekisteröinneille" #: views/admin_tools_settings.php:23 msgid "Send Registration Reminder Email Too" msgstr "Lähetä rekisteröinnin muistutus sähköposti myös." #: views/admin_tools_settings.php:29 msgid "Submit" msgstr "Lähetä" #: views/admin_tools_settings.php:38 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Linkki/linkit luotu onnistuneesti. ao. linkkiä/linkkejä voi käyttää " "rekisteröinnin vahvistamiseksi." #: views/admin_tools_settings.php:40 msgid "Registration completion links will appear below" msgstr "Rekisteröinnin vahvistuslinkit ilmestyvät alle." #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Resetoi salasana" #: views/edit.php:62 msgid "Company Name" msgstr "Yrityksen nimi" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Kirjautunut käyttäjänä" #: views/loggedin.php:14 msgid "Membership" msgstr "Jäsenyys" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Tilin vanheneminen" #: views/loggedin.php:31 msgid "Logout" msgstr "Kirjaudu ulos" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Muokkaa profiilia" #: views/login.php:11 msgid "Username or Email" msgstr "Käyttäjätunnus tai sähköposti" #: views/login.php:24 msgid "Remember Me" msgstr "Muista minut" #: views/login.php:33 msgid "Forgot Password" msgstr "Unohdettu salasana" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Kaikki jäsentesi maksutransaktiot tallennetaan tänne." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Etsi transaktiota sähköpostilla tai nimellä." #: views/payments/admin_create_payment_buttons.php:15 msgid "" "You can create new payment button for your memberships using this interface." msgstr "Voit luoda uuden maksunapin jäsenyyksillesi tällä käyttöliittymällä." #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "Valitse maksunapin tyyppi" #: views/payments/admin_create_payment_buttons.php:26 msgid "PayPal Buy Now" msgstr "PayPal Buy Now" #: views/payments/admin_create_payment_buttons.php:28 msgid "PayPal Subscription" msgstr "PayPal Subscription" #: views/payments/admin_create_payment_buttons.php:30 msgid "Stripe Buy Now" msgstr "Stripe Buy Now" #: views/payments/admin_create_payment_buttons.php:32 msgid "Braintree Buy Now" msgstr "Braintree Buy Now" #: views/payments/admin_create_payment_buttons.php:39 msgid "Next" msgstr "Seuraava" #: views/payments/admin_edit_payment_buttons.php:13 msgid "You can edit a payment button using this interface." msgstr "Voit muokata maksunappia tällä käyttöliittymällä." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Kaikki jäsenyysnapit jotka olet luonut näytetään tässä." #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "Virhe! Jäsenyystasotunnus (" #: views/payments/admin_payment_settings.php:27 msgid "PayPal Integration Settings" msgstr "PayPal integraatio asetukset" #: views/payments/admin_payment_settings.php:30 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Luo \"Advanced Variables\" koodi PayPal maksunapillesi" #: views/payments/admin_payment_settings.php:33 msgid "Enter the Membership Level ID" msgstr "Syötä jäsenyystasotunnus" #: views/payments/admin_payment_settings.php:35 msgid "Generate Code" msgstr "Luo koodi" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Braintree Buy Now Button Configuration" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:291 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:245 msgid "Button ID" msgstr "Button ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:299 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:252 msgid "Button Title" msgstr "Napin nimi" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:268 msgid "Payment Amount" msgstr "Maksun määrä" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Braintree API key and account details. You can get this from your Braintree " "account." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Merchant ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Public Key" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Private Key" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "Merchant Account ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:347 msgid "The following details are optional." msgstr "Seuraavat yksityiskohdat ovat valinnaisia" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:91 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:171 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:443 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:351 msgid "Return URL" msgstr "Return URL" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:191 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:463 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:151 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "Save Payment Data" msgstr "Tallenna maksudata" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal Buy Now Button Configuration" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:275 msgid "Payment Currency" msgstr "Maksun valuutta" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:99 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:84 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:356 msgid "PayPal Email" msgstr "PayPal sähköposti" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:107 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:179 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:451 msgid "Button Image URL" msgstr "Napin kuvan URL" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:285 msgid "PayPal Subscription Button Configuration" msgstr "PayPal Subscription Button Configuration" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:92 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:364 msgid "Billing Amount Each Cycle" msgstr "Toistuvan maksun määrä" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:100 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:372 msgid "Billing Cycle" msgstr "Laskutusväli" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:113 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:385 msgid "Billing Cycle Count" msgstr "Laskutusjaksojen määrä" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:121 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:393 msgid "Re-attempt on Failure" msgstr "Uudelleen yritä maksun epäonnistuessa" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:134 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:406 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Koeajan laskutustiedot (Jätä tyhjäksi jos sinulla ei ole koeaika käytössä)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:140 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:412 msgid "Trial Billing Amount" msgstr "Koeajan maksun määrä" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:148 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:420 msgid "Trial Billing Period" msgstr "Koejan pituus" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:165 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:437 msgid "Optional Details" msgstr "Valinnaiset tiedot" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:236 msgid "Stripe Buy Now Button Configuration" msgstr "Stripe Buy Now Button Configuration" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:314 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Stripe API avaimet. Saat nämä tiedot Stripe tililtäsi." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:318 msgid "Test Secret Key" msgstr "Test Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:325 msgid "Test Publishable Key" msgstr "Test Publishable Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 msgid "Live Secret Key" msgstr "Live Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 msgid "Live Publishable Key" msgstr "Live Publishable Key" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:17 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:85 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:87 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:17 msgid "Buy Now" msgstr "Osta nyt" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:213 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:215 msgid "Subscribe Now" msgstr "Tilaa nyt" msgid "Leave empty to keep the current password" msgstr "Jätä tyhjäksi pitääksesi nykyisen salasanan" #: Translation strings from addons Form builder addon msgid "Type password Here" msgstr "Kirjoita salasana tähän" msgid "Retype password Here" msgstr "Toista salasana tähän" msgid "Registration is complete. You can now log into the site." msgstr "Rekisteröinti päätetty. Nyt voit kirjautua sivustolle." msgid " Field has invalid character" msgstr "Kentässä on virheellinen merkki" msgid " Password does not match" msgstr "Salasanat eivät täsmää" msgid "Already taken." msgstr "On jo varattu." msgid "Street Address" msgstr "Osoite" msgid "Apt, Suite, Bldg. (optional)" msgstr "Osoite 2 (valinnainen)" msgid "State / Province / Region" msgstr "Lääni" msgid "Postal / Zip Code" msgstr "Postinumero" #: Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Sinulla ei ole käyttöoikeutta tähän sisältöön." msgid "Your membership level does not have permission to view this content." msgstr "Jäsenyystasollasi ei ole käyttöoikeutta tähän sisältöön." msgid "This content is for members only." msgstr "Tämä sisältö on vain jäsenille." languages/simple-membership.pot000064400000501602147206617610012676 0ustar00#, fuzzy msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "POT-Creation-Date: 2024-05-02 11:04+1000\n" "PO-Revision-Date: 2024-05-02 11:03+1000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "X-Generator: Poedit 3.4\n" "X-Poedit-Basepath: ..\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: simple-wp-membership.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.min.js\n" #: classes/admin-includes/class.swpm-admin-user-feedback.php:79 msgid "Are you enjoying the Simple Membership plugin?" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:81 #: views/payments/admin_edit_transaction.php:146 msgid "Yes" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:82 msgid "Not Really" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:86 msgid "" "We're sorry to hear you aren't enjoying the Simple Membership plugin. We " "would love a chance to improve. Could you take a minute and let us know what " "we can do better by using our contact form? " msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:91 msgid "Give Feedback" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:96 msgid "No thanks" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:101 msgid "" "That's great! Could you please do me a big favor and give it a 5-star rating " "on WordPress to help us spread the word and boost our motivation?" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:102 msgid "~ Simple Membership Plugin Team" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:105 msgid "OK, you deserve it" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:107 msgid "Nope, maybe later" msgstr "" #: classes/admin-includes/class.swpm-admin-user-feedback.php:108 msgid "I already did" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 #: views/payments/admin_edit_transaction.php:240 msgid "Payment Button ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 msgid "Payment Button Title" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:81 msgid "Membership Level ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:82 msgid "Button Type" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:83 msgid "Button Shortcode" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:98 #: classes/admin-includes/class.swpm-payments-list-table.php:139 #: classes/class.swpm-members.php:51 #: classes/class.swpm-membership-levels.php:36 msgid "Delete" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:135 #: views/admin_members_list.php:8 #: views/payments/admin_all_payment_transactions.php:38 msgid "The selected entry was deleted!" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:23 msgid "You can create membership payment buttons from the " msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:24 msgid "create new button tab" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:25 msgid "" " of this plugin (useful if you want to offer paid memberships on the site)." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:26 msgid " Read the " msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:27 msgid "membership payment section" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:28 msgid "" " of our documentation to learn more about creating membership payment " "buttons." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:38 msgid "General" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:39 msgid "PayPal API" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:40 #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:353 msgid "PayPal Webhooks" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:41 msgid "Stripe Settings" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:57 #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:71 msgid " Success! " msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:94 msgid "PayPal account disconnected." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:102 msgid "PayPal sandbox account disconnected." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:115 msgid "Test mode settings updated successfully." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:126 msgid "PayPal API settings updated successfully." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:132 msgid "PayPal access token cache deleted successfully." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:144 msgid "Stripe settings updated successfully." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:182 msgid "Sandbox or Test Mode Payment Settings" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:186 msgid "" "This section allows you to enable/disable sandbox or test mode for the " "payment buttons and transactions." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:193 msgid "Enable Sandbox or Test Mode" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:199 msgid "" "Enable this option if you want to do sandbox payment testing. Keep it " "unchecked for live/production mode." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:204 #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:309 #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:527 #: views/admin_addon_settings.php:10 msgid "Save Changes" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:209 msgid "Note for Subscription/Recurring Payment Testing: " msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:210 msgid "" "Subscription plan modes cannot be switched between test and live modes. For " "testing, create all subscription plans and buttons in test mode. " msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:211 msgid "" "Once testing is complete, switch the plugin to live mode and recreate the " "plans and buttons for live use. Avoid reusing test mode plans/buttons in " "live mode to prevent errors from the payment gateway. " msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:212 msgid "Read this payment testing checklist." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:236 msgid "PayPal Account Connection" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:246 msgid "PayPal API Credentials" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:250 msgid "Configure the PayPal API credentials for the new PayPal checkout." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:251 msgid "Read this documentation" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:251 msgid "to learn how to get your PayPal API credentials." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:259 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:110 msgid "Live Client ID" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:265 msgid "Enter your PayPal Client ID for live mode." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:272 #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:516 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:420 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:445 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:180 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:172 msgid "Live Secret Key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:278 msgid "Enter your PayPal Secret Key for live mode." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:285 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:126 msgid "Sandbox Client ID" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:291 msgid "Enter your PayPal Client ID for sandbox mode." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:298 msgid "Sandbox Secret Key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:304 msgid "Enter your PayPal Secret Key for sandbox mode." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:316 msgid "Delete PayPal API Access Token Cache" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:321 msgid "Delete PayPal Token Cache" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:326 msgid "Delete Token Cache" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:327 msgid "" "This will delete the PayPal API access token cache. This is useful if you " "are having issues with the PayPal API after changing/updating the API " "credentials." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:355 msgid "" "The PayPal payment buttons that uses the new API require webhooks. The " "plugin will auto-create the required webhooks when you create a PayPal " "payment button." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:356 msgid "" "If you have issues with the webhooks, you can delete it and create again." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:360 msgid "Live Webhook Status" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:367 msgid "" "Live Webhook exists. If you still have issues with webhooks, you can delete " "it and create again." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:373 msgid "" "Live PayPal API credentials are not set. Please set the Live PayPal API " "credentials first." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:377 msgid "" "No webhook found. Use the following link to create a new webhook for live " "mode." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:381 msgid "Create Live Webhook" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:388 msgid "Test Webhook Status" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:395 msgid "" "Sandbox Webhook exists. If you still have issues with webhooks, you can " "delete it and create again." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:401 msgid "" "Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal " "API credentials first." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:405 msgid "" "No webhook found. Use the following link to create a new webhook for test " "mode." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:409 msgid "Create Sandbox Webhook" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:416 #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:426 msgid "Delete Webhooks" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:421 msgid "" "PayPal API credentials are missing. Please set the PayPal API credentials." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:454 msgid "Stripe Global Settings" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:457 msgid "This section allows you to configure Stripe payment related settings." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:464 msgid "Pre-fill Member Email Address" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:470 msgid "" "Pre-fills the email address of the logged-in member on the Stripe checkout " "form when possible" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:477 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:399 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:424 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:156 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:148 msgid "Test Publishable Key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:483 msgid "Stripe API Test publishable key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:490 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:406 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:431 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:164 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:156 msgid "Test Secret Key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:496 msgid "Stripe API Test secret key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:503 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:413 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:438 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:172 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:164 msgid "Live Publishable Key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:509 msgid "Stripe API Live publishable key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:522 msgid "Stripe API Live secret key" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:549 msgid "Live Account Connnection Status" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:562 msgid "" "Live account is connected. If you experience any issues, please disconnect " "and reconnect." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:569 msgid "Live PayPal account is not connected." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:579 msgid "Sandbox Account Connnection Status" msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:592 msgid "" "Sandbox account is connected. If you experience any issues, please " "disconnect and reconnect." msgstr "" #: classes/admin-includes/class.swpm-payment-settings-menu-tab.php:599 msgid "Sandbox PayPal account is not connected." msgstr "" #: classes/admin-includes/class.swpm-payments-admin-menu.php:23 msgid "Simple Membership::Payments" msgstr "" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 msgid "Transactions" msgstr "" #: classes/admin-includes/class.swpm-payments-admin-menu.php:28 #: classes/class.swpm-settings.php:43 msgid "Payment Settings" msgstr "" #: classes/admin-includes/class.swpm-payments-admin-menu.php:29 msgid "Manage Payment Buttons" msgstr "" #: classes/admin-includes/class.swpm-payments-admin-menu.php:30 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "View Profile" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:112 #: classes/class.swpm-members.php:21 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:113 #: views/forgot_password.php:13 #: views/payments/admin_add_edit_transaction_manually.php:75 #: views/payments/admin_edit_transaction.php:200 msgid "Email Address" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:114 #: classes/class.swpm-members.php:23 views/add-v2.php:95 views/add.php:34 #: views/admin_member_form_common_part.php:6 views/edit-v2.php:82 #: views/edit.php:39 views/payments/admin_add_edit_transaction_manually.php:83 #: views/payments/admin_edit_transaction.php:192 msgid "First Name" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:115 #: classes/class.swpm-members.php:24 views/add-v2.php:104 views/add.php:38 #: views/admin_member_form_common_part.php:10 views/edit-v2.php:91 #: views/edit.php:43 views/payments/admin_add_edit_transaction_manually.php:91 #: views/payments/admin_edit_transaction.php:196 msgid "Last Name" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:116 msgid "Member Profile" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:117 #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: views/payments/admin_add_edit_transaction_manually.php:125 msgid "Date" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:118 #: views/payments/admin_add_edit_transaction_manually.php:133 #: views/payments/admin_edit_transaction.php:172 msgid "Transaction ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:119 #: views/payments/admin_add_edit_transaction_manually.php:141 #: views/payments/admin_edit_transaction.php:180 msgid "Subscriber ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:120 #: views/payments/admin_add_edit_transaction_manually.php:117 msgid "Amount" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:121 #: classes/admin-includes/class.swpm-send-direct-email-menu.php:419 #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:26 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 views/add-v2.php:113 views/add.php:42 #: views/admin_add.php:37 views/admin_add_v2.php:64 views/admin_edit.php:74 #: views/admin_edit_v2.php:98 views/admin_members_list.php:50 #: views/edit-v2.php:163 views/edit.php:75 #: views/payments/admin_add_edit_transaction_manually.php:107 #: views/payments/admin_edit_transaction.php:236 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:33 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:231 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:176 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:48 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:198 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:330 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:355 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:108 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:108 msgid "Membership Level" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:122 #: views/payments/admin_add_edit_transaction_manually.php:149 msgid "Status/Note" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:148 msgid "Error! You need to select multiple records to perform a bulk action!" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:160 msgid "Selected records deleted successfully!" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:173 msgid "Error! ID must be numeric." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:35 #: classes/class.swpm-members.php:554 msgid "" "Error! Nonce security verification failed for Bulk Change Membership Level " "action. Clear cache and try again." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:84 msgid "No recipient selected. Please select email recipient(s)." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:91 msgid "" "The email subject field is empty. Please enter a value in the email subject " "field." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:97 msgid "" "The email body field is empty. Please enter a value in the email body field." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:103 msgid "" "The recipients list is currently empty. There must be at least one recipient." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:165 msgid "Note: Below is a sample of the email content sent to the user." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:177 msgid "Email Sent Successfully!" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:183 msgid "The following validation failed. Please correct it and try again." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:219 msgid "Send Direct Email to Members" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:223 msgid "" "This feature allows you to send emails to a group of members based on their " "membership level and account status or by individual member IDs." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:224 msgid "" "Refer to this documentation " "page for more details." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:231 msgid "Target Recipients" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:236 msgid "Send to Membership Level & Account Status" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:240 msgid "Send to Member IDs" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:246 msgid "Select a Level" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:248 msgid "All Levels" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:250 msgid "Choose the membership level for email recipients." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:255 msgid "Select Account Status" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:257 msgid "All Status" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:259 msgid "Choose the account status for email recipients." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:264 msgid "Enter member IDs separated by comma to specify the recipients." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:270 msgid "Also Send Me a Copy" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:274 msgid "" "Check this if you want to send a copy of the email to your own email address" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:276 msgid "Your current WP user account email address is: " msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:288 #: classes/class.swpm-settings.php:354 classes/class.swpm-settings.php:385 #: classes/class.swpm-settings.php:466 classes/class.swpm-settings.php:491 #: classes/class.swpm-settings.php:527 classes/class.swpm-settings.php:552 msgid "Email Subject" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:292 msgid "Enter the subject for the email." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:298 msgid "Allow HTML" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:302 msgid "" "Enables HTML support in the email. For optimal email delivery rate, we " "suggest using plain text (non-HTML) email." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:308 #: classes/class.swpm-settings.php:365 classes/class.swpm-settings.php:396 #: classes/class.swpm-settings.php:477 classes/class.swpm-settings.php:502 #: classes/class.swpm-settings.php:538 classes/class.swpm-settings.php:563 msgid "Email Body" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:324 msgid "" "Enter the email content that will be sent to members. You can utilize the " "following email merge tags in this message (click to copy tags to clipboard)." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:333 msgid "Please note that the following merge tag does not work in this email." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:337 msgid "" "This tag will not work in this email since the password is stored in the " "database using a one-way hash, which means that the plugin cannot retrieve " "the plain text password once the account has been created." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:348 #: classes/class.swpm-members.php:854 msgid "Send Direct Email" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:349 msgid "This option will send the email if there are no validation errors." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:357 msgid "View Recipient List" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:358 msgid "" "You can use this option to display a list of selected members as recipients " "for cross-checking email addresses before sending." msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:411 msgid "Email Recipient List" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:416 msgid "Recipient's Email" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:417 #: classes/class.swpm-members.php:22 views/add-v2.php:59 views/add.php:18 #: views/admin_add.php:12 views/admin_add_v2.php:27 views/admin_edit.php:19 #: views/admin_edit_v2.php:31 views/edit-v2.php:49 views/edit.php:23 msgid "Username" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:418 #: classes/class.swpm-utils.php:711 #: views/payments/admin_add_edit_transaction_manually.php:99 #: views/payments/admin_edit_transaction.php:232 msgid "Member ID" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:420 #: classes/class.swpm-members.php:28 views/admin_members_list.php:45 msgid "Account State" msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:436 msgid "Total email recipients: " msgstr "" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:437 msgid "" "Note: No emails have been sent; this is only a display of the recipient list." msgstr "" #: classes/class.simple-wp-membership.php:248 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" #: classes/class.simple-wp-membership.php:249 msgid "Go back to the home page by " msgstr "" #: classes/class.simple-wp-membership.php:249 msgid "clicking here" msgstr "" #: classes/class.simple-wp-membership.php:333 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" #: classes/class.simple-wp-membership.php:334 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" #: classes/class.simple-wp-membership.php:335 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" #: classes/class.simple-wp-membership.php:336 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" #: classes/class.simple-wp-membership.php:337 msgid "You can use the back button of your browser to go back to the site." msgstr "" #: classes/class.simple-wp-membership.php:566 #: classes/class.swpm-wp-loaded-tasks.php:25 msgid "You are not logged in." msgstr "" #: classes/class.simple-wp-membership.php:664 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" #: classes/class.simple-wp-membership.php:679 msgid "Simple WP Membership Protection" msgstr "" #: classes/class.simple-wp-membership.php:691 msgid "Simple Membership Protection options" msgstr "" #: classes/class.simple-wp-membership.php:709 msgid "Do you want to protect this content?" msgstr "" #: classes/class.simple-wp-membership.php:710 msgid "No, Do not protect this content." msgstr "" #: classes/class.simple-wp-membership.php:711 msgid "Yes, Protect this content." msgstr "" #: classes/class.simple-wp-membership.php:714 msgid "Select the membership level that can access this content:" msgstr "" #: classes/class.simple-wp-membership.php:865 classes/class.swpm-form.php:48 msgid "Username is required" msgstr "" #: classes/class.simple-wp-membership.php:866 msgid "Invalid username" msgstr "" #: classes/class.simple-wp-membership.php:867 #: classes/class.simple-wp-membership.php:982 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "" #: classes/class.simple-wp-membership.php:868 msgid "Minimum 4 characters required" msgstr "" #: classes/class.simple-wp-membership.php:869 msgid "Username already exists" msgstr "" #: classes/class.simple-wp-membership.php:872 classes/class.swpm-form.php:99 msgid "Email is required" msgstr "" #: classes/class.simple-wp-membership.php:873 msgid "Invalid email" msgstr "" #: classes/class.simple-wp-membership.php:874 msgid "Email already exists" msgstr "" #: classes/class.simple-wp-membership.php:877 classes/class.swpm-form.php:81 msgid "Password is required" msgstr "" #: classes/class.simple-wp-membership.php:878 #: classes/class.simple-wp-membership.php:884 msgid "Invalid password" msgstr "" #: classes/class.simple-wp-membership.php:879 msgid "Must contain a digit, an uppercase and a lowercase letter" msgstr "" #: classes/class.simple-wp-membership.php:880 #: classes/class.simple-wp-membership.php:886 msgid "Minimum 8 characters required" msgstr "" #: classes/class.simple-wp-membership.php:883 msgid "Retype password is required" msgstr "" #: classes/class.simple-wp-membership.php:885 msgid "Password don't match" msgstr "" #: classes/class.simple-wp-membership.php:889 msgid "First name is required" msgstr "" #: classes/class.simple-wp-membership.php:890 #: classes/class.simple-wp-membership.php:894 msgid "Invalid name" msgstr "" #: classes/class.simple-wp-membership.php:893 msgid "Last name is required" msgstr "" #: classes/class.simple-wp-membership.php:897 msgid "You must accept the terms & conditions" msgstr "" #: classes/class.simple-wp-membership.php:900 msgid "You must accept the privacy policy" msgstr "" #: classes/class.simple-wp-membership.php:966 #: classes/class.simple-wp-membership.php:970 msgid "Validating, please wait" msgstr "" #: classes/class.simple-wp-membership.php:973 msgid "Invalid email address" msgstr "" #: classes/class.simple-wp-membership.php:976 msgid "This field is required" msgstr "" #: classes/class.simple-wp-membership.php:979 msgid "Password must contain at least:" msgstr "" #: classes/class.simple-wp-membership.php:979 msgid "- a digit" msgstr "" #: classes/class.simple-wp-membership.php:979 msgid "- an uppercase letter" msgstr "" #: classes/class.simple-wp-membership.php:979 msgid "- a lowercase letter" msgstr "" #: classes/class.simple-wp-membership.php:982 classes/class.swpm-auth.php:390 msgid "Invalid Username" msgstr "" #: classes/class.simple-wp-membership.php:985 msgid "Minimum " msgstr "" #: classes/class.simple-wp-membership.php:986 msgid " characters required" msgstr "" #: classes/class.simple-wp-membership.php:989 msgid "Apostrophe character is not allowed" msgstr "" #: classes/class.simple-wp-membership.php:1039 msgid "WP Membership" msgstr "" #: classes/class.simple-wp-membership.php:1040 #: classes/class.swpm-members.php:12 classes/class.swpm-members.php:848 msgid "Members" msgstr "" #: classes/class.simple-wp-membership.php:1041 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:275 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "" #: classes/class.simple-wp-membership.php:1042 msgid "Settings" msgstr "" #: classes/class.simple-wp-membership.php:1043 msgid "Payments" msgstr "" #: classes/class.simple-wp-membership.php:1044 msgid "Add-ons" msgstr "" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to be logged in to view this content. " msgstr "" #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "" #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "" #: classes/class.swpm-access-control.php:204 msgid "You need to be logged in to view the rest of the content. " msgstr "" #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr "" #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" #: classes/class.swpm-admin-registration.php:79 msgid "Member record added successfully." msgstr "" #: classes/class.swpm-admin-registration.php:87 #: classes/class.swpm-admin-registration.php:149 #: classes/class.swpm-admin-registration.php:187 #: classes/class.swpm-membership-level.php:84 #: classes/class.swpm-membership-level.php:126 msgid "Please correct the following:" msgstr "" #: classes/class.swpm-admin-registration.php:100 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" #: classes/class.swpm-admin-registration.php:166 msgid "Your current password" msgstr "" #: classes/class.swpm-ajax.php:16 classes/class.swpm-ajax.php:36 #: ipn/swpm-smart-checkout-ipn.php:332 msgid "Nonce check failed. Please reload the page." msgstr "" #: classes/class.swpm-ajax.php:20 msgid "Invalid Email Address" msgstr "" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:46 msgid "Already taken" msgstr "" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:47 msgid "Available" msgstr "" #: classes/class.swpm-ajax.php:40 msgid "Name contains invalid character" msgstr "" #: classes/class.swpm-auth.php:51 msgid "Username field cannot be empty." msgstr "" #: classes/class.swpm-auth.php:58 msgid "Password field cannot be empty." msgstr "" #: classes/class.swpm-auth.php:76 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" #: classes/class.swpm-auth.php:77 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:157 msgid "Click here" msgstr "" #: classes/class.swpm-auth.php:77 msgid " to see the profile you are currently logged into in this browser." msgstr "" #: classes/class.swpm-auth.php:78 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" #: classes/class.swpm-auth.php:79 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" #: classes/class.swpm-auth.php:80 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" #: classes/class.swpm-auth.php:87 msgid "Captcha validation failed on the login form." msgstr "" #: classes/class.swpm-auth.php:112 msgid "No user found with that username or email." msgstr "" #: classes/class.swpm-auth.php:119 msgid "Password empty or invalid." msgstr "" #: classes/class.swpm-auth.php:159 msgid "Account is inactive." msgstr "" #: classes/class.swpm-auth.php:162 classes/class.swpm-auth.php:191 msgid "Account has expired." msgstr "" #: classes/class.swpm-auth.php:165 msgid "Account is pending." msgstr "" #: classes/class.swpm-auth.php:175 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" #: classes/class.swpm-auth.php:175 #: classes/class.swpm-front-registration.php:592 #: classes/class.swpm-front-registration.php:657 #: classes/class.swpm-utils-misc.php:226 msgid "click here" msgstr "" #: classes/class.swpm-auth.php:199 msgid "You are logged in as:" msgstr "" #: classes/class.swpm-auth.php:270 msgid "Logged Out Successfully." msgstr "" #: classes/class.swpm-auth.php:381 msgid "Session Expired." msgstr "" #: classes/class.swpm-auth.php:398 msgid "Please login again." msgstr "" #: classes/class.swpm-block.php:63 msgid "Prompt visitors to take action with a simple membership payment button." msgstr "" #: classes/class.swpm-block.php:64 msgid "Payment button" msgstr "" #: classes/class.swpm-block.php:105 msgid "Select an item to view" msgstr "" #: classes/class.swpm-block.php:116 msgid "" "This section shows a preview image of a PayPal button to demonstrate where " "the PayPal button will appear on the front end." msgstr "" #: classes/class.swpm-block.php:162 msgid "(Select Item)" msgstr "" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "" #: classes/class.swpm-category-list.php:78 msgid "" "Error! Nonce security verification failed for Category Protection Update " "action. Clear cache and try again." msgstr "" #: classes/class.swpm-category-list.php:99 msgid "Category protection updated!" msgstr "" #: classes/class.swpm-category-list.php:137 msgid "No category found." msgstr "" #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "" #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "" #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "" #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But the given email doesn't " "match." msgstr "" #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But the given username doesn't " "match." msgstr "" #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "" #: classes/class.swpm-form.php:88 msgid "Password mismatch" msgstr "" #: classes/class.swpm-form.php:103 msgid "Email is invalid" msgstr "" #: classes/class.swpm-form.php:119 msgid "Email is already used." msgstr "" #: classes/class.swpm-form.php:171 msgid "Member since field is invalid" msgstr "" #: classes/class.swpm-form.php:182 msgid "Access starts field is invalid" msgstr "" #: classes/class.swpm-form.php:192 msgid "Gender field is invalid" msgstr "" #: classes/class.swpm-form.php:203 msgid "Account state field is invalid" msgstr "" #: classes/class.swpm-form.php:210 msgid "Invalid membership level" msgstr "" #: classes/class.swpm-front-registration.php:25 msgid "" "You are already logged in. You don't need to create another account. So the " "registration form is hidden." msgstr "" #: classes/class.swpm-front-registration.php:35 msgid "" "This unique registration link (see the URL in the browser's address bar) has " "already been used. You don't need to create another account. Log into the " "existing account to access the protected content." msgstr "" #: classes/class.swpm-front-registration.php:44 msgid "" "This unique registration link (see the URL in the browser's address bar) is " "invalid. Could not find a match for the given member ID and the security " "code. Please contact the site administrator." msgstr "" #: classes/class.swpm-front-registration.php:65 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" #: classes/class.swpm-front-registration.php:77 #: classes/class.swpm-utils-misc.php:416 views/login.php:68 msgid "Join Us" msgstr "" #: classes/class.swpm-front-registration.php:79 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" #: classes/class.swpm-front-registration.php:81 msgid " page to pay for a premium membership." msgstr "" #: classes/class.swpm-front-registration.php:83 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" #: classes/class.swpm-front-registration.php:121 msgid "Security check: captcha validation failed." msgstr "" #: classes/class.swpm-front-registration.php:134 msgid "You must accept the terms and conditions." msgstr "" #: classes/class.swpm-front-registration.php:148 msgid "You must agree to the privacy policy." msgstr "" #: classes/class.swpm-front-registration.php:191 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" #: classes/class.swpm-front-registration.php:204 msgid "Registration Successful. " msgstr "" #: classes/class.swpm-front-registration.php:204 #: classes/class.swpm-init-time-tasks.php:219 #: classes/class.swpm-utils-misc.php:415 classes/class.swpm-utils-misc.php:427 msgid "Please" msgstr "" #: classes/class.swpm-front-registration.php:204 #: classes/class.swpm-init-time-tasks.php:219 #: classes/class.swpm-utils-misc.php:415 views/login.php:62 msgid "Log In" msgstr "" #: classes/class.swpm-front-registration.php:228 msgid "Please correct the following" msgstr "" #: classes/class.swpm-front-registration.php:276 msgid "" "Unexpected Error! Failed to update the member record. Enable the debug log " "file then try the process again to get more details." msgstr "" #: classes/class.swpm-front-registration.php:293 msgid "Membership Level Couldn't be found." msgstr "" #: classes/class.swpm-front-registration.php:345 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" #: classes/class.swpm-front-registration.php:356 msgid "Profile updated successfully." msgstr "" #: classes/class.swpm-front-registration.php:376 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" #: classes/class.swpm-front-registration.php:406 msgid "Please correct the following." msgstr "" #: classes/class.swpm-front-registration.php:422 msgid "Captcha validation failed." msgstr "" #: classes/class.swpm-front-registration.php:433 msgid "Email address not valid." msgstr "" #: classes/class.swpm-front-registration.php:449 #: classes/class.swpm-front-registration.php:543 msgid "No user found with that email address." msgstr "" #: classes/class.swpm-front-registration.php:450 #: classes/class.swpm-front-registration.php:520 #: classes/class.swpm-front-registration.php:544 msgid "Email Address: " msgstr "" #: classes/class.swpm-front-registration.php:477 msgid "Password reset link has been sent to your email address." msgstr "" #: classes/class.swpm-front-registration.php:495 msgid "New password has been sent to your email address." msgstr "" #: classes/class.swpm-front-registration.php:587 msgid "Can't find member account." msgstr "" #: classes/class.swpm-front-registration.php:592 #: classes/class.swpm-front-registration.php:657 msgid "Account already active. " msgstr "" #: classes/class.swpm-front-registration.php:592 #: classes/class.swpm-front-registration.php:657 msgid " to log in." msgstr "" #: classes/class.swpm-front-registration.php:600 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" #: classes/class.swpm-front-registration.php:614 msgid "Success! Your account has been activated successfully." msgstr "" #: classes/class.swpm-front-registration.php:652 msgid "Cannot find member account." msgstr "" #: classes/class.swpm-front-registration.php:674 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" #: classes/class.swpm-init-time-tasks.php:148 msgid "Sorry, Nonce verification failed." msgstr "" #: classes/class.swpm-init-time-tasks.php:155 msgid "Sorry, Password didn't match." msgstr "" #: classes/class.swpm-init-time-tasks.php:181 #: classes/class.swpm-init-time-tasks.php:200 msgid "Error! Invalid password reset request." msgstr "" #: classes/class.swpm-init-time-tasks.php:187 msgid "" "Error! A password reset request has been submitted but the password reset " "key is invalid. Please generate a new request." msgstr "" #: classes/class.swpm-init-time-tasks.php:194 msgid "Error! Password fields do not match. Please try again." msgstr "" #: classes/class.swpm-init-time-tasks.php:219 msgid "Password Reset Successful. " msgstr "" #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "" #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "" #: classes/class.swpm-members.php:11 msgid "Member" msgstr "" #: classes/class.swpm-members.php:25 views/add-v2.php:68 views/add.php:22 #: views/edit-v2.php:55 views/edit.php:27 msgid "Email" msgstr "" #: classes/class.swpm-members.php:27 views/admin_member_form_common_part.php:2 msgid "Access Starts" msgstr "" #: classes/class.swpm-members.php:29 msgid "Last Login Date" msgstr "" #: classes/class.swpm-members.php:52 msgid "Set Status to Active" msgstr "" #: classes/class.swpm-members.php:53 msgid "Set Status to Active and Notify" msgstr "" #: classes/class.swpm-members.php:54 msgid "Set Status to Inactive" msgstr "" #: classes/class.swpm-members.php:55 msgid "Set Status to Pending" msgstr "" #: classes/class.swpm-members.php:56 msgid "Set Status to Expired" msgstr "" #: classes/class.swpm-members.php:71 classes/class.swpm-utils.php:128 #: views/admin_members_list.php:35 msgid "Activation Required" msgstr "" #: classes/class.swpm-members.php:90 msgid "incomplete" msgstr "" #: classes/class.swpm-members.php:233 msgid "No member found." msgstr "" #: classes/class.swpm-members.php:403 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" #: classes/class.swpm-members.php:562 classes/class.swpm-members.php:599 #: classes/class.swpm-members.php:636 msgid "Error! Please select a membership level first." msgstr "" #: classes/class.swpm-members.php:579 msgid "Membership level change operation completed successfully." msgstr "" #: classes/class.swpm-members.php:591 msgid "" "Error! Nonce security verification failed for Bulk Change Access Starts Date " "action. Clear cache and try again." msgstr "" #: classes/class.swpm-members.php:616 msgid "Access starts date change operation successfully completed." msgstr "" #: classes/class.swpm-members.php:628 msgid "" "Error! Nonce security verification failed for Bulk Change Account Status " "action. Clear cache and try again." msgstr "" #: classes/class.swpm-members.php:638 msgid "Error! Please select a account status." msgstr "" #: classes/class.swpm-members.php:658 msgid "Account status change operation completed successfully." msgstr "" #: classes/class.swpm-members.php:665 msgid "Bulk Update Membership Level of Members" msgstr "" #: classes/class.swpm-members.php:668 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" #: classes/class.swpm-members.php:669 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" #: classes/class.swpm-members.php:677 classes/class.swpm-members.php:726 #: classes/class.swpm-members.php:774 msgid "Membership Level: " msgstr "" #: classes/class.swpm-members.php:681 msgid "Select Current Level" msgstr "" #: classes/class.swpm-members.php:684 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" #: classes/class.swpm-members.php:690 msgid "Level to Change to: " msgstr "" #: classes/class.swpm-members.php:694 msgid "Select Target Level" msgstr "" #: classes/class.swpm-members.php:697 msgid "Select the new membership level." msgstr "" #: classes/class.swpm-members.php:703 msgid "Bulk Change Membership Level" msgstr "" #: classes/class.swpm-members.php:713 msgid "Bulk Update Access Starts Date of Members" msgstr "" #: classes/class.swpm-members.php:717 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" #: classes/class.swpm-members.php:718 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" #: classes/class.swpm-members.php:729 classes/class.swpm-members.php:778 msgid "Select Level" msgstr "" #: classes/class.swpm-members.php:732 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" #: classes/class.swpm-members.php:738 msgid "Access Starts Date: " msgstr "" #: classes/class.swpm-members.php:741 msgid "Specify the Access Starts date value." msgstr "" #: classes/class.swpm-members.php:747 msgid "Bulk Change Access Starts Date" msgstr "" #: classes/class.swpm-members.php:763 msgid "Bulk Update Account Status of Members" msgstr "" #: classes/class.swpm-members.php:766 msgid "" "You can manually change the account status of any member by editing the " "record from the members menu. You can use the following option to bulk " "update the account status of users who belong to the level you select below." msgstr "" #: classes/class.swpm-members.php:781 msgid "" "Select the Membership level (the account status of all members who are in " "this level will be updated)." msgstr "" #: classes/class.swpm-members.php:787 msgid "Account Status to Change to: " msgstr "" #: classes/class.swpm-members.php:791 msgid "Select Target Status" msgstr "" #: classes/class.swpm-members.php:794 msgid "Select the new account status." msgstr "" #: classes/class.swpm-members.php:800 msgid "Bulk Change Account Status" msgstr "" #: classes/class.swpm-members.php:841 msgid "Simple WP Membership::Members" msgstr "" #: classes/class.swpm-members.php:843 #: classes/class.swpm-membership-levels.php:234 views/admin_members_list.php:70 msgid "Add New" msgstr "" #: classes/class.swpm-members.php:850 views/admin_add.php:7 #: views/admin_add_v2.php:22 msgid "Add Member" msgstr "" #: classes/class.swpm-members.php:852 msgid "Bulk Operation" msgstr "" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" #: classes/class.swpm-membership-level.php:79 msgid "Membership Level Creation Successful." msgstr "" #: classes/class.swpm-membership-level.php:95 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" #: classes/class.swpm-membership-level.php:121 msgid "Membership Level Updated Successfully." msgstr "" #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "" #: classes/class.swpm-membership-levels.php:135 msgid "No membership levels found." msgstr "" #: classes/class.swpm-membership-levels.php:205 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" #: classes/class.swpm-membership-levels.php:224 views/admin_members_list.php:56 #: views/payments/admin_all_payment_transactions.php:16 msgid "Search" msgstr "" #: classes/class.swpm-membership-levels.php:271 msgid "Simple WP Membership::Membership Levels" msgstr "" #: classes/class.swpm-membership-levels.php:276 msgid "Add Level" msgstr "" #: classes/class.swpm-membership-levels.php:277 msgid "Manage Content Protection" msgstr "" #: classes/class.swpm-membership-levels.php:278 msgid "Category Protection" msgstr "" #: classes/class.swpm-membership-levels.php:279 msgid "Post and Page Protection" msgstr "" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 #: views/payments/admin_edit_transaction.php:188 msgid "Status" msgstr "" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "" #: classes/class.swpm-post-list.php:109 msgid "" "Error! Nonce security verification failed for Post Protection Update action. " "Clear cache and try again." msgstr "" #: classes/class.swpm-post-list.php:133 msgid "Protection settings updated!" msgstr "" #: classes/class.swpm-post-list.php:238 msgid "No items found." msgstr "" #: classes/class.swpm-protection.php:23 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" #: classes/class.swpm-protection.php:24 msgid "category protection menu" msgstr "" #: classes/class.swpm-self-action-handler.php:164 #: classes/class.swpm-self-action-handler.php:231 msgid "The email address you used is not whitelisted on this site." msgstr "" #: classes/class.swpm-self-action-handler.php:175 #: classes/class.swpm-self-action-handler.php:242 msgid "The email address you used is blacklisted on this site." msgstr "" #: classes/class.swpm-settings.php:42 classes/class.swpm-settings.php:74 msgid "General Settings" msgstr "" #: classes/class.swpm-settings.php:44 msgid "Email Settings" msgstr "" #: classes/class.swpm-settings.php:45 msgid "Tools" msgstr "" #: classes/class.swpm-settings.php:46 classes/class.swpm-settings.php:583 msgid "Advanced Settings" msgstr "" #: classes/class.swpm-settings.php:47 msgid "Blacklisting & Whitelisting" msgstr "" #: classes/class.swpm-settings.php:48 msgid "Addons Settings" msgstr "" #: classes/class.swpm-settings.php:71 msgid "Plugin Documentation" msgstr "" #: classes/class.swpm-settings.php:77 msgid "Enable Free Membership" msgstr "" #: classes/class.swpm-settings.php:83 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" #: classes/class.swpm-settings.php:88 msgid "Free Membership Level ID" msgstr "" #: classes/class.swpm-settings.php:94 msgid "Assign free membership level ID" msgstr "" #: classes/class.swpm-settings.php:99 msgid "Enable More Tag Protection" msgstr "" #: classes/class.swpm-settings.php:105 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" #: classes/class.swpm-settings.php:111 classes/class.swpm-settings.php:835 msgid "Default Account Status" msgstr "" #: classes/class.swpm-settings.php:119 msgid "" "Select the default account status for newly registered users. The default " "value should be active. If you want to manually approve the members then " "read this documentation to learn more." msgstr "" #: classes/class.swpm-settings.php:125 msgid "Default Account Status After Payment" msgstr "" #: classes/class.swpm-settings.php:133 msgid "" "The account status that will be applied to the profile after a payment. The " "default value should be active." msgstr "" #: classes/class.swpm-settings.php:139 msgid "Members Must be Logged in to Comment" msgstr "" #: classes/class.swpm-settings.php:145 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" #: classes/class.swpm-settings.php:151 msgid "Enable Toggle Password Visibility in Login Form" msgstr "" #: classes/class.swpm-settings.php:157 msgid "" "You can use it to show a toggle password visibility option in the login " "form. It will add a Show Password checkbox." msgstr "" #: classes/class.swpm-settings.php:163 msgid "Enable Password Reset Using Link" msgstr "" #: classes/class.swpm-settings.php:169 msgid "" "You can enable this option if you want to handle the password reset " "functionality using a reset link that is emailed to the member. Read this documentation to learn " "more about the password reset function." msgstr "" #: classes/class.swpm-settings.php:174 msgid "Pages Settings" msgstr "" #: classes/class.swpm-settings.php:177 msgid "Login Page URL" msgstr "" #: classes/class.swpm-settings.php:188 msgid "Registration Page URL" msgstr "" #: classes/class.swpm-settings.php:199 msgid "Join Us Page URL" msgstr "" #: classes/class.swpm-settings.php:210 msgid "Edit Profile Page URL" msgstr "" #: classes/class.swpm-settings.php:221 msgid "Password Reset Page URL" msgstr "" #: classes/class.swpm-settings.php:232 msgid "Optional Pages Settings" msgstr "" #: classes/class.swpm-settings.php:235 msgid "Thank You Page URL" msgstr "" #: classes/class.swpm-settings.php:241 msgid "" "It is useful to use a thank you page in your payment button configuration. " "Read this documentation to learn more." msgstr "" #: classes/class.swpm-settings.php:246 msgid "Test & Debug Settings" msgstr "" #: classes/class.swpm-settings.php:275 msgid "Check this option to enable debug logging." msgstr "" #: classes/class.swpm-settings.php:276 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" #: classes/class.swpm-settings.php:278 msgid "View general debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:278 classes/class.swpm-settings.php:279 #: classes/class.swpm-settings.php:280 msgid "here" msgstr "" #: classes/class.swpm-settings.php:279 msgid "View login related debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:280 msgid "Reset debug log files by clicking " msgstr "" #: classes/class.swpm-settings.php:283 msgid "Enable Debug" msgstr "" #: classes/class.swpm-settings.php:323 msgid "Email Settings Overview" msgstr "" #: classes/class.swpm-settings.php:324 msgid "Email Misc. Settings" msgstr "" #: classes/class.swpm-settings.php:328 msgid "From Email Address" msgstr "" #: classes/class.swpm-settings.php:340 msgid "Allow HTML in Emails" msgstr "" #: classes/class.swpm-settings.php:351 msgid "Email Settings (Prompt to Complete Registration )" msgstr "" #: classes/class.swpm-settings.php:376 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" #: classes/class.swpm-settings.php:377 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" #: classes/class.swpm-settings.php:379 msgid "Enter the subject for the admin notification email." msgstr "" #: classes/class.swpm-settings.php:380 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" #: classes/class.swpm-settings.php:382 msgid "Email Settings (Registration Complete)" msgstr "" #: classes/class.swpm-settings.php:407 msgid "Send Notification to Admin" msgstr "" #: classes/class.swpm-settings.php:413 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" #: classes/class.swpm-settings.php:418 msgid "Admin Email Address" msgstr "" #: classes/class.swpm-settings.php:429 msgid "Admin Notification Email Subject" msgstr "" #: classes/class.swpm-settings.php:440 msgid "Admin Notification Email Body" msgstr "" #: classes/class.swpm-settings.php:452 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" #: classes/class.swpm-settings.php:463 msgid "Email Settings (Password Reset)" msgstr "" #: classes/class.swpm-settings.php:488 msgid " Email Settings (Account Upgrade Notification)" msgstr "" #: classes/class.swpm-settings.php:513 msgid "Disable Email Notification After Upgrade" msgstr "" #: classes/class.swpm-settings.php:519 msgid "" "You can use this option to disable the email notification that gets sent to " "the members when they make a payment for upgrade or renewal." msgstr "" #: classes/class.swpm-settings.php:524 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "" #: classes/class.swpm-settings.php:549 msgid " Email Settings (Email Activation)" msgstr "" #: classes/class.swpm-settings.php:587 msgid "Enable Expired Account Login" msgstr "" #: classes/class.swpm-settings.php:593 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" #: classes/class.swpm-settings.php:599 msgid "Membership Renewal URL" msgstr "" #: classes/class.swpm-settings.php:605 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal " "page." msgstr "" #: classes/class.swpm-settings.php:611 msgid "After Registration Redirect URL" msgstr "" #: classes/class.swpm-settings.php:617 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after " "registration redirect." msgstr "" #: classes/class.swpm-settings.php:623 msgid "Enable Auto Login After Registration" msgstr "" #: classes/class.swpm-settings.php:629 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" #: classes/class.swpm-settings.php:635 msgid "Hide Registration Form to Logged Users" msgstr "" #: classes/class.swpm-settings.php:641 msgid "" "Use this option if you want to hide the registration form to the logged-in " "members. If logged-in members visit the registration page, they will see a " "message instead of the registration form." msgstr "" #: classes/class.swpm-settings.php:647 msgid "After Logout Redirect URL" msgstr "" #: classes/class.swpm-settings.php:653 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" #: classes/class.swpm-settings.php:659 msgid "Logout Member on Browser Close" msgstr "" #: classes/class.swpm-settings.php:665 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" #: classes/class.swpm-settings.php:671 msgid "Allow Account Deletion" msgstr "" #: classes/class.swpm-settings.php:677 msgid "Allow users to delete their accounts." msgstr "" #: classes/class.swpm-settings.php:683 msgid "Force Strong Password for Members" msgstr "" #: classes/class.swpm-settings.php:689 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" #: classes/class.swpm-settings.php:695 msgid "Auto Delete Pending Account" msgstr "" #: classes/class.swpm-settings.php:707 msgid "Select how long you want to keep \"pending\" account." msgstr "" #: classes/class.swpm-settings.php:713 msgid "Admin Dashboard Access Permission" msgstr "" #: classes/class.swpm-settings.php:726 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user roles to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" #: classes/class.swpm-settings.php:732 msgid "Force WP User Synchronization" msgstr "" #: classes/class.swpm-settings.php:738 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" #: classes/class.swpm-settings.php:744 msgid "Payment Notification Forward URL" msgstr "" #: classes/class.swpm-settings.php:750 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" #: classes/class.swpm-settings.php:756 msgid "Activate New Form and Validation Interface" msgstr "" #: classes/class.swpm-settings.php:762 msgid "" "Enable the improved user interface for registration and profile editing, " "featuring enhanced validation that adapts seamlessly across various devices " "and screen sizes." msgstr "" #: classes/class.swpm-settings.php:768 msgid "Hide Adminbar" msgstr "" #: classes/class.swpm-settings.php:774 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" #: classes/class.swpm-settings.php:780 msgid "Show Adminbar to Admin" msgstr "" #: classes/class.swpm-settings.php:786 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" #: classes/class.swpm-settings.php:792 msgid "Disable Access to WP Dashboard" msgstr "" #: classes/class.swpm-settings.php:798 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashboard. Using this option will prevent any " "non-admin users from going to the wp dashboard." msgstr "" #: classes/class.swpm-settings.php:803 msgid "Create Member Accounts for New WP Users" msgstr "" #: classes/class.swpm-settings.php:807 msgid "Enable Auto Create Member Accounts" msgstr "" #: classes/class.swpm-settings.php:813 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" #: classes/class.swpm-settings.php:820 msgid "Default Membership Level" msgstr "" #: classes/class.swpm-settings.php:828 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" #: classes/class.swpm-settings.php:843 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" #: classes/class.swpm-settings.php:848 views/add-v2.php:140 views/add.php:68 msgid "Terms and Conditions" msgstr "" #: classes/class.swpm-settings.php:852 msgid "Enable Terms and Conditions" msgstr "" #: classes/class.swpm-settings.php:858 msgid "Users must accept the terms before they can complete the registration." msgstr "" #: classes/class.swpm-settings.php:863 msgid "Terms and Conditions Page URL" msgstr "" #: classes/class.swpm-settings.php:869 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" #: classes/class.swpm-settings.php:874 msgid "Enable Privacy Policy" msgstr "" #: classes/class.swpm-settings.php:880 msgid "Users must accept it before they can complete the registration." msgstr "" #: classes/class.swpm-settings.php:885 msgid "Privacy Policy Page URL" msgstr "" #: classes/class.swpm-settings.php:891 msgid "Enter the URL of your privacy policy page." msgstr "" #: classes/class.swpm-settings.php:902 msgid "Configure Blacklisting & Whitelisting" msgstr "" #: classes/class.swpm-settings.php:905 msgid "Whitelisting" msgstr "" #: classes/class.swpm-settings.php:909 msgid "Enable Whitelisting Feature" msgstr "" #: classes/class.swpm-settings.php:915 msgid "When enabled, whitelisting feature will be activated." msgstr "" #: classes/class.swpm-settings.php:921 msgid "Email Address Whitelisting" msgstr "" #: classes/class.swpm-settings.php:927 msgid "Enter a list (comma separated) of email addresses to whitelist." msgstr "" #: classes/class.swpm-settings.php:933 msgid "Email Address Pattern Whitelisting" msgstr "" #: classes/class.swpm-settings.php:939 msgid "" "Enter a list (comma separated) of email addresses pattern to whitelist. " "Example value: @gooddomain.com, @gmail.com, @yahoo.com" msgstr "" #: classes/class.swpm-settings.php:945 msgid "Whitelist Message Customization" msgstr "" #: classes/class.swpm-settings.php:951 msgid "" "Enter the message you want to show to the user when the whitelisted " "condition is met. Leave it empty to use the default message." msgstr "" #: classes/class.swpm-settings.php:956 msgid "Blacklisting" msgstr "" #: classes/class.swpm-settings.php:960 msgid "Enable Blacklisting Feature" msgstr "" #: classes/class.swpm-settings.php:966 msgid "When enabled, blacklisting feature will be activated." msgstr "" #: classes/class.swpm-settings.php:972 msgid "Email Address Blacklisting" msgstr "" #: classes/class.swpm-settings.php:978 msgid "Enter a list (comma separated) of email addresses to blacklist." msgstr "" #: classes/class.swpm-settings.php:984 msgid "Email Address Pattern Blacklisting" msgstr "" #: classes/class.swpm-settings.php:990 msgid "" "Enter a list (comma separated) of email addresses pattern to blacklist. " "Example value: @baddomain.com, @crazydomain.com" msgstr "" #: classes/class.swpm-settings.php:996 msgid "Blacklist Message Customization" msgstr "" #: classes/class.swpm-settings.php:1002 msgid "" "Enter the message you want to show to the user when the blacklisted " "condition is met. Leave it empty to use the default message." msgstr "" #: classes/class.swpm-settings.php:1101 #, php-format msgid "Visit the %s to read setup and configuration documentation." msgstr "" #: classes/class.swpm-settings.php:1101 msgid "Simple Membership Plugin Site" msgstr "" #: classes/class.swpm-settings.php:1102 #, php-format msgid "Please %s if you like the plugin." msgstr "" #: classes/class.swpm-settings.php:1102 msgid "give us a rating" msgstr "" #: classes/class.swpm-settings.php:1120 classes/class.swpm-settings.php:1173 #: classes/class.swpm-settings.php:1201 classes/class.swpm-settings.php:1234 msgid "Settings updated!" msgstr "" #: classes/class.swpm-settings.php:1125 msgid "General Plugin Settings." msgstr "" #: classes/class.swpm-settings.php:1129 msgid "Page Setup and URL Related settings." msgstr "" #: classes/class.swpm-settings.php:1132 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" #: classes/class.swpm-settings.php:1133 msgid "" " Read this documentation " "to learn how to recreate them (if needed)." msgstr "" #: classes/class.swpm-settings.php:1139 msgid "" "Optional page. It is automatically created by the plugin when you install " "the plugin for the first time." msgstr "" #: classes/class.swpm-settings.php:1144 msgid "Testing and Debug Related Settings." msgstr "" #: classes/class.swpm-settings.php:1148 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" #: classes/class.swpm-settings.php:1152 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" #: classes/class.swpm-settings.php:1158 msgid "" "This interface lets you customize the various emails that get sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" #: classes/class.swpm-settings.php:1162 views/admin_tools_settings.php:88 msgid "This documentation" msgstr "" #: classes/class.swpm-settings.php:1163 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" #: classes/class.swpm-settings.php:1176 msgid "Settings in this section apply to all emails." msgstr "" #: classes/class.swpm-settings.php:1180 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" #: classes/class.swpm-settings.php:1184 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" #: classes/class.swpm-settings.php:1185 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" #: classes/class.swpm-settings.php:1189 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" #: classes/class.swpm-settings.php:1193 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" #: classes/class.swpm-settings.php:1216 msgid "" "Note: You cannot enable both the \"Disable Access to WP Dashboard\" and " "\"Admin Dashboard Access Permission\" options at the same time. Only use one " "of those options." msgstr "" #: classes/class.swpm-settings.php:1225 msgid "This page allows you to configure some advanced features of the plugin." msgstr "" #: classes/class.swpm-settings.php:1239 msgid "" "This interface lets you configure blacklisting & whitelisting for email " "addresses. " msgstr "" #: classes/class.swpm-settings.php:1240 msgid "This blacklisting & whitelisting documentation" msgstr "" #: classes/class.swpm-settings.php:1241 msgid " explains how to use this feature." msgstr "" #: classes/class.swpm-settings.php:1247 msgid "This section allows you to configure whitelisting settings." msgstr "" #: classes/class.swpm-settings.php:1251 msgid "This section allows you to configure blacklisting settings." msgstr "" #: classes/class.swpm-settings.php:1255 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" #: classes/class.swpm-settings.php:1259 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" #: classes/class.swpm-settings.php:1420 msgid "Simple WP Membership::Settings" msgstr "" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 #: classes/class.swpm-utils-member.php:68 msgid "User is not logged in." msgstr "" #: classes/class.swpm-utils-member.php:88 msgid "No Expiry" msgstr "" #: classes/class.swpm-utils-misc.php:58 msgid "Registration" msgstr "" #: classes/class.swpm-utils-misc.php:86 msgid "Member Login" msgstr "" #: classes/class.swpm-utils-misc.php:114 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:152 msgid "Profile" msgstr "" #: classes/class.swpm-utils-misc.php:142 msgid "Password Reset" msgstr "" #: classes/class.swpm-utils-misc.php:170 msgid "Thank You" msgstr "" #: classes/class.swpm-utils-misc.php:225 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "" #: classes/class.swpm-utils-misc.php:229 msgid "Action Status" msgstr "" #: classes/class.swpm-utils-misc.php:416 msgid "Not a Member?" msgstr "" #: classes/class.swpm-utils-misc.php:427 msgid "renew" msgstr "" #: classes/class.swpm-utils-misc.php:427 msgid " your account to gain access to this content." msgstr "" #: classes/class.swpm-utils-misc.php:495 classes/class.swpm-utils-misc.php:501 msgid "Error! This action (" msgstr "" #: classes/class.swpm-utils-misc.php:974 msgid "(Please Select)" msgstr "" #: classes/class.swpm-utils-misc.php:990 #: views/payments/admin_create_payment_buttons.php:34 msgid "PayPal Buy Now" msgstr "" #: classes/class.swpm-utils-misc.php:991 #: views/payments/admin_create_payment_buttons.php:36 msgid "PayPal Subscription" msgstr "" #: classes/class.swpm-utils-misc.php:992 #: views/payments/admin_create_payment_buttons.php:38 msgid "PayPal Buy Now (New API)" msgstr "" #: classes/class.swpm-utils-misc.php:993 #: views/payments/admin_create_payment_buttons.php:40 msgid "PayPal Subscription (New API)" msgstr "" #: classes/class.swpm-utils-misc.php:994 msgid "PayPal Smart Checkout" msgstr "" #: classes/class.swpm-utils-misc.php:995 msgid "Stripe Buy Now" msgstr "" #: classes/class.swpm-utils-misc.php:996 msgid "Stripe Subscription" msgstr "" #: classes/class.swpm-utils-misc.php:997 #: views/payments/admin_create_payment_buttons.php:44 msgid "Stripe SCA Buy Now" msgstr "" #: classes/class.swpm-utils-misc.php:998 #: views/payments/admin_create_payment_buttons.php:46 msgid "Stripe SCA Subscription" msgstr "" #: classes/class.swpm-utils-misc.php:999 #: views/payments/admin_create_payment_buttons.php:42 msgid "Braintree Buy Now" msgstr "" #: classes/class.swpm-utils-subscription.php:105 msgid "Error: Stripe API keys are not configured on your site!" msgstr "" #: classes/class.swpm-utils-subscription.php:123 msgid "Error: PayPal PPCP API keys are not configured on your site!" msgstr "" #: classes/class.swpm-utils-subscription.php:323 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:182 msgid "No active subscriptions" msgstr "" #: classes/class.swpm-utils-subscription.php:334 #: classes/class.swpm-utils-subscription.php:517 msgid "Cancel Subscription" msgstr "" #: classes/class.swpm-utils-subscription.php:336 #: classes/class.swpm-utils-subscription.php:516 msgid "Are you sure that you want to cancel the subscription?" msgstr "" #: classes/class.swpm-utils-subscription.php:369 msgid "No token provided." msgstr "" #: classes/class.swpm-utils-subscription.php:375 msgid "Nonce check failed." msgstr "" #: classes/class.swpm-utils-subscription.php:381 msgid "No gateway not specified." msgstr "" #: classes/class.swpm-utils-subscription.php:412 msgid "Subscription has been cancelled." msgstr "" #: classes/class.swpm-utils-subscription.php:467 msgid "PayPal PPCP subscription cancellation failed!" msgstr "" #: classes/class.swpm-utils-subscription.php:472 msgid "" "Error! PayPal PPCP subscription details could not be found for subscription " "ID: " msgstr "" #: classes/class.swpm-utils-subscription.php:489 msgid "" "You will be redirected to the previous page in a few seconds. If not, please " "click here." msgstr "" #: classes/class.swpm-utils-subscription.php:492 msgid "Success!" msgstr "" #: classes/class.swpm-utils-subscription.php:531 msgid "Subscription Inactive" msgstr "" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "" #: classes/class.swpm-utils.php:111 msgid "Never" msgstr "" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "" #: classes/class.swpm-utils.php:126 views/admin_members_list.php:33 msgid "Active" msgstr "" #: classes/class.swpm-utils.php:127 views/admin_members_list.php:34 msgid "Inactive" msgstr "" #: classes/class.swpm-utils.php:129 views/admin_members_list.php:36 msgid "Pending" msgstr "" #: classes/class.swpm-utils.php:130 views/admin_members_list.php:38 msgid "Expired" msgstr "" #: classes/class.swpm-utils.php:523 views/account_delete_warning.php:3 #: views/account_delete_warning.php:16 msgid "Confirm Account Deletion" msgstr "" #: classes/class.swpm-utils.php:534 msgid "Delete Account" msgstr "" #: classes/class.swpm-utils.php:708 msgid "Member's first name" msgstr "" #: classes/class.swpm-utils.php:709 msgid "Member's last name" msgstr "" #: classes/class.swpm-utils.php:710 msgid "Member's email address" msgstr "" #: classes/class.swpm-utils.php:712 msgid "Member's username" msgstr "" #: classes/class.swpm-utils.php:713 msgid "Account status" msgstr "" #: classes/class.swpm-utils.php:714 msgid "Membership level ID" msgstr "" #: classes/class.swpm-utils.php:715 msgid "Membership level name" msgstr "" #: classes/class.swpm-utils.php:716 msgid "Phone number (if available)" msgstr "" #: classes/class.swpm-utils.php:717 msgid "Member since date" msgstr "" #: classes/class.swpm-utils.php:718 msgid "Subscription start date" msgstr "" #: classes/class.swpm-utils.php:719 msgid "Company name" msgstr "" #: classes/class.swpm-utils.php:720 msgid "Member's address" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:81 msgid "Your membership profile will be updated to reflect the payment." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:82 msgid "Your profile username: " msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:101 msgid "Click on the following link to complete the registration." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:102 msgid "Click here to complete your paid registration" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:109 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:126 msgid "Expiry: " msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:128 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:173 msgid "You are not logged-in as a member" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:150 msgid "Logged in as: " msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:153 #: views/loggedin.php:34 msgid "Logout" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:156 msgid "Login Here" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:157 msgid "Not a member? " msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:158 msgid "Join Now" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:239 msgid "Unsubscribe from PayPal" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:259 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:273 msgid "You are not logged-in as a member." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:315 msgid "Subscription" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:316 msgid "Action" msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:327 msgid "Currently used for your membership access." msgstr "" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:340 msgid "" "Active subscription not detected for the member account with the username: " msgstr "" #. translators: %1$d is error code; %2$s is error message. #: ipn/swpm-smart-checkout-ipn.php:270 ipn/swpm-smart-checkout-ipn.php:297 #, php-format msgid "" "Error occured during payment verification. Error code: %1$d. Message: %2$s" msgstr "" #. translators: %1$s is expected amount, %2$s is expected currency. #: ipn/swpm-smart-checkout-ipn.php:311 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s " "%4$s." msgstr "" #: ipn/swpm-smart-checkout-ipn.php:347 msgid "Empty payment data received." msgstr "" #: ipn/swpm-smart-checkout-ipn.php:407 msgid "IPN product validation failed. Check the debug log for more details." msgstr "" #: lib/paypal/class-swpm-paypal-acdc-related.php:36 msgid "" "Note: Merchant ID value is empty so the SDK URL will not include this " "parameter." msgstr "" #: lib/paypal/class-swpm-paypal-acdc-related.php:137 #: lib/paypal/class-swpm-paypal-button-ajax-handler.php:37 #: lib/paypal/class-swpm-paypal-button-ajax-handler.php:125 #: lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php:43 #: lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php:160 #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:28 msgid "Empty data received." msgstr "" #: lib/paypal/class-swpm-paypal-acdc-related.php:156 #: lib/paypal/class-swpm-paypal-acdc-related.php:233 #: lib/paypal/class-swpm-paypal-button-ajax-handler.php:56 #: lib/paypal/class-swpm-paypal-button-ajax-handler.php:156 #: lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php:62 #: lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php:174 #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:43 msgid "" "Nonce check failed. The page was most likely cached. Please reload the page " "and try again." msgstr "" #: lib/paypal/class-swpm-paypal-acdc-related.php:196 msgid "" "Failed to create the order. Enable the debug logging feature to get more " "details." msgstr "" #: lib/paypal/class-swpm-paypal-acdc-related.php:219 #: lib/paypal/class-swpm-paypal-button-ajax-handler.php:142 msgid "Empty order ID received." msgstr "" #: lib/paypal/class-swpm-paypal-acdc-related.php:249 #: lib/paypal/class-swpm-paypal-button-ajax-handler.php:180 msgid "" "Failed to capture the order. Enable the debug logging feature to get more " "details." msgstr "" #: lib/paypal/class-swpm-paypal-button-ajax-handler.php:100 msgid "" "Failed to create the order using PayPal API. Enable the debug logging " "feature to get more details." msgstr "" #: lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php:132 msgid "" "Failed to create the subscription using PayPal API. Enable the debug logging " "feature to get more details." msgstr "" #: lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php:187 msgid "Empty transaction data received." msgstr "" #: lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php:262 #: lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php:263 msgid "subscription created" msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:308 msgid "" "No webhook found. Use the following Create Webhook button to create a new " "webhook automatically in your PayPal account." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:312 #, php-format msgid "" "PayPal API Credential information is missing in settings. Please enter valid " "PayPal API Credentials in the General Settings tab for %s mode." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:314 #, php-format msgid "" "Invalid or Missing API Credentials! Check the plugin settings and enter " "valid API credentials in the PayPal Credentials section for %s mode." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:324 msgid "" "Webhook exists. If you still have issues with webhooks, you can delete it " "and create again." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:351 msgid "Invalid webhook URL." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:351 msgid "" "Note that the PayPal subscription API requires your site to use HTTPS URLs. " "You must use an SSL certificate with HTTPS URLs to complete the setup of the " "subscription addon and use it." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:360 msgid "Webhook has been created." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:384 msgid "Webhook has been deleted." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:397 msgid "No webhook found. Nothing to delete." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:414 msgid "Live mode credentials are not set. Cannot create webhook." msgstr "" #: lib/paypal/class-swpm-paypal-webhook.php:429 msgid "Sandbox mode credentials are not set. Cannot create webhook." msgstr "" #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:59 msgid "" "Failed to generate access token. check debug log file for any error message." msgstr "" #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:73 msgid "" "Failed to get seller API credentials. check debug log file for any error " "message." msgstr "" #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:94 msgid "" "Failed to get seller account status. check debug log file for any error " "message." msgstr "" #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:110 msgid "" "Your PayPal account is limited so you cannot accept payment. Contact PaPal " "support or check your PayPal account inbox for an email from PayPal for the " "next steps to remove the account limit." msgstr "" #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:119 msgid "" "Your PayPal account email is not confirmed. Check your PayPal account inbox " "for an email from PayPal to confirm your PayPal email address." msgstr "" #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" #: views/account_delete_warning.php:8 msgid "It will also delete the associated WordPress user account." msgstr "" #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" #: views/account_delete_warning.php:12 msgid "" "To proceed with the deletion process, please enter the current password for " "this user account." msgstr "" #: views/account_delete_warning.php:15 msgid "Password: " msgstr "" #: views/add-v2.php:77 views/add.php:26 views/admin_add.php:20 #: views/admin_add_v2.php:41 views/admin_edit.php:44 views/admin_edit_v2.php:60 #: views/edit-v2.php:64 views/edit.php:31 views/login.php:39 msgid "Password" msgstr "" #: views/add-v2.php:86 views/add.php:30 views/edit-v2.php:73 views/edit.php:35 msgid "Repeat Password" msgstr "" #: views/add-v2.php:140 views/add.php:68 msgid "I accept the " msgstr "" #: views/add-v2.php:152 views/add.php:80 msgid "I agree to the " msgstr "" #: views/add-v2.php:152 views/add.php:80 msgid "Privacy Policy" msgstr "" #: views/add-v2.php:167 views/add.php:91 msgid "Register" msgstr "" #: views/admin_add.php:8 views/admin_add_v2.php:23 msgid "Create a brand new user and add it to this site." msgstr "" #: views/admin_add.php:12 views/admin_add.php:16 views/admin_add_level.php:19 #: views/admin_add_level.php:23 views/admin_add_level.php:27 #: views/admin_add_v2.php:27 views/admin_add_v2.php:34 views/admin_edit.php:19 #: views/admin_edit.php:40 views/admin_edit_level.php:28 #: views/admin_edit_level.php:32 views/admin_edit_level.php:36 #: views/admin_edit_v2.php:31 views/admin_edit_v2.php:52 msgid "(required)" msgstr "" #: views/admin_add.php:16 views/admin_add_v2.php:34 views/admin_edit.php:40 #: views/admin_edit_v2.php:52 msgid "E-mail" msgstr "" #: views/admin_add.php:20 views/admin_add_v2.php:41 msgid "(twice, required)" msgstr "" #: views/admin_add.php:25 views/admin_edit.php:48 msgid "Strength indicator" msgstr "" #: views/admin_add.php:26 views/admin_add_v2.php:53 views/admin_edit.php:49 #: views/admin_edit_v2.php:72 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" #: views/admin_add.php:30 views/admin_add_v2.php:57 views/admin_edit.php:53 #: views/admin_edit_v2.php:77 views/loggedin.php:13 msgid "Account Status" msgstr "" #: views/admin_add.php:49 msgid "Add New Member " msgstr "" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "" #: views/admin_add_level.php:9 msgid "Create new membership level." msgstr "" #: views/admin_add_level.php:10 views/admin_edit_level.php:13 msgid " Refer to " msgstr "" #: views/admin_add_level.php:11 views/admin_edit.php:60 #: views/admin_edit_level.php:14 views/admin_edit_v2.php:84 msgid "this documentation" msgstr "" #: views/admin_add_level.php:12 views/admin_edit_level.php:15 msgid " to learn how a membership level works." msgstr "" #: views/admin_add_level.php:19 views/admin_edit_level.php:28 msgid "Membership Level Name" msgstr "" #: views/admin_add_level.php:23 views/admin_edit_level.php:32 msgid "Default WordPress Role" msgstr "" #: views/admin_add_level.php:27 views/admin_edit_level.php:36 msgid "Access Duration" msgstr "" #: views/admin_add_level.php:30 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" #: views/admin_add_level.php:31 views/admin_add_level.php:33 #: views/admin_add_level.php:35 views/admin_add_level.php:37 #: views/admin_edit_level.php:40 views/admin_edit_level.php:43 #: views/admin_edit_level.php:46 views/admin_edit_level.php:49 msgid "Expire After" msgstr "" #: views/admin_add_level.php:32 views/admin_edit_level.php:41 msgid "Days (Access expires after given number of days)" msgstr "" #: views/admin_add_level.php:34 msgid "Weeks (Access expires after given number of weeks" msgstr "" #: views/admin_add_level.php:36 views/admin_edit_level.php:47 msgid "Months (Access expires after given number of months)" msgstr "" #: views/admin_add_level.php:38 views/admin_edit_level.php:50 msgid "Years (Access expires after given number of years)" msgstr "" #: views/admin_add_level.php:39 views/admin_edit_level.php:52 msgid "Fixed Date Expiry" msgstr "" #: views/admin_add_level.php:40 views/admin_edit_level.php:53 msgid "(Access expires on a fixed date)" msgstr "" #: views/admin_add_level.php:45 views/admin_edit_level.php:58 msgid "Email Activation" msgstr "" #: views/admin_add_level.php:50 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" #: views/admin_add_level.php:51 views/admin_edit_level.php:75 msgid "View Documentation" msgstr "" #: views/admin_add_level.php:52 views/admin_edit_level.php:76 msgid "Note:" msgstr "" #: views/admin_add_level.php:52 msgid "" "If enabled, the member's decryptable password is temporarily stored in the " "database until the account is activated." msgstr "" #: views/admin_add_level.php:55 views/admin_edit_level.php:79 msgid "After Email Activation Redirection Page (optional)" msgstr "" #: views/admin_add_level.php:58 views/admin_edit_level.php:82 msgid "" "This option can be used to redirect the users to a designated page after " "they click on the email activation link and activate the account." msgstr "" #: views/admin_add_level.php:65 msgid "Add New Membership Level " msgstr "" #: views/admin_add_ons_page.php:11 msgid "Simple WP Membership::Add-ons" msgstr "" #: views/admin_add_v2.php:50 views/admin_edit_v2.php:69 msgid "Retype password" msgstr "" #: views/admin_add_v2.php:77 msgid "Add New Member" msgstr "" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 #: views/admin_post_list.php:11 msgid "Read the " msgstr "" #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "" #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 msgid "to learn more." msgstr "" #: views/admin_category_list.php:19 views/admin_post_list.php:32 msgid "Membership Level:" msgstr "" #: views/admin_category_list.php:21 views/admin_post_list.php:34 msgid "General Protection" msgstr "" #: views/admin_category_list.php:26 views/admin_post_list.php:39 #: views/edit-v2.php:180 views/edit.php:84 msgid "Update" msgstr "" #: views/admin_edit.php:11 views/admin_edit_v2.php:22 msgid "Edit Member" msgstr "" #: views/admin_edit.php:13 views/admin_edit_v2.php:25 msgid "Edit existing member details." msgstr "" #: views/admin_edit.php:14 views/admin_edit_v2.php:26 msgid " You are currently editing member with member ID: " msgstr "" #: views/admin_edit.php:44 views/admin_edit_v2.php:60 msgid "(twice, leave empty to retain old password)" msgstr "" #: views/admin_edit.php:59 views/admin_edit_v2.php:83 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" #: views/admin_edit.php:61 views/admin_edit_v2.php:85 msgid " to learn how to do it." msgstr "" #: views/admin_edit.php:66 views/admin_edit_v2.php:90 msgid "Notify User" msgstr "" #: views/admin_edit.php:69 views/admin_edit_v2.php:93 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" #: views/admin_edit.php:103 views/admin_edit_v2.php:127 msgid "Subscriber ID/Reference" msgstr "" #: views/admin_edit.php:107 views/admin_edit_v2.php:131 msgid "Expiry Date" msgstr "" #: views/admin_edit.php:115 views/admin_edit_v2.php:139 msgid "" "This is calculated based on the current membership level assigned to this " "member and the expiry condition that you have set for that membership level." msgstr "" #: views/admin_edit.php:116 views/admin_edit_v2.php:140 msgid " To learn more about membership level configuration, refer to " msgstr "" #: views/admin_edit.php:117 views/admin_edit_v2.php:141 msgid "" "this documentation." msgstr "" #: views/admin_edit.php:123 views/admin_edit_v2.php:147 msgid "Last Accessed Date" msgstr "" #: views/admin_edit.php:126 views/admin_edit.php:133 #: views/admin_edit_v2.php:150 views/admin_edit_v2.php:157 msgid "This value gets updated when this member logs into your site." msgstr "" #: views/admin_edit.php:130 views/admin_edit_v2.php:154 msgid "Last Accessed From IP" msgstr "" #: views/admin_edit.php:138 views/admin_edit_v2.php:162 msgid "System-Related Additional Data" msgstr "" #: views/admin_edit.php:141 views/admin_edit_v2.php:165 msgid "" "The plugin saves this information for system purposes for some profiles. " "There is no need for you to take any action regarding this value." msgstr "" #: views/admin_edit.php:150 views/admin_edit_v2.php:175 msgid "Save Data" msgstr "" #: views/admin_edit.php:155 views/admin_edit_v2.php:180 msgid "Delete User Profile" msgstr "" #: views/admin_edit_level.php:9 msgid "Edit membership level" msgstr "" #: views/admin_edit_level.php:12 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" #: views/admin_edit_level.php:20 msgid "You are currently editing: " msgstr "" #: views/admin_edit_level.php:22 msgid " (Level ID: " msgstr "" #: views/admin_edit_level.php:39 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" #: views/admin_edit_level.php:44 msgid "Weeks (Access expires after given number of weeks)" msgstr "" #: views/admin_edit_level.php:66 msgid "Attention: " msgstr "" #: views/admin_edit_level.php:67 msgid "" "Your current setting for the default account status is 'pending' as found in " "the" msgstr "" #: views/admin_edit_level.php:68 msgid "general settings menu" msgstr "" #: views/admin_edit_level.php:69 msgid "" "This configuration conflicts with the email activation feature. To enable " "email activation, set the default account status back to the default setting " "of 'active'." msgstr "" #: views/admin_edit_level.php:74 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" #: views/admin_edit_level.php:76 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" #: views/admin_edit_level.php:89 msgid "Save Membership Level " msgstr "" #: views/admin_member_form_common_part.php:14 msgid "Gender" msgstr "" #: views/admin_member_form_common_part.php:21 views/edit-v2.php:100 #: views/edit.php:47 msgid "Phone" msgstr "" #: views/admin_member_form_common_part.php:25 views/edit-v2.php:109 #: views/edit.php:51 msgid "Street" msgstr "" #: views/admin_member_form_common_part.php:29 views/edit-v2.php:118 #: views/edit.php:55 msgid "City" msgstr "" #: views/admin_member_form_common_part.php:33 views/edit-v2.php:127 #: views/edit.php:59 msgid "State" msgstr "" #: views/admin_member_form_common_part.php:37 views/edit-v2.php:136 #: views/edit.php:63 msgid "Zipcode" msgstr "" #: views/admin_member_form_common_part.php:41 views/edit-v2.php:145 #: views/edit.php:67 msgid "Country" msgstr "" #: views/admin_member_form_common_part.php:45 msgid "Company" msgstr "" #: views/admin_member_form_common_part.php:49 msgid "Member Since" msgstr "" #: views/admin_members_list.php:32 msgid "All" msgstr "" #: views/admin_members_list.php:37 views/admin_members_list.php:47 msgid "Incomplete" msgstr "" #: views/admin_membership_manage.php:5 msgid "content protection documentation" msgstr "" #: views/admin_membership_manage.php:7 msgid "How to Apply Content Protection" msgstr "" #: views/admin_membership_manage.php:9 msgid "" "Take the following steps to apply protection to your content so only members " "can have access to it." msgstr "" #: views/admin_membership_manage.php:12 msgid "Edit the Post or Page that you want to protect in WordPress editor." msgstr "" #: views/admin_membership_manage.php:13 msgid "Scroll down to the section titled 'Simple WP Membership Protection'." msgstr "" #: views/admin_membership_manage.php:14 msgid "Select 'Yes, Protect this content' option." msgstr "" #: views/admin_membership_manage.php:15 msgid "" "Check the membership levels that should have access to that page's content." msgstr "" #: views/admin_membership_manage.php:16 msgid "Hit the Update/Save Button to save the changes." msgstr "" #: views/admin_membership_manage.php:19 msgid "Example Content Protection Settings" msgstr "" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr "" #: views/admin_post_list.php:21 msgid "Posts" msgstr "" #: views/admin_post_list.php:22 msgid "Pages" msgstr "" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "" #: views/admin_tools_settings.php:22 msgid "This interface contains useful tools for various admin operations." msgstr "" #: views/admin_tools_settings.php:27 msgid "Generate a Registration Completion link" msgstr "" #: views/admin_tools_settings.php:30 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" #: views/admin_tools_settings.php:35 msgid "Generate Registration Completion Link" msgstr "" #: views/admin_tools_settings.php:36 msgid "For a Particular Member ID" msgstr "" #: views/admin_tools_settings.php:38 msgid "OR" msgstr "" #: views/admin_tools_settings.php:39 msgid "For All Incomplete Registrations" msgstr "" #: views/admin_tools_settings.php:44 msgid "Send Registration Reminder Email Too" msgstr "" #: views/admin_tools_settings.php:50 msgid "Submit" msgstr "" #: views/admin_tools_settings.php:59 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" #: views/admin_tools_settings.php:61 msgid "Registration completion links will appear below" msgstr "" #: views/admin_tools_settings.php:71 msgid "A prompt to complete registration email was also sent." msgstr "" #: views/admin_tools_settings.php:84 views/admin_tools_settings.php:94 msgid "Re-create the Required Pages" msgstr "" #: views/admin_tools_settings.php:87 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" #: views/admin_tools_settings.php:88 msgid " has full explanation." msgstr "" #: views/edit-v2.php:67 views/edit-v2.php:76 views/edit.php:32 #: views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "" #: views/edit-v2.php:154 views/edit.php:71 msgid "Company Name" msgstr "" #: views/forgot_password.php:20 views/reset_password_using_link.php:75 msgid "Reset Password" msgstr "" #: views/forgot_password.php:27 msgid "Processing password reset request..." msgstr "" #: views/loggedin.php:9 msgid "Logged in as" msgstr "" #: views/loggedin.php:17 msgid "Membership" msgstr "" #: views/loggedin.php:21 msgid "Account Expiry" msgstr "" #: views/loggedin.php:29 msgid "Edit Profile" msgstr "" #: views/login.php:11 msgid "Username or Email" msgstr "" #: views/login.php:48 msgid "Show password" msgstr "" #: views/login.php:55 msgid "Remember Me" msgstr "" #: views/login.php:65 msgid "Forgot Password?" msgstr "" #: views/payments/admin_add_edit_transaction_manually.php:11 msgid "" "You can add a new transaction record manually using this interface. It can " "be useful if you manually accept cash payment for your memberships." msgstr "" #: views/payments/admin_add_edit_transaction_manually.php:54 msgid "Manual transaction added successfully. " msgstr "" #: views/payments/admin_add_edit_transaction_manually.php:68 msgid "Add New Transaction" msgstr "" #: views/payments/admin_add_edit_transaction_manually.php:160 #: views/payments/admin_edit_transaction.php:258 msgid "Save Transaction Data" msgstr "" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "" #: views/payments/admin_all_payment_transactions.php:12 msgid "" "Search for a transaction by using email, name, transaction ID or Subscr ID." msgstr "" #: views/payments/admin_all_payment_transactions.php:59 msgid "Add a Transaction Manually" msgstr "" #: views/payments/admin_create_payment_buttons.php:19 msgid "" "You can create a new payment button for your memberships using this " "interface." msgstr "" #: views/payments/admin_create_payment_buttons.php:27 msgid "Select Payment Button Type" msgstr "" #: views/payments/admin_create_payment_buttons.php:48 msgid "Stripe Legacy Buy Now (deprecated)" msgstr "" #: views/payments/admin_create_payment_buttons.php:50 msgid "Stripe Legacy Subscription (deprecated)" msgstr "" #: views/payments/admin_create_payment_buttons.php:62 msgid "Next" msgstr "" #: views/payments/admin_create_payment_buttons.php:69 msgid "" "You can also use payment buttons from the following plugins to accept " "payments for your memberships." msgstr "" #: views/payments/admin_edit_payment_buttons.php:19 msgid "You can edit a payment button using this interface." msgstr "" #: views/payments/admin_edit_transaction.php:10 msgid "Error! ID must be provided." msgstr "" #: views/payments/admin_edit_transaction.php:15 msgid "Error! Transaction record with the ID not found!." msgstr "" #: views/payments/admin_edit_transaction.php:58 msgid "Transaction data updated successfully. " msgstr "" #: views/payments/admin_edit_transaction.php:59 msgid "View all transactions" msgstr "" #: views/payments/admin_edit_transaction.php:102 msgid "(View Profile)" msgstr "" #: views/payments/admin_edit_transaction.php:113 msgid "(View Membership Level)" msgstr "" #: views/payments/admin_edit_transaction.php:141 msgid "(View Button Configuration)" msgstr "" #: views/payments/admin_edit_transaction.php:148 msgid "No" msgstr "" #: views/payments/admin_edit_transaction.php:163 msgid "Edit Transaction" msgstr "" #: views/payments/admin_edit_transaction.php:168 msgid "Post ID" msgstr "" #: views/payments/admin_edit_transaction.php:176 msgid "Transaction Date" msgstr "" #: views/payments/admin_edit_transaction.php:184 msgid "Payment Gateway" msgstr "" #: views/payments/admin_edit_transaction.php:204 msgid "IP Address" msgstr "" #: views/payments/admin_edit_transaction.php:208 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:43 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:241 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:230 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:58 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:364 msgid "Payment Amount" msgstr "" #: views/payments/admin_edit_transaction.php:216 msgid "Discount Amount" msgstr "" #: views/payments/admin_edit_transaction.php:221 msgid "Note/Reference" msgstr "" #: views/payments/admin_edit_transaction.php:246 msgid "Live Mode Transaction?" msgstr "" #: views/payments/admin_edit_transaction.php:250 msgid "Custom (System Data)" msgstr "" #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" #: views/payments/admin_payment_settings.php:7 msgid "" "The payment settings have moved to the Payment Settings tab in the " "Payments menu. Click the link below to navigate to the new " "location." msgstr "" #: views/payments/admin_payment_settings.php:10 msgid "Go to the new Payment Settings location" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:215 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:160 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:32 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:182 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:316 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:341 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:92 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:92 msgid "Button ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:25 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:223 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:168 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:40 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:190 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:323 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:348 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:100 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:100 msgid "Button Title" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:429 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:454 msgid "The following details are optional." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:91 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:289 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:318 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:203 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:459 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:419 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:442 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:174 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:483 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:235 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:219 msgid "Return URL" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:128 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:324 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:329 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:488 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:430 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:472 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:212 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:521 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:264 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:240 msgid "Save Payment Data" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:11 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:143 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:16 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:11 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:165 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:21 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:77 msgid "View the" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:11 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:143 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:16 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:11 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:165 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:21 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:21 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:77 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:123 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:192 msgid "documentation" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:11 msgid "to learn how to create a PayPal Buy Now payment button and use it." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:15 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:206 msgid "PayPal Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:226 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:43 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:30 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:315 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:193 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:326 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:351 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:103 msgid "" "Give this membership payment button a name. Example: Gold membership payment" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:38 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:236 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:181 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:53 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:40 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:325 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:203 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:49 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:335 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:49 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:360 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:113 msgid "Select the membership level this payment button is for." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:244 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:61 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:342 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:367 msgid "" "Enter payment amount. Example values: 10.00 or 19.50 or 299.95 etc (do not " "put currency symbol)." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:51 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:249 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:190 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:66 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:330 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:237 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:371 msgid "Payment Currency" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:86 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:284 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:225 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:80 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:365 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:272 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:96 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:380 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:405 msgid "Select the currency for this payment button." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:94 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:292 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:321 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:206 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:175 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:462 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:422 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:161 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:445 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:177 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:486 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:238 msgid "" "This is the URL the user will be redirected to after a successful payment. " "Enter the URL of your Thank You page here." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:99 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:297 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:370 msgid "PayPal Email" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:102 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:88 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:373 msgid "" "Enter your PayPal email address. The payment will go to this PayPal account." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:107 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:305 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:467 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:450 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:190 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:499 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:251 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:227 msgid "Button Image URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:110 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:308 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:183 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:470 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:169 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:193 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:502 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:254 msgid "" "If you want to customize the look of the button using an image then enter " "the URL of the image." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:115 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:313 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:475 msgid "Custom Checkout Page Logo Image" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:118 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:316 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:191 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:478 msgid "" "Specify an image URL if you want to customize the paypal checkout page with " "a custom logo/image. The image URL must be a \"https\" URL." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:218 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:163 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:307 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:185 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:319 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:344 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:95 msgid "" "This is the ID of this payment button. It is automatically generated for you " "and it cannot be changed." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:367 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:371 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:540 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:543 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:594 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:398 msgid "Payment button data successfully updated!" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:134 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:156 msgid "You need to configure your PayPal API credentials first. " msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:157 msgid "to configure your PayPal API credentials in the payment settings menu." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:144 msgid "" "to learn how to create and use a PayPal Buy Now (New API) payment button." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:148 msgid "PayPal Buy Now (New API) Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:171 msgid "" "Give this membership payment button a name. Example: Gold membership payment." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:186 msgid "Payment Details" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:233 msgid "" "Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not " "enter currency symbol)." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:238 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:339 msgid "Button Style Settings (Optional)" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:242 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:343 msgid "Button Type/Label" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:245 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:346 msgid "Checkout" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:246 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:347 msgid "Pay" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:247 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:348 msgid "PayPal" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:248 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:349 #: views/payments/payment-gateway/braintree_button_shortcode_view.php:21 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:100 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:102 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:161 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:160 msgid "Buy Now" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:249 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:350 msgid "Subscribe" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:251 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:352 msgid "Select button type/label." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:255 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:356 msgid "Button Shape" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:257 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:171 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:358 msgid "Rectangular" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:258 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:359 msgid "Pill" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:259 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:360 msgid "Select button shape." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:263 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:364 msgid "Button Layout" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:265 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:179 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:366 msgid "Vertical" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:266 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:367 msgid "Horizontal" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:267 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:368 msgid "Select button layout." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:271 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:372 msgid "Button Height" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:375 msgid "Small" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:275 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:376 msgid "Medium" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:276 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:377 msgid "Large" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:277 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:378 msgid "Extra Large" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:279 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:380 msgid "Select button height." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:283 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:384 msgid "Button Width" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:286 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:387 msgid "Select button width." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:391 msgid "Button Color" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:293 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:160 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:394 msgid "Gold" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:294 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:395 msgid "Blue" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:295 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:396 msgid "Silver" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:296 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:397 msgid "White" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:297 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:398 msgid "Black" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:299 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:165 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:400 msgid "Select button color." msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:405 msgid "Additional Settings (Optional)" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:308 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:409 msgid "Disable Funding" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:310 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:411 msgid "Credit or debit cards" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:311 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:192 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:412 msgid "PayPal Credit" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:312 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:413 msgid "Venmo" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:313 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:414 msgid "" "By default, funding source eligibility is smartly decided based on a variety " "of factors. You can force disable funding options by selecting them here." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:16 msgid "to learn how to create and use a PayPal Smart Checkout payment button." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:20 msgid "PayPal Smart Checkout Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:106 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:113 msgid "Enter your live Client ID." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:118 msgid "Live Secret" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:121 msgid "Enter your live Secret." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:129 msgid "Enter your sandbox Client ID." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:134 msgid "Sandbox Secret" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:137 msgid "Enter your sandbox Secret." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:142 msgid "Button Appearance Settings" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:146 msgid "Size" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Repsonsive" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:153 msgid "Select button size." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:157 msgid "Color" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:169 msgid "Shape" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:177 msgid "Layout" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:186 msgid "Additional Settings" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:190 msgid "Payment Methods" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "ELV" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:199 msgid "The following details are optional" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:12 msgid "to learn how to create a PayPal Subscription payment button and use it." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:298 msgid "PayPal Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:378 msgid "Billing Amount Each Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:96 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:381 msgid "" "Amount to be charged on every billing cycle. If used with a trial period " "then this amount will be charged after the trial period is over. Example " "values: 10.00 or 19.50 or 299.95 etc (do not put currency symbol)." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:386 msgid "Billing Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:109 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:394 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:293 msgid "" "Set the interval of the recurring payment. Example value: 1 Month (if you " "want to charge every month)" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:399 msgid "Billing Cycle Count" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:117 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:402 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:301 msgid "" "After how many cycles should billing stop. Leave this field empty (or enter " "0) if you want the payment to continue until the subscription is canceled." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:407 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:306 msgid "Re-attempt on Failure" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:125 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:412 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:309 msgid "" "When checked, the payment will be re-attempted two more times if the payment " "fails. After the third failure, the subscription will be canceled." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:422 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:314 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:428 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:318 msgid "Trial Billing Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:144 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:431 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:321 msgid "" "Amount to be charged for the trial period. Enter 0 if you want to offer a " "free trial period." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:436 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:326 msgid "Trial Billing Period" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:157 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:444 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:334 msgid "Length of the trial period" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:213 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:205 msgid "Optional Details" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:166 msgid "" "to learn how to create and use a PayPal Subscription (New API) payment " "button." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:170 msgid "PayPal Subscription (New API) Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:212 msgid "PayPal Billing Plan Details for This Button" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:216 msgid "Subscription Plan Mode" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:219 msgid "This is the paypal mode this subscription button was created in." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:223 msgid "Subscription Plan ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:226 msgid "This is the paypal subscription plan ID." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:233 msgid "Subscription/Recurring Billing Details" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:277 msgid "Recurring Billing Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:280 msgid "" "Amount to be charged on every billing cycle. If used with a trial period " "then this amount will be charged after the trial period is over. Example " "values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol)." msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:285 msgid "Recurring Billing Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:298 msgid "Recurring Billing Cycle Count" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:13 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:12 msgid "" "The Stripe payment gateway libary requires at least PHP 5.6.0. Your server " "is using a very old version of PHP that Stripe does not support." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:14 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:13 msgid "" "Request your hosting provider to upgrade your PHP to a more recent version " "then you will be able to use the Stripe gateway." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:22 msgid "" "to learn how to create a Stripe Buy Now payment button and use it.\n" "" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:26 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:307 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:332 msgid "Stripe Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:386 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:411 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:391 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:416 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:148 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:140 msgid "Use Global API Keys Settings" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:394 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:419 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:151 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:143 msgid "" "Use API keys from Payment Settings tab." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:118 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:402 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:118 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:427 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:159 msgid "Enter your Stripe test publishable key." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:125 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:409 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:125 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:434 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:167 msgid "Enter your Stripe test secret key." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:132 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:416 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:132 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:441 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:175 msgid "Enter your Stripe live publishable key." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:139 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:423 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:139 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:448 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:183 msgid "Enter your Stripe live secret key." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:434 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:459 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:219 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:211 msgid "Collect Customer Address" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:153 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:437 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:153 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:462 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:222 msgid "" "Enable this option if you want to collect customer address during Stripe " "checkout." msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:21 msgid "View the " msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:22 msgid "to learn how to create a Stripe Buy Now payment button and use it." msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:26 msgid "Stripe SCA Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:467 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:227 msgid "Enable Automatic Tax" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:161 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:470 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:230 msgid "" "Enable this option if you want to enable automatic tax feature of Stripe. " "You will need to enable this feature in your Stripe account before using it." msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:475 msgid "Allow Promotion Codes" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:169 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:478 msgid "" "Enable this option if you want to use the promotion codes feature of Stripe. " "You will need to enable this feature in your Stripe account before using it." msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:182 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:491 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:243 msgid "Cancel URL" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:185 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:494 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:246 msgid "" "This is the URL the user will be redirected to when a payment is canceled. " "Enter the URL of your preferred page here." msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:78 msgid "to learn how to create a Stripe Subscription payment button and use it." msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:84 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:84 msgid "Stripe Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:118 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:118 msgid "Stripe API ID" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:122 msgid "" "ID of the plan that you want subscribers to be assigned to. You can get more " "details in the" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:129 msgid "Trial Period" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:131 msgid "days" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:132 msgid "" "If you want to use a trial period then enter the number of days in this " "field. Subscriptions to this plan will automatically start after that. If " "left blank or 0, trial period is disabled." msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:142 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:134 msgid "Stripe API Settings" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:188 msgid "Webhook Endpoint URL" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:192 msgid "" "You should create a new Webhook in your Stripe account and put this URL " "there. You can get more info in the" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:180 msgid "Webook Endpoint URL" msgstr "" #: views/payments/payment-gateway/paypal_advanced_buy_now_button_shortcode_view.php:85 #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:81 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:77 msgid "Transaction completed successfully!" msgstr "" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:235 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:237 msgid "Subscribe Now" msgstr "" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:277 #: views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:253 msgid "Error occurred during PayPal checkout process." msgstr "" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:155 msgid "Error occurred during PayPal Smart Checkout process." msgstr "" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:184 msgid "HTTP error occurred during payment process:" msgstr "" #: views/reset_password_using_link.php:15 msgid "" "Error! The password reset key is either invalid or expired. Please generate " "a new password reset request." msgstr "" #: views/reset_password_using_link.php:54 msgid "" "Password must be at least 8 characters long, contain at least 1 uppercase " "and 1 lowercase character, and at least 1 digit." msgstr "" #: views/reset_password_using_link.php:59 msgid "New password" msgstr "" #: views/reset_password_using_link.php:66 msgid "Re-enter new password" msgstr "" #. Plugin Name of the plugin/theme msgid "Simple WordPress Membership" msgstr "" #. Plugin URI of the plugin/theme #. Author URI of the plugin/theme msgid "https://simple-membership-plugin.com/" msgstr "" #. Description of the plugin/theme msgid "" "A flexible, well-supported, and easy-to-use WordPress membership plugin for " "offering free and premium content from your WordPress site." msgstr "" #. Author of the plugin/theme msgid "smp7, wp.insider" msgstr "" #: Translation strings from addons #: === Form builder addon strings === msgid "Type password here" msgstr "" msgid "Retype password here" msgstr "" msgid "Registration is complete. You can now log into the site." msgstr "" msgid " Field has invalid character" msgstr "" msgid " Password does not match" msgstr "" msgid "Already taken." msgstr "" msgid "Street Address" msgstr "" msgid "Apt, Suite, Bldg. (optional)" msgstr "" msgid "State / Province / Region" msgstr "" msgid "Postal / Zip Code" msgstr "" msgid "Check this box to delete the image. The image will be deleted when you save the profile." msgstr "" msgid "You will need to re-login since you changed your password." msgstr "" msgid "Please enter any two digits with no spaces (Example: 12)" msgstr "" msgid "Verification" msgstr "" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "" msgid "Submit" msgstr "" msgid "Username can only contain: letters, numbers and .-*@" msgstr "" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "" msgid "Please check at least one." msgstr "" msgid "Do you really want to delete the form?" msgstr "" #: === Partial protection addon strings === msgid "You do not have permission to view this content." msgstr "" msgid "Your membership level does not have permission to view this content." msgstr "" msgid "This content is for members only." msgstr "" #: === Member Directory Listing addon strings === #: swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "" #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "" #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "" #: includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "" #: includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "" #: includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "" #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "" #: includes/swpm_mda_show_profile.php:48 msgid "Postcode" msgstr "" #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "" #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "" #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "" #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "" #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "" #: views/template-1.php:53 views/template-2.php:54 msgid "Search" msgstr "" #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "" #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "" msgid "Membership level has been updated." msgstr "" msgid "Already a member of this level." msgstr "" languages/simple-membership-hu_HU.mo000064400000066237147206617610013527 0ustar008 .4D-F t ~  +  (=Rf  M@_%  3= We y    *+V-[9%00 MZ_0y $ &2I _j  1&C jxY1[=%YRw#     ( 3  !0!@!Y!l!s!! !%!'!=!6"K"_"s" "";#>### $$7$?$P$ f$_p$ $$ $%%%%6% =%J% Y%!f%%%$% %%#%%&9&M&c&u&4&&&1&''@'A (K([(&l( ( ((((((())0)#B) f)s)())))))**!*'*.*G*d******X*C+Y+ b+o++/+ +++ +, , ,,0,/7,*g, , ,,,3, -9-3- .(.9.N.n......$./$/D/b/'///k/!O0q00000 0 00018 1Y1_1n1J1111k2{222#22 2 2132:3m3*4L4L 52Y555!55L636/737(8@8[8?q888$8 8999,9O<FK=B=2= > >$ > E>GP>>>>Y?h?~?7?)??@*@B@_@}@(@@@@@"A5A=ARAdA {AWA9A2B.NB}B B B4B/B C&C7C#OCsC CCC CC CCC DDP=DD6D?D< EIE NEZE+bE&EEEEXE(EF!nFFFF*FFF"G1GGG0cG"GG G GG"GH"H:>H+yH HH+HH I>/I nI!IIeIx4JRJKK%LSL+M4M EMRM ZMdM |MM~N,NN!NNOO+OFO,XO,O>OOPP:PRPhPQQQQ Q!R1R FR$gR RdR R S"S 6SDS_S(nS SSSS(S T*TF9TTT$T,TTUU-/U^]U)UU-U V%VWVGIWW#W5WX$X@XEX`XwX XXXXX)Y /Y"jRjBk5^k kkIkl4l$El jl wl ll Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) The rest of the content is not permitted for your membership level. your account to gain access to this content.%1$s %2$d%s pending(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)1 item%s itemsA flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.AmountApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton ShortcodeButton TitleBuy NowCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.Comments not allowed by a non-member.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.Current pageDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Example Content Protection SettingsExcerpt ViewExpire AfterExpiredExpiry: Filter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo to the first pageGo to the last pageGo to the next pageGo to the previous pageHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameLink(s) generated successfully. The following link(s) can be used to complete the registration.List ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership LevelsMembership Renewal URLMonths (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No items found.No member found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease Login to Comment.Please correct the followingPlease correct the following:Please login again.Please login to comment.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRemember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSave ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!Show Adminbar to AdminSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSimple WordPress MembershipSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content is not permitted for your membership level.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUse this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredView ProfileWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: Zipcodehttps://simple-membership-plugin.comincompletepaging%1$s of %2$srenewsmp7, wp.insiderProject-Id-Version: Simple WordPress Membership Report-Msgid-Bugs-To: POT-Creation-Date: Tue May 03 2016 12:35:48 GMT+0200 (Mitteleuropäische Sommerzeit) PO-Revision-Date: Mon Jul 11 2016 10:12:01 GMT+0200 (CEST) Last-Translator: boltberendezo Language-Team: Language: Hungarian Plural-Forms: nplurals=2; plural=n != 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-SourceCharset: UTF-8 X-Poedit-Basepath: . X-Poedit-SearchPath-0: ../../plugins/simple-membership X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2 X-Loco-Target-Locale: hu_HU X-Generator: Loco - https://localise.biz/Email beállítások (Èrtesítés a felhasználói szint aktualizálásáról)Email beállítások (csoportos felhasználó aktiválás értesítő)A tartalom további része nem elérhető a Te tagsági szinteden.fiókodat, hogy hozzáférhess ehhez a tartalomhoz%1$s %2$d%s függőben(Hozzáférés egy fix napon lejár)kötelező(kétszer, hagyd üresen, ha a régi jelszavadat szeretnéd használni)(kétszer, szükséges)1 elem%s elemekEgy flexibilis, jól támogatott és könnyen használtható WordPress tagsági bővítmény ingyenes és fizetős tartalmakért a WordPress oldaladon.Lejárat idejeHozzáférés kezdeteJogosultság érvényes -igA hozzáférés idejének nagyobbnak kell lennie 0-nálHozzáférés kezdete mező érvénytelenFelhasználói fiók lejártaFiók állapotaFelhasználói státuszFelhasználói fiók lejártFelhasználói fiók inaktívFelhasználói fiók függőbenFelhasználói szint mező érvénytelenAktívÚj tag hozzáadásaÚj hozzáadásaÚj felhasználó hozzáadásaÚj felhasználói szint megadásaAdd-onsAddon beállításokAdmin email címeHaladó beállításokMinden dátumMinden felhasználói fiók gomb, amit létrehoztál a bővítményben itt jelenik meg.Minden felhasználói befizetés itt kerül rögzítésreFelhasználói fiók törlésének engedélyezéseA felhasználó maga is törölheti fiókját.ÖsszegJelentkezésMár foglaltRendeld hozzá az ingyenes tagsági szint ID kójátFüggőben lévő fiókok automatikus törléseMég szabadSzámlázási összeg periódusonkéntSzámlázási periódusSzámlázási periódus számolásaCsoportos műveletekGomb ID-jeGomb képének url-jeGomb shortcode-jaGomb felirataMegvásárolomKategória IDKategória neveKategória védelemKategória fajtájaKategória védelme frissítveJelöld be ezt a négyzetet, ha szeretnéd engedélyezni a debug bejelentkezéstVárosKattints ide, hogy a fizetős regisztrációt befejezdKattints a következő linkre, hogy a regisztrációt befejezd.A kommentelés csak felhasználók számára engedélyezett.CégSzámlálóOrszágÚj felhasználó hozzáadása az oldalhoz.Új felhasználói szint létrehozásaJelenlegi oldalDátumDátum formátum nem megfelelőNapok (A felhasználói fiók hozzáférése a megadott napok száma után fog lejárni)Alapértelmezett felhasználói státuszAlapértelmezett Wordpress szerepTörlésFelhasználói fiók törléseLeírásSzeretnéd ezt a tarlamat védetté tenni?EmailFelhasználó szerkesztéseFelhasználói szint szerkesztéseProfilom oldal url-jeFelhasználó szerkesztéseMeglévő felhasználók adatainak szerkesztéseFelhasználói szint szerkesztéseEmailEmail címEmail cím:Email szövegeKülönböző email beállításokEmail beállításokEmail beállítások (új jelszó)Email beállítások (Regisztráció után azonnali email)Email beállítások (Kész regisztráció)Email tárgyaEmail cím érvénytelen.Ezzel az email címmel már regisztráltak.Email cím helytelenEmail cím megadása szükségesLejárt felhasználói fiókba való belépés negedélyezéseIngyenes tagság engedélyezéseMore tag védelem engedélyezéseSandbox test engedélyezéseEngedélyezd ezt a beállítást, ha szeretnéd, hogy csak az oldal felhasználói kommentelhessenek.Engedélyezd ezt a lehetőséget, ha szeretnéd, hogy az admin értesítést kapjon a felhasználói regisztrációkrólJelöld be a négyzetet, ha szeretnéd engedélyezni a sandbox fizetés tesztjét.Engedélyezi/tiltja az ingyenes regisztrációt. Ha engedélyezed ezt az opciót, bizonyosodj meg róla, hogy megadod az ingyenes tagsági szint ID kódját is az alábbi sorban. Engedélyezi vagy tiltja a "more" tag védelmet a bejegyzésekben és az oldalakon. Minden am ia mora tag után áll, védelem alá kerül. Minden ami a more tag előtt van, teaserként (ingyenes tartalom) funkcionálAdd meg a felhasználó szint ID-játAdd meg az email címet, ahova szeretnéd, hogy az admin értesítések érkezzenekPélda tartalmak védelmének beállításaKibontott nézetLejár utánLejártLejárat:Keresés dátum szerintKeresztnévElőször is általánosan védd le a kategóriát az oldaladon kiválasztva az "Általános Védelem" pontot a drop-down menüből majd válaszd ki a kategóriákat, amiket amiket a nem bejelentkezett felhasználók elől meg szeretnél védeniFix napos lejáratMinden befejezetlen regisztráció számáraElfelejtett jelszóIngyenes tagsági szint ID kódjaEmail -től beállításokNemNem mező érvénytelenÁltalános beállításokKód generálásaRegisztráció befejezése link generálásaRegisztráció befejezése link generálása"Haladó változók" kód generálása a PayPal gomb számáraMenj az első odlalraMenj az utolsó oldalraMenj a következő oldalraMenj az előző oldalraAdmin sáv elrejtéseTipp: A jelszónak minimum 7 karakter hosszúnak kell lennie. Hogy erősebbé tedd használj alsó és felső karaktereket, számokat, szimbólumokat is.IDHa felhasználói befizetést hajtottál végre, akkor a befizetést fel kell, hogy dolgozzuk. Kérlek, nézz vissza egy pár perc múlva. Hamarosan egy emailt kapsz tőlünk a pontos részletekkel.InaktívÉrvénytelen email címÉrvénytelen felhasználónév.Nem létező felhasználói szintCsatlakozz hozzánk!Csatlakozz hozzánk odlal url-jeUtolsó hozzáférés az IP címrőlVezetéknévLinkek sikeresen generálva. A következő linkek használhatóak a regisztrációk befejezéséhez.Lista nézetSikeres kijelentkezésBejelentkezve, mintJelentkezz beBejelentkező oldal url-jeKijelentkezésTartalom létrehozásának menedzseléseFelhasználóFelhasználói bejelentkezésFelhasználó profiljaTag ótaFelhasználó mező sikeresen hozzáadvaTag -óta mező érvénytelenFelhasználókA felhasználóknak be kell jelentkezniük, hogy kommentelni tudjanak.TagságTagsági szintFelhasználói szint nem találhatóFelhasználó fiók létrehozása sikerült.Felhasználói szint ID-jeFelhasználói szint neveTagsági szintekFelhasználói fiók megújításának url-jeHónapok (A felhasználói fiók hozzáférése a megadott hónapok száma után fog lejárni)A név érvénytelen karaktert tartalmaz.SohaAz új jelszót elküldtük az email címedreKövetkezőKövetkező, válassz ki egy már létező felhasználói szintet a drop-down menüből és válaszd ki a kategóriát amelyhez hozzáférést szeretnél biztosítani a megadott felhasználók számára.Nincs lejárat ( A hozzáférés, ehhez a szinthez, nem jár le, míg vissza nem vonod)Nincs lejárat (A felhasználói fiók hozzáférése nem fog lejárni)Nem található iylen elem.Nem találtunk ilyen felhasználótNem található felhasználó ezzel az email címmel.Nem vagy még felhasználó?Felhasználó értesítéseVAGYOpcionális beállításokOldalak beállításaiJelszóJelszó üres vagy érvénytelenÚj jelszó kéréseÚJ jelszó igénylés url-jeJelszó megadása szükségesJelszó nem egyezikPayPAl "Vedd meg most" gomb beállításaPayPal emailPayPal integráció beállításokPayPal előfizetői gomb beállításaFizetési összegFizetési gomb ID-jaFizetési gomb felriataFizetési valutaFizetés beállításaiFizetésekFüggőbenTelefon KérlekKérlek, lépj be hogy kommentelhess.Kérlek javítsd a következőketKérlek, javítsd a következőket:Kérlek, jelentkezz be újra.Kérlek, lépj be hogy kommentelhess.Bővítmény leírásaProfilProfil frissítés sikeresProfil frissítés sikeres. Újra be kell jelentkezned, miután megváltoztattad a jelszavad.Hiba esetén próbáld úrjaRegisztrációRegisztrációRegisztrációs oldal url-jeRegisztráció sikeres.Regisztráció befejezése link alul fog megjelenniEmlékezz rámJelszó megismétléseÚj jelszóVissza urlSzerepSor ID-jaVáltozások mentéseFizetési adatok mentéseKeresésKeress tranzakciókat az email cím vagy név megadásávalBiztonsági ellenőrzés: captcha hitelesítés nem sikerültMind kiválasztásaVálaszd ki az oldaltFizetési mód gomb választásaVálaszd ki a csoportos műveletetVálaszd ki, hogy mennyi ideig akarod megtartani, a függőben lévő fiókokatVálaszd ki az alapértelmezett felhasználói státuszt az ú jregisztrálók számára. Ha manuálisan szeretnéd elfogadni a felhasználókat, akkor állítsd a státuszt "függőben"-re. Válaszd ki a felhasználói szintet, akik számára elérhető lesz a tartalom:Küldjön értesítést a felhasználónak, ha az admin felületen elfogadásra került a regisztrációjaKüldjön értesítést az adminnakSzekció lejártStátusz aktívra állításaStátusz aktívra állítása és értesítésStátusz lejártStátusz inaktívra állításaStátusz függőbenBeállításokBeállítások frissítve!Mutassa az admin sávot az adminoknakSimple WP Membership védelmi opciókSimple Membership: FizetésekSimple WP Membership védelemSimple WP Membership: Add-onokSimple WP Membership: FelhasználókSimple WP Membership: Felhasználói szintekSimple WP Membership: beállításokSimple WordPress TagságNéhány, a simple membership addon beállítások közül (amennyiben rendelkezel ilyenekkel) itt jelenik megSajnáljuk, a hitelesítést nem sikerült.Sajnáljuk, a jelszó nem egyezik.MegyeUtcaErősség jelzőElküldFeliratkozomFeliratkozó ID-jeFeliratkozó ID-jeTest és debug beállításokA kiválasztott bejegyés törlésre került.Ez a tartalom nem elérhető a Te tagsági szinteden.EszközökTranzakció ID-jePróba számlázó összegPróba számlázó részletek (hagyd szabadon, ha nem kínálsz próba időszakot)Próba számlázó időszakFrissítésEzt a beállítást válaszd, ha kizárólag az adminok számára szeretnéd láthatóvá tenni az admin eszköztárat. Az admin eszköztár a többi felhasználó számára rejtett lesz.Felhasználó nem találhatóFelahsználó nincs bejeletkezveFelhasználónévFelahsználónév már létezikFelhasználónév érvénytelen karaktert tartalmazFelhasználónév megadása szükséges.Profil megtekintése.WP MembershipHetek (A hozzáférés a megadott hetek száma után lejár)Hetek (A felhasználói fiók hozzáférése a megadott hetek száma után fog lejárni)Ha engedélyezed, lejárt fiókú felhasználók is beléphetnek a rendszerbe, de nem látják majd a védett tartalmakat. Ezzel megkönnyítheted számukra fiókjuk megújítását és egy újabb fizetés kezdeményezését.Wordpress mutatja az admin eszköztárat a bejelntkezett felhasználók számára. Jelöld be, ha szeretnéd elrejteni az admin eszköztárat az oldaladonIlyen email címmel már létezik Wordpress fiók, de a megadott felhasználónév nem hozzá tartozik.Ilyen felhasználónévvel már létezik Wordpress fiók, de a megadott email nem hozzá tartozik.Évek (A felhasználói fiók hozzáférése a megadott évek száma után fog lejárni)Be vagy jelentkezve, mint:Nem vagy bejelentkezveFelhasználóként vagy bejelentkezveLétrehozhatsz megújító oldalt. Részletes leírást itt találsz hozzá: this documentationÚj fizetési gombot hozhatsz létre a felhasználóid számára, ezt az interfacet használva.Szerkesztheted a fizetési gombot ezt at interfacet használvaItt manuálisan is létrehozhatsz regisztráció befejezési linkeket és elküldheted a vásárlóidnak, ha esetleg nem kapták volna meg az automatikus emailt, amit a fizetés után küldtél nekik.Be kell jelentkezned, hogy láthasd a tartalom többi részét is.Be kell jelentkezned, hogy láthasd ezt a tartalmat. Lejárt a felhasználói fiókodAz jelenlegi jelszavadA felhasználói fiókodat a fizetésnek megfelelően frissíteni fogjuk.A profilod felhasználóneve:Irányítószámhttps://simple-membership-plugin.combefejezetlen%1$s of %2$smegújítsmp7, wp.insiderlanguages/simple-membership-pt_PT.mo000064400000061157147206617610013541 0ustar00", <P.QD    +2D Tby  > EPXh M@Y%p    2 ?IZ kx*-9IQW0_0+2 A$Mr y   ,7L[1{&  # 5 R i  [ = 5!!i"R"#" " ## #)# 8#C# $$=$M$f$y$$$ $%$'$=% C%Q%%%&&&&&&' ' ('2' K'X'^'m't'' '' '!''' ((#"(%F(l((((4((()1)K)P)@)A;*}**&* * ****+ +&+5+M+b+#t+ ++(+++ , ,1,B,K,S,Y,`,},,,,,X,C-Y- b-0o--- --- -. . ..1./8.*h. . ...3. /9/3/0$)0N0_0t00000$00131 Q1r1'11k1!C2e22222 2222C38J3333J33 44*4:4Q4Z4#s44 4 41424,55L6L627N7d7!{7L737838(9S/99?9999:=;8; < < !< B<;N<<<<<,<%= (=5=E=U=d=s=&====='=>>4>L>g>Bv>O> ?6#?Z?b?j?!? ? ?$?? @+@ =@J@b@v@ @@%@@@ A0A7NAAAA:AAA!A?BZBvBB B B"BB BB'C)C$;C`C}CCCCC"CC9C:7D.rDDDDDD&E=E3]E:E]ED*FoFF$GLG00H aH nH|HHHHHgI III IIIJJ#/J#SJEwJ&JJKK-L6LGL*\L L LL L LLL MM.M!?M aMlMrMMM&MM MM(N'-NUNoNNNANN$N O4&O[OdOHOJHP!PP"PP Q!Q$Q7Q RQ$_QQ2QQQ/R7R)HR1rRRRRRR SS'S 0S:SXS"vSSSS`S:TPTXT/`TTT TTTTU U U/0U `U:jU7UUU'V *V:5VpV?W]HW%W4WXX!3X!UX!wXXX XX XX Y ?Y7`Y%YtY'3Z,[ZZZZZ ZZ(Z!Z,[,L[ y[[[Y[ \ 1\!<\^\!s\\\,\\] #]E1]Cw]]tS^K^K_?`___#_X_<K``;Ra%a5aa?bDbVb eb[",a! 0{Qk$Cgfs\}- zIP<nmX^d _x:!V`J Fjc B~7R; AW)%lyv + ?4t G 6hET&]LZr9YO./1 D=*"Mu2w'>8|oHNi@U#eSqpb35(K Email Settings (Account Upgrade Notification) The rest of the content is not permitted for your membership level.%1$s %2$d%s pending(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.AmountApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton ShortcodeButton TitleBuy NowCategory ProtectionCategory protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Example Content Protection SettingsExcerpt ViewExpire AfterExpiredExpiry: Filter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameList ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameName contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.No items found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease correct the followingPlease correct the following:Please login again.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful. Remember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSave ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email tooSession Expired.Set Status to ActiveSet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!Simple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content can only be viewed by members who joined on or before This content is not permitted for your membership level.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUpdated Successfully.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredView ProfileWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not logged in.You are not logged-in as a memberYou can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: ZipcodesearchProject-Id-Version: simple membership POT-Creation-Date: 2016-04-15 15:05+0100 PO-Revision-Date: 2016-04-15 19:38+0100 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.7 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=2; plural=(n != 1); Language: pt_PT X-Poedit-SearchPath-0: . Configurações de e-mail (notificação de upgrade de conta)O restante deste conteúdo não é acessível para si...%1$s %2$d%s pendente(o acesso expira numa data fixa)(requerido)(duas vezes, deixe vazio para manter a antiga contra-senha)(duas vezes, requerido)Duração do acessoAcessoAcesso válido por/atéA duração do acesso deve ser maior que "0"O campo "Data de acceso" é inválidoConta expiraEstado de contaEstado da contaConta expiradaConta inactivaConta pendenteO campo "Estado de conta" é inválidoActivoAdiconar membroAdicionar novoAdicionar novos membrosAdicionar um novo nivel de associaçãoAditivosConfigurações de aditivosE-mail do AdministradorConfigurações avançadasTodas as datasTodos os botões dos associados criados no plugin aparecerão aquiTodos os pagamentos ou transações dos seus associados estão arquivadas aqui.Permitir apagado da contaPermitir que s membros apaguem as suas proprias contasImporteAplicarJá está em utilizaçãoAssignar ID de associado gratuitoAuto-apagado de contas pendentesDisponívelValor de faturação para cada cicloCiclo de faturaçãoConta do ciclo de faturaçãoAcções em blocoID do botãoURL da imagem do botãoShortcode do botãoTítulo do botãoCompra jáProteção de categoriaProteção de categoría actualizada!Marque esta opção para disponibilizar a depuração de loggingLocalidadeClique aqui para completar o seu registo pago...Clique no seguinte link para completar o seu registo...EmpresaContaPaísCrie uma marca de novo utilizador e adicione-a a este siteCriar novo nivel de associadoDataO formato da data não é válidoDias (o acesso expira depois de um determinado número de dias)Estado da conta por defeitoRol por defeito de WPLimparApagar contaDescriçãoDeseja classificar este conteúdo?E-mailEditar membroEditar nivel de associaçãoURL de la página de edição do perfilEditar utilizadorEditar detalhes existentes do membroEditar nivel de associaçãoEditar nivel de associação.E-mailE-mailE-mailCorpo do e-mailConfigurações diversas de e-mailConfigurações de e-mailConfigurações de e-mail (redefinição de contra-senha)Configurações do e-mail (aviso para completar o registo)Configurações do e-mail (Registo completado)Assunto do e-mailO e-mail não é válido!Este e-mail já está utilizadoE-mail inválidoO e-mail é necessárioDisponível login com a conta expiradaAssociação gratuita permitidaDisponibilizar classificação para etiqueta "Mais"Marque esta opção para disponibilizar o teste da SandboxMarque esta opção se deseja que o Administrador receba um aviso quando alguém se registar.Marque esta opção para disponibilizar o teste do pagamento SandboxSim/Não registo de nível para associados gratuitos. (Se disponibiliza esta opção, deve anotar um ID de membro no campo seguinte)Sim/Não à classificação da etiqueta "Mais" em posts e páginas. Qualquer coisa depois da etiqueta "Mais" será classificada. Todo o que estiver antes da etiqueta "Mais" será o conteúdo sumário.Introduza o ID do nivel de associadoAnote o e-mail onde deseja que a notificação ao Administrador seja enviadaExemplo de configuração de conteúdo protegidoModo extratoExpira depoisExpiradoVence:Filtrar por dataNome/sPrimeiro de tudo, proteja a categoria no seu site selecionando "Proteção Geral" na caixa a seguir. Depois selecione as categorias que deverão estar protegidas de utilizadores não registados.Data de expiração fixaPara todos os registos pendentesEsqueceu a contra-senhaID de associado gratuitoDesde e-mailGéneroO campo "Género" é inválidoConfigurações geraisGenerar o códigoGenerar um link de Registo CompletoGenerar um link de Registo CompletoGenere os códigos das "Variáveis Avanzadas" para o eu botão PayPalEsconder a barra de administração WPDica: a contra-senha deve ter no mínimo sete caracteres. Para que fique mais segura utilize maiúsculas, minúsculas, números e símbolos como ! " ? $ % ^ &).IDSe acabou de fazer o pagamento, o mesmo ainda está a ser processado. Por favor tente novamente em alguns minutos. Receberá em breve um e-mail com os detalhes.InactivoE-mail inválidoUtilizador inválidoO campo "Nível de associado" é inválidoAssocie-se!URL de la página de associar-seÚltimo aceso desde IPApelido/sModo listaSessão terminada com sucessoConectado comoLoginURL de la página de loginTerminar sessãoGerenciar produção de conteúdoUtilizadorLoginPerfil do associadoAssociado desdeDados adicionados com sucessoO campo "Associado desde" é inválidoMembrosAssociaçãoNível de associadoNão foi achado esse nível de associadoNível de associado criado com sucesso!ID do nível de associadoNome do nível de associadoNivel de associaçãoNivel de associadoMeses (o acesso expira depois de um determinado número de meses)NomeO Nome contêm caracteres inválidosNuncaUma nova contra-senha foi enviada para o seu e-mail.PróximoSeguidamente selecione um nivel existente de associado do desplegável e depois as categorias às que deseja dar-lhes acesso (para esse particular nivel).Não expira (o acesso para este nivel não expirará até ser cancelado)Não expira (o acesso a este nivel não expirará até que seja cancelado)Não foram encontrados associadosNão se acharam dadosNão há fundos com este e-mail...Ainda não está registado?Notificar o utilizadorOUDetalhes opcionaisConfiguração de páginasContra-senhaFalta a contra-senha ou é inválidaResetear contra-senhaURL de la página de redefinição de contra-senhaA contra-senha é necessáriaA contra-senha está erradaConfiguração do botão Compre Agora de PayPalE-mail do PayPalConfiguração da integração com PayPalConfiguração do botão de suscrição do PayPalValor do pagamentoID do Botão de pagamentoTítulo do botão de pagamentoMoedaConfigurações de pagamentoPagamentosPendenteTelefonePor favorCorrija por favor o seguinte:Corrija por favor o seguinte:Por favor faça o login de novo...Documentação do pluginPerfilPerfil actualizado com sucesso!Perfil actualizado com sucesso! Como a contra-senha foi alterada, necessitará fazer novo login.Re-tentativa no falhoRegistoRegistoO link de Registo Completo aparecerá a seguir:URL de la página de registoRegisto feito com sucesso!Lembrar-meRepita a contra-senhaRedefinir conta-senhaURL para retornoRolRaíz do IDGuardar cambiosInformação para guardar os dados do pagamentoBúsquedaProcurar por uma transação utilizando o e-mail ou o nomeChecagem de segurança: falhou a validação do captchaSeleccionar todoSeleccionar páginaSelecione o tipo de botão de pagamentoSelecione Seleccione quanto tempo deseja manter uma conta "Pendente"Seleccione o estado da conta por defeito para novos usuários. Se deseja aprovar manualmente cada associado, deve seleccionar el estado como "Pendente"Seleccione o nível do membro que pode acceder a este conteúdoEnviar um e-mail ao associado quando adicionado diretamente desde o Painel de AdministraçãoEnviar notificação ao AdministradorEnviar um recordatório de registo de e-mail tambémA sessão expirouConfigurar estado para "Activo"Configurar estado para "Expirado"Configurar estado para "Inactivo"Configurar estado para "Pendente"ConfiguraçõesConfigurações actualizadas!Opções SMSimple Membership::PagamentosProteção SMSimple WP Membership::AditivosSimple WP Membership::CategoriasWP Simple Membership::AssociadosWP Simple Membership::Associados::Niveles de associadosSimple WP Membership::ConfiguraçõesAlgumas das configurações e opções dos aditivos do plugin Simple Membership serão mostradas aqui (se os tiver).Lamentamos, mas a verificação falhou!Lamentamos, mas a contra-senha não confere!CidadeRuaIndicador forteEnviarSuscreva jáID/referência de suscriptorConfiguração de testes e depuraçõesA entrada selecionada foi apagadaEste conteúdo não é acessível para si...Este conteúdo não é acessível para si...FerramentasID da transacçãoValor de faturação da provaDetalhes da faturação de prova (Deixe vazio se não está a oferecer período de prova)Período de faturação da provaActualizarActualização feita com sucesso!Usuário não achadoO utilizador não está conectadoNome de usuárioNome de utilizador já existeNome de utilizador tem caracteres inválidosNome de utilizador é requeridoVeja o seu perfilWP assinaturaSemanas (o acesso expira depois de um determinado número de semanas)Semanas (Acesso expira depois de um número determinado de semanas)Quando permitido, os associados com a conta expirada poderão renovar a sua conta e fazer pagamentos, mas não poderão aceder a conteúdos protegidos.WP mostra a barra de administração aos utilizadores conectados no site. Marque aqui se deseja esconder essa barra.A conta de WP existe com esse email, mas o nome de utilizador é diferente.A conta de WP existe com esse nome de utilizador, mas o email é diferente.Anos (o acesso expira depois de um determinado número de anos)Está logado como: Não tem sessão iniciadaNão está conectado como associadoPode criar um novo botão de pagamento para os seus associados utilizando esta interfacePode editar um botão de pagamento utilizando esta interfacePode generar manualmente um link de registo completo aqui e enviar para o seu cliente, caso ele tenha extraviado ou esquecido o e-mail, e ele será automaticamente enviado para ele depois do pagamento.Deve iniciar sessão para continuar a ver este conteúdo...Deve iniciar sessão para ver isto...A sua conta expirou. Faça por favor a renovação...A sua actual contra-senhaO seu perfil será actualizado para reflectir o pagamento feitoO seu utilizador:Código postalBúsquedalanguages/simple-membership-sl_SI.po000064400000313761147206617610013530 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2019-05-26 13:48+0600\n" "PO-Revision-Date: 2021-03-24 14:44+0100\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.2\n" "X-Poedit-KeywordsList: __;_e;e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n" "%100<=4 ? 2 : 3);\n" "Language: sl_SI\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:180 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "Skrbnik tega mesta uporabnikom ne omogoča dostopa do Wordpress nadzorne " "plošče." #: classes/class.simple-wp-membership.php:181 msgid "Go back to the home page by " msgstr "Vrnite se na domačo stran tako, da " #: classes/class.simple-wp-membership.php:181 msgid "clicking here" msgstr "kliknete tukaj" #: classes/class.simple-wp-membership.php:242 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "Napaka! Na tem mestu je omogočena funkcija obvezne prijave uporabnika v " "Wordpress v nastavitvah. Za dano uporabniško ime ni bilo mogoče najti " "Wordpress uporabniškega zapisa: " #: classes/class.simple-wp-membership.php:243 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "Ta napaka se sproži, ko račun člana nima ustreznega Wordpress uporabniškega " "računa. Zato vtičnik ne uspe prijaviti uporabnika v Wordpress Uporabniški " "sistem." #: classes/class.simple-wp-membership.php:244 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Obrnite se na administratorja spletne strani in ga prosite, da med Wordpress " "uporabnikih preveri vaše uporabniško ime in da si ogleda, kaj se je zgodilo " "z vnosom vašega uporabniškega računa v Wordpressu." #: classes/class.simple-wp-membership.php:245 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" #: classes/class.simple-wp-membership.php:246 msgid "You can use the back button of your browser to go back to the site." msgstr "" "Če se želite vrniti na spletno mesto, uporabite gumb “Nazaj” na vašem " "brskalniku." #: classes/class.simple-wp-membership.php:407 msgid "You are not logged in." msgstr "Niste prijavljeni." #: classes/class.simple-wp-membership.php:458 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" #: classes/class.simple-wp-membership.php:473 msgid "Simple WP Membership Protection" msgstr "" #: classes/class.simple-wp-membership.php:485 msgid "Simple Membership Protection options" msgstr "" #: classes/class.simple-wp-membership.php:503 msgid "Do you want to protect this content?" msgstr "Ali želite zaščititi to vsebino?" #: classes/class.simple-wp-membership.php:504 msgid "No, Do not protect this content." msgstr "Ne, ne ščiti te vsebine." #: classes/class.simple-wp-membership.php:505 msgid "Yes, Protect this content." msgstr "Da, zaščitite to vsebino." #: classes/class.simple-wp-membership.php:508 msgid "Select the membership level that can access this content:" msgstr "Izberite raven članstva, ki lahko dostopa do te vsebine:" #: classes/class.simple-wp-membership.php:646 #: classes/class.simple-wp-membership.php:650 msgid "Validating, please wait" msgstr "Preverjanje veljavnosti, prosimo počakajte" #: classes/class.simple-wp-membership.php:653 msgid "Invalid email address" msgstr "Neveljaven e-poštni naslov" #: classes/class.simple-wp-membership.php:656 msgid "This field is required" msgstr "To polje je obvezno" msgid "Password must contain at least:" msgstr "Geslo mora vsebovati vsaj:" msgid "- a digit" msgstr "- številko" msgid "- an uppercase letter" msgstr "- veliko tiskano črko" msgid "- a lowercase letter" msgstr "- malo tiskano črko" #: classes/class.simple-wp-membership.php:659 classes/class.swpm-auth.php:296 msgid "Invalid Username" msgstr "Neveljavno uporabniško ime" #: classes/class.simple-wp-membership.php:659 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Uporabniško ime lahko vsebuje samo: črke, številke in .-_*@" #: classes/class.simple-wp-membership.php:662 msgid "Minimum " msgstr "Minimalno " #: classes/class.simple-wp-membership.php:663 msgid " characters required" msgstr " znakov, ki so potrebni" #: classes/class.simple-wp-membership.php:666 msgid "Apostrophe character is not allowed" msgstr "Znak apostrofa ni dovoljen" #: classes/class.simple-wp-membership.php:697 msgid "WP Membership" msgstr "" #: classes/class.simple-wp-membership.php:698 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:581 msgid "Members" msgstr "Uporabniki" #: classes/class.simple-wp-membership.php:699 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:265 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Ravni članstva" #: classes/class.simple-wp-membership.php:700 msgid "Settings" msgstr "Nastavitve" #: classes/class.simple-wp-membership.php:701 msgid "Payments" msgstr "Možnosti plačila" #: classes/class.simple-wp-membership.php:702 msgid "Add-ons" msgstr "Dodatki" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Če si želite ogledati to vsebino, se morate prijaviti. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Vaš račun je potekel. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "To vsebino si lahko ogledajo le člani, ki so se pridružili " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Ta vsebina ni dovoljena za vašo raven članstva." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Za ogled preostale vsebine se morate prijaviti. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr "Nadaljnja vsebina ni dovoljena za vašo raven članstva. " #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "Napaka! Preverjanje ni uspelo za registracijo uporabnika iz " "administracijskega konca." #: classes/class.swpm-admin-registration.php:71 msgid "Member record added successfully." msgstr "Zapis člana je bil uspešno dodan." #: classes/class.swpm-admin-registration.php:76 #: classes/class.swpm-admin-registration.php:124 #: classes/class.swpm-admin-registration.php:151 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Prosimo, popravite naslednje:" #: classes/class.swpm-admin-registration.php:87 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "Napaka! Preverjanje ni uspelo za urejanje uporabnika s strani skrbnika." #: classes/class.swpm-admin-registration.php:139 msgid "Your current password" msgstr "Vaše trenutno geslo" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Neveljaven e-poštni naslov" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Already taken" msgstr "Že uporabljeno" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Ime vsebuje neveljaven znak" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Na voljo" #: classes/class.swpm-auth.php:57 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Opozorilo! Vtičnik Simple Membership ne more obdelati te zahteve za prijavo, " "da bi preprečili nenamerno prijavo iz Wordpress administracije." #: classes/class.swpm-auth.php:58 msgid "Click here" msgstr "Kliknite tukaj" #: classes/class.swpm-auth.php:58 msgid " to see the profile you are currently logged into in this browser." msgstr "" " če si želite ogleti profil, v katerega ste trenutno prijavljeni v tem " "brskalniku." #: classes/class.swpm-auth.php:59 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "V tem brskalniku ste prijavljeni na spletno mesto kot administrator. Najprej " "se odjavite iz WP Admin, da se boste potem lahko prijavili kot normalen član." #: classes/class.swpm-auth.php:60 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Druga možnost je, da uporabite drug brskalnik (kjer niste prijavljeni kot " "administrator), da preizkusite prijavo za članstvo." #: classes/class.swpm-auth.php:61 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Vaši obiskovalci ali člani tega sporočila ne bodo videli. To sporočilo je " "prikazano samo administratorju." #: classes/class.swpm-auth.php:68 msgid "Captcha validation failed on login form." msgstr "Preverjanje veljavnosti Captche v prijavnem obrazcu ni uspelo." #: classes/class.swpm-auth.php:93 msgid "User Not Found." msgstr "Uporabnik ni bil najden." #: classes/class.swpm-auth.php:100 msgid "Password Empty or Invalid." msgstr "Geslo prazno ali neveljavno." #: classes/class.swpm-auth.php:133 msgid "Account is inactive." msgstr "Račun ni aktiven." #: classes/class.swpm-auth.php:136 classes/class.swpm-auth.php:162 msgid "Account has expired." msgstr "Račun je potekel." #: classes/class.swpm-auth.php:139 msgid "Account is pending." msgstr "Račun je v čakanju." #: classes/class.swpm-auth.php:146 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Svoj račun morate aktivirati. Če e-poštnega sporočila niste prejeli, %s za " "ponovno pošiljanje e-poštnega sporočila za aktiviranje." #: classes/class.swpm-auth.php:146 #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 #: classes/class.swpm-utils-misc.php:169 msgid "click here" msgstr "kliknite tukaj" #: classes/class.swpm-auth.php:170 msgid "You are logged in as:" msgstr "Prijavljeni ste kot:" #: classes/class.swpm-auth.php:234 msgid "Logged Out Successfully." msgstr "Odjava uspešna." #: classes/class.swpm-auth.php:287 msgid "Session Expired." msgstr "Seja je potekla." #: classes/class.swpm-auth.php:304 msgid "Please login again." msgstr "Prosimo, prijavite se znova." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:40 views/admin_member_form_common_part.php:2 views/edit.php:75 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:229 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:273 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:99 msgid "Membership Level" msgstr "Raven članstva" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "ID kategorije" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Ime kategorije" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Vrsta kategorije (taksonomija)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Opis" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Število" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "Zaščita kategorije posodobljena!" #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "Ni najdene kategorije." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Za komentiranje se prosimo prijavite." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Za komentiranje se prosimo prijavite." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Komentarji nečlanom niso dovoljeni." #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Wordpress račun z danim uporabniškim imenom že obstaja, vendar se ne ujema z " "e-pošto." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " Za dokončanje registracije uporabite drugo uporabniško ime. Če želite " "uporabiti to uporabniško ime, morate vnesti pravilen e-poštni naslov, " "povezan z obstoječim Wordpress uporabnikom, da se povežete s tem računom." #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Wordpress račun z dano e-pošto že obstaja, vendar se uporabniško ime ne " "ujema." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " Za dokončanje registracije uporabite drug e-poštni naslov. Če želite " "uporabiti to e-poštno sporočilo, morate vnesti pravilno uporabniško ime, " "povezano z obstoječim uporabnikom WP, da se povežete s tem računom." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Uporabniško ime je obvezno" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Uporabniško ime vsebuje neveljaven znak" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Uporabniško ime že obstaja." #: classes/class.swpm-form.php:83 msgid "Password is required" msgstr "Geslo je potrebno" #: classes/class.swpm-form.php:90 msgid "Password mismatch" msgstr "Neskladje gesla" #: classes/class.swpm-form.php:101 msgid "Email is required" msgstr "E-pošta je potrebna" #: classes/class.swpm-form.php:105 msgid "Email is invalid" msgstr "E-pošta ni veljavna" #: classes/class.swpm-form.php:121 msgid "Email is already used." msgstr "Ta e-pošta je že uporabljena." #: classes/class.swpm-form.php:179 msgid "Member since field is invalid" msgstr "Član, ker je polje neveljavno" #: classes/class.swpm-form.php:190 msgid "Access starts field is invalid" msgstr "" #: classes/class.swpm-form.php:200 msgid "Gender field is invalid" msgstr "Polje spola ni veljavno" #: classes/class.swpm-form.php:211 msgid "Account state field is invalid" msgstr "Polje stanja računa ni veljavno" #: classes/class.swpm-form.php:218 msgid "Invalid membership level" msgstr "Neveljavna raven članstva" #: classes/class.swpm-front-registration.php:33 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "Napaka! Neveljavna zahteva. Ni bilo mogoče najti ujemanja za dano varnostno " "kodo in ID uporabnika." #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:274 views/login.php:36 msgid "Join Us" msgstr "Pridružite se nam" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "Brezplačno članstvo je na tej strani onemogočeno. Prosimo, da naročite " #: classes/class.swpm-front-registration.php:49 msgid " page to pay for a premium membership." msgstr " mesečno članstvo na naši strani." #: classes/class.swpm-front-registration.php:51 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Po plačilu boste prejeli edinstveno povezavo preko e-pošte. To povezavo " "uporabite za dokončanje registracije članstva." #: classes/class.swpm-front-registration.php:79 msgid "Security check: captcha validation failed." msgstr "Varnostno preverjanje: preverjanje veljavnosti Captche ni uspelo." #: classes/class.swpm-front-registration.php:89 msgid "You must accept the terms and conditions." msgstr "Sprejeti morate pogoje in določila." #: classes/class.swpm-front-registration.php:100 msgid "You must agree to the privacy policy." msgstr "Strinjati se morate s pravilnikom o zasebnosti." #: classes/class.swpm-front-registration.php:140 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "Potrditi morate svoj e-poštni naslov. Preverite e-pošto in upoštevajte " "navodila za dokončanje registracije." #: classes/class.swpm-front-registration.php:145 msgid "Registration Successful. " msgstr "Registracija uspešna. " #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 classes/class.swpm-utils-misc.php:285 msgid "Please" msgstr "Prosimo" #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 views/login.php:30 msgid "Login" msgstr "Prijavite se" #: classes/class.swpm-front-registration.php:159 msgid "Please correct the following" msgstr "Prosimo, popravite naslednje" #: classes/class.swpm-front-registration.php:207 msgid "Membership Level Couldn't be found." msgstr "Ravni članstva ni bilo mogoče najti." #: classes/class.swpm-front-registration.php:258 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" #: classes/class.swpm-front-registration.php:266 msgid "Profile updated successfully." msgstr "Profil je uspešno posodobljen." #: classes/class.swpm-front-registration.php:275 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profil je uspešno posodobljen. Zaradi spremembe gesla se ponovno prijavite." #: classes/class.swpm-front-registration.php:289 msgid "Please correct the following." msgstr "Prosimo, popravite naslednje." #: classes/class.swpm-front-registration.php:301 msgid "Captcha validation failed." msgstr "Preverjanje veljavnosti Captche ni uspelo." #: classes/class.swpm-front-registration.php:309 msgid "Email address not valid." msgstr "E-poštni naslov ni veljaven." #: classes/class.swpm-front-registration.php:320 msgid "No user found with that email address." msgstr "Noben uporabnik ni bil najden s tem e-poštnim naslovom." #: classes/class.swpm-front-registration.php:321 #: classes/class.swpm-front-registration.php:350 msgid "Email Address: " msgstr "E-poštni naslov: " #: classes/class.swpm-front-registration.php:349 msgid "New password has been sent to your email address." msgstr "Na vaš e-poštni naslov je bilo poslano novo geslo." #: classes/class.swpm-front-registration.php:371 msgid "Can't find member account." msgstr "Ne najdem računa člana." #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid "Account already active. " msgstr "Račun je že aktiven. " #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid " to login." msgstr " za prijavo." #: classes/class.swpm-front-registration.php:383 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "Neskladje aktivacijske kode. Tega računa ni mogoče aktivirati. Obrnite se na " "administratorja spletnega mesta." #: classes/class.swpm-front-registration.php:397 msgid "Success! Your account has been activated successfully." msgstr "Čestitamo! Vaš račun je bil uspešno aktiviran." #: classes/class.swpm-front-registration.php:421 msgid "Cannot find member account." msgstr "Računa člana ni mogoče najti." #: classes/class.swpm-front-registration.php:443 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "Aktivacijsko e-poštno sporočilo je bilo poslano. Preverite e-pošto in " "aktivirajte račun." #: classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Nonce verification failed." msgstr "Oprostite, preverjanje ni uspelo." #: classes/class.swpm-init-time-tasks.php:125 msgid "Sorry, Password didn't match." msgstr "Oprostite, gesla se ne ujemajo." #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "Oblika datuma ni veljavna." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "Trajanje dostopa mora biti > 0." #: classes/class.swpm-members.php:10 msgid "Member" msgstr "Uporabnik" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:20 views/add.php:16 views/admin_add.php:11 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Uporabniško ime" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:32 views/admin_member_form_common_part.php:15 #: views/edit.php:39 includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Ime" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:36 views/admin_member_form_common_part.php:19 #: views/edit.php:43 includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Priimek" #: classes/class.swpm-members.php:23 views/add.php:20 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "E-pošta" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Začetek dostopa" #: classes/class.swpm-members.php:26 includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Stanje računa" #: classes/class.swpm-members.php:27 msgid "Last Login Date" msgstr "Datum zadnje prijave" #: classes/class.swpm-members.php:46 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Izbriši" #: classes/class.swpm-members.php:47 msgid "Set Status to Active" msgstr "Nastavi status na Aktivno" #: classes/class.swpm-members.php:48 msgid "Set Status to Active and Notify" msgstr "Nastavi stanje na Aktivno in me obvesti" #: classes/class.swpm-members.php:49 msgid "Set Status to Inactive" msgstr "Nastavi stanje na Neaktivno" #: classes/class.swpm-members.php:50 msgid "Set Status to Pending" msgstr "Nastavi stanje na Čakanje" #: classes/class.swpm-members.php:51 msgid "Set Status to Expired" msgstr "Nastavi stanje na Poteklo" #: classes/class.swpm-members.php:72 msgid "incomplete" msgstr "nepopolno" #: classes/class.swpm-members.php:191 msgid "No member found." msgstr "Noben član ni bil najden." #: classes/class.swpm-members.php:337 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" #: classes/class.swpm-members.php:406 classes/class.swpm-members.php:436 msgid "Error! Please select a membership level first." msgstr "Napaka! Najprej izberite raven članstva." #: classes/class.swpm-members.php:423 msgid "Membership level change operation completed successfully." msgstr "Operacija spremembe ravni članstva se je uspešno zaključila." #: classes/class.swpm-members.php:453 msgid "Access starts date change operation successfully completed." msgstr "Sprememba datuma začetka dostopa je uspešna." #: classes/class.swpm-members.php:462 msgid "Bulk Update Membership Level of Members" msgstr "" #: classes/class.swpm-members.php:465 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Raven članstva katerega koli člana lahko ročno spremenite tako, da uredite " "zapis v seznamu članov. " #: classes/class.swpm-members.php:466 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "To možnost lahko uporabite za množično posodobite ravne članstva " "uporabnikov, ki pripadajo ravni, ki jo izberete spodaj." #: classes/class.swpm-members.php:472 classes/class.swpm-members.php:520 msgid "Membership Level: " msgstr "Raven članstva: " #: classes/class.swpm-members.php:476 msgid "Select Current Level" msgstr "Izberi trenutno raven" #: classes/class.swpm-members.php:479 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" "Izberite trenutno raven članstva (raven članstva vseh članov, ki so na tej " "ravni, bodo posodobljena)." #: classes/class.swpm-members.php:485 msgid "Level to Change to: " msgstr "Raven, v katero članstvo spreminjate: " #: classes/class.swpm-members.php:489 msgid "Select Target Level" msgstr "Izberite ciljno raven" #: classes/class.swpm-members.php:492 msgid "Select the new membership level." msgstr "Izberite novo raven članstva." #: classes/class.swpm-members.php:498 msgid "Bulk Change Membership Level" msgstr "Skupinska sprememba ravni članstev" #: classes/class.swpm-members.php:508 msgid "Bulk Update Access Starts Date of Members" msgstr "" #: classes/class.swpm-members.php:512 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" #: classes/class.swpm-members.php:513 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Določeno vrednost datuma začetka dostopa lahko ročno nastavite za vse člane, " "ki pripadajo določeni ravni, in to z naslednjo možnostjo." #: classes/class.swpm-members.php:523 msgid "Select Level" msgstr "Izberite raven" #: classes/class.swpm-members.php:526 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Izberite raven članstva (datum začetka dostopa vseh članov, ki so na tej " "ravni, bo posodobljen)." #: classes/class.swpm-members.php:535 msgid "Specify the access starts date value." msgstr "Določite vrednost datuma začetka dostopa." #: classes/class.swpm-members.php:541 msgid "Bulk Change Access Starts Date" msgstr "" #: classes/class.swpm-members.php:576 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Člani" #: classes/class.swpm-members.php:577 #: classes/class.swpm-membership-levels.php:226 views/admin_members_list.php:44 msgid "Add New" msgstr "Dodaj novo" #: classes/class.swpm-members.php:582 views/admin_add.php:6 msgid "Add Member" msgstr "Dodaj člana" #: classes/class.swpm-members.php:583 msgid "Bulk Operation" msgstr "Množično delovanje" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Ustvarjanje ravni članstva uspešno." #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Raven članstva je bila uspešno posodobljena." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Vloga" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Dostop veljaven za/do" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "Ni bilo najdenih ravni članstva." #: classes/class.swpm-membership-levels.php:197 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" #: classes/class.swpm-membership-levels.php:216 views/admin_members_list.php:31 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Išči" #: classes/class.swpm-membership-levels.php:261 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Ravni članstva" #: classes/class.swpm-membership-levels.php:266 msgid "Add Level" msgstr "Dodaj raven" #: classes/class.swpm-membership-levels.php:267 msgid "Manage Content Protection" msgstr "Upravljanje zaščite vsebine" #: classes/class.swpm-membership-levels.php:268 msgid "Category Protection" msgstr "Zaščita kategorije" #: classes/class.swpm-membership-levels.php:269 msgid "Post and Page Protection" msgstr "Zaščita prispevkov in strani" #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Datum" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Naslov" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Avtor" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Stanje" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Kategorije" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Vrsta" #: classes/class.swpm-post-list.php:125 msgid "Protection settings updated!" msgstr "Nastavitve zaščite posodobljene!" #: classes/class.swpm-post-list.php:230 msgid "No items found." msgstr "Ne najdem ničesar." #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "Kategorija ali nadrejena kategorija te objave je zaščitena. Nastavitve " "zaščite kategorije lahko spremenite v " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "meniju za zaščito kategorije" #: classes/class.swpm-settings.php:26 classes/class.swpm-settings.php:54 msgid "General Settings" msgstr "Splošne nastavitve" #: classes/class.swpm-settings.php:27 msgid "Payment Settings" msgstr "Nastavitve plačila" #: classes/class.swpm-settings.php:28 msgid "Email Settings" msgstr "Nastavitve e-pošte" #: classes/class.swpm-settings.php:29 msgid "Tools" msgstr "Orodja" #: classes/class.swpm-settings.php:30 classes/class.swpm-settings.php:187 msgid "Advanced Settings" msgstr "Napredne nastavitve" #: classes/class.swpm-settings.php:31 msgid "Addons Settings" msgstr "Nastavitve dodatkov" #: classes/class.swpm-settings.php:53 msgid "Plugin Documentation" msgstr "Dokumentacija vtičnika" #: classes/class.swpm-settings.php:55 msgid "Enable Free Membership" msgstr "Omogoči brezplačno članstvo" #: classes/class.swpm-settings.php:56 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Omogočite/onemogočite registracijo za brezplačno raven članstva. Ko " "omogočite to možnost, v spodnjem polju navedite brezplačni ID ravni članstva." #: classes/class.swpm-settings.php:57 msgid "Free Membership Level ID" msgstr "ID brezplačne ravni članstva" #: classes/class.swpm-settings.php:58 msgid "Assign free membership level ID" msgstr "Dodelite ID brezplačne ravni članstva" #: classes/class.swpm-settings.php:59 msgid "Enable More Tag Protection" msgstr "Omogoči več zaščite oznak" #: classes/class.swpm-settings.php:60 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Omogoča ali onemogoči zaščito oznak »več« v objavah in straneh. Vse po več " "oznako je zaščitena. Vse, kar je pred več oznako je teaser vsebina." #: classes/class.swpm-settings.php:61 msgid "Hide Adminbar" msgstr "Skrij skrbniško vrstico" #: classes/class.swpm-settings.php:62 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress prikaže skrbniško orodno vrstico prijavljenim skrbnikom spletnega " "mesta. Obkljukajte, če želite skriti to skrbniško orodno vrstico na " "frontendu spletnega mesta." #: classes/class.swpm-settings.php:63 msgid "Show Adminbar to Admin" msgstr "Pokaži skrbniško vrstico skrbniku" #: classes/class.swpm-settings.php:64 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "To možnost uporabite, če želite skrbniku pokazati orodno vrstico samo za " "administratorje. Skrbniška orodna vrstica bo skrita za vse druge ravni " "skrbništva spletne strani." #: classes/class.swpm-settings.php:65 msgid "Disable Access to WP Dashboard" msgstr "Onemogoči dostop do Wordpress nadzorne plošče" #: classes/class.swpm-settings.php:66 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashbaord. Using this option will prevent any " "non admin users from going to the wp dashboard." msgstr "" "WordPress omogoča standardnemu uporabnik Wordpressa, da lahko gre na “wp-" "admin” URL in dostopa do njegovega profila iz Wordpress nadzorne plošče. S " "to možnostjo boste preprečili, da bi vsi uporabniki, ki niso skrbniki, lahko " "prišli na Wordpress nadzorno ploščo." #: classes/class.swpm-settings.php:68 classes/class.swpm-settings.php:242 msgid "Default Account Status" msgstr "Privzeto stanje računa" #: classes/class.swpm-settings.php:71 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Izberite privzeto stanje računa za novo registrirane uporabnike. Če želite " "člane ročno odobriti, lahko stanje nastavite na »Neohajano«." #: classes/class.swpm-settings.php:73 msgid "Members Must be Logged in to Comment" msgstr "Člani morajo biti prijavljeni za komentiranje" #: classes/class.swpm-settings.php:74 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Omogočite to možnost, če želite da lahko člani spletnega mesta objavljajo le " "komentarje." #: classes/class.swpm-settings.php:83 msgid "Pages Settings" msgstr "Nastavitve strani" #: classes/class.swpm-settings.php:84 msgid "Login Page URL" msgstr "URL prijavne strani" #: classes/class.swpm-settings.php:86 msgid "Registration Page URL" msgstr "URL registracijske strani" #: classes/class.swpm-settings.php:88 msgid "Join Us Page URL" msgstr "URL strani Pridružite se nam" #: classes/class.swpm-settings.php:90 msgid "Edit Profile Page URL" msgstr "URL strani Uredi profil" #: classes/class.swpm-settings.php:92 msgid "Password Reset Page URL" msgstr "URL strani za ponastavitev gesla" #: classes/class.swpm-settings.php:95 msgid "Test & Debug Settings" msgstr "" #: classes/class.swpm-settings.php:97 msgid "Check this option to enable debug logging." msgstr "" #: classes/class.swpm-settings.php:98 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" #: classes/class.swpm-settings.php:100 msgid "View general debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:100 classes/class.swpm-settings.php:101 #: classes/class.swpm-settings.php:102 msgid "here" msgstr "" #: classes/class.swpm-settings.php:101 msgid "View login related debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:102 msgid "Reset debug log files by clicking " msgstr "" #: classes/class.swpm-settings.php:103 msgid "Enable Debug" msgstr "" #: classes/class.swpm-settings.php:105 msgid "Enable Sandbox Testing" msgstr "" #: classes/class.swpm-settings.php:106 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" #: classes/class.swpm-settings.php:119 msgid "Email Settings Overview" msgstr "Pregled nastavitev e-pošte" #: classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "" #: classes/class.swpm-settings.php:122 msgid "From Email Address" msgstr "Iz e-poštnega naslova" #: classes/class.swpm-settings.php:126 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Nastavitve e-pošte (Poziv k popolni registraciji)" #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:158 classes/class.swpm-settings.php:163 #: classes/class.swpm-settings.php:168 classes/class.swpm-settings.php:173 msgid "Email Subject" msgstr "Zadeva e-pošte" #: classes/class.swpm-settings.php:129 classes/class.swpm-settings.php:142 #: classes/class.swpm-settings.php:159 classes/class.swpm-settings.php:164 #: classes/class.swpm-settings.php:169 classes/class.swpm-settings.php:174 msgid "Email Body" msgstr "Telo e-poštnega sporočila" #: classes/class.swpm-settings.php:133 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Vnesite e-poštni naslov, kamor želite poslati e-poštno obvestilo " "administratorja." #: classes/class.swpm-settings.php:134 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" " V zgornje polje lahko vstavite več e-poštnih naslovov, ločenih z vejico " "(,), da pošljete obvestilo na več e-poštnih naslovov." #: classes/class.swpm-settings.php:136 msgid "Enter the subject for the admin notification email." msgstr "Vnesite zadevo za e-poštno obvestilo administratorju." #: classes/class.swpm-settings.php:137 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "To e-poštno sporočilo bo poslano administratorju, ko novi uporabnik dokonča " "registracijo članstva. Deluje le, če ste zgoraj omogočili možnost »Pošlji " "obvestilo administratorju«." #: classes/class.swpm-settings.php:139 msgid "Email Settings (Registration Complete)" msgstr "Nastavitve e-pošte (končana registracija)" #: classes/class.swpm-settings.php:144 msgid "Send Notification to Admin" msgstr "Pošlji obvestilo administratorju" #: classes/class.swpm-settings.php:145 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Omogočite to možnost, če želite, da administrator prejme obvestilo, ko se " "član registrira." #: classes/class.swpm-settings.php:146 msgid "Admin Email Address" msgstr "E-poštni naslov administratorja " #: classes/class.swpm-settings.php:148 msgid "Admin Notification Email Subject" msgstr "Zadeva e-poštnega obvestila administratorju" #: classes/class.swpm-settings.php:150 msgid "Admin Notification Email Body" msgstr "Telo e-poštnega obvestila administratorju" #: classes/class.swpm-settings.php:153 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Pošlji e-pošto članu, ko je ta dodan prek Wordpress nadzorne plošče" #: classes/class.swpm-settings.php:157 msgid "Email Settings (Password Reset)" msgstr "Nastavitve e-pošte (Ponastavitev gesla)" #: classes/class.swpm-settings.php:162 msgid " Email Settings (Account Upgrade Notification)" msgstr " Nastavitve e-pošte (obvestilo o nadgradnji računa)" #: classes/class.swpm-settings.php:167 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "" #: classes/class.swpm-settings.php:172 msgid " Email Settings (Email Activation)" msgstr " Nastavitve e-pošte (Aktiviranje e-pošte)" #: classes/class.swpm-settings.php:189 msgid "Enable Expired Account Login" msgstr "Omogoči prijavo na račun po njegovem poteku" #: classes/class.swpm-settings.php:190 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Če je to omogočeno, se bodo lahko člani, katerim je članstvo poteklo, " "prijavili v sistem, vendar si ne bodo mogli ogledati zaščitene vsebine. To " "jim omogoča enostavno podaljšanje računa z drugim plačilom." #: classes/class.swpm-settings.php:192 msgid "Membership Renewal URL" msgstr "URL obnovitve članstva" #: classes/class.swpm-settings.php:193 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Za svoje mesto lahko ustvarite stran za obnovitev. Preberite to dokumentacijo, če želite izvedeti, kako ustvariti " "stran za obnovitev." #: classes/class.swpm-settings.php:195 msgid "After Registration Redirect URL" msgstr "Preusmeritveni URL po registraciji" #: classes/class.swpm-settings.php:196 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after registration " "redirect." msgstr "" "Tukaj lahko vnesete URL, da preusmerite člane na to stran, potem ko pošljejo " "obrazec za registracijo. Preberite to dokumentacijo in se naučite nastaviti preusmeritev po " "registraciji." #: classes/class.swpm-settings.php:198 msgid "Enable Auto Login After Registration" msgstr "Omogoči samodejno prijavo po registraciji" #: classes/class.swpm-settings.php:199 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" "Uporabite to možnost, če želite, da so člani samodejno prijavljeni na vaše " "mesto takoj po končani registraciji. Ta možnost bo preklicala vse " "preusmeritve po registraciji in namesto tega sprožila preusmeritev po " "prijavi. Preberite to dokumentacijo, " "če želite izvedeti več." #: classes/class.swpm-settings.php:201 msgid "After Logout Redirect URL" msgstr "Preusmeritveni URL po odjavi" #: classes/class.swpm-settings.php:202 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" "Tukaj lahko vnesete URL, da preusmerite člane na to stran, potem ko kliknejo " "povezavo za odjavo s spletnega mesta." #: classes/class.swpm-settings.php:204 msgid "Logout Member on Browser Close" msgstr "Odjava člana po zaprtju brskalnika" #: classes/class.swpm-settings.php:205 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" "Omogočite to možnost, če želite, da je član odjavljen iz računa, ko zapre " "brskalnik." #: classes/class.swpm-settings.php:207 msgid "Allow Account Deletion" msgstr "Dovoli brisanje računa" #: classes/class.swpm-settings.php:208 msgid "Allow users to delete their accounts." msgstr "Uporabnikom dovolite, da izbrišejo svoje račune." #: classes/class.swpm-settings.php:210 msgid "Force Strong Password for Members" msgstr "Sili močno geslo za člane" #: classes/class.swpm-settings.php:211 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" "Omogočite to, če želite, da so uporabniki prisiljeni uporabiti močno geslo " "za svoje račune." #: classes/class.swpm-settings.php:213 msgid "Use WordPress Timezone" msgstr "Uporaba Wordpress časovnega pasu" #: classes/class.swpm-settings.php:214 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" "Uporabite to možnost, če želite uporabiti vrednost časovnega pasu, ki je " "določena v vmesniku za splošne nastavitve WordPress." #: classes/class.swpm-settings.php:216 msgid "Auto Delete Pending Account" msgstr "Samodejni izbris računov na čakanju" #: classes/class.swpm-settings.php:219 msgid "Select how long you want to keep \"pending\" account." msgstr "Izberite, koliko časa želite ohraniti račun »na čakanju«." #: classes/class.swpm-settings.php:221 msgid "Admin Dashboard Access Permission" msgstr "Dovoljenje za dostop do nadzorne plošče administratorja" #: classes/class.swpm-settings.php:224 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" #: classes/class.swpm-settings.php:226 msgid "Force WP User Synchronization" msgstr "Sili Wordpress sinhronizacijo uporabnikov" #: classes/class.swpm-settings.php:227 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" "Omogočite to možnost, če želite prisiliti, da se prijava člana sinhronizira " "z Wordpress uporabniškim računom. To je lahko koristno, če uporabljate drug " "vtičnik, ki uporablja WP uporabniške zapise. Na primer: bbPress plugin." #: classes/class.swpm-settings.php:230 msgid "Create Member Accounts for New WP Users" msgstr "" #: classes/class.swpm-settings.php:232 msgid "Enable Auto Create Member Accounts" msgstr "" #: classes/class.swpm-settings.php:233 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" #: classes/class.swpm-settings.php:236 msgid "Default Membership Level" msgstr "Privzeta raven članstva" #: classes/class.swpm-settings.php:239 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" "Ko samodejno ustvarite račun člana s to funkcijo, bo raven članstva " "uporabnika nastavljena na raven, ki jo določite tukaj." #: classes/class.swpm-settings.php:245 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" "Ko samodejno ustvarite račun člana s to funkcijo, bo stanje računa članstva " "uporabnika nastavljeno na stanje, ki ga določite tukaj." #: classes/class.swpm-settings.php:247 msgid "Payment Notification Forward URL" msgstr "URL za posredovanje obvestila o plačilu" #: classes/class.swpm-settings.php:248 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" "Tukaj lahko vnesete URL, da pošljete obvestilo o plačilu po tem, ko je ta " "vtičnik obdeloval plačilo članstva. Koristno, če želite obvestilo o plačilu " "posredovati zunanji skripti za nadaljnjo obdelavo." #: classes/class.swpm-settings.php:251 views/add.php:65 msgid "Terms and Conditions" msgstr "Določila in pogoji poslovanja" #: classes/class.swpm-settings.php:253 msgid "Enable Terms and Conditions" msgstr "Omogoči pogoje in določila" #: classes/class.swpm-settings.php:254 msgid "Users must accept the terms before they can complete the registration." msgstr "" "Uporabniki morajo sprejeti pogoje, preden lahko dokončajo registracijo." #: classes/class.swpm-settings.php:255 msgid "Terms and Conditions Page URL" msgstr "URL strani s pogoji in določili" #: classes/class.swpm-settings.php:256 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" "Vnesite URL strani s pogoji poslovanja. Lahko ustvarite WordPress stran in " "določite svoje pogoje tam nato določite URL te strani v zgornjem polju." #: classes/class.swpm-settings.php:257 msgid "Enable Privacy Policy" msgstr "Omogoči pravilnik zasebnosti" #: classes/class.swpm-settings.php:258 msgid "Users must accept it before they can complete the registration." msgstr "Uporabniki ga morajo sprejeti, preden lahko dokončajo registracijo." #: classes/class.swpm-settings.php:259 msgid "Privacy Policy Page URL" msgstr "URL strani s pravilnikom o zasebnosti" #: classes/class.swpm-settings.php:260 msgid "Enter the URL of your privacy policy page." msgstr "Vnesite URL strani pravilnika o zasebnosti." #: classes/class.swpm-settings.php:350 classes/class.swpm-settings.php:396 #: classes/class.swpm-settings.php:425 msgid "Settings updated!" msgstr "Nastavitve posodobljene!" #: classes/class.swpm-settings.php:355 msgid "General Plugin Settings." msgstr "Splošne nastavitve vtičnika." #: classes/class.swpm-settings.php:359 msgid "Page Setup and URL Related settings." msgstr "Nastavitve strani in nastavitve povezane z URL-ji." #: classes/class.swpm-settings.php:362 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" "Za pravilno delovanje vtičnika so potrebne naslednje strani. Te strani je " "vtičnik samodejno ustvaril ob namestitvi." #: classes/class.swpm-settings.php:367 msgid "Testing and Debug Related Settings." msgstr "" #: classes/class.swpm-settings.php:371 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "To e-poštno sporočilo bo poslano uporabnikom, ko dokončajo registracijo in " "postanejo član." #: classes/class.swpm-settings.php:375 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "To e-poštno sporočilo bo poslano uporabnikom, ko bodo uporabljali funkcijo " "ponastavitve gesla." #: classes/class.swpm-settings.php:381 msgid "" "This interface lets you custsomize the various emails that gets sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" "Ta vmesnik vam omogoča, da prilagodite e-poštna sporočila, ki se pošljejo " "članom za različna dejanja. Privzete nastavitve so dovolj dobre za začetek." #: classes/class.swpm-settings.php:385 views/admin_tools_settings.php:82 msgid "This documentation" msgstr "Ta dokumentacija" #: classes/class.swpm-settings.php:386 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" " pojasnjuje, katere oznake spajanja e-pošte lahko uporabite v telesu e-" "pošte, da jo prilagodite (če želite)." #: classes/class.swpm-settings.php:399 msgid "Settings in this section apply to all emails." msgstr "Nastavitve v tem razdelku veljajo za vsa e-poštna sporočila." #: classes/class.swpm-settings.php:403 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "To e-poštno sporočilo bo poslano uporabnikom po nadgradnji računa (ko " "obstoječi član plača novo raven članstva)." #: classes/class.swpm-settings.php:407 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "To e-poštno sporočilo bo poslano članom, ko uporabite množično aktiviranje " "in se odločite za obveščanje članov o dejanju množičnega računa." #: classes/class.swpm-settings.php:408 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" " V tem e-poštnem sporočilu ne morete uporabljati oznak za spajanje e-pošte. " "Uporabljate lahko le generično besedilo." #: classes/class.swpm-settings.php:413 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" "To e-poštno sporočilo bo poslano, če je aktiviranje e-pošte omogočeno za " "raven članstva." #: classes/class.swpm-settings.php:417 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "To e-poštno sporočilo bo poslano uporabnikom, naj po plačilu dokončajo " "registracijo." #: classes/class.swpm-settings.php:428 msgid "This page allows you to configure some advanced features of the plugin." msgstr "" #: classes/class.swpm-settings.php:432 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" #: classes/class.swpm-settings.php:436 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" #: classes/class.swpm-settings.php:565 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Nastavitve" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 msgid "User is not logged in." msgstr "Uporabnik ni prijavljen." #: classes/class.swpm-utils-member.php:80 msgid "No Expiry" msgstr "Brez datuma poteka" #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Registracija" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Prijava za člane" #: classes/class.swpm-utils-misc.php:96 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:117 msgid "Profile" msgstr "Profil" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Ponastavitev gesla" #: classes/class.swpm-utils-misc.php:168 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "V nekaj sekundah boste samodejno preusmerjeni. Če ne, prosim %s." #: classes/class.swpm-utils-misc.php:172 msgid "Action Status" msgstr "Stanje dejanja" #: classes/class.swpm-utils-misc.php:274 msgid "Not a Member?" msgstr "Niste član?" #: classes/class.swpm-utils-misc.php:285 msgid "renew" msgstr "obnovi" #: classes/class.swpm-utils-misc.php:285 msgid " your account to gain access to this content." msgstr " svoj račun za dostop do te vsebine." #: classes/class.swpm-utils-misc.php:343 classes/class.swpm-utils-misc.php:349 msgid "Error! This action (" msgstr "" #: classes/class.swpm-utils-misc.php:421 msgid "(Please Select)" msgstr "(Izberite prosim)" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "" #: classes/class.swpm-utils.php:101 msgid "Never" msgstr "Nikoli" #: classes/class.swpm-utils.php:116 views/admin_members_list.php:19 msgid "Active" msgstr "Aktivno" #: classes/class.swpm-utils.php:117 views/admin_members_list.php:20 msgid "Inactive" msgstr "Neaktiven" #: classes/class.swpm-utils.php:118 views/admin_members_list.php:21 msgid "Activation Required" msgstr "Potrebna je aktivacija" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Moški" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Ženska" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "Ni določeno" #: classes/class.swpm-utils.php:119 views/admin_members_list.php:22 msgid "Pending" msgstr "Na čakanju" #: classes/class.swpm-utils.php:120 views/admin_members_list.php:24 msgid "Expired" msgstr "Poteklo" #: classes/class.swpm-utils.php:414 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Izbriši račun" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Naslov plačilnega gumba" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Vrsta Gumba" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "Izbrani vnos je bil izbrisan!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple Membership::Plačila" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "Transakcije" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "Upravljanje plačilnih gumbov" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Ustvari nov gumb" #: classes/admin-includes/class.swpm-payments-list-table.php:57 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Poglej profil" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "E-poštni naslov" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Profil člana" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "ID transakcije" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "ID člana" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Znesek" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Your membership profile will be updated to reflect the payment." msgstr "Vaš profil članstva bo posodobljen tako, da odraža plačilo." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Your profile username: " msgstr "Uporabniško ime vašega profila: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:73 msgid "Click on the following link to complete the registration." msgstr "Kliknite na naslednjo povezavo, da dokončate registracijo." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:74 msgid "Click here to complete your paid registration" msgstr "Kliknite tukaj, da dokončate plačljive registracije" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:79 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Če ste pravkar opravili plačilo za članstvo, je vaše plačilo v obdelavi. " "Prosim, preverite še enkrat v nekaj minutah. V kratkem vam bo poslano tudi e-" "poštno sporočilo s podrobnostmi." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:93 msgid "Expiry: " msgstr "Iztek: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "You are not logged-in as a member" msgstr "Niste prijavljeni kot član" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:115 msgid "Logged in as: " msgstr "Prijavljen kot: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:118 #: views/loggedin.php:31 msgid "Logout" msgstr "Odjava" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 msgid "Login Here" msgstr "Prijavi se" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:122 msgid "Not a member? " msgstr "Niste član? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:123 msgid "Join Now" msgstr "Včlanite se zdaj" #: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285 #, php-format msgid "Error occured during payment verification. Error code: %d. Message: %s" msgstr "" "Med preverjanjem plačila je prišlo do napake. Koda napake: %d. Sporočilo: %s" #: ipn/swpm-smart-checkout-ipn.php:298 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %s %s, got %s %s." msgstr "" "Preverjanje plačila ni uspelo: prejeti neveljaven znesek. Pričakovano %s %s, " "dobil %s %s." #: ipn/swpm-smart-checkout-ipn.php:315 msgid "Empty payment data received." msgstr "Prejeti prazni podatki o plačilu." #: ipn/swpm-smart-checkout-ipn.php:355 msgid "IPN product validation failed. Check debug log for more details." msgstr "" #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "Račun boste izbrisali. S tem boste izbrisali uporabniške podatke, povezane s " "tem računom. " #: views/account_delete_warning.php:8 msgid "It will also delete associated WordPress user account." msgstr "Prav tako se bo izbrisal pridruženi WordPress uporabniški račun." #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(OPOMBA: za varnost ne dovolimo izbrisa katerega koli povezanega WordPress " "računa z administratorsko vlogo)." #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "Nadaljuj?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Geslo: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Potrditev brisanja računa" #: views/add.php:24 views/admin_add.php:19 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:17 msgid "Password" msgstr "Geslo" #: views/add.php:28 views/edit.php:35 msgid "Repeat Password" msgstr "Ponovitev gesla" #: views/add.php:65 msgid "I accept the " msgstr "Sprejemam " #: views/add.php:77 msgid "I agree to the " msgstr "Strinjam se z " #: views/add.php:77 msgid "Privacy Policy" msgstr "Pravilnik o zasebnosti" #: views/add.php:88 msgid "Register" msgstr "Registracija" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Ustvarite novega uporabnika in ga dodajte na to spletno stran." #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(zahtevano)" #: views/admin_add.php:15 views/admin_edit.php:40 msgid "E-mail" msgstr "E-pošta" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(dvakrat, zahtevano)" #: views/admin_add.php:24 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Indikator kakovosti gesla" #: views/admin_add.php:25 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Namig: Geslo mora biti dolgo vsaj sedem znakov. Da bo močnejši, uporabite " "zgornje in spodnje črke, številke in simbole, kot so ! \" ? $ % ^ & )." #: views/admin_add.php:29 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Status računa" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Dodaj novega člana " #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Shrani spremembe" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Dodaj raven članstva" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "Ustvarite novo raven članstva." #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "Ime ravni članstva" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "Privzeta Wordpress vloga" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "Trajanje dostopa" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Brez izteka veljavnosti (Dostop za to raven ne bo potekel, dokler ni " "preklican" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "Poteče po" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "Dnevi (Dostop poteče po danem številu dni)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "Tedni (Dostop poteče po danem številu tednov" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "Meseci (Dostop poteče po danem številu mesecev)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "Leta (Dostop poteče po danem številu let)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "Končen datum dostopa" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(Dostop poteče na določen datum)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "Aktiviranje e-pošte" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" "Omogočite aktiviranje novega uporabnika preko e-pošte. Če je omogočeno, bodo " "člani morali klikniti na aktivacijsko povezavo, ki bo poslana na njihov e-" "poštni naslov za aktiviranje računa. Uporabno za brezplačno članstvo. " #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "Ogled dokumentacije" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "Opomba:" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" "Če je omogočeno, je dešifrirano geslo člana začasno shranjeno v zbirki " "podatkov, dokler se račun ne aktivira." #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "Dodaj novo raven članstva " #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_category_list.php:11 views/admin_post_list.php:11 msgid "Read the " msgstr "Preberite " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "dokumentacija o varstvu kategorije" #: views/admin_category_list.php:17 views/admin_post_list.php:27 msgid "Membership Level:" msgstr "Raven članstva:" #: views/admin_category_list.php:19 views/admin_post_list.php:29 msgid "General Protection" msgstr "Splošna zaščita" #: views/admin_category_list.php:23 views/admin_post_list.php:33 #: views/edit.php:83 msgid "Update" msgstr "Posodobi" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Uredi člana" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Uredite obstoječe podrobnosti o članu." #: views/admin_edit.php:14 msgid " You are currenty editing member with member ID: " msgstr " Trenutno urejate člana z ID-jem člana: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(dvakrat pustite prazno za obhajanje starega gesla)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" "To je stanje računa člana. Če želite ročno aktivirati račun člana, ki je " "poteklo, preberite" #: views/admin_edit.php:60 msgid "this documentation" msgstr "to dokumentacijo" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " da se naučite, kako to storiti." #: views/admin_edit.php:66 msgid "Notify User" msgstr "Obvesti uporabnika" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" "To možnost lahko uporabite za pošiljanje hitrega e-poštnega obvestila temu " "članu (e-poštno sporočilo bo poslano, ko pritisnete gumb za shranjevanje " "spodaj)." #: views/admin_edit.php:75 msgid "Subscriber ID/Reference" msgstr "ID naročnika/sklic" #: views/admin_edit.php:79 msgid "Last Accessed Date" msgstr "Datum zadnjega dostopa" #: views/admin_edit.php:82 views/admin_edit.php:89 msgid "This value gets updated when this member logs into your site." msgstr "Ta vrednost se posodobi, ko se ta član prijavi na vaše mesto." #: views/admin_edit.php:86 msgid "Last Accessed From IP" msgstr "Zadnji dostop iz IP" #: views/admin_edit.php:97 msgid "Save Data" msgstr "Shranjevanje podatkov" #: views/admin_edit.php:102 msgid "Delete User Profile" msgstr "Izbriši uporabniški profil" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Urejanje ravni članstva" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "Podrobnosti o izbrani ravni članstva lahko urejate iz tega vmesnika. " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "Trenutno urejate: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Brez izteka veljavnosti (Dostop za to raven ne bo potekel do preklica)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "Tedni (Dostop poteče po danem številu tednov)" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" "Omogočite aktiviranje novega uporabnika preko e-pošte. Ko je omogočeno, bodo " "člani morali klikniti na aktivacijsko povezavo, ki je poslana na njihov e-" "poštni naslov za aktiviranje računa. Uporabno za brezplačno članstvo." #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "Shrani raven članstva " #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Primer nastavitve zaščite vsebine" #: views/admin_members_list.php:18 msgid "All" msgstr "Vse" #: views/admin_members_list.php:23 msgid "Incomplete" msgstr "Nepopolne" #: views/admin_member_form_common_part.php:23 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Spol" #: views/admin_member_form_common_part.php:30 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Telefon" #: views/admin_member_form_common_part.php:34 views/edit.php:51 msgid "Street" msgstr "Ulica" #: views/admin_member_form_common_part.php:38 views/edit.php:55 msgid "City" msgstr "Mesto" #: views/admin_member_form_common_part.php:42 views/edit.php:59 msgid "State" msgstr "Regija" #: views/admin_member_form_common_part.php:46 views/edit.php:63 msgid "Zipcode" msgstr "Poštna številka" #: views/admin_member_form_common_part.php:50 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Država" #: views/admin_member_form_common_part.php:54 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Podjetje" #: views/admin_member_form_common_part.php:58 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Član Od" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr "" #: views/admin_post_list.php:21 msgid "Posts" msgstr "Prispevki" #: views/admin_post_list.php:22 msgid "Pages" msgstr "Strani" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "Objave po meri" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "Zahtevane strani so bile ponovno ustvarjene." #: views/admin_tools_settings.php:21 msgid "Generate a Registration Completion link" msgstr "Ustvari povezavo za dokončanje registracije" #: views/admin_tools_settings.php:24 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Tukaj lahko ročno ustvarite povezavo za dokončanje registracije in jo daste " "stranki, če so zamudili e-poštno sporočilo, ki mu je bilo po plačilu " "samodejno poslano." #: views/admin_tools_settings.php:29 msgid "Generate Registration Completion Link" msgstr "Ustvari povezavo za dokončanje registracije" #: views/admin_tools_settings.php:30 msgid "For a Particular Member ID" msgstr "Za določen ID člana" #: views/admin_tools_settings.php:32 msgid "OR" msgstr "ALI" #: views/admin_tools_settings.php:33 msgid "For All Incomplete Registrations" msgstr "Za vse nepopolne registracije" #: views/admin_tools_settings.php:38 msgid "Send Registration Reminder Email Too" msgstr "Pošlji tudi e-pošto opomnika za registracijo" #: views/admin_tools_settings.php:44 msgid "Submit" msgstr "Pošlji" #: views/admin_tools_settings.php:53 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Povezave so uspešno ustvarjene. Za dokončanje registracije se lahko " "uporabijo naslednje povezave." #: views/admin_tools_settings.php:55 msgid "Registration completion links will appear below" msgstr "Povezave za dokončanje registracije bodo prikazane spodaj" #: views/admin_tools_settings.php:65 msgid "A prompt to complete registration email was also sent." msgstr "Poslan je bil tudi poziv za dokončanje registracijske e-pošte." #: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88 msgid "Re-create the Required Pages" msgstr "Ponovno ustvarite zahtevane strani" #: views/admin_tools_settings.php:81 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" "Če ste po nesreči izbrisali zahtevane strani, ki jih ta vtičnik ustvari ob " "namestitvi, lahko za ponovno ustvarjanje uporabite to možnost." #: views/admin_tools_settings.php:82 msgid " has full explanation." msgstr " ima popolno razlago." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Pustite prazno, če želite obdržati trenutno geslo" #: views/edit.php:71 msgid "Company Name" msgstr "Naziv podjetja" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Ponastavi geslo" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Prijavljeni ste kot" #: views/loggedin.php:14 msgid "Membership" msgstr "Članstvo" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Potek računa" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Uredi profil" #: views/login.php:11 msgid "Username or Email" msgstr "Uporabniško ime ali e-naslov" #: views/login.php:24 msgid "Remember Me" msgstr "Zapomni si me" #: views/login.php:33 msgid "Forgot Password?" msgstr "Pozabljeno geslo?" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Vsa plačila/transakcije vaših članov so zabeležena tukaj." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Iskanje transakcije z uporabo e-pošte ali imena" #: views/payments/admin_create_payment_buttons.php:15 msgid "" "You can create new payment button for your memberships using this interface." msgstr "S tem vmesnikom lahko ustvarite nov plačilni gumb za članstvo." #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "Izberite vrsto plačilnega gumba" #: views/payments/admin_create_payment_buttons.php:26 msgid "PayPal Buy Now" msgstr "PayPal Kupi zdaj" #: views/payments/admin_create_payment_buttons.php:28 msgid "PayPal Subscription" msgstr "PayPal naročnina" #: views/payments/admin_create_payment_buttons.php:30 msgid "PayPal Smart Checkout" msgstr "PayPal Pametna blagajna" #: views/payments/admin_create_payment_buttons.php:32 msgid "Stripe Buy Now" msgstr "Stripe Kupi zdaj" #: views/payments/admin_create_payment_buttons.php:34 msgid "Stripe Subscription" msgstr "Stripe naročniški sistem" #: views/payments/admin_create_payment_buttons.php:36 msgid "Braintree Buy Now" msgstr "Braintree Kupi zdaj" #: views/payments/admin_create_payment_buttons.php:43 msgid "Next" msgstr "Naprej" #: views/payments/admin_edit_payment_buttons.php:15 msgid "You can edit a payment button using this interface." msgstr "Gumb za plačilo lahko uredite s tem vmesnikom." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" "Vsi gumbi za članstvo, ki ste jih ustvarili v vtičnik, so prikazani tukaj." #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "Napaka! ID ravni članstva (" #: views/payments/admin_payment_settings.php:28 msgid "" "You can create membership payment buttons from the payments menu of this " "plugin (useful if you want to offer paid membership on the site)." msgstr "" "Gumbe za plačilo članstva lahko ustvarite iz plačilnega menija tega vtičnika " "(uporabno, če želite na strani ponuditi plačano članstvo)." #: views/payments/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "PayPal nastavitve integracije" #: views/payments/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Ustvarite kodo »Napredne spremenljivke« za PayPal gumb" #: views/payments/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Vnesite ID ravni članstva" #: views/payments/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Ustvari kodo" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Braintree Buy Now Konfiguracija gumba" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:213 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:301 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:83 msgid "Button ID" msgstr "ID gumba" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:221 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:309 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:266 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:91 msgid "Button Title" msgstr "Naslov gumba" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:239 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:282 msgid "Payment Amount" msgstr "Znesek plačila" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Braintree API ključ in podrobnosti računa. To lahko dobiš s pametnega računa." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "The following details are optional." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:287 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:456 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:149 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:373 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:191 msgid "Return URL" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:321 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:200 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:484 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:159 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:383 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:212 msgid "Save Payment Data" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:204 msgid "PayPal Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:247 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:327 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:289 msgid "Payment Currency" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:295 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "PayPal Email" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:303 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:464 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:199 msgid "Button Image URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:311 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:472 msgid "Custom Checkout Page Logo Image" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Nastavitve videza gumba" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Velikost" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 msgid "Medium" msgstr "Srednje" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Large" msgstr "Veliko" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Izberite velikost gumba." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Barva" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 msgid "Gold" msgstr "Zlata" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 msgid "Blue" msgstr "Modra" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 msgid "Silver" msgstr "Srebrna" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 msgid "Black" msgstr "Črna" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 msgid "Select button color." msgstr "Izberite barvo gumba." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Oblika" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 msgid "Rectangular" msgstr "Pravokotno" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 msgid "Pill" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 msgid "Select button shape." msgstr "Izberite obliko gumba." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Postavitev" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 msgid "Vertical" msgstr "Vertikalno" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 msgid "Horizontal" msgstr "Horizontalno" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 msgid "Select button layout." msgstr "Izberite postavitev gumbov." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Dodatne nastavitve" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Načini plačila" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "PayPal Credit" msgstr "PayPal Kredit" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" "Izberite načine plačila, ki jih lahko uporabljajo stranke. Upoštevajte, da " "je plačilo s karticami vedno omogočeno." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "Naslednje podrobnosti so neobvezne" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:295 msgid "PayPal Subscription Button Configuration" msgstr "Konfiguracija PayPay Subscription gumba" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Amount Each Cycle" msgstr "Znesek obračunavanja za vsak cikel" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:383 msgid "Billing Cycle" msgstr "Cikel zaračunavanja" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Billing Cycle Count" msgstr "Število ciklov obračunavanja" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:404 msgid "Re-attempt on Failure" msgstr "V primeru neuspešnosti poskusi ponovno" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:419 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Podrobnosti preskušanega obračunavanja (Pustite prazno, če ne ponujate " "preskusnega obdobja)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:425 msgid "Trial Billing Amount" msgstr "Znesek preizkusnega obdobja" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:433 msgid "Trial Billing Period" msgstr "Obdobje preizkusnega obdobja" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:450 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:177 msgid "Optional Details" msgstr "Izbirne podrobnosti" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:250 msgid "Stripe Buy Now Button Configuration" msgstr "Konfiguracija gumba Stripe “Kupi zdaj”" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:328 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:131 msgid "Test Publishable Key" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:139 msgid "Test Secret Key" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:147 msgid "Live Publishable Key" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:353 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:155 msgid "Live Secret Key" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:365 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:183 msgid "Collect Customer Address" msgstr "Zbiranje naslova stranke" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:75 msgid "Stripe Subscription Button Configuration" msgstr "Konfiguracija gumba za naročnino preko Stripe" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:109 msgid "Stripe API ID" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:125 msgid "Stripe API Settings" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:163 msgid "Webook Endpoint URL" msgstr "" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:20 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:91 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:93 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:150 msgid "Buy Now" msgstr "Takojšnji nakup" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:228 msgid "Subscribe Now" msgstr "Naroči se zdaj" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137 msgid "Error occured during PayPal Smart Checkout process." msgstr "Med postopkom pametnega PayPal je prišlo do napake." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165 msgid "HTTP error occured during payment process:" msgstr "Med postopkom plačila je prišlo do napake HTTP:" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Tukaj vnesite geslo" msgid "Retype password here" msgstr "Ponovno vnesite geslo tukaj" msgid "Registration is complete. You can now log into the site." msgstr "Registracija je končana. Zdaj se lahko prijavite na spletno mesto." msgid " Field has invalid character" msgstr " Polje ima neveljaven znak" msgid " Password does not match" msgstr " Geslo se ne ujema" msgid "Already taken." msgstr "Že odvzeto." msgid "Street Address" msgstr "Ulica" msgid "Apt, Suite, Bldg. (optional)" msgstr "" msgid "State / Province / Region" msgstr "Zvezna država/Provinca/Regija" msgid "Postal / Zip Code" msgstr "Poštna / poštna številka" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Če želite izbrisati sliko, potrdite to polje. Slika bo izbrisana, ko " "shranite profil." msgid "You will need to re-login since you changed your password." msgstr "Odkar ste spremenili geslo, se boste morali ponovno prijaviti." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" "Vnesite kateri koli dve števki brez presledkov (Primer: 12)" msgid "Verification" msgstr "Verifikacija" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Vnesite kateri koli dve števki brez presledkov (Primer: 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Uporabniško ime lahko vsebuje le: črke, številke in .-* @" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Dovoljeni znaki so: črke, številke in .-_* @" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Za ogled te vsebine nimate dovoljenja." msgid "Your membership level does not have permission to view this content." msgstr "Vaša raven članstva nima dovoljenja za ogled te vsebine." msgid "This content is for members only." msgstr "Ta vsebina je samo za člane." msgid "Please check at least one." msgstr "Prosim, preverite vsaj enega." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Imenik za člane" #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "ID člana" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Raven" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Naslov" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Iskanje..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Počisti iskanje" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Za nadgradnjo članstva morate biti prijavljeni." msgid "Membership level has been updated." msgstr "Raven članstva je bila posodobljena." msgid "Already a member of this level." msgstr "Že član tega nivoja." languages/simple-membership-cs_CZ.po000064400000331706147206617610013517 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership Plugin\n" "POT-Creation-Date: 2019-05-26 13:48+0600\n" "PO-Revision-Date: 2021-06-24 00:01+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.0\n" "X-Poedit-KeywordsList: __;_e;e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:180 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "Správce tohoto webu neumožnil uživatelům přístup k řídicímu panelu WP." #: classes/class.simple-wp-membership.php:181 msgid "Go back to the home page by " msgstr "Vrátit se na domovskou stránku " #: classes/class.simple-wp-membership.php:181 msgid "clicking here" msgstr "kliknutím sem" #: classes/class.simple-wp-membership.php:242 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "Chyba! Tato stránka má v nastavení zapnutou funkci vynucení přihlášení " "uživatele WP. Pro zadané uživatelské jméno nebyl nalezen záznam uživatele " "WP: " #: classes/class.simple-wp-membership.php:243 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "Tato chyba se zobrazí, když členský účet nemá odpovídající uživatelský účet " "WP. Plugin pak nemůže přihlásit uživatele do systému WP." #: classes/class.simple-wp-membership.php:244 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Obraťte se na správce webu a požádejte jej, aby zkontroloval vaše " "uživatelské jméno v nabídce Uživatelé WP a zjistil, co se stalo se záznamem " "uživatele u vašeho účtu." #: classes/class.simple-wp-membership.php:245 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" "Správce webu může v nastavení deaktivovat funkci Vynutit synchronizaci " "uživatelů WP, po deaktivaci tato chyba zmizí." #: classes/class.simple-wp-membership.php:246 msgid "You can use the back button of your browser to go back to the site." msgstr "" "Pro návrat na webovou stránku můžete v prohlížeči použít tlačítko Zpět." #: classes/class.simple-wp-membership.php:407 msgid "You are not logged in." msgstr "Nejste přihlášeni." #: classes/class.simple-wp-membership.php:458 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "V nastavení pluginu máte zapnutý režim plateb v sandboxu. Pokud chcete " "provádět živé transakce, nezapomeňte tento režim vypnout." #: classes/class.simple-wp-membership.php:473 msgid "Simple WP Membership Protection" msgstr "Ochrana Simple WP Membership" #: classes/class.simple-wp-membership.php:485 msgid "Simple Membership Protection options" msgstr "Možnosti ochrany Simple Membership" #: classes/class.simple-wp-membership.php:503 msgid "Do you want to protect this content?" msgstr "Chcete chránit tento obsah?" #: classes/class.simple-wp-membership.php:504 msgid "No, Do not protect this content." msgstr "Ne, nechránit tento obsah." #: classes/class.simple-wp-membership.php:505 msgid "Yes, Protect this content." msgstr "Ano, chránit tento obsah." #: classes/class.simple-wp-membership.php:508 msgid "Select the membership level that can access this content:" msgstr "Vyberte členské úrovně, které mají přístup k tomuto obsahu:" #: classes/class.simple-wp-membership.php:646 #: classes/class.simple-wp-membership.php:650 msgid "Validating, please wait" msgstr "Ověřování, prosím čekejte" #: classes/class.simple-wp-membership.php:653 msgid "Invalid email address" msgstr "Neplatná e-mailová adresa" #: classes/class.simple-wp-membership.php:656 msgid "This field is required" msgstr "Toto pole je vyžadováno" msgid "Password must contain at least:" msgstr "Heslo musí obsahovat nejméně:" msgid "- a digit" msgstr "- číslo" msgid "- an uppercase letter" msgstr "- velké písmeno" msgid "- a lowercase letter" msgstr "- malé písmeno" #: classes/class.simple-wp-membership.php:659 classes/class.swpm-auth.php:296 msgid "Invalid Username" msgstr "Neplatné uživatelské jméno" #: classes/class.simple-wp-membership.php:659 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Uživatelské jméno může obsahovat pouze písmena, čísla a znaky .-_*@" #: classes/class.simple-wp-membership.php:662 msgid "Minimum " msgstr "Jsou vyžadovány minimálně " #: classes/class.simple-wp-membership.php:663 msgid " characters required" msgstr " znaky" #: classes/class.simple-wp-membership.php:666 msgid "Apostrophe character is not allowed" msgstr "Znak apostrofu není povolen" #: classes/class.simple-wp-membership.php:697 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:698 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:581 msgid "Members" msgstr "Členové" #: classes/class.simple-wp-membership.php:699 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:265 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Členské úrovně" #: classes/class.simple-wp-membership.php:700 msgid "Settings" msgstr "Nastavení" #: classes/class.simple-wp-membership.php:701 msgid "Payments" msgstr "Platby" #: classes/class.simple-wp-membership.php:702 msgid "Add-ons" msgstr "Doplňky" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Pro zobrazení této stránky musíte být přihlášeni. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Platnost účtu vypršela. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "Tento obsah mohou zobrazit pouze členové, kteří se již připojili " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Zobrazení obsahu není povoleno pro tuto členskou úroveň." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Pro zobrazení zbývající části obsahu musíte být přihlášeni. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " Zobrazení zbývajícího obsahu není pro tuto členskou úroveň povoleno." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "Chyba! Pro registraci uživatele z rozhraní správce se nepodařilo provést " "ověření Nonce." #: classes/class.swpm-admin-registration.php:71 msgid "Member record added successfully." msgstr "Záznam člena byl úspěšně přidán." #: classes/class.swpm-admin-registration.php:76 #: classes/class.swpm-admin-registration.php:124 #: classes/class.swpm-admin-registration.php:151 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Prosím opravte následující:" #: classes/class.swpm-admin-registration.php:87 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "Chyba! Pro úpravy uživatele z rozhraní správce se nepodařilo provést ověření " "Nonce." #: classes/class.swpm-admin-registration.php:139 msgid "Your current password" msgstr "Vaše současné heslo" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Neplatná e-mailová adresa" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Already taken" msgstr "Již použito" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Jméno obsahuje nepovolené znaky" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Dostupné" #: classes/class.swpm-auth.php:57 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Varování! Plugin Simple Membership nemůže zpracovat aktuální požadavek na " "přihlášení, aby nedošlo k nechtěnému odhlášení z WP Admin." #: classes/class.swpm-auth.php:58 msgid "Click here" msgstr "Klikněte sem" #: classes/class.swpm-auth.php:58 msgid " to see the profile you are currently logged into in this browser." msgstr "" " pro zobrazení profilu, ke kterému jste aktuálně přihlášeni v tomto " "prohlížeči." #: classes/class.swpm-auth.php:59 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "V tomto prohlížeči jste přihlášeni jako uživatel ADMIN. Nejprve se odhlaste " "z WP Admin, poté se budete moci přihlásit jako normální člen." #: classes/class.swpm-auth.php:60 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Alternativně můžete k přihlášení člena použít jiný prohlížeč (ve kterém " "nejste přihlášeni jako ADMIN)." #: classes/class.swpm-auth.php:61 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Běžní návštěvníci nebo členové tuto zprávu nikdy neuvidí. Je určena POUZE " "pro uživatele ADMIN." #: classes/class.swpm-auth.php:68 msgid "Captcha validation failed on login form." msgstr "Ověření Captcha na přihlašovacím formuláři se nezdařilo." #: classes/class.swpm-auth.php:93 msgid "User Not Found." msgstr "Uživatel nenalezen." #: classes/class.swpm-auth.php:100 msgid "Password Empty or Invalid." msgstr "Neplatné nebo prázdné heslo." #: classes/class.swpm-auth.php:133 msgid "Account is inactive." msgstr "Účet není aktivní." #: classes/class.swpm-auth.php:136 classes/class.swpm-auth.php:162 msgid "Account has expired." msgstr "Platnost účtu vypršela." #: classes/class.swpm-auth.php:139 msgid "Account is pending." msgstr "Účet čeká na schválení." #: classes/class.swpm-auth.php:146 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Účet je nutné aktivovat. Pokud jste neobdrželi e-mail, %s pro nové odeslání " "aktivační e-mailu." #: classes/class.swpm-auth.php:146 #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 #: classes/class.swpm-utils-misc.php:169 msgid "click here" msgstr "klikněte sem" #: classes/class.swpm-auth.php:170 msgid "You are logged in as:" msgstr "Jste přihlášeni jako:" #: classes/class.swpm-auth.php:234 msgid "Logged Out Successfully." msgstr "Odhlášení bylo úspěšné." #: classes/class.swpm-auth.php:287 msgid "Session Expired." msgstr "Platnost relace vypršela." #: classes/class.swpm-auth.php:304 msgid "Please login again." msgstr "Přihlaste se prosím znovu." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:40 views/admin_member_form_common_part.php:2 views/edit.php:75 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:229 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:273 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:99 msgid "Membership Level" msgstr "Členská úroveň" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "ID kategorie" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Název kategorie" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Typ kategorie (Taxonomie)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Popis" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Počet" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "Ochrana kategorie aktualizována!" #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "Nebyla nalezena žádná kategorie." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Pro komentování se prosím přihlaste." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Pro komentování se prosím přihlaste." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Nečlenům není povoleno odesílání komentářů." #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Pro zadané uživatelské jméno existuje WordPress účet, ale e-mail se " "neshoduje." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " Pro dokončení registrace použijte jiné uživatelské jméno. Chcete-li " "uživatelské jméno použít, musíte pro připojení k tomuto účtu zadat správnou " "e-mailovou adresu přidruženou k existujícímu uživateli WP." #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Pro zadanou e-mailovu adresu existuje WordPress účet, ale uživatelské jméno " "se neshoduje." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " Pro dokončení registrace použijte jinou e-mailovou adresu. Chcete-li e-" "mailovou adresu použít, musíte pro připojení k tomuto účtu zadat správné " "uživatelské jméno přidružené k existujícímu uživateli WP." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Uživatelské jméno je vyžadováno" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Uživatelské jméno obsahuje nepovolené znaky" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Uživatelské jméno již existuje." #: classes/class.swpm-form.php:83 msgid "Password is required" msgstr "Heslo je povinné" #: classes/class.swpm-form.php:90 msgid "Password mismatch" msgstr "Hesla nesouhlasí" #: classes/class.swpm-form.php:101 msgid "Email is required" msgstr "E-mail je povinný" #: classes/class.swpm-form.php:105 msgid "Email is invalid" msgstr "Neplatný e-mail" #: classes/class.swpm-form.php:121 msgid "Email is already used." msgstr "E-mailová adresa je již použita." #: classes/class.swpm-form.php:179 msgid "Member since field is invalid" msgstr "Hodnota v poli „Člen od“ je neplatná" #: classes/class.swpm-form.php:190 msgid "Access starts field is invalid" msgstr "Hodnota v poli Počátek přístupu je neplatná" #: classes/class.swpm-form.php:200 msgid "Gender field is invalid" msgstr "Hodnota v poli „Pohlaví“ je neplatná" #: classes/class.swpm-form.php:211 msgid "Account state field is invalid" msgstr "Hodnota v poli „Stav účtu“ je neplatná" #: classes/class.swpm-form.php:218 msgid "Invalid membership level" msgstr "Neplatná členská úroveň" #: classes/class.swpm-front-registration.php:33 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "Chyba! Neplatný požadavek. Nebyla nalezana shoda pro daný bezpečnostní kód a " "ID uživatele." # Připojte se k nám #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:274 views/login.php:36 msgid "Join Us" msgstr "Vytvořit účet" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "Bezplatné členství není na tomto webu povoleno. Proveďte prosím úhradu ze " #: classes/class.swpm-front-registration.php:49 msgid " page to pay for a premium membership." msgstr " stránky pro zaplacení prémiového členství." #: classes/class.swpm-front-registration.php:51 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Po provedení platby obdržíte e-mailem jedinečný odkaz, pomocí kterého " "dokončíte registraci prémiového členství." #: classes/class.swpm-front-registration.php:79 msgid "Security check: captcha validation failed." msgstr "Kontrola zabezpečení: Ověření captcha se nezdařilo." #: classes/class.swpm-front-registration.php:89 msgid "You must accept the terms and conditions." msgstr "Musíte vyjádřit souhlas s podmínkami a ujednáními." #: classes/class.swpm-front-registration.php:100 msgid "You must agree to the privacy policy." msgstr "Musíte vyjádřit souhlasit se zásadami ochrany osobních údajů." #: classes/class.swpm-front-registration.php:140 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "Je vyžadováno potvrzení e-mailovou adresy. Zkontrolujte prosím svůj e-mail a " "dokončete registraci podle obdržených pokynů." #: classes/class.swpm-front-registration.php:145 msgid "Registration Successful. " msgstr "Registrace byla úspěšná. " #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 classes/class.swpm-utils-misc.php:285 msgid "Please" msgstr " " #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 views/login.php:30 msgid "Login" msgstr "Přihlásit se " #: classes/class.swpm-front-registration.php:159 msgid "Please correct the following" msgstr "Opravte prosím následující" #: classes/class.swpm-front-registration.php:207 msgid "Membership Level Couldn't be found." msgstr "Členskou úroveň se nepodařilo najít." #: classes/class.swpm-front-registration.php:258 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" "Chyba! Pro úpravu profilu z koncového rozhraní se nepodařilo provést ověření " "Nonce." #: classes/class.swpm-front-registration.php:266 msgid "Profile updated successfully." msgstr "Profil byl úspěšně aktualizován." #: classes/class.swpm-front-registration.php:275 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profil byl úspěšně aktualizován. Protože došlo ke změně hesla, je nutné se " "znovu přihlásit." #: classes/class.swpm-front-registration.php:289 msgid "Please correct the following." msgstr "Opravte prosím následující." #: classes/class.swpm-front-registration.php:301 msgid "Captcha validation failed." msgstr "Ověření Captcha se nezdařilo." #: classes/class.swpm-front-registration.php:309 msgid "Email address not valid." msgstr "E-mailová adresa je neplatná." #: classes/class.swpm-front-registration.php:320 msgid "No user found with that email address." msgstr "Pro zadanou e-mailovou adresu nebyl nalezen žádný uživatel." #: classes/class.swpm-front-registration.php:321 #: classes/class.swpm-front-registration.php:350 msgid "Email Address: " msgstr "E-mailová adresa: " #: classes/class.swpm-front-registration.php:349 msgid "New password has been sent to your email address." msgstr "Na Vaši e-mailovou adresu bylo zasláno nové heslo." #: classes/class.swpm-front-registration.php:371 msgid "Can't find member account." msgstr "Členský účet nelze najít." #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid "Account already active. " msgstr "Účet je již aktivní. " #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid " to login." msgstr " pro přihlášení." #: classes/class.swpm-front-registration.php:383 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "Aktivační kód se neshoduje, účet nelze aktivovat. Kontaktujte prosím správce " "webu." #: classes/class.swpm-front-registration.php:397 msgid "Success! Your account has been activated successfully." msgstr "Váš účet byl úspěšně aktivován." #: classes/class.swpm-front-registration.php:421 msgid "Cannot find member account." msgstr "Nelze najít členský účet." #: classes/class.swpm-front-registration.php:443 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "Aktivační e-mail byl odeslán. Zkontrolujte prosím doručenou poštu a proveďte " "aktivaci svého účtu." #: classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Nonce verification failed." msgstr "Litujeme, ověření Nonce se nezdařilo." #: classes/class.swpm-init-time-tasks.php:125 msgid "Sorry, Password didn't match." msgstr "Heslo nesouhlasí." #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "Neplatný formát kalendářního data." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "Doba trvání přístupu musí být > 0." #: classes/class.swpm-members.php:10 msgid "Member" msgstr "Člen" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:20 views/add.php:16 views/admin_add.php:11 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Uživatelské jméno" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:32 views/admin_member_form_common_part.php:15 #: views/edit.php:39 includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Křestní jméno" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:36 views/admin_member_form_common_part.php:19 #: views/edit.php:43 includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Příjmení" #: classes/class.swpm-members.php:23 views/add.php:20 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "E-mail" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Počátek přístupu" #: classes/class.swpm-members.php:26 includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Stav účtu" #: classes/class.swpm-members.php:27 msgid "Last Login Date" msgstr "Datum posledního přihlášení" #: classes/class.swpm-members.php:46 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Odstranit" #: classes/class.swpm-members.php:47 msgid "Set Status to Active" msgstr "Nastavit stav na Aktivní" #: classes/class.swpm-members.php:48 msgid "Set Status to Active and Notify" msgstr "Nastavit stav na Aktivní a upozornit" #: classes/class.swpm-members.php:49 msgid "Set Status to Inactive" msgstr "Nastavit stav na Neaktivní" #: classes/class.swpm-members.php:50 msgid "Set Status to Pending" msgstr "Nastavit stav na Čeká na vyřízení" #: classes/class.swpm-members.php:51 msgid "Set Status to Expired" msgstr "Nastavit stav na Platnost vypršela" #: classes/class.swpm-members.php:72 msgid "incomplete" msgstr "nekompletní" #: classes/class.swpm-members.php:191 msgid "No member found." msgstr "Nebyl nalezen žádný člen." #: classes/class.swpm-members.php:337 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "Chyba! Pro odstranění uživatele z rozhraní správce se nepodařilo provést " "ověření Nonce." #: classes/class.swpm-members.php:406 classes/class.swpm-members.php:436 msgid "Error! Please select a membership level first." msgstr "Chyba! Nejprve vyberte členskou úroveň." #: classes/class.swpm-members.php:423 msgid "Membership level change operation completed successfully." msgstr "Změna členské úrovně byla úspěšně dokončena." #: classes/class.swpm-members.php:453 msgid "Access starts date change operation successfully completed." msgstr "Změna data „Počátek přístupu“ byla úspěšně dokončena." #: classes/class.swpm-members.php:462 msgid "Bulk Update Membership Level of Members" msgstr "Hromadná aktualizace členských úrovní" #: classes/class.swpm-members.php:465 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Členskou úroveň libovolného člena můžete ručně změnit úpravou jeho záznamu v " "seznamu členů. " #: classes/class.swpm-members.php:466 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "Pomocí následující volby můžete hromadně změnit členskou úroveň u všech " "členů, kteří patří do níže vybrané úrovně." #: classes/class.swpm-members.php:472 classes/class.swpm-members.php:520 msgid "Membership Level: " msgstr "Členská úroveň: " #: classes/class.swpm-members.php:476 msgid "Select Current Level" msgstr "Vybrat zdrojovou úroveň" #: classes/class.swpm-members.php:479 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" "Vyberte zdrojovou členskou úroveň (členská úroveň bude aktualizována u všech " "členů, kteří jsou na této úrovni)." #: classes/class.swpm-members.php:485 msgid "Level to Change to: " msgstr "Změna úrovně na: " #: classes/class.swpm-members.php:489 msgid "Select Target Level" msgstr "Vybrat cílovou úroveň" #: classes/class.swpm-members.php:492 msgid "Select the new membership level." msgstr "Vyberte novou členskou úroveň." #: classes/class.swpm-members.php:498 msgid "Bulk Change Membership Level" msgstr "Hromadná změna členských úrovní" #: classes/class.swpm-members.php:508 msgid "Bulk Update Access Starts Date of Members" msgstr "Hromadná aktualizace data počátku přístupu" #: classes/class.swpm-members.php:512 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "Datum počátku přístupu člena je standardně nastaveno na den registrace. " "Zadaná hodnota se používá k výpočtu, jak dlouho může člen přistupovat k " "obsahu, který je chráněn časovou ochranou pro danou členskou úroveň. " #: classes/class.swpm-members.php:513 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Pomocí následující volby můžete hromadně nastavit hodnotu data „Počátek " "přístupu“ u všech členů, kteří patří do níže vybrané úrovně." #: classes/class.swpm-members.php:523 msgid "Select Level" msgstr "Vybrat úroveň" #: classes/class.swpm-members.php:526 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Vyberte členskou úroveň (datum počáteku přístupu bude aktualizován u všech " "členů, kteří jsou na této úrovni)." #: classes/class.swpm-members.php:535 msgid "Specify the access starts date value." msgstr "Zadejte datum požadovaného počátku přístupu." #: classes/class.swpm-members.php:541 msgid "Bulk Change Access Starts Date" msgstr "Hromadná změna data počátku přístupu" #: classes/class.swpm-members.php:576 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Členové" #: classes/class.swpm-members.php:577 #: classes/class.swpm-membership-levels.php:226 views/admin_members_list.php:44 msgid "Add New" msgstr "Přidat nový záznam" #: classes/class.swpm-members.php:582 views/admin_add.php:6 msgid "Add Member" msgstr "Přidat člena" #: classes/class.swpm-members.php:583 msgid "Bulk Operation" msgstr "Hromadné operace" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" "Chyba! Pro přidání členské úrovně z rozhraní správce se nepodařilo provést " "ověření Nonce." #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Vytvoření členské úrovně proběhlo úspěšně." #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "Chyba! Pro úpravu členské úrovně z rozhraní správce se nepodařilo provést " "ověření Nonce." #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Členská úroveň byla úspěšně aktualizována." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Role" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Přístup platný pro/do" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "Nebyly nalezeny žádné členské úrovně." #: classes/class.swpm-membership-levels.php:197 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" "Chyba! Pro odsranění členské úrovně z rozhraní správce se nepodařilo provést " "ověření Nonce." #: classes/class.swpm-membership-levels.php:216 views/admin_members_list.php:31 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Hledat" #: classes/class.swpm-membership-levels.php:261 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Členské úrovně" #: classes/class.swpm-membership-levels.php:266 msgid "Add Level" msgstr "Přidat úroveň" #: classes/class.swpm-membership-levels.php:267 msgid "Manage Content Protection" msgstr "Správa ochrany obsahu" #: classes/class.swpm-membership-levels.php:268 msgid "Category Protection" msgstr "Ochrana kategorií" #: classes/class.swpm-membership-levels.php:269 msgid "Post and Page Protection" msgstr "Ochrana příspěvků a stránek" #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Datum" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Název" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Autor" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Stav" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Kategorie" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Typ" #: classes/class.swpm-post-list.php:125 msgid "Protection settings updated!" msgstr "Nastavení ochrany aktualizováno!" #: classes/class.swpm-post-list.php:230 msgid "No items found." msgstr "Nebyly nalezeny žádné položky." #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "Kategorie nebo nadřazená kategorie tohoto příspěvku je chráněna. Nastavení " "ochrany kategorie můžete změnit v " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "nabídce Ochrany kategorií" #: classes/class.swpm-settings.php:26 classes/class.swpm-settings.php:54 msgid "General Settings" msgstr "Obecná nastavení" #: classes/class.swpm-settings.php:27 msgid "Payment Settings" msgstr "Nastavení plateb" #: classes/class.swpm-settings.php:28 msgid "Email Settings" msgstr "Nastavení e-mailu" #: classes/class.swpm-settings.php:29 msgid "Tools" msgstr "Nástroje" #: classes/class.swpm-settings.php:30 classes/class.swpm-settings.php:187 msgid "Advanced Settings" msgstr "Rozšířená nastavení" #: classes/class.swpm-settings.php:31 msgid "Addons Settings" msgstr "Nastavení doplňků" #: classes/class.swpm-settings.php:53 msgid "Plugin Documentation" msgstr "Dokumentace pluginu" #: classes/class.swpm-settings.php:55 msgid "Enable Free Membership" msgstr "Povolit bezplatné členství" #: classes/class.swpm-settings.php:56 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Povolit / zakázat registraci pro bezplatnou členskou úroveň. Při povolení " "této možnosti nezapomeňte zadat do pole níže ID bezplatné členské úrovně." #: classes/class.swpm-settings.php:57 msgid "Free Membership Level ID" msgstr "ID bezplatné členské úrovně" #: classes/class.swpm-settings.php:58 msgid "Assign free membership level ID" msgstr "Přiřazené ID bezplatné členské úrovně" #: classes/class.swpm-settings.php:59 msgid "Enable More Tag Protection" msgstr "Povolit ochranu značkou More" #: classes/class.swpm-settings.php:60 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Povolit / zakázat ochranu značkou „more“ v příspěvcích a stránkách. Cokoliv " "před značkou „more“ je upoutávkovým obsahem, veškerý obsah za značkou „more“ " "chráněn." #: classes/class.swpm-settings.php:61 msgid "Hide Adminbar" msgstr "Skrýt lištu správce" #: classes/class.swpm-settings.php:62 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress zobrazuje přihlášeným uživatelům webu panel nástrojů pro správu. " "Po zaškrtnutí této volby nebude panel nástrojů pro správu v rozhraní webu " "zobrazen." #: classes/class.swpm-settings.php:63 msgid "Show Adminbar to Admin" msgstr "Zobrazit lištu správce u správce" #: classes/class.swpm-settings.php:64 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Po zaškrtnutí této volby bude panel nástrojů pro správu zobrazen pouze " "uživatelům s oprávněním správce, pro ostatní uživatele zůstane panel skrytý." #: classes/class.swpm-settings.php:65 msgid "Disable Access to WP Dashboard" msgstr "Zakázat přístup k panelu WP" #: classes/class.swpm-settings.php:66 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashbaord. Using this option will prevent any " "non admin users from going to the wp dashboard." msgstr "" "WordPress umožňuje standardním uživatelům přejít na adresu wp-admin URL a " "získat přístup k profilu z řídicího panelu wp. Zaškrtnutí této volby zabrání " "všem uživatelům, kteří nemají oprávnění správce, přejít na řídicí panel wp." #: classes/class.swpm-settings.php:68 classes/class.swpm-settings.php:242 msgid "Default Account Status" msgstr "Výchozí stav účtu" #: classes/class.swpm-settings.php:71 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Výběr výchozího stavu účtu pro nově registrované uživatele. Pro ruční " "schvalování nových členů nastavte volbu na „Čeká na vyřízení“." #: classes/class.swpm-settings.php:73 msgid "Members Must be Logged in to Comment" msgstr "Vyžadovat přihlášení člana pro odesílání komentářů" #: classes/class.swpm-settings.php:74 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Zaškrtnutí této volby povolí zasílání komentářů pouze registrovaným členům " "webu." #: classes/class.swpm-settings.php:83 msgid "Pages Settings" msgstr "Nastavení stránek" #: classes/class.swpm-settings.php:84 msgid "Login Page URL" msgstr "URL přihlašovací stránky" #: classes/class.swpm-settings.php:86 msgid "Registration Page URL" msgstr "URL registrační stránky" #: classes/class.swpm-settings.php:88 msgid "Join Us Page URL" msgstr "URL stránky Přidejte se k nám" #: classes/class.swpm-settings.php:90 msgid "Edit Profile Page URL" msgstr "URL stránky Upravit profil" #: classes/class.swpm-settings.php:92 msgid "Password Reset Page URL" msgstr "URL stránky pro obnovení hesla" #: classes/class.swpm-settings.php:95 msgid "Test & Debug Settings" msgstr "Nastavení testování a ladění" #: classes/class.swpm-settings.php:97 msgid "Check this option to enable debug logging." msgstr "Zaškrtnutí této volby povolí protokolování ladění." #: classes/class.swpm-settings.php:98 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" " Vhodné při řešení problémů. Po vyřešení potíží volbu vypněte a resetujte " "protokolovací soubory." #: classes/class.swpm-settings.php:100 msgid "View general debug log file by clicking " msgstr "Zobrazit obecný soubor protokolu ladění kliknutím " #: classes/class.swpm-settings.php:100 classes/class.swpm-settings.php:101 #: classes/class.swpm-settings.php:102 msgid "here" msgstr "sem" #: classes/class.swpm-settings.php:101 msgid "View login related debug log file by clicking " msgstr "Zobrazit soubor protokolu související s přihlašováním kliknutím " #: classes/class.swpm-settings.php:102 msgid "Reset debug log files by clicking " msgstr "Resetovat soubory protokolů kliknutím " #: classes/class.swpm-settings.php:103 msgid "Enable Debug" msgstr "Povolit ladění" #: classes/class.swpm-settings.php:105 msgid "Enable Sandbox Testing" msgstr "Povolit testování v sandboxu" #: classes/class.swpm-settings.php:106 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Zaškrtnutí této volby povolí testování plateb v sandboxu." #: classes/class.swpm-settings.php:119 msgid "Email Settings Overview" msgstr "Přehled nastavení e-mailu" #: classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "Nastavení e-mailu společné" #: classes/class.swpm-settings.php:122 msgid "From Email Address" msgstr "Adresa odesílatele" #: classes/class.swpm-settings.php:126 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Nastavení e-mailu (Výzva k dokončení registrace)" #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:158 classes/class.swpm-settings.php:163 #: classes/class.swpm-settings.php:168 classes/class.swpm-settings.php:173 msgid "Email Subject" msgstr "Předmět zprávy" #: classes/class.swpm-settings.php:129 classes/class.swpm-settings.php:142 #: classes/class.swpm-settings.php:159 classes/class.swpm-settings.php:164 #: classes/class.swpm-settings.php:169 classes/class.swpm-settings.php:174 msgid "Email Body" msgstr "Tělo zprávy" #: classes/class.swpm-settings.php:133 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Zadejte e-mailovou adresu, na kterou mají být zasílány zprávy s oznámeními " "pro správce." #: classes/class.swpm-settings.php:134 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" " Pro zasílání oznámení na více adres najednou oddělte jednotlivé e-mailové " "adresy čárkou (,)." #: classes/class.swpm-settings.php:136 msgid "Enter the subject for the admin notification email." msgstr "Zadejte předmět zprávy s oznámením pro správce." #: classes/class.swpm-settings.php:137 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Tato zpráva bude zaslána správci po dokončení registrace novým uživatelem. " "Pro její funkčnost je nutné výše aktivovat volbu „Odeslat oznámení správci“." #: classes/class.swpm-settings.php:139 msgid "Email Settings (Registration Complete)" msgstr "Nastavení e-mailu (Registrace dokončena)" #: classes/class.swpm-settings.php:144 msgid "Send Notification to Admin" msgstr "Odeslat oznámení správci" #: classes/class.swpm-settings.php:145 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Po zaškrtnutí této volby budou správci zasílány oznámení po každé provedené " "registraci člena." #: classes/class.swpm-settings.php:146 msgid "Admin Email Address" msgstr "E-mailová adresa správce" #: classes/class.swpm-settings.php:148 msgid "Admin Notification Email Subject" msgstr "Předmět zprávy s oznámením pro správce" #: classes/class.swpm-settings.php:150 msgid "Admin Notification Email Body" msgstr "Tělo zprávy s oznámením pro správce" #: classes/class.swpm-settings.php:153 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Odeslat e-mail členovi, pokud je přidán přes administrátorský panel" #: classes/class.swpm-settings.php:157 msgid "Email Settings (Password Reset)" msgstr "Nastavení e-mailu (Obnovení hesla)" #: classes/class.swpm-settings.php:162 msgid " Email Settings (Account Upgrade Notification)" msgstr " Nastavení e-mailu (Oznámení o upgradu účtu)" #: classes/class.swpm-settings.php:167 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " Nastavení e-mailu (Oznámení o hromadné aktivaci účtů)" #: classes/class.swpm-settings.php:172 msgid " Email Settings (Email Activation)" msgstr " Nastavení e-mailu (Aktivace přes e-mail)" #: classes/class.swpm-settings.php:189 msgid "Enable Expired Account Login" msgstr "Povolit přihlášení u účtů s vypršenou platností" #: classes/class.swpm-settings.php:190 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Je-li tato volba zapnuta, uživatelé, jejichž členství již vypršelo, se mohu " "přihlásit do systému, ale nemohou zobrazit žádný chráněný obsah. Přihlášení " "do systému umožňuje snadné obnovení účtu zasláním další platby." #: classes/class.swpm-settings.php:192 msgid "Membership Renewal URL" msgstr "URL pro obnovení členství" #: classes/class.swpm-settings.php:193 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Na svém webu si můžete vytvořit stránku pro obnovení. Další informace " "naleznete v této dokumentaci, kde je popsáno, " "jak stránku pro obnovení vytvořit." #: classes/class.swpm-settings.php:195 msgid "After Registration Redirect URL" msgstr "Adresa URL pro přesměrování po registraci" #: classes/class.swpm-settings.php:196 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after registration " "redirect." msgstr "" "Zde můžete zadat adresu URL stránky, na kterou budou členové přesměrováni po " "odeslání registračního formuláře. Další informace naleznete v této dokumentaci, kde je popsáno, jak " "nastavit přesměrování po registraci." #: classes/class.swpm-settings.php:198 msgid "Enable Auto Login After Registration" msgstr "Povolit automatické přihlášení po registraci" #: classes/class.swpm-settings.php:199 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" "Zapněte tuto volbu pokud chcete, aby došlo k automatickému přihlášení členů " "na stránky ihned po dokončení registrace. Tato volba přepíše jakákoli jiná " "přesměrování po registraci a zapne přesměrování po přihlášení. Další " "informace naleznete v této " "dokumentaci." #: classes/class.swpm-settings.php:201 msgid "After Logout Redirect URL" msgstr "Adresa URL pro přesměrování po odhlášení" #: classes/class.swpm-settings.php:202 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" "Zde můžete zadat adresu URL stránky, na kterou budou členové přesměrováni " "poté, co kliknou na odhlášení se z vašeho webu." #: classes/class.swpm-settings.php:204 msgid "Logout Member on Browser Close" msgstr "Odhlásit člena při zavření prohlížeče" #: classes/class.swpm-settings.php:205 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" "Zapněte tuto volbu pokud chcete, aby byl člen odhlášen z účtu při zavření " "prohlížeče." #: classes/class.swpm-settings.php:207 msgid "Allow Account Deletion" msgstr "Povolit smazání účtu" #: classes/class.swpm-settings.php:208 msgid "Allow users to delete their accounts." msgstr "Povolí uživatelům smazání jejich účtů." #: classes/class.swpm-settings.php:210 msgid "Force Strong Password for Members" msgstr "Vynutit používání silných hesel" #: classes/class.swpm-settings.php:211 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" "Zapněte tuto volbu pokud chcete vynutit, aby uživatelé používali u svých " "účtů silná hesla." #: classes/class.swpm-settings.php:213 msgid "Use WordPress Timezone" msgstr "Použít časové pásmo WordPress" #: classes/class.swpm-settings.php:214 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" "Zapněte tuto volbu pokud chcete používat časové pásmo specifikované v " "základním nastavení WordPressu." #: classes/class.swpm-settings.php:216 msgid "Auto Delete Pending Account" msgstr "Automatické mazání účtů čekajících na vyřízení" #: classes/class.swpm-settings.php:219 msgid "Select how long you want to keep \"pending\" account." msgstr "" "Vyberte, jak dlouho chcete zachovat v seznamu účet se stavem „Čeká na " "vyřízení“." #: classes/class.swpm-settings.php:221 msgid "Admin Dashboard Access Permission" msgstr "Přístupové oprávnění k panelu správce" #: classes/class.swpm-settings.php:224 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" "Řídicí panel správce SWPM je přístupný pouze uživatelům s oprávněním správce " "(stejně jako u ostatních pluginů). Výběrem jiné hodnoty můžete povolit " "přístup k řídicímu panelu správce SWPM i uživatelům WP s odlišnými " "přístupovými právy. Pozor, toto nastavení nebude fungovat, jestliže je v " "Obecném nastavení zapnuta volba „Zakázat přístup k panelu WP“." #: classes/class.swpm-settings.php:226 msgid "Force WP User Synchronization" msgstr "Vynutit synchronizaci uživatelů WP" #: classes/class.swpm-settings.php:227 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" "Zapnutím této volby dojde při přihlášení člena k vynucené synchronizaci s " "uživatelským účtem WP. Tato možnost je užitečná v případě, když jsou " "používány pluginy, které používají uživatelské záznamy WP (např. bbPress " "plugin)." #: classes/class.swpm-settings.php:230 msgid "Create Member Accounts for New WP Users" msgstr "Vytvoření členských účtů pro nové uživatele WP" #: classes/class.swpm-settings.php:232 msgid "Enable Auto Create Member Accounts" msgstr "Zapnout automatické vytváření členských účtů" #: classes/class.swpm-settings.php:233 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" "Zapněte tuto volbu pokud chcete automaticky vytvářet členské účty i pro " "všechny nové uživatele WP, jejich účet byl vytvořen jiným pluginem." #: classes/class.swpm-settings.php:236 msgid "Default Membership Level" msgstr "Výchozí členská úroveň" #: classes/class.swpm-settings.php:239 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" "Při automatickém vytváření členského účtu pomocí této funkce bude členská " "úroveň uživatele nastavena na zadanou hodnotu." #: classes/class.swpm-settings.php:245 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" "Při automatickém vytváření členského účtu pomocí této funkce bude stav účtu " "uživatele nastaven na zadanou hodnotu." #: classes/class.swpm-settings.php:247 msgid "Payment Notification Forward URL" msgstr "URL pro přeposlání oznámení o platbě" #: classes/class.swpm-settings.php:248 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" "Zde je možné zadat adresu URL, na kterou je přeposláno oznámení o platbě, " "poté co je platba za členství tímto pluginem zpracována. Tato funkcionalita " "je užitečná v případě, kdy je vyžadováno zpracování oznámení o platbě " "externím skriptem." #: classes/class.swpm-settings.php:251 views/add.php:65 msgid "Terms and Conditions" msgstr "Podmínky a ujednání" #: classes/class.swpm-settings.php:253 msgid "Enable Terms and Conditions" msgstr "Zapnout podmínky a ujednání" #: classes/class.swpm-settings.php:254 msgid "Users must accept the terms before they can complete the registration." msgstr "" "Pro dokončení registrace musí uživatel vyjádřit souhlasit s podmínkami a " "ujednáními." #: classes/class.swpm-settings.php:255 msgid "Terms and Conditions Page URL" msgstr "Stránka s podmínkami a ujednáními" #: classes/class.swpm-settings.php:256 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" "Adresa URL pro stránku s podmínkami a ujednáními. Stránka může být vytvořena " "ve WordPressu, ve výše uvedeném poli je možné zadat její URL adresu." #: classes/class.swpm-settings.php:257 msgid "Enable Privacy Policy" msgstr "Zapnout zásady ochrany osobních údajů" #: classes/class.swpm-settings.php:258 msgid "Users must accept it before they can complete the registration." msgstr "" "Pro dokončení registrace musí uživatel vyjádřit souhlasit se zásadami " "ochrany osobních údajů." #: classes/class.swpm-settings.php:259 msgid "Privacy Policy Page URL" msgstr "Stránka se zásadami ochrany osobních údajů" #: classes/class.swpm-settings.php:260 msgid "Enter the URL of your privacy policy page." msgstr "Adresa URL pro stránku se zásadami ochrany osobních údajů." #: classes/class.swpm-settings.php:350 classes/class.swpm-settings.php:396 #: classes/class.swpm-settings.php:425 msgid "Settings updated!" msgstr "Nastavení aktualizováno!" #: classes/class.swpm-settings.php:355 msgid "General Plugin Settings." msgstr "Obecná nastavení pluginu." #: classes/class.swpm-settings.php:359 msgid "Page Setup and URL Related settings." msgstr "Nastavení stránek a souvisejících adres URL." #: classes/class.swpm-settings.php:362 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" "Pro správnou funkci pluginu jsou vyžadovány následující stránky. K jejich " "automatickému vytvoření došlo v průběhu instalace." #: classes/class.swpm-settings.php:367 msgid "Testing and Debug Related Settings." msgstr "Nastavení související s testováním a laděním." #: classes/class.swpm-settings.php:371 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Tento e-mail bude zaslán uživatelům, jakmile dokončí registraci a stanou se " "členy." #: classes/class.swpm-settings.php:375 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Tento e-mail bude zaslán uživatelům, pokud použijí funkci pro obnovení hesla." #: classes/class.swpm-settings.php:381 msgid "" "This interface lets you custsomize the various emails that gets sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" "Toto rozhraní slouží k přizpůsobení e-mailových zpráv, které jsou zasílány " "členům po různých akcích. Výchozí nastavení by mělo pomoci ke snadnějšímu " "začátku." #: classes/class.swpm-settings.php:385 views/admin_tools_settings.php:82 msgid "This documentation" msgstr "Tato dokumentace" #: classes/class.swpm-settings.php:386 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" " obsahuje seznam značek / kódů polí pro hromadnou korespondenci, které lze " "použít k přizpůsobení těla zprávy." #: classes/class.swpm-settings.php:399 msgid "Settings in this section apply to all emails." msgstr "Nastavení v této části je platné pro všechny e-maily." #: classes/class.swpm-settings.php:403 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Tento e-mail bude zaslán uživatelům zaslán po upgradu účtu (jestliže " "stávající člen zaplatí za novou členskou úroveň)." #: classes/class.swpm-settings.php:407 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Tento e-mail bude zaslán členům při hromadné aktivaci účtů a volbě oznámit " "akci." #: classes/class.swpm-settings.php:408 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" " V tomto typu zprávy nelze používat značky / kódy polí pro hromadnou " "korespondenci, povolen je pouze prostý text." #: classes/class.swpm-settings.php:413 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" "Tento e-mail bude odeslán, pokud je pro členskou úroveň povolena aktivace " "přes e-mail." #: classes/class.swpm-settings.php:417 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Tento e-mail bude zaslán k vyzvání uživatele, aby dokončil registraci (po " "provedení platby)." #: classes/class.swpm-settings.php:428 msgid "This page allows you to configure some advanced features of the plugin." msgstr "Tato záložka slouží k nastavení některých pokročilých funkcí pluginu." #: classes/class.swpm-settings.php:432 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" "Tato část slouží nastavení automatického vytváření členských účtů, jestliže " "jsou nové záznamy uživatelů WP vytvářeny jiným pluginem. Tato funkcionalita " "je užitečná pro rozpoznání záznamů uživatelů WP v pluginu WP Membership, " "pokud byly vytvořeny v některém z jiných pluginů." #: classes/class.swpm-settings.php:436 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" "Tato část umožňuje nastavení podmínek a ujednání a zásad ochrany osobních " "údajů, které musí uživatelé přijmout v průběhu registrace." #: classes/class.swpm-settings.php:565 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Nastavení" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 msgid "User is not logged in." msgstr "Uživatel není přihlášen." #: classes/class.swpm-utils-member.php:80 msgid "No Expiry" msgstr "Bez vypršení platnosti" #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Registrace" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Přihlášení" #: classes/class.swpm-utils-misc.php:96 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:117 msgid "Profile" msgstr "Profil" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Obnovení hesla" #: classes/class.swpm-utils-misc.php:168 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "" "Během několika sekund budete automaticky přesměrováni. Pokud ne, prosím% s." #: classes/class.swpm-utils-misc.php:172 msgid "Action Status" msgstr "Stav akce" #: classes/class.swpm-utils-misc.php:274 msgid "Not a Member?" msgstr "Nejste členem?" #: classes/class.swpm-utils-misc.php:285 msgid "renew" msgstr "obnovit" #: classes/class.swpm-utils-misc.php:285 msgid " your account to gain access to this content." msgstr " svůj účet pro získání přístupu k tomuto obsahu." #: classes/class.swpm-utils-misc.php:343 classes/class.swpm-utils-misc.php:349 msgid "Error! This action (" msgstr "Chyba! Tato akce (" #: classes/class.swpm-utils-misc.php:421 msgid "(Please Select)" msgstr "(Vyberte prosím)" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Chyba! Nelze najít cestu k zadané šabloně: " #: classes/class.swpm-utils.php:101 msgid "Never" msgstr "Nikdy" #: classes/class.swpm-utils.php:116 views/admin_members_list.php:19 msgid "Active" msgstr "Aktivní" #: classes/class.swpm-utils.php:117 views/admin_members_list.php:20 msgid "Inactive" msgstr "Neaktivní" #: classes/class.swpm-utils.php:118 views/admin_members_list.php:21 msgid "Activation Required" msgstr "Vyžadována aktivace" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Muž" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Žena" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "Nespecifikováno" #: classes/class.swpm-utils.php:119 views/admin_members_list.php:22 msgid "Pending" msgstr "Čeká na vyřízení" #: classes/class.swpm-utils.php:120 views/admin_members_list.php:24 msgid "Expired" msgstr "Platnost vypršela" #: classes/class.swpm-utils.php:414 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Odstranit účet" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "ID tlačítka platby" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Název tlačítka platby" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "ID členské úrovně" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Typ tlačítka" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Shortcode tlačítka" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "Vybraný záznam byl smazán!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple Membership::Platby" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "Transakce" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "Správa platebních tlačítek" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Vytvořit nové tlačítko" #: classes/admin-includes/class.swpm-payments-list-table.php:57 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Zobrazit profil" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "Řádek ID" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "E-mailová adresa" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Profil člena" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "ID transakce" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "ID odběratele" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Částka" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Your membership profile will be updated to reflect the payment." msgstr "" "Váš členský profil bude aktualizován tak, aby reflektoval přijatou platbu." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Your profile username: " msgstr "Vaše uživatelské jméno: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:73 msgid "Click on the following link to complete the registration." msgstr "Registraci dokončíte kliknutím na následující odkaz." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:74 msgid "Click here to complete your paid registration" msgstr "Klikněte sem pro dokončení placené registrace" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:79 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Pokud jste právě provedli platbu za členství, probíhá její zpracování. " "Zkuste to prosím znovu za několik minut. Na e-mail vám bude v krátké době " "zaslána zpráva s podrobnostmi." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:93 msgid "Expiry: " msgstr "Konec platnosti: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "You are not logged-in as a member" msgstr "Nejste přihlášeni jako člen" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:115 msgid "Logged in as: " msgstr "Uživatel přihlášen jako: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:118 #: views/loggedin.php:31 msgid "Logout" msgstr "Odhlásit se" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 msgid "Login Here" msgstr "Přihlášení" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:122 msgid "Not a member? " msgstr "Nemáte přihlašovací údaje? " # Připojit se #: classes/shortcode-related/class.swpm-shortcodes-handler.php:123 msgid "Join Now" msgstr "Připojit se" #: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285 #, php-format msgid "Error occured during payment verification. Error code: %d. Message: %s" msgstr "Během ověřování platby došlo k chybě. Chybový kód: %d. Zpráva: %s" #: ipn/swpm-smart-checkout-ipn.php:298 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %s %s, got %s %s." msgstr "" "Kontrola platby se nezdařila: byla přijata neplatná částka. Očekáváno: %s " "%s, obdrženo: %s %s." #: ipn/swpm-smart-checkout-ipn.php:315 msgid "Empty payment data received." msgstr "Byla obdržena prázdná platební data." #: ipn/swpm-smart-checkout-ipn.php:355 msgid "IPN product validation failed. Check debug log for more details." msgstr "" "Ověření produktu IPN se nezdařilo. Podrobnosti najdete v protokolu ladění." #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "Chystáte se odstranit účet, smazána budou i uživatelská data spojená s tímto " "účtem. " #: views/account_delete_warning.php:8 msgid "It will also delete associated WordPress user account." msgstr "Odstraněn bude také přidružený uživatelský účet WordPress." #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(POZNÁMKA: Z bezpečnostních důvodů není dovoleno odstranění WordPress účtů s " "administrátorskými právy)." #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "Pokračovat?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Heslo: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Potvrdit odstranění účtu" #: views/add.php:24 views/admin_add.php:19 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:17 msgid "Password" msgstr "Heslo" #: views/add.php:28 views/edit.php:35 msgid "Repeat Password" msgstr "Zopakovat heslo" #: views/add.php:65 msgid "I accept the " msgstr "Přijímám " #: views/add.php:77 msgid "I agree to the " msgstr "Souhlasím s " #: views/add.php:77 msgid "Privacy Policy" msgstr "Zásady ochrany osobních údajů" #: views/add.php:88 msgid "Register" msgstr "Registrovat" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Vytvoření nového uživatele a zřízení přístupu na tento web." #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(vyžadováno)" #: views/admin_add.php:15 views/admin_edit.php:40 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(dvakrát, vyžadováno)" #: views/admin_add.php:24 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Indikátor síly hesla" #: views/admin_add.php:25 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Tip: Heslo by mělo mít alespoň sedm znaků. Chcete-li jej zesílit, používejte " "velká a malá písmena, číslice a symboly, např. ! \" ? $ % ^ &)." #: views/admin_add.php:29 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Stav účtu" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Přidat nového člena " #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Zde se zobrazí některá nastavení a možnosti doplňků pluginu Simple WP " "Membership (pokud jsou nainstalovány)" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Uložit změny" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Přidat členskou úroveň" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "Vytvořit novou členskou úroveň." #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "Název členské úrovně" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "Výchozí uživatelská úroveň WordPress" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "Doba trvání přístupu" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Bez vypršení platnosti (Přístup pro tuto úroveň nevyprší, dokud nebude zrušen" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "Vyprší po" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "dnech (přístup vyprší po zadaném počtu dní)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "týdnech (přístup vyprší po zadaném počtu týdnů" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "měsících (přístup vyprší po zadaném počtu měsíců)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "rocích (přístup vyprší po zadaném počtu roků)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "Datum vypršení platnosti" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(Přístup vyprší k pevně zadanému datu)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "Aktivace e-mailem" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" "Povolit aktivaci nového uživatele prostřednictvím e-mailu. Při zaškrtnutí " "této volby musí členové aktivovat svůj účet kliknutím na aktivační odkaz " "odeslaný na jejich e-mailovou adresu. Užitečné při bezplatném členství. " #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "Zobrazit dokumentaci" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "Poznámka:" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" "Pokud je volba zapnuta, je v databázi dočasně uloženo dešifrovatelné heslo " "člena, a to do doby, než je účet aktivován." #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "Přidat novou členskou úroveň " #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Doplňky" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Nejdříve zapněte globální ochranu kategorií na svém webu tím, že v " "rozevíracím seznamu níže vyberete možnost „Obecná ochrana“ a poté vyberte " "kategorie, které mají být chráněny před nepřihlášenými uživateli." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Poté v rozevíracím seznamu níže vyberte existující členskou úroveň a " "následně vyberte kategorie, ke kterým chcete udělit přístup (pro konkrétní " "členskou úroveň)." #: views/admin_category_list.php:11 views/admin_post_list.php:11 msgid "Read the " msgstr "Přečtěte si " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "dokumentaci k ochraně kategorií" #: views/admin_category_list.php:17 views/admin_post_list.php:27 msgid "Membership Level:" msgstr "Členská úroveň:" #: views/admin_category_list.php:19 views/admin_post_list.php:29 msgid "General Protection" msgstr "Obecná ochrana" #: views/admin_category_list.php:23 views/admin_post_list.php:33 #: views/edit.php:83 msgid "Update" msgstr "Aktualizovat" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Upravit členské údaje" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Upravit údaje u existujícího člena." #: views/admin_edit.php:14 msgid " You are currenty editing member with member ID: " msgstr " Aktuálně je upravován člen s členským ID: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(dvakrát, nechte prázdné pro zachování stávajícího hesla)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" "Toto je stav účtu vybraného člena. Pokud chcete ručně aktivovat členský " "účet, jehož platnost vypršela, přečtěte si" #: views/admin_edit.php:60 msgid "this documentation" msgstr "tuto dokumentaci" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " k získání dalších informací." #: views/admin_edit.php:66 msgid "Notify User" msgstr "Upozornit uživatele" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" "Po zaškrtnutí políčka bude aktuálnímu členovi zasláno e-mailem upozornění " "(zpráva bude odeslána po stisknutí tlačítka „Uložit data“ )." #: views/admin_edit.php:75 msgid "Subscriber ID/Reference" msgstr "ID odběratele / Reference" #: views/admin_edit.php:79 msgid "Last Accessed Date" msgstr "Datum posledního přístupu" #: views/admin_edit.php:82 views/admin_edit.php:89 msgid "This value gets updated when this member logs into your site." msgstr "Hodnota je aktualizována při přihlášení člena k tomuto webu." #: views/admin_edit.php:86 msgid "Last Accessed From IP" msgstr "Poslední přístup z IP" #: views/admin_edit.php:97 msgid "Save Data" msgstr "Uložit data" #: views/admin_edit.php:102 msgid "Delete User Profile" msgstr "Odstranit profil uživatele" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Upravit členskou úroveň" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "V tomto rozhraní je možné upravovat podrobnosti vybrané členské úrovně. " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "Právě je upravována úroveň: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Bez vypršení platnosti (přístup pro tuto úroveň nevyprší, dokud nebude " "zrušen)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "týdnech (přístup vyprší po zadaném počtu týdnů)" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" "Povolit aktivaci nového uživatele prostřednictvím e-mailu. Při zaškrtnutí " "této volby musí členové aktivovat svůj účet kliknutím na aktivační odkaz " "odeslaný na jejich e-mailovou adresu. Užitečné při bezplatném členství." #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "Uložit členskou úroveň " #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Příklad nastavení ochrany obsahu" #: views/admin_members_list.php:18 msgid "All" msgstr "Vše" #: views/admin_members_list.php:23 msgid "Incomplete" msgstr "Nekompletní" #: views/admin_member_form_common_part.php:23 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Pohlaví" #: views/admin_member_form_common_part.php:30 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Telefon" #: views/admin_member_form_common_part.php:34 views/edit.php:51 msgid "Street" msgstr "Ulice" #: views/admin_member_form_common_part.php:38 views/edit.php:55 msgid "City" msgstr "Město" #: views/admin_member_form_common_part.php:42 views/edit.php:59 msgid "State" msgstr "Stát" #: views/admin_member_form_common_part.php:46 views/edit.php:63 msgid "Zipcode" msgstr "PSČ" #: views/admin_member_form_common_part.php:50 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Stát" #: views/admin_member_form_common_part.php:54 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Společnost" #: views/admin_member_form_common_part.php:58 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Člen od" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" "Nejdříve zapněte globální ochranu příspěvků a stránek na svém webu tím, že v " "rozevíracím seznamu níže vyberete možnost „Obecná ochrana“ a poté vyberte " "příspěvky a stránky, které mají být chráněny před nepřihlášenými uživateli." #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" "Poté v rozevíracím seznamu níže vyberte existující členskou úroveň a " "následně vyberte příspěvky a stránky, ke kterým chcete udělit přístup (pro " "konkrétní členskou úroveň)." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "dokumentaci ke hromadné ochraně příspěvků a stránek" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr " pro získání dalších informací." #: views/admin_post_list.php:21 msgid "Posts" msgstr "Příspěvky" #: views/admin_post_list.php:22 msgid "Pages" msgstr "Stránky" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "Vlastní příspěvky" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "Vyžadované stránky byly znovu vytvořeny." #: views/admin_tools_settings.php:21 msgid "Generate a Registration Completion link" msgstr "Generování odkazů pro dokončení registrace" #: views/admin_tools_settings.php:24 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Zde je možné ručně vygenerovat odkaz pro dokončení registrace a přeposlat " "jej zákazníkovi, pokud mu nedorazil e-mail, který je automaticky zasílán po " "obdržení platby." #: views/admin_tools_settings.php:29 msgid "Generate Registration Completion Link" msgstr "Generovat odkaz pro dokončení registrace" #: views/admin_tools_settings.php:30 msgid "For a Particular Member ID" msgstr "Pro konkrétní členské ID" #: views/admin_tools_settings.php:32 msgid "OR" msgstr "NEBO" #: views/admin_tools_settings.php:33 msgid "For All Incomplete Registrations" msgstr "Pro všechny neúplné registrace" #: views/admin_tools_settings.php:38 msgid "Send Registration Reminder Email Too" msgstr "Odeslat e-mailem také upomínku k registraci" #: views/admin_tools_settings.php:44 msgid "Submit" msgstr "Odeslat" #: views/admin_tools_settings.php:53 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Generování odkazu(ů) proběhlo úspěšně. Následující odkaz(y) použijte pro " "dokončení registrace." #: views/admin_tools_settings.php:55 msgid "Registration completion links will appear below" msgstr "Odkazy pro dokončení registrace se zobrazí níže" #: views/admin_tools_settings.php:65 msgid "A prompt to complete registration email was also sent." msgstr "E-mailem byla také odeslána výzva pro dokončení registrace." #: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88 msgid "Re-create the Required Pages" msgstr "Znovu vytvořit vyžadované stránky" #: views/admin_tools_settings.php:81 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" "Pokud jste omylem smazali vyžadované stránky, které byly vytvořeny pluginem " "během instalace, můžete je pomocí tohoto nástroje znovu vytvořit." #: views/admin_tools_settings.php:82 msgid " has full explanation." msgstr " obsahuje detailní popis." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Nevyplňovat pro zachování stávajícího hesla" #: views/edit.php:71 msgid "Company Name" msgstr "Název společnosti" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Obnovení hesla" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Uživatel přihlášen jako" #: views/loggedin.php:14 msgid "Membership" msgstr "Členství" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Expirace účtu" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Upravit profil" #: views/login.php:11 msgid "Username or Email" msgstr "Uživatelské jméno nebo e-mail" #: views/login.php:24 msgid "Remember Me" msgstr "Zapamatovat si mě" #: views/login.php:33 msgid "Forgot Password?" msgstr "Zapomenuté heslo?" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Zde se zaznamenávají veškeré platby/transakce členů." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Vyhledat transakci pomocí e-mailu nebo jména" #: views/payments/admin_create_payment_buttons.php:15 msgid "" "You can create new payment button for your memberships using this interface." msgstr "Pomocí tohoto rozhraní je možné vytvářet nová platební tlačítka." #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "Vyberte typ platebního tlačítka" #: views/payments/admin_create_payment_buttons.php:26 msgid "PayPal Buy Now" msgstr "PayPal Buy Now" #: views/payments/admin_create_payment_buttons.php:28 msgid "PayPal Subscription" msgstr "PayPal Subscription" #: views/payments/admin_create_payment_buttons.php:30 msgid "PayPal Smart Checkout" msgstr "PayPal Smart Checkout" #: views/payments/admin_create_payment_buttons.php:32 msgid "Stripe Buy Now" msgstr "Stripe Buy Now" #: views/payments/admin_create_payment_buttons.php:34 msgid "Stripe Subscription" msgstr "Stripe Subscription" #: views/payments/admin_create_payment_buttons.php:36 msgid "Braintree Buy Now" msgstr "Braintree Buy Now" #: views/payments/admin_create_payment_buttons.php:43 msgid "Next" msgstr "Další" #: views/payments/admin_edit_payment_buttons.php:15 msgid "You can edit a payment button using this interface." msgstr "Pomocí tohoto rozhraní je možné upravovat platební tlačítka." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" "Zde se zobrazují všechna tlačítka, která byla vytvořena v tomto pluginu." #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "Chyba! ID členské úrovně (" #: views/payments/admin_payment_settings.php:28 msgid "" "You can create membership payment buttons from the payments menu of this " "plugin (useful if you want to offer paid membership on the site)." msgstr "" "Tlačítka pro platby za členství můžete vytvořit v tomto pluginu v nabídce " "Platby (užitečné v případě, že budete na webu nabízet placené členství)." #: views/payments/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "Nastavení integrace PayPal" #: views/payments/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Generovat kód pro „Rozšířené proměnné“ u tlačítka PayPal" #: views/payments/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Zadejte ID členské úrovně" #: views/payments/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Generovat kód" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Nastavení tlačítka Braintree Buy Now" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:213 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:301 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:83 msgid "Button ID" msgstr "ID tlačítka" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:221 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:309 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:266 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:91 msgid "Button Title" msgstr "Název tlačítka" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:239 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:282 msgid "Payment Amount" msgstr "Částka k úhradě" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Klíč API Braintree a detaily k účtu (Požadované informace můžete získat ve " "svém účtu Braintree.)" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "ID obchodníka" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Veřejný klíč" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Privátní klíč" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "ID účtu obchodníka" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "The following details are optional." msgstr "Následující údaje jsou volitelné." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:287 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:456 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:149 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:373 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:191 msgid "Return URL" msgstr "Návratová adresa URL" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:321 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:200 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:484 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:159 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:383 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:212 msgid "Save Payment Data" msgstr "Uložit údaje o platbě" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:204 msgid "PayPal Buy Now Button Configuration" msgstr "Nastavení tlačítka PayPal Buy Now" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:247 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:327 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:289 msgid "Payment Currency" msgstr "Měna platby" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:295 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "PayPal Email" msgstr "PayPal e-mail" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:303 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:464 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:199 msgid "Button Image URL" msgstr "URL obrázku tlačítka" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:311 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:472 msgid "Custom Checkout Page Logo Image" msgstr "Obrázek loga vlastní stránky pokladny" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "Nastavení tlačítka PayPal Smart Checkout" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" "Přihlašovací údaje PayPal Smart Checkout API (Požadované informace můžete " "získat ve svém účtu PayPal.)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "Live Client ID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "Live Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "Sandbox Client ID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "Sandbox Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Nastavení vzhledu tlačítka" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Velikost" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 msgid "Medium" msgstr "Střední" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Large" msgstr "Velké" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "Přizpůsobitelné" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Vyberte velikost tlačítka." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Barva" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 msgid "Gold" msgstr "Zlatá" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 msgid "Blue" msgstr "Modrá" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 msgid "Silver" msgstr "Stříbrná" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 msgid "Black" msgstr "Černá" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 msgid "Select button color." msgstr "Vyberte barvu tlačítka." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Tvar" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 msgid "Rectangular" msgstr "Obdélníkové" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 msgid "Pill" msgstr "Zaoblené" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 msgid "Select button shape." msgstr "Vyberte tvar tlačítka." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Rozložení" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 msgid "Vertical" msgstr "Svislé" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 msgid "Horizontal" msgstr "Vodorovné" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 msgid "Select button layout." msgstr "Vyberte rozložení tlačítka." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Další nastavení" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Způsoby platby" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "PayPal Credit" msgstr "PayPal Credit" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" "Vyberte způsoby plateb, které mohou zákazníci používat. Vezměte prosím na " "vědomí, že platba kartou je vždy povolena." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "Následující údaje jsou volitelné" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:295 msgid "PayPal Subscription Button Configuration" msgstr "Nastavení tlačítka předplatného PayPal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Amount Each Cycle" msgstr "Fakturační částka v každém cyklu" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:383 msgid "Billing Cycle" msgstr "Fakturační cyklus" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Billing Cycle Count" msgstr "Počet fakturakčních cyklů" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:404 msgid "Re-attempt on Failure" msgstr "Opakovaný pokus při selhání" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:419 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Nastavení fakturace pro zkušební období (ponechte prázdné, pokud není " "nabízena zkušební doba)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:425 msgid "Trial Billing Amount" msgstr "Fakturační částka za zkušební období" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:433 msgid "Trial Billing Period" msgstr "Zkušební fakturační období" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:450 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:177 msgid "Optional Details" msgstr "Volitelné podrobnosti" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:250 msgid "Stripe Buy Now Button Configuration" msgstr "Nastavení tlačítka Stripe Buy Now" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:328 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "" "Klíč API Stripe (Požadované informace můžete získat ve svém účtu Stripe.)" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:131 msgid "Test Publishable Key" msgstr "Test Publishable Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:139 msgid "Test Secret Key" msgstr "Test Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:147 msgid "Live Publishable Key" msgstr "Live Publishable Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:353 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:155 msgid "Live Secret Key" msgstr "Live Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:365 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:183 msgid "Collect Customer Address" msgstr "Shromažďovat adresu zákazníka" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:75 msgid "Stripe Subscription Button Configuration" msgstr "Nastavení tlačítka Stripe Subscription" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:109 msgid "Stripe API ID" msgstr "ID rozhraní Stripe API" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:125 msgid "Stripe API Settings" msgstr "Nastavení rozhraní Stripe API" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:163 msgid "Webook Endpoint URL" msgstr "URL koncového bodu Webhook" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:20 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:91 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:93 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:150 msgid "Buy Now" msgstr "Koupit" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:228 msgid "Subscribe Now" msgstr "Předplatit hned" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137 msgid "Error occured during PayPal Smart Checkout process." msgstr "Během procesu PayPal Smart Checkout došlo k chybě." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165 msgid "HTTP error occured during payment process:" msgstr "Během procesu platby došlo k chybě HTTP:" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Zde zadejte heslo" msgid "Retype password here" msgstr "Zde zadejte heslo znovu" msgid "Registration is complete. You can now log into the site." msgstr "Registrace je dokončena. Nyní se můžete přihlásit na web." msgid " Field has invalid character" msgstr " V poli je zadán nepovolený znak" msgid " Password does not match" msgstr " Heslo se neshoduje" msgid "Already taken." msgstr "Již obsazeno." msgid "Street Address" msgstr "Ulice" msgid "Apt, Suite, Bldg. (optional)" msgstr "Budova, apartmán (volitelné)" msgid "State / Province / Region" msgstr "Stát / Provincie / Region" msgid "Postal / Zip Code" msgstr "PSČ" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Zaškrtněte políčko pro odstranění obrázku. Obrázek bude odstraněn po uložení " "profilu." msgid "You will need to re-login since you changed your password." msgstr "Heslo bylo změněno, je nutné se znovu přihlásit." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" "Zadejte prosím libovolné dvě číslice bez mezer (např. : 12)" msgid "Verification" msgstr "Ověření" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Zadejte prosím libovolné dvě číslice bez mezer (např. : 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Uživatelské jméno může obsahovat pouze: písmena, čísla a .-*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Povolené znaky jsou: písmena, čísla a .-_*@" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "K prohlížení tohoto obsahu nemáte oprávnění." msgid "Your membership level does not have permission to view this content." msgstr "K prohlížení tohoto obsahu nemáte dostatečnou úroveň oprávnění." msgid "This content is for members only." msgstr "Tento obsah je určen pouze pro členy." msgid "Please check at least one." msgstr "Zkontrolujte prosím alespoň jednu." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Adresář členů" #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "Členské ID" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Úroveň" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adresa" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Hledání..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Vymazat hledání" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Pro upgrade členství musíte být přihlášeni." msgid "Membership level has been updated." msgstr "Členská úroveň byla aktualizována." msgid "Already a member of this level." msgstr "Členství je již na této úrovni." languages/simple-membership-mk_MK.mo000064400000037432147206617610013510 0ustar00,< .   "1Fe lw  06Sjq$  )@ FT mx1&  .E=\5# %CSl %'=  IW 0: S`fu|   #%CYk|1  ":Oa} 01G `l| 93 $$IZ$c' -4J^$u"  .D M[MMA((a"!9&["(<  0 D 5a  L  # !/!8! K!hX!7!)!#"22"Me"""2"K#$c#A#2#3#1$7$,J$w$/$u$U1%%4%/%&&9'&+a&&':'R'0(A(<H(.(;(().)>)Z)[t)[)n,*G**++2,D,3c,,', ,,7-9-JK--,- -2- ..-.?L.P... /-/L/O[//(//0.070<F0,0O0&1('1<P1 111I1928>2 w222x2;-3/i33*3*3 44t(44E!5Sg5%55S5@J686J6>7 N7 [7$f7 727%7+7N8Sj8988) 939*O9z95939::g0:;9<!<F<E=0c=`>> ?)c"Aa E\Z%ofl03.D<F+{VxLz4Tru/e^5 S9BG,HWJ*O6#R=M:sNbg~(C7hk@ptj$28y-iQ |!v` q?>U;n '_IKdw[}1]& PXmY Email Settings (Account Upgrade Notification)(required)(twice, required)Account ExpiryAccount StateAccount StatusAccount is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Aready takenAssign free membership level IDAvailableBad Cookie HashCityCompanyCountryCreate a brand new user and add it to this site.Create new membership level.Default WordPress RoleDeleteDisplay SWPM Login.Do you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnter the Membership Level IDExample Content Protection SettingsExpiredFirst NameFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameJoin UsJoin Us Page URLLast NameLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelNeverNew password has been sent to your email address.No ExpiryNo Member found.Not a Member?ORPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Remember MeRepeat PasswordReset PasswordRoleSWPM LoginSelect the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsStateStreetStrength indicatorSubmitSubscription DurationSubscription StartsSubscription Valid ForSubscription starts field is invalidSubscriptoin duration must be > 0.Test & Debug SettingsUpdateUpdated Successfully.User NameUser Not Found.User nameUser name already exists.User name is requiredUsernameWP MembershipWordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.You are logged in as:You are not allowed to view this contentYou are not logged in.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view this content. ZipcodesearchProject-Id-Version: simple membership POT-Creation-Date: 2014-08-28 19:28+1000 PO-Revision-Date: 2014-11-26 16:05+0100 Last-Translator: Ivo Ivanov Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.6.9 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1; Language: mk_MK X-Poedit-SearchPath-0: . Email Подесувања (Известување за Надградба на Сметката)(потребно)(двапати, потребно)Сметката ИстекуваСостојба на сметкатаСтатус на СметкатаСметката не е активна.Статусот на сметката е невалиденАктивенДодади ЧленДодади новДодади Нов ЧленДодади Ново Ниво на Членство.Веќе постоиДоделете ID на нивото за слободно членствоДостапниЛош Хаш на колачетоГрадКомпанијаДржаваКреирај сосема нов корисник и додади го на оваа страница.Креирај Ново Ниво на Членство.Стандрадна WordPress УлогаИзбришиПрикажи го SWPM најавувањето.Дали сакате да ја заштитите оваа содржина?E-mail адресаУреди го ЧленотУреди го Нивото на ЧленствоURL за Страницата за Уредување на ПрофилотУреди го КорисникотУреди ги детаљите за постоечки членУреди го Нивото на ЧленствоУреди го Нивото на Членство.EmailEmail адресаEmail адресата е невалиднаТело на EmailEmail Разновидни ПодесувањаEmail Поставувања (Известување за Комплетирање на Регистрацијата)Email Подесувања (Регистрацијата е Комплетирана)Тема на EmailEmail адресата веќе се користи.Email адресата не се совпаѓаПотребна е email адресаВклучи го Бесплатното ЧленствоОвозможи Sandbox ТестирањеСелектирајте ја оваа опција ако сакате да ја тестирате sandbox опцијата за плаќањеВклучи/исклучи ја регистрацијата за приклучокот за бесплатно членствоВнеси го ID за Нивото на ЧленствоПример за Параметри за Заштита на СодржинатаИстеченаИмеЗа Сите Регистрации што се во текЈа заборавивте лозинкатаИД на ниво за Бесплатно ЧленствоОд Email АдресаПолПолето за пол е невалидноОпшти поставкиГенерирај КодГенерирај линк за комплетирање на регистрацијатаГенерирај линк за Комплетирање на регистрацијатаГенерирај го "Напредни Променливи" Кодот за твоето PayPal копчеСкријте го Администраторскиот алатникСовет: Лозинката треба да биде најмалку седум карактери долга. За да ја направите појака, користете големи и мали букви, броеви и симболи како ! " ? $ % ^ & ).IDНеактивенНепостоечко корисничко имеПридружете ни сеURL за Приклучи се страницатаПрезимеУспешно се одјавивте.Најавени сте какоНајави сеURL за Страницата за НајавувањеОдјави сеУправувај со Производството на СодржинаЧленНајавување на членовитеЧлен ОдЧлен од - полето е невалидноЧленовиЧленствоНиво на членствоКорисничкото ниво не е пронајдено.Создавањето на корисничкото ниво е успешно.Има на Нивото на ЧленствоНивоа на членствоНиво на ЧленствоНикогашНова лозинка е пратена на Вашата email адреса.Не Завршува.Членот не е пронајден.Не сте член?ИЛИПодесувања на СтраницитеЛозинкаЛозинката е празна или неважечкаРесетирање на лозинкатаURL за Страницата за Ресетирање на ЛозинкатаПотребна е лозинкатаЛозинката не одговараПодесувања за Интеграција со PayPalВо текТелефонВе молимеВе молиме извршете поправка на следновоВе молам поправете го следново:Документација за приклучоцитеПрофилРегистрирајРегистрацијаЛинковите за Комплетирање на Регистрацијата ќе се појават подолуURL за Страницата за РегистрацијаРегистрацијата е успешна.Запомни МеПовторете ја лозинкатаРесетирај ја ЛозинкатаУлогаSWPM НајавувањеИзберете го нивото на членство што има пристап до оваа содржинаПрати Email порака на Членот кој е додаден преку Администраторската таблаПрати Известување До АдминистраторотПрати Email Потсетник за Регистрација исто такаСесијата е истечена.ПодесувањаПодесувања за Заштитата за Слободно ЧленствоЕдноставна WP Заштита за ЧленствотоЕдноставно WP Членство::ЧленовиЕдноставно WP Членство::Нивоа на ЧленствоЕдноставно WP Членство::ПодесувањаДржаваУлицаИндикатор на ЈачинаВнесиВреметраење на ПретплататаПретплатата почнуваПреплатата е важечка доПолето за старт на претплатата е невалидноВреметраењето на претплатата мора да биде > 0. Подесувања за тестирање на SandboxНадградиАжурирањето е успешно.Корисничко имеКорисникот не е најден.Корисничко имеКорисничкото име веќе постоиКорисничкото име е потребноКорисничко ИмеWP ЧленствоWordPress прикажува администраторски алатник на најавените корисници на страницата. Селектирајте ја оваа рамка ако закате да го скриете администраторскиот алатник на интерфејсот на вашата страница.Веќе постои Wordpress сметка со дадената email адреса. Но даденото кориснико име не се совпаѓа.Веќе постои Wordpress сметка со даденото корисничко име. Но дадената email адреса не се совпаѓа.Најавени сте како:Не е дозволено да ја видите содржинатаНе сте најавени.Ти можеш рачно да генерираш линк за комплетирање на регистрацијата и да го дадеш на твоите корисници ако тие го пропуштиле emailот што им бил пратен веднаш по плаќањето.Потребно е да се најавите за да ја видите содржината.Поштенски кодбарајlanguages/simple-membership-lv_LV.mo000064400000056574147206617610013544 0ustar00 |gx.yD    #+.Zl |  3Gf mx M@0q%   !/ C PZ kx*-9,4:0Bs0  $+P Wcz   *1J&| !8S=j@#  + 8 @ O Z $!6!T!d!}!!!! !%!'!=" Z"h" # #####$$ $ 6$ @$J$ c$p$v$$$$ $ $$$ $$# %%-%S%i%{%4%%%1%%&@&A&0'A'*Q' |' ''''''''((#+( O(\((x((((((((().)C)K)Xi))) )0)*5*N* h*t** ****/*** + "+.+I+3\++9$,3^,,$,,,,$,#-?-_- }--'--k.!o...... .../C2/8v//J/0$0+0 A0 K0U0e0 |00$000 0102$1W12M2M22H3{33L333)434(5S:55?5556 6/78 8'8#08T8@d888 888!969P9 a9$o9999999 : (:I:X:u: :B:C:;)7; a; k;*u;N;;;<'<?<T<]<t< <<;<<?<2.= a=l=s=4z=#==0=>=>X> _>l>$u>>>>>>> ?$?tU"UhU?V ^VjV VVVVV$V* W5WSW cW6qW?WWXpYpZ-ZZZPZ'1[Y[.\2>\kq\\Q\J] i]t]|A 6eGW Mz\}rcmYag H';X0i4Ow>8`l5DI?%xQ1@FS)/k:ZtB,d _ 9<q{y+V[sP] .^ v"(=C#* LRE2hpNJ&~KbT3fUo-n! 7j$u Email Settings (Account Upgrade Notification) The rest of the content is not permitted for your membership level.%1$s %2$d%s pending(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.ApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton TitleBuy NowCategory ProtectionCheck this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.Date format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDExample Content Protection SettingsExcerpt ViewExpire AfterExpiredFilter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid User NameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameList ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.No items found.No user not found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment CurrencyPaymentsPendingPhonePleasePlease correct the followingPlease correct the following:Please login again.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Registration Successful. Remember MeRepeat PasswordReset PasswordReturn URLRoleSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email tooSession Expired.SettingsSettings updated!Simple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content can only be viewed by members who joined on or before This content is not permitted for your membership level.Trial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUpdated Successfully.Updated! User NameUser Not Found.User is not logged in.User nameUser name already exists.User name contains invalid characterUser name is requiredUsernameWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not logged in.You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: ZipcodesearchProject-Id-Version: Simple Membership POT-Creation-Date: 2015-08-15 13:27+1000 PO-Revision-Date: 2015-08-19 18:17+0200 Last-Translator: Language-Team: Uldis MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.7.5 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2); Language: lv_LV X-Poedit-SearchPath-0: . E-pasta uzstādījumi (dalības statusa maiņa)Tev nekas nav pieejams%1$s %2$d%s gaidaPiekļuve beidzas noteiktā datumā(nepieciešams)(divreiz, atstājiet tukšu, ja vēlaties saglabāt veco paroli)(divreiz, nepieciešams)Piekļuves ilgumsPiekļuve noPiekļuve derīga līdzPiekļuves ilgumam jābūt >0.Pieejas sākuma lauks nav derīgsKonta derīguma termiņšKonta stāvoklisKonta statussKontam beidzies derīguma termiņš.Neaktīvs konts.Konts gaida aktivāciju.Konta statusa lauks nav derīgsAktīvsPievienot dalībniekuPievienot jaunuPievienot jaunu dalībniekuPievienot jaunu dalības līmeniPapildinājumiAdministratora epasta adresePapildus uzstādījumiVisi datumiVisas Jūsu izveidotās līdzdalības pogas tiek attēlotas šeit.Šeit parādās visu dalībnieku veiktie maksājumi / transakcijas.Atļaut konta dzēšanuAtļaut lietotājiem dzēst savus kontus.PielietotAizņemtsPiesaistīt bezmaksas dalības līmeņa IDAutomātiski dzēst kontus, kas ilgstoši atrodas "Gaida aktivāciju" statusāPieejamsKatra cikla maksājuma apjomsMaksājumu ciklsmaksājumu ciklu skaitsLielapjoma darbībasPogas IDSaite uz pogas attēluPogas virsrakstsPirkt tagadKategoriju aizsardzībaAtzīmējiet lai ieslēgtu atkļūdošanas logfaila izveidiPilsētaNospiediet šeit, lai pabeigtu jūsu apmaksāto reģistrāciju.Lai pabeigtu reģistrāciju, nospiediet uz saites.UzņēmumsSkaitsValstsIzveidot un pievienot jaunu lietotāju šai vietnei.Izveidojiet jaunu dalības līmeni.Nederīgs datuma formāts.Dienas (Piekļuve ilgst norādīto dienu skaitu)Noklusētais konta stāvoklisNoklusētā WordPress lonaDzēstDzēst kontuAprakstsVai vēlaties aizsargāt šo saturu?E-pastsLabot dalībniekuLabot dalības līmeniLabot profilu lapas URLLabot lietotājuLabot dalībnieka datus.Labot dalības līmeniLabot dalības līmeni.E-pastsE-pasta adreseE-pasta adrese:E-pasta ķermenisDažādi epasta uzstādījumiE-pasta uzstādījumi (paroles atjaunošana)E-pasta uzstādījumi (paziņojums reģistrācijas pabeigšanai)E-pasta uzstādījumi (reģistrācija pabeigta)E-pasta tematsNederīga epasta adrese.E-pasts jau ir reģistrētsE-pasts nav derīgsNepieciešams epastsAtļaut ielogošanos kontiem ar beigušos derīguma termiņuIeslēgt bezmaksas dalībuIeslēgt vairāk taga aizsardzībuIeslēgt smilšukasti testiemIeslēdziet, lai testētu maksājumusIeslēgt / izslēgt reģistrāciju bezmaksas dalības līmenī. Ieslēdzot šo iespēju pārliecinieties, vai ir norādīts bezmaksas dalības līmeņa identifikators (zemāk)!Ieslēdz vai izslēdz "vairāk" taga aizsardzību rakstos un lapās. Jebkas pēc "Vairāk" taga tiek aizsargāts. Jebkas pims "Vairāk" taga ir brīvi pieejams saturs.Ievadiet Dalības līmeņa IDSatura aizsardzības uzstādījumu piemērsIzgriezumu skatsTermiņš beidzas pēcBeidzies termiņšFiltrēt pēc datumaVārdsVispirms Jūsus lapā globāli aizsargājiet kategoriju izvēloties "Vispārējā aizsardzība" no izkrītošās izvēlnes zemāk un tad norādiet kuras tieši kategorijas aizsargāt no neautorizētas piekļuves.Slēgt noteiktā datumāVisām reģistrācijām, kas gaida aktivācijuAizmirsi paroliBezmaksas dalības līmeņa IDNo epasta adresesDzimumsDzimuma lauks nav derīgsVispārējie iestatījumiĢenerēt koduĢenerēt Reģistrācijas pabeigšanas saitiĢenerēt Reģistrācijas pabeigšanas saitiĢenerēt "Advanced Variables" kodu Jūsu PayPal pogaiSlēpt Administrēšanas rīkjosluIeteikums: parolei vajadzētu būt vismaz 7 simbolus garai. Lai padarītu to spēcīgāku, lietojiet LIELOS burtus, ciparus un simbolus, piemēram, " ? $ % ^ & ).IDJa jūs tikko veicāt līdzdalības maksājumu, tad uzgaidiet dažas minūtes, maksājums tiek apstrādāts. Tiklīdz apstrāde būs pabeigta, Jums tiks nosūtīts epasts ar atbilstošu paziņojumu.NeaktīvsNederīga epasta adreseNederīgs lietotāja vārdsNederīgs līdzdalības līmenisPievienojies mums!Pievienojies mums lapas URLPēdējoreiz piekļuve no IPUzvārdsSaraksta skatsVeiksmīga atslēgšanās.Pieslēdzies kāPieslēgtiesLogin lapas URLAtslēgtiesPārvaldīt satura izveidiDalībnieksDalībnieka pieslēgšanāsDalībnieks kopšDalībnieks līdz lauks nav derīgsDalībniekiDalībaDalības līmenisDalības līmeni nevarēja atrast.Dalības līmeņa izveide veiksmīga.Dalības līmeņa nosaukumsLīdzdalības līmeņiDalības līmenisMēneši (Piekļuve ilgst norādīto mēnešu skaitu)VārdsNekadJaunā parole tika nosūtīta uz Jūsu epasta adresi.TālākKā nākamo izvēlieties kādu no esošajiem dalības līmeņiem izkrītošajā izvēlnē zemāk un tad norādiet kurām tieši kategorijām vēlaties atļaut piekļuvi (izvēlētajā dalības līmenī).Nebeidzama (Piekļuve kamēr vien eksistē lietotāja konts)Nebeidzama (Piekļuve šim līmenim kamēr vien netiek slēgta piekļuve)Neatradu dalībnieku.Nekas netika atrastsAr šādu epasta adresi nav atrasts neviens lietotājs.Neesi dalībnieks?Paziņot lietotājamVAIPapildus nosacījumiLapu uzstādījumiParoleParole ir tukša vai nederīgaParoles atjaunošanaParoles atjaunošanas lapas URLNepieciešama paroleParoles nesakrītPayPal Buy Now pogas konfigurācijaPayPal epastsPayPal integrācijas uzstādījumiPayPal Subscription pogas konfigurācijaMaksājuma lielumsMaksājuma valūtaMaksājumiGaida aktivācijuTelefonsLūdzu doties uz lapuLūdzu labojietLūdzu izlabojiet:Lūdzu pieslēdzieties atkārtoti.Spraudņa dokumentācijaProfilsProfils atjaunināts sekmīgi.Profils atjaunināts sekmīgi. Tā kā tika mainīta parole, nepieciešams atkārtoti ielogoties.Kļūmes gadījumā mēģināt atkārtotiReģistrētiesReģistrācijaReģistrācijas pabeigšanas saites parādīsies zemāk:Reģistrācijas lapas URLReģistrācija veiksmīga.Reģistrācija veiksmīga.Atcerēties maniAtkārtojiet paroliAtjaunot aizmirstu paroliAtgriežoties atvērt saitiLomaSaglabāt maksājuma datusMeklētMeklēt transakcijas pēc epasta vai vārdaDrošības pārbaude: captcha pārbaude neizdevās.Izvēlieties visuIzvēlieties lapuIzvēlieties maksājuma pogas tipuIzvēlieties lielapjoma darbībuNorādīet, cik ilgi gaidīt konta aktivāciju pirms tā automātiskas dzēšanas.Izvēlieties noklusēto reģistrācijas stāvokli tikko reģisttrētiem lietotājiem. Ja vēlaties dalībniekus apstiprināt manuāli, izvēlieties "Gaida aktivāciju".Norādiet dalības līmeni, kas nepieciešams satura piekļuvei:Sūtīt epastu dalībniekam, ja tas tiek pievienots caur administratora vadības paneliSūtīt paziņojumu administratoramNosūtīt arī reģistrācijas atgādinājuma epastuSesija beigusies.UzstādījumiUzstādījumi atjaunināti!Simple Membership aizsardzības uzstādījumiSimple Membership::MaksājumiSimple WP Membership aizsardzībaSimple WP Membership::PapildinājumiSimple WP Membership::KategorijasSimple WP Membership::DalībniekiSimple WP Membership::Dalības līmeņiSimple WP Membership::UzstādījumiDaži paplašinājuma simple membership papildinājumu uzstādījumi un iespējas tiksw attēlotas šeit (ja jums tie ir uzstādīti)Atvainojiet, nonce pārbaude nesekmīga.Atvainojiet, nesakrīt paroles.RajonsIelaDrošības indikatorsNosūtītAbonēt tagadAbonenta ID/ReferenceTestēšanas & atķļūdošanas uzstādījumiIzvēlētais ieraksts dzēsts!Piekļuve šim saturam ir pieejama tikai dalībniekiem, kas pievienojušies pirms (ieskaitot)Šim saturam Jums nav piekļuves Jūsu līdzdalības līmenī.Izmēģinājuma perioda maksājumsIzmēģinājuma perioda uzstādījumi (Atstājiet tukšu, ja izmēģinājuma periods netiek piedāvāts)Izmēģinājuma perioda ilgumsAtjauninātVeiksmīgi atjaunināts.Atjaunināts!LietotājvārdsLietotājs nav atrastsLietotājs nav ielogojies.Lietotāja vārdsLietotājvārds jau ir reģistrēts.Lietotājvārds satur nederīgu rakstzīmiNepieciešams lietotājvārdsLietotājvārdsWP MembershipNedēļas (Piekļuve ilgst norādīto nedēļu skaitu)Nedēļas (Piekļuve beigsies pēc norādītā nedēļu skaita)Ja šī iespēja ir atļauta, lietotāji ar beigušos konta derīguma termiņu joprojām var ielogoties, taču nevar piekļūt aizsargātajam saturam. Tādējādi ir iespējams vienkāršoti pēc ielogošanās pagarināt konta derīguma termiņu veicot kārtējo maksājumu.WordPress rāda Administrēšanas rīkjoslu tiem lietotājiem, kas ir pieslēgušies. Atzīmējiet šo rūtiņu, lai paslēptu rīkjoslu no mājas lapas apmekletājiem.Norādītā epasta adrese atbilst eksistējošam Wordpress kontam. Taču norādītais lietotājvārds nesakrīt.Norādītais lietotājvārds atbilst eksistējošam Wordpress kontam. Taču norādītā epasta adrese nesakrīt.Gadi (Piekļuve ilgst norādīto gadu skaitu)Pieslēdzies kā:Nepieciešams ielogoties.Jūs varat izveidot jauna maksājuma pogu izvēlētajiem dalības veidiem šeit.Jūs varat labot maksājuma pogu šeit.Ja pircējs nav saņēmis vai ir pazaudējis sistēmas automātiski sūtīto epastu, Jūs varat manuāli ģenerēt reģistrācijas pabeigšanas saiti šeit un pārsūtīt pircējam.Pieslēdzieties, lai skatītu pārējo saturu.Lai piekļūtu saturam, nepieciešams ielogoties. Jūsu kontam ir beidzies deriguma termiņš. Piekļuves turpināšanai nepieciešams pagarināt abonementu.Jūsu pašreizējā paroleJūsu līdzdalības profils tiks atjaunināts lai atspoguļotu veikto maksājumu.Jūsu profila lietotājvārds:Pasta kodsmeklētlanguages/simple-membership-sv_SE.mo000064400000273614147206617610013535 0ustar00(\?2C.C4C"C D=DVD E ED'E}lEEF2{GGN4HH"HeH!IN8IKI&IIJ +JB7J-zJ JiJ3K CK+NKzK KKKK6ILL LLL;LM-M V OV ]VjV {V V VV VVVsWWW,WW X X X+X?XXXKuXXX*YEYNY SY `Y-kY9YYY%YZ Z%-ZASZZZ ?[I[O[W['k[[[0[[ \ \ @\M\R\0l\\\\\\\] ]*](I]r]&]$]]] ] ]]^&^C<^^^ ^^"^"^_!_ 1_<_Q_`_1_&__ __`/`@`R`g` `"`$``a a+aHa_a zaaaa/ab5bb[cYd[hded=*eheq5ff?gwg~Sh?h?iaRi*iiRjjZk3k*l-:l+hl.lJl4m.CmBrm[m&no8nmnkogo<oN'pLvpJp@q>OqFq6q. rH;rrr##s GsTs \shs qs}s ss]t'u 9uZu!uuuuuIu)v517 Wd.PP2e]hz;!RtdNh33I@<}y`(hl sCw]^0)%.i!:/vImg:ZD?_a*!!Ln %  #17H]0p7?,w( C)j6/nf^41Ly~SRk2$ 7OK8rfxC A(,&U|  .O_qTHN_q ",G_f" !7G;&b |*5 %~22# ,*8 c$q Rn$&0,(%U {  #  %08&&;B ~ HWO@ 7 =D1 )Xh ,27*Ju?!9KQ1g  ##.Gv&%@J\ %#6Tct,C0!F hu ,1I{!(#$,>k":el:fs7Y|$F#Djb-@>,D+q//3K16}*Ia)6IzONce}f^J ] ] ;e " S  . /      &  6 A H Q %  ' 4+R!~Y,?D+^-* ,+1]6m>? ~"Ow wA !:   "=V t~6jAyP aY]  -HLe$   !! ==G $!)ATg!v%" 7 ;\c6rQ_Od! 3 1P E ) l o_!|!!L"n"3"Y" # $# 1#?#!$&$$$$$t%4%%% %%&%&$&$K&%p&&&$&K& /';'B'I'C'0(C(R(*l(!( ( (((S)(U)~))+)+) ** ,*:*P*a*w*'**c* .+ :+ E+S+ X+-b+'+++ + ,N4,;,,,,- #- .-9-)A-mk--- ...T..!..... // +/ 8/Y/'y/ / ///6/< 0 ]0k0 }00.00001m 1zx2233d/3a334 "4-4A4V46m44T44450;5l5 555555556*69<6kv6m6tP77B_88B8909O9c9'9999q:r:J:::%:;";");/L;!|;;;;$;$"<G<c<k<jq<+<#=$,=Q=V=n=u== == ====" >0>=K>>#>>>%> ?%3?Y?o?+? ? ?????@-@3L@ @/@u@0A8A(SA|AA)AA AABbQC|C:1DBlDDDD-qEEE3sFJF*F9GWGekGjGS'NS vSSRSS T TT"%T HTRT/TUVvW3X RX `XEX)X(XY/YBJYFYLY!Z;Z AZMZVZ gZ/sZ<ZJZ +[9[[\[<\Q\j\3\4\\}] ^E^^C_`` =`I`IaQaT)b-~bbdbe-cccciddduDeNe f0f4gMPgxgijdjb lnll'mmQ;nunoo/Rppq'=q;eqsq9r0Or{rErkBs9ss)}tt=t:t9uu u(u v/v Hv Tv`v~vv%v vvvvww&w9:wtwC) hsJ1e%Ui3MTb_w *[ltsk RC `XSt%c xh{;Q'^N>5R8'B\N0xSY!,  g&G3m<O $[0l <T u,HXg/!3`m .~ f@Y?dI^e |}-`DQ4E4u\y|NdP:w^v:rjAE{pD#]=M b9;%76*E*+?}WJV7dfIz -}#A#1A?=gL~4(z/a>[ 6{8) cb vYD"WsrhZijOPo-nO"&0]+ un(k5 aKw_&UJc$2l;<v@F /!VRx@15+Lo7:Z'_2Wy~KQ.j"tZ'eG2GzUy%Fi#>aHoq$p Iq(nLfp(XV mKF"Hq\k.|)B6$9,MB]& S!r=9C8TP Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match Read this documentation to learn how to recreate them (if needed). Read the Success! The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currently editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains how to use this feature. explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. of our documentation to learn more about creating membership payment buttons. of this plugin (useful if you want to offer paid memberships on the site). page to pay for a premium membership. to learn how to do it. to learn how to use it. to log in. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterA flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site.A prompt to complete registration email was also sent.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add New TransactionAdd a Transaction ManuallyAdd-onsAdditional SettingsAdditional Settings (Optional)Addons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Logout Redirect URLAfter Registration Redirect URLAfter how many cycles should billing stop. Leave this field empty (or enter 0) if you want the payment to continue until the subscription is canceled.AllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow HTML in EmailsAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountAmount to be charged on every billing cycle. If used with a trial period then this amount will be charged after the trial period is over. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Apostrophe character is not allowedApt, Suite, Bldg. (optional)Are you sure that you want to cancel the subscription?Assign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlacklist Message CustomizationBlacklistingBlacklisting & WhitelistingBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton ColorButton HeightButton IDButton Image URLButton LayoutButton ShapeButton ShortcodeButton Style Settings (Optional)Button TitleButton TypeButton Type/LabelButton WidthBuy NowBy default, funding source eligibility is smartly decided based on a variety of factors. You can force disable funding options by selecting them here.Can't find member account.Cancel SubscriptionCannot find member account.Captcha validation failed on the login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check the membership levels that should have access to that page's content.Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CheckoutCityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameConfigure Blacklisting & WhitelistingConfigure the PayPal API credentials for the new PayPal checkout.Confirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate Live WebhookCreate Member Accounts for New WP UsersCreate New ButtonCreate Sandbox WebhookCreate a brand new user and add it to this site.Create new membership level.Credit or debit cardsCustom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDelete WebhooksDescriptionDisable Access to WP DashboardDisable Email Notification After UpgradeDisable FundingDo you really want to delete the form?Do you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEdit the Post or Page that you want to protect in WordPress editor.EmailEmail ActivationEmail AddressEmail Address BlacklistingEmail Address Pattern BlacklistingEmail Address Pattern WhitelistingEmail Address WhitelistingEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty data received.Empty payment data received.Empty transaction data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable Automatic TaxEnable Blacklisting FeatureEnable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Password Reset Using LinkEnable Privacy PolicyEnable Sandbox or Test ModeEnable Terms and ConditionsEnable Toggle Password Visibility in Login FormEnable Whitelisting FeatureEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter a list (comma separated) of email addresses pattern to blacklist. Example value: @baddomain.com, @crazydomain.comEnter a list (comma separated) of email addresses pattern to whitelist. Example value: @gooddomain.com, @gmail.com, @yahoo.comEnter a list (comma separated) of email addresses to blacklist.Enter a list (comma separated) of email addresses to whitelist.Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Enter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the message you want to show to the user when the blacklisted condition is met. Leave it empty to use the default message.Enter the message you want to show to the user when the whitelisted condition is met. Leave it empty to use the default message.Enter the subject for the admin notification email.Enter your PayPal Client ID for live mode.Enter your PayPal Client ID for sandbox mode.Enter your PayPal Secret Key for live mode.Enter your PayPal Secret Key for sandbox mode.Error occured during payment verification. Error code: %1$d. Message: %2$sError occurred during PayPal Smart Checkout process.Error occurred during PayPal checkout process.Error! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Invalid password reset request.Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again.Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again.Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again.Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Password fields do not match. Please try again.Error! Please select a membership level first.Error! The password reset key is invalid. Please generate a new request.Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry DateExpiry: Extra LargeFemaleFirst NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate Registration Completion LinkGenerate a Registration Completion linkGo back to the home page by GoldHTTP error occurred during payment process:Hide AdminbarHide Registration Form to Logged UsersHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).Hit the Update/Save Button to save the changes.HorizontalHow to Apply Content ProtectionI accept the I agree to the IDIPN product validation failed. Check the debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If enabled, the member's decryptable password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have issues with the webhooks, you can delete it and create again.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelInvalid or Missing API Credentials! Check the plugin settings and enter valid API credentials in the PayPal Credentials section for %s mode.Invalid webhook URL.It is useful to use a thank you page in your payment button configuration. Read this documentation to learn more.It will also delete the associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Client IDLive PayPal API credentials are not set. Please set the Live PayPal API credentials first.Live Publishable KeyLive SecretLive Secret KeyLive Webhook exists. If you still have issues with webhooks, you can delete it and create again.Live mode credentials are not set. Cannot create webhook.Log InLogged Out Successfully.Logged in asLogged in as: Login HereLogin Page URLLogoutLogout Member on Browser CloseMaleManage Content ProtectionManage Payment ButtonsManual transaction added successfully. MediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew passwordNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No active subscriptionsNo category found.No items found.No member found.No membership levels found.No token provided.No user found with that email address.No user found with that username or email.No webhook found. Nothing to delete.No webhook found. Use the following Create Live Webhook link to create a new webhook automatically.No webhook found. Use the following Create Sandbox Webhook link to create a new webhook automatically.No webhook found. Use the following Create Webhook button to create a new webhook automatically in your PayPal account.No, Do not protect this content.Nonce check failed.Nonce check failed. Please reload the page.Nonce check failed. The page was most likely cached. Please reload the page and try again.Not SpecifiedNot a Member?Not a member? Note that the PayPal subscription API requires your site to use HTTPS URLs. You must use an SSL certificate with HTTPS URLs to complete the setup of the subscription addon and use it.Note:Note: You cannot enable both the "Disable Access to WP Dashboard" and "Admin Dashboard Access Permission" options at the same time. Only use one of those options.Notify UserOROptional DetailsOptional Pages SettingsOptional page. It is automatically created by the plugin when you install the plugin for the first time.Page Setup and URL Related settings.PagesPages SettingsPasswordPassword ResetPassword Reset Page URLPassword Reset Successful. Password empty or invalid.Password field cannot be empty.Password is requiredPassword mismatchPassword must contain at least:Password reset link has been sent to your email address.Password: PayPayPalPayPal API Credential information is missing in settings. Please enter valid PayPal API Credentials in the General Settings tab for %s mode.PayPal API credentials are missing. Please set the PayPal API credentials.PayPal Billing Plan Details for This ButtonPayPal Buy NowPayPal Buy Now (New API)PayPal Buy Now (New API) Button ConfigurationPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription (New API)PayPal Subscription (New API) Button ConfigurationPayPal Subscription Button ConfigurationPayPal WebhooksPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment DetailsPayment MethodsPayment Notification Forward URLPayment SettingsPayment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s.PaymentsPendingPhonePillPleasePlease %s if you like the plugin.Please Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostcodePostsPre-fill Member Email AddressPre-fills the email address of the logged-in member on the Stripe checkout form when possiblePrivacy PolicyPrivacy Policy Page URLPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRe-enter new passwordRead the Read this documentationRectangularRecurring Billing AmountRecurring Billing CycleRecurring Billing Cycle CountRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReset debug log files by clicking Return URLRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user roles to access the SWPM admin dashboard by selecting a value here. Note that this option cannot work if you enabled the "Disable Access to WP Dashboard" option in General Settings.Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal API credentials first.Sandbox Client IDSandbox SecretSandbox Secret KeySandbox Webhook exists. If you still have issues with webhooks, you can delete it and create again.Sandbox mode credentials are not set. Cannot create webhook.Sandbox or Test Mode Payment SettingsSave ChangesSave DataSave Membership Level Save Payment DataSave Transaction DataScroll down to the section titled 'Simple WP Membership Protection'.SearchSearch for a transaction by using email, name, transaction ID or Subscr ID.Search...Security check: captcha validation failed.Select 'Yes, Protect this content' option.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button height.Select button layout.Select button shape.Select button size.Select button type/label.Select button width.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSet the interval of the recurring payment. Example value: 1 Month (if you want to charge every month)SettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminShow passwordSilverSimple Membership Plugin SiteSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSimple WordPress MembershipSizeSmallSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the Access Starts date value.StateState / Province / RegionStatusStatus/NoteStreetStreet AddressStrength indicatorStripe API IDStripe API Live publishable keyStripe API Live secret keyStripe API SettingsStripe API Test publishable keyStripe API Test secret keyStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe Global SettingsStripe Legacy Buy Now (deprecated)Stripe Legacy Subscription (deprecated)Stripe SCA Buy NowStripe SCA Buy Now Button ConfigurationStripe SCA SubscriptionStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribeSubscribe NowSubscriber IDSubscriber ID/ReferenceSubscription Plan IDSubscription Plan ModeSubscription has been cancelled.Subscription/Recurring Billing DetailsSuccess!Success! Your account has been activated successfully.Take the following steps to apply protection to your content so only members can have access to it.Terms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.Thank YouThank You Page URLThe PayPal payment buttons that uses the new API require webhooks. The plugin will auto-create the required webhooks when you create a PayPal payment button.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The email address you used is blacklisted on this site.The email address you used is not whitelisted on this site.The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This blacklisting & whitelisting documentationThis content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis interface contains useful tools for various admin operations.This interface lets you configure blacklisting & whitelisting for email addresses. This interface lets you customize the various emails that get sent to your members for various actions. The default settings should be good to get your started.This is calculated based on the current membership level assigned to this member and the expiry condition that you have set for that membership level.This is the member's account status. If you want to manually activate an expired member's account then readThis page allows you to configure some advanced features of the plugin.This section allows you to configure Stripe payment related settings.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure blacklisting settings.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This section allows you to configure whitelisting settings.This section allows you to enable/disable sandbox or test mode for the payment buttons.This unique registration link (see the URL in the browser's address bar) has already been used. You don't need to create another account. Log into the existing account to access the protected content.This unique registration link (see the URL in the browser's address bar) is invalid. Could not find a match for the given member ID and the security code. Please contact the site administrator.This value gets updated when this member logs into your site.TitleToolsTransaction IDTransaction completed successfully!TransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTrial PeriodTypeType password hereUnsubscribe from PayPalUpdateUse API keys from Payment Settings tab.Use Global API Keys SettingsUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to hide the registration form to the logged-in members. If logged-in members visit the registration page, they will see a message instead of the registration form.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername field cannot be empty.Username is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVenmoVerificationVerticalView DocumentationView ProfileView general debug log file by clicking View login related debug log file by clicking Visit the %s to read setup and configuration documentation.WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Webhook Endpoint URLWebhook exists. If you still have issues with webhooks, you can delete it and create again.Webhook has been created.Webhook has been deleted.Webook Endpoint URLWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled.When enabled, blacklisting feature will be activated.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.When enabled, whitelisting feature will be activated.WhiteWhitelist Message CustomizationWhitelistingWordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will prevent any non-admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But the given username doesn't match.Wordpress account exists with given username. But the given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are already logged in. You don't need to create another account. So the registration form is hidden.You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can add a new transaction record manually using this interface. It can be useful if you manually accept cash payment for your memberships.You can also use payment buttons from the following plugins to accept payments for your memberships.You can create a new payment button for your memberships using this interface.You can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enable this option if you want to handle the password reset functionality using a reset link that is emailed to the member. Read this documentation to learn more about the password reset function.You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to be logged in to view the rest of the content. You need to be logged in to view this content. You need to confirm your email address. Please check your email and follow instructions to complete your registration.You will be automatically redirected in a few seconds. If not, please %s.You will be redirected to the previous page in a few seconds. If not, please click here.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herecontent protection documentationgive us a ratingherehttps://simple-membership-plugin.com/incompletemembership payment sectionpayments menurenewsmp7, wp.insidersubscription createdthis documentationto learn how to get your PayPal API credentials.to learn more.Project-Id-Version: Simple WordPress Membership PO-Revision-Date: 2023-10-15 20:08+0200 Last-Translator: Language-Team: Language: sv_SE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 3.4 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: simple-wp-membership.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js E-postinställningar (Meddelande om kontouppgradering) E-postinställningar (Masskonto Aktivering) E-postinställningar (E-postaktivering) Fältet har ogiltigt tecken Lösenordet matchar inte Läs denna dokumentation för att lära dig hur du återskapar dem ( om det behövs). Läs Lyckades! Resterande innehåll är inte tillgängligt för din medlemsnivå. Detta kan vara användbart vid felsökning av ett problem. Stäng av den och återställ loggfilerna när felsökningen är klar. Använd en annan e-postadress för att slutföra registreringen. Om du vill använda denna e-postadress måste du ange rätt användarnamn är associerad med den befintliga WP-användaren. Använd ett annat användarnamn för att slutföra registreringen. Om du vill använda det användarnamnet måste du ange du den e-postadress som är associerad med den befintliga WP-användaren. Du redigerar för närvarande medlem med medlems-ID: Du kan skriva flera adresser separerade med ett komma (,) i fältet ovan för att skicka till flera adresser. Du kan inte använda e-postmergetaggar i detta e-mail. Du kan endast använda generiska text. tecken som krävs för förklarar hur du använder den här funktionen. förklarar vilka e-postsammanfogningstaggar du kan använda i e-postmeddelandefältet för att anpassa det (om du vill). har fullständig förklaring. i vår dokumentation för att lära dig mer om att skapa medlemsbetalningsknappar. av detta plugin (användbart om du vill erbjuda betalmedlemskap på webbplatsen). sida för att betala för ett premium-medlemskap. för att lära dig hur du gör det. att lära sig att använda den. för att logga in. för att se profilen du för närvarande är inloggad som i denna webbläsare. ditt konto för att få tillgång till detta innehåll.(Åtkomst upphör detta datum)(OBS: av säkerhetsskäl tillåter vi inte radering av något associerat WordPress-konto med administratörsroll).(Vänligen välj)(obligatorisk)(två gånger, lämna tomt för att behålla det gamla lösenordet)(två gånger, obligatoriskt)- en siffra- en liten bokstav- en stor bokstavEn flexibel, välstödd och lättanvänd WordPress-medlemskapsplugin för att erbjuda gratis och premiuminnehåll från din WordPress-webbplats.En uppmaning att slutföra registrerings-e-post skickades också.Åtkomstens varaktighetTillgång startarÅtkomst giltig tillÅtkomstens varaktighet måste vara > 0.Ändring av åtkomstdatum slutfördes.Åtkomst-fältet är ogiltigtKontot upphörKontostatusKontostatusKontot är redan aktivt. Användarkontot har gått ut.Användarkontot är ej aktivt.Kontot är väntande.Kontostatus-fältet är ogiltigtÅtgärdsstatusAktivering krävsAktiveringskoden stämmer inte. Det går inte att aktivera det här kontot. Vänligen kontakta administratören för webbplatsen.E-post för aktivering har skickats. Kontrollera din e-post och aktivera ditt konto.AktivLägg till nivåLägg till medlemLägg till medlemsskapsnivåLägg tillLägg till ny medlem Lägg till ny medlemsnivå Lägg till ny transaktionLägg till en transaktion manuelltTilläggYtterligare inställningarYtterligare inställningarTilläggsinställningarAdressAdminpanel åtkomstbehörighetE-postadress till administratörenMeddelande till AdminÄmne för meddelande till AdminAvancerade inställningarURL omdirigering efter utloggningEfter-registreringssida URLEfter hur många cykler ska faktureringen sluta. Lämna detta fält tomt (eller ange 0) om du vill att betalningen ska fortsätta tills prenumerationen avslutas.AllaHär visas alla knappar för medlems som du skapat i plugin-programmet.Alla medlemmars betalningar/transaktioner registreras här.Tillåt radering av kontoTillåt HTML i e-postmeddelandenTillåt användare att radera sina konton.Tillåtna tecken är: bokstäver, siffror och .-_ * @Redan medlem på denna nivå.UpptagetRedan taget.Alternativt kan du använda en annan webbläsare (där du inte är inloggad som ADMIN) för att testa medlemskapsinloggningen.BeloppBelopp som ska debiteras vid varje faktureringscykel. Om den används med en provperiod kommer detta belopp att debiteras efter att provperioden är över. Exempelvärden: 9,90 eller 25,00 eller 299,90 etc (ange inte valutasymbol).Apostrof är inte tillåtetVån, lght-nr (valfritt)Är du säker att du vill avbryta prenumerationen?Tilldela gratis medlemskapsnivå IDFörfattareAutomatisk borttagning av väntande kontonTillgängligtFaktureringsbelopp för varje periodFaktureringsperiodAntal faktureringsperioderSvartSvartlista meddelandeanpassningSvartlistningSvartlistning och vitlistningBlåBraintree API-nyckel och kontouppgifter. Du får detta från ditt Braintree-konto.Braintree Köp nuBraintree Köp nu-knappkonfigurationMassuppdatera startdatum för åtkomstMassändra medlemskapsnivåMassåtgärderMassuppdatera åtkomstsstartdatum för medlemmarMassuppdatering av medlemsnivå av medlemmarInställningar för knappens utseendeKnappfärgKnapphöjdKnapp-IDKnappbildens URLKnapplayoutKnappformShortcode för knapparKnappstilsinställningar (valfritt)Knappens titelKnapptypKnapptyp/etikettKnappbreddKöp nuSom standard avgörs finansieringskällan smart baserat på en mängd olika faktorer. Du kan tvinga Inaktivering av finansieringsalternativ genom att välja dem här.Det går inte att hitta medlemskontot.Avbryt prenumerationDet går inte att hitta medlemskontot.CAPTCHA validering misslyckades på inloggningsformuläret.Captcha-validering misslyckades.KategorierKategori-IDKategorinamnKategoriskyddTyp av kategori (Taxonomy)Kategoriskydd uppdaterad!Kontrollera medlemsnivåerna som ska ha tillgång till sidans innehåll.Markera den här rutan för att ta bort bilden. Bilden raderas när du sparar profilen.Markera detta alternativ för att aktivera felsökningsloggning.CheckoutOrtRensa SökKlicka härKlicka här för att slutföra din betalda registreringKlicka på följande länk för att slutföra registreringen.Samla in kundadressFärgKommentarer är inte tillåtna av icke-medlemmar.FöretagFöretagsnamnKonfigurera svartlistning och vitlistningKonfigurera autentiseringsuppgifterna för PayPal API för den nya PayPal-utcheckningen.Bekräfta radering av kontoKontakta webbplatsens admin och be dem att kolla ditt användarnamn i menyn WP-användare för att se vad som hände med WP-användarposten på ditt konto.Fortsätta?AntalLandSkapa Live WebhookSkapa medlemskonton för nya WP-användareLägg till ny knappSkapa Sandbox WebhookSkapa en helt ny användare och lägg till på denna webbplats.Lägg till ny medlemskapsnivå.Kredit- eller betalkortAnpassad Logo för Checkout-sidanAnpassade inläggDatumOgiltigt datumformat.Dagar (antal dagar till att medlemskapet upphör)Standard kontostatusStandard medlemsnivåStandard WordpressrollRaderaRadera kontoRadera användarprofilTa bort WebhooksBeskrivningInaktivera åtkomst till WP-panelenInaktivera e-postmeddelande efter uppgraderingInaktivera finansieringVill du verkligen ta bort formuläret?Vill du skydda detta innehåll?E-postELVRedigera medlemRedigera profilProfilredigeringssida URLRedigera befintliga medlemsuppgifter.Redigera medlemsskapsnivånRedigera inlägget eller sidan som du vill skydda i WordPress-redigeraren.E-postE-postaktiveringE-postadressSvartlistning av e-postadresserSvartlistning av e-postadressmönsterVitlistning av e-postadressmönsterVitlistning av e-postadresserE-postadress: E-postmeddelandeInställningar för e-postE-postinställningarE-postinställningar (Återställ lösenord)Inställningar för e-post (uppmaning att slutföra registreringen)Inställningar för e-post (lyckad registrering)Översikt av e-postinställningarE-postsämneOgiltig e-postadress.E-postadressen används redan.Ogiltig e-postadressE-post krävsTom data mottagen.Tom betalningsdata mottagen.Tom transaktionsdata mottagen.Aktivera att skapa medlemskonton automatisktAktivera automatisk inloggning efter registreringAktivera automatisk skattAktivera svartlistningsfunktionenAktivera felsökningAktivera inloggning för utgånget kontoMöjliggör gratis medlemskapsnivåMöjliggör ”läs mer”-taggskyddAktivera lösenordsåterställning med länkAktivera IntegritetspolicyAktivera sandlåda eller testlägeAktivera VillkorAktivera Växla lösenordssynlighet i inloggningsformulärAktivera vitlistningsfunktionenMöjliggör aktivering av nya användare via e-post. När det är aktiverat måste medlemmarna klicka på en aktiveringslänk som skickas till deras e-postadress för att aktivera kontot. Användbar för gratis medlemskap.Möjliggör aktivering av nya användare via e-post. När det är aktiverat måste medlemmarna klicka på en aktiveringslänk som skickas till deras e-postadress för att aktivera kontot. Användbar för gratis medlemskap. Aktivera detta om du vill att användarna ska tvingas använda ett starkt lösenord för sina konton.Aktivera det här alternativet om du bara vill medlemmarna i webbplatsen för att kunna skriva en kommentar.Aktivera det här alternativet om du vill att Admin får ett meddelande när en ny medlem registrerar.Aktivera detta alternativ om du vill att medlemmen ska loggas ut från kontot när medlemmen stänger webbläsaren.Möjliggör detta om du vill ha sandbox betalningstest.Aktivera detta alternativ för att tving synkronisering med WP-användare. Användbart om ni använder andra tillägg som använder WP-användare. Ex bbPress.Aktivera det här alternativet för att automatiskt skapa medlemskonton för alla nya WP-användare som skapas av ett annat plugin.Aktivera/inaktivera registrering för gratis medlemsnivå. När du aktiverar det här alternativet, se till att du anger ett gratis medlemsnivå ID i fältet nedan.Möjliggör eller möjliggör ej ”läs mer”-tag skydd hos inlägg och sidor. Allt efter ”Läs mer” tag är skyddat. Allt innan ”läs mer” är teaser.Ange en lista (kommaseparerad) med e-postadressmönster för att svartlista. Exempelvärde: @baddomain.com, @crazydomain.comAnge en lista (kommaseparerad) med e-postadressmönster för att vitlista. Exempelvärde: @gooddomain.com, @gmail.com, @yahoo.comAnge en lista (kommaseparerad) med e-postadresser som ska svartlistas.Ange en lista (kommaseparerad) med e-postadresser som ska vitlistas.Ange betalningsbelopp. Exempelvärden: 9,90 eller 25,00 eller 299,90 etc (ange inte valutasymbol).Ange webbadressen till din Integritetspolicy.Ange webbadressen till sidan med villkor. Du kan skapa en WordPress-sida och ange dina villkor där och sedan ange webbadressen för den sidan i fältet ovan.Ange den e-postadress dit admin-e-postmeddelanden ska skickas.Ange meddelandet du vill visa för användaren när det svartlistade villkoret är uppfyllt. Lämna det tomt för att använda standardmeddelandet.Ange meddelandet du vill visa för användaren när det vitlistade villkoret är uppfyllt. Lämna det tomt för att använda standardmeddelandet.Ange ämne för e-postmeddelande till Admin.Ange ditt PayPal-klient-ID för live-läge.Ange ditt PayPal-klient-ID för sandlådeläge.Ange din hemliga PayPal-nyckel för live-läge.Ange din hemliga PayPal-nyckel för sandlådeläge.Fel inträffade under betalningsverifiering. Felkod: %1$d. Meddelande: %2$sEtt fel uppstod under PayPal Smart Checkout-processen.Ett fel uppstod under PayPals utcheckning.Fel! Misslyckades med att hitta en mallsökväg för den angivna mallen: Fel! Ogiltig begäran. Kunde inte hitta en matchning för angiven säkerhetskod och användar-ID.Fel! Ogiltig begäran om återställning av lösenord.Fel! Säkerhetsverifiering med nonce misslyckades för åtgärden Bulk Change Access Starts Date. Rensa cacheminnet och försök igen.Fel! Säkerhetsverifiering med nonce misslyckades för åtgärden Bulk Change Membership Level. Rensa cacheminnet och försök igen.Fel! Nonce-säkerhetsverifiering misslyckades för åtgärden Uppdatering av kategoriskydd. Rensa cacheminnet och försök igen.Fel! Nonce säkerhetsverifiering misslyckades för åtgärden Post Protection Update. Rensa cacheminnet och försök igen.Fel! Verifiering av nonce misslyckades vid redigering av profilen (front-end).Fel! Nounce-verifiering misslyckades för att skapa medlemsskapsnivå från adminläget (back-end).Fel! Nounce-verifieringen misslyckades för att radera medlemskapsnivån från adminläge (back-end).Fel! Nounce-verifieringen misslyckades för att redigera medlemskapsnivå från adminläge (back-end).Fel! Nonce-verifiering misslyckades från adminläget (back-end) för att ta bort användaren.Fel! Nonceverifieringen misslyckades för användarregistrering från adminläget (back-end).Fel! Nonceverifieringen misslyckades för användarregistrering från adminläget (back-end).Fel! Lösenordsfälten matchar inte. Var god försök igen.Fel! Välj en medlemsnivå först.Fel! Lösenordsåterställningsnyckeln är ogiltig. Vänligen skapa en ny begäran.Fel! Denna åtgärd (Fel! Denna webbplats har funktionen tvinga WP-användaren-inloggning aktiverat i inställningarna. Vi kunde inte hitta en WP användarpost för användarnamnet: Exempel på inställningar för innehållsskyddUpphör efterUtgångetUtgångsdatumUtgångsdatum: Extra storKvinnaFörnamnFörst och främst skydda kategorin globalt på din webbplats genom att välja ”Allmänt skydd” i rullgardinsmenyn nedan och välj sedan de kategorier som ska skyddas från användare som inte är inloggade.Först och främst skydda kategorin globalt på din webbplats genom att välja ”Allmänt skydd” i rullgardinsmenyn nedan och välj sedan de kategorier som ska skyddas från användare som inte är inloggade.Fast utgångsdatumFör alla ofullständiga registreringarFör ett särskilt medlems-IDTvinga fram starkt lösenord för medlemmarTvinga WP-användarsynkroniseringGlömt ditt lösenord?Gratis medlemskapsnivå IDGratis medlemskap är inaktiverad på denna webbplats. Vänligen gör en betalning från Från e-postadressKönKön-fältet är ogiltigtAllmänna inställningar för detta plugin.Allmänt skyddAllmänna inställningarSkapa länk för att slutföra registreringenSkapa en länk för Fullfölj registreringGå tillbaka till startsidan av GuldHTTP-fel uppstod under betalningsprocessen:Göm AdminpanelDölj registreringsformulär för inloggade användareLösenordet ska vara minst sju tecken långt. För att göra det starkare, använd stora och små bokstäver, siffror och symboler som! ”? $% ^ & ).Tryck på Uppdatera/Spara-knappen för att spara ändringarna.HorisontellHur man tillämpar innehållsskyddJag accepterar Jag godkänner IDIPN-produktvalidering misslyckades. Se felsökningsloggen för mer information.Vid aktivering av denna funktion lagras dekrypterbart medlemslösenord tillfälligt i databasen tills kontot aktiveras.Vid aktivering av denna funktion lagras dekrypterbart medlemslösenord tillfälligt i databasen tills kontot aktiveras.Om du av misstag har raderat de nödvändiga sidorna som detta plugin skapar vid installationen kan du använda det här alternativet för att återskapa dem.Om du har problem med webhooks kan du ta bort det och skapa igen.Om du just har gjort en medlemsbetalning så har den ännu inte behandlats. Vänligen kontrollera om några minuter. Ett e-postmeddelande kommer att skickas till dig med detaljerna inom kort.InaktivOfullständigOgiltig e-postadressOgiltigt användarnamnOgiltig e-postadressOgiltig medlemskapsnivåOgiltiga eller saknade API-uppgifter! Kontrollera plugin-inställningarna och ange giltiga API-uppgifter i avsnittet PayPal-uppgifter för %s-läge.Ogiltig webhook-URL.Det är användbart att använda en tacksida i din betalningsknappkonfiguration. Läs denna dokumentation om du vill veta mer.Det tar också bort tillhörande WordPress-användarkonto.Gå med nuBli medlem.Bli medlemsida URLStorSenast tillgängliga datumSenast åtkomst från IPSenaste datum för inloggningEfternamnLayoutLämna tomt för att behålla det aktuella lösenordetNivåÄndra nivå till: Länk(ar) genererades framgångsrikt. Följande länk(ar) kan användas för att slutföra registreringen.Live Client IDLive PayPal API-uppgifter är inte inställda. Vänligen ställ in autentiseringsuppgifterna för Live PayPal API först.Live Publishable KeyLive SecretLive Secret KeyLive Webhook finns. Om du fortfarande har problem med webhooks kan du ta bort det och skapa igen.Inloggningsuppgifter för liveläge är inte inställda. Det går inte att skapa webhook.Logga inLyckad utloggning.Inloggad somInloggad som: Logga in härInloggningssida URLLogga utLogga ut Medlem vid stängning av webbläsareManRedigera innehållsskyddHantera betalningsknapparManuell transaktion har lagts till. MediumMedlemMedlemskatalogMedlems-IDLogin för medlemMedlemsprofilMedlem sedanMedlemsposten lades till korrekt.Medlem sedan-fältet är ogiltigtMedlemmarMedlem måste vara inloggad för att lägga till en kommentarMedlemsskapMedlemskapsnivåMedlemsskapsnivå kunde inte hittas.Ny medlemsskapsnivå har skapats.Medlemskapsnivå IDNamn på medlemskapsnivåUppdatering av medlemskapsnivå lyckades.Medlemsskapsnivå:Medlemskapsnivå: MedlemsnivåerURL för förnyelse av medlemskapÄndring av medlemsnivå slutfördes.Medlemskapsnivån har uppdaterats.Handelskonto-IDHandels-IDMinst Månader (antal månader till att medlemskapet upphör)Namn innehåller ogiltiga teckenAldrigNytt lösenordEtt nytt lösenord har skickats till din e-postadress.NästaVälj sedan en befintlig medlemsnivå från rullgardinsmenyn nedan och välj sedan inlägg och sidor som du vill ge åtkomst till (för just den medlemsnivån).Välj sedan en befintlig medlemsnivå i rullgardinsmenyn nedan och välj sedan de kategorier som du vill ge åtkomst till (för den särskilda medlemsnivån).Inget utgångsdatumInget utgångsdatum (Tillgång för denna nivå kommer inte att löpa ut förrän den avbrutitsInget giltighetstid (Åtkomst för denna nivå upphör först när den avbryts)Inga aktiva prenumerationerIngen kategori hittades.Inga objekt hittades.Medlem ej hittad.Ingen medlemsskapsnivå hittades.Ingen token tillhandahålls.Ingen användare hittades med den e-postadressen.Ingen användare hittades med detta användarnamn eller e-postadress.Ingen webhook hittades. Inget att radera.Ingen webhook hittades. Använd följande Skapa Live Webhook-länk för att skapa en ny webhook automatiskt.Ingen webhook hittades. Använd följande länk Skapa Sandbox Webhook för att skapa en ny webhook automatiskt.Ingen webhook hittades. Använd följande Create Webhook-knapp för att skapa en ny webhook automatiskt i ditt PayPal-konto.Nej, skydda inte detta innehåll.Nonce-kontroll misslyckades.Nonkontroll misslyckades. Vänligen ladda om sidan.Nonce-kontroll misslyckades. Sidan var troligen cachad. Ladda om sidan och försök igen.Ej angivetInte medlem?Inte medlem? Observera att PayPals prenumerations-API kräver att din webbplats använder HTTPS-URL:er. Du måste använda ett SSL-certifikat med HTTPS-URL:er för att slutföra installationen av prenumerationstillägget och använda det.OBS:Obs: Du kan inte aktivera både "Inaktivera åtkomst till WP Dashboard" och "Admin Dashboard Access Permission" alternativen samtidigt. Använd bara ett av dessa alternativ.Meddela användarenELLERValfria detaljerValfria SidinställningarValfri sida. Den skapas automatiskt av plugin-programmet när du installerar plugin-programmet för första gången.Sidinställningar och URL-relaterade inställningar.SidorSidinställningarLösenordÅterställ lösenordetSida för återställning av lösenordLösenordsåterställningen lyckades. Lösenordet är tomt eller ogiltigt.Lösenordsfältet kan inte vara tomt.Lösenord krävsLösenord matchar inteLösenordet måste minst innehålla:Länk för återställning av lösenord har skickats till din e-postadress.Lösenord: BetalaPayPalPayPal API-uppgifter saknas i inställningarna. Ange giltiga PayPal API-uppgifter på fliken Allmänna inställningar för %s-läge.PayPal API-referenser saknas. Vänligen ange PayPal API-referenser.PayPal-faktureringsplandetaljer för denna knappPayPal Köp nuPayPal Köp nu (nytt API)PayPal Buy Now (Ny API) KnappkonfigurationPayPal Buy Now KnappkonfigurationPayPal KreditPayPal E-postPayPal-inställningarPayPal Smart CheckoutPayPal Smart Checkout API Credentials (du kan få detta från ditt PayPal-" "konto)PayPal Smart Checkout-knappkonfigurationPayPal-prenumerationPayPal-prenumeration (nytt API)Konfiguration av PayPal prenumerationsknappKonfiguration av PayPal prenumerationsknappPayPal WebhooksBetalningsbeloppBetalknapp IDTitel betalningsknappBetalningsvalutaBetalningsinformationBetalningsmetoderVidarebefordran av betalningsmeddelandeBetalningsinställningarBetalningskontroll misslyckades: ogiltigt belopp mottaget. Förväntat %1$s %2$s, mottog %3$s %4$s.BetalningarAvvaktandeTelefonnummerBollVänligenVänligen %s om du gillar insticksprogrammet.Vänligen logga in för att kommentera.Vänligen välj minst en.Vänligen rätta till följandeVänligen rätta till följande.Vänligen rätta till följande:Vänligen ange två siffror med inga mellanslag (Exempel: 12)Vänligen ange två siffror utan mellanslag (Exempel: 12) *Vänligen logga in igen.Logga in för att kommentera.Dokumentation för pluginPost- och sidskyddPostnummerPostnummerInläggFyll i medlemmens e-postadress i förvägFyller i e-postadressen till den inloggade medlemmen på Stripe-utcheckningsformuläret när det är möjligtIntegritetspolicyURL för IntegritetspolicyHemlig nyckelProfilProfil uppdaterad.Profilen uppdaterades. Du behöver logga in på nytt då du ändrade ditt lösenord.Skyddsinställningar uppdaterade!Offentlig nyckelFörsök igen vid misslyckandeÅterskapa nödvändiga sidorAnge nytt lösenord igenLäs Läs denna dokumentationRektangulärÅterkommande faktureringsbeloppÅterkommande faktureringscykelÅterkommande faktureringscykelräkningRegistreraRegistreringRegistreringssida URLRegistreringen lyckades! Länkar för att fullfölja registreringen visas nedanRegistreringen är klar. Du kan nu logga in på webbplatsen.Kom ihåg migUpprepa lösenordRepsonsivÅterställ lösenordetÅterställ felsökningslogg genom att klicka URL för tillbakaSkriv lösenordet här ocksåRollRad-IDSWPM adminpanel är bara tillgänglig för administratörer (precis som för andra tillägg). Du kan tillåta användare med andra WP-roller att få tillgång till SWPM adminpanel genom att välja ett värde här. Observera att det här alternativet inte kan fungera om du aktiverade alternativet "Inaktivera åtkomst till WP adminpanel" i allmänna inställningar.Sandbox PayPal API-uppgifter är inte inställda. Vänligen ställ in användaruppgifterna för Sandbox PayPal API först.Sandbox Client IDSandbox SecretSandlådans hemliga nyckelSandbox Webhook finns. Om du fortfarande har problem med webhooks kan du ta bort det och skapa igen.Autentiseringsuppgifter för sandlådeläge är inte inställda. Det går inte att skapa webhook.Möjliggör Sandbox-testSpara ändringarnaSpara dataSpara medlemsnivå Spara betalningsdataSpara transaktionsdataRulla ner till avsnittet "Enkelt WP-medlemskapsskydd".SökSök efter en transaktion med E-post, namn. transaktions-ID eller prenumerations-ID.Sök…Säkerhetskontroll: captcha-validering misslyckades.Välj alternativet "Ja, skydda detta innehåll".Välj nuvarande nivåVälj nivåVälj typ av betalknappVälj målnivåVälj knappfärg.Välj knapphöjd.Välj knapplayout.Välj knappform.Välj knappstorlek.Välj knapptyp/etikett.Välj knappbredd.Välj hur länge du vill behålla ”väntande” konton.Välj betalningsmetoder som kan användas av kunder. Observera att betalning med kort alltid är aktiverat.Välj medlemskapsnivå (åtkomstsstartdatum för alla medlemmar som är i denna nivå kommer att uppdateras).Välj den nuvarande medlemsnivå (medlemskap nivån på alla medlemmar som är i denna nivå kommer att uppdateras).Välj standard kontostatus för de nyregistrerade användare. Om du vill godkänna medlemmarna manuellt så kan du sätta statusen till ”avvaktande”.Välj vilken medlemskapsnivå som ska kunna läsa detta innehåll:Välj ny medlemskapsnivå.Skicka e-post till medlem när den läggs till via Admin DashboardSkicka notifiering till AdminSkicka även registreringspåminnelse via e-postSlut på sessionen.Ställ in status till AktivStäll in status till Aktiv och MeddelaAnge Status till UtgångenStäll in status till InaktivStäll in status till VäntandeStäll in intervallet för den återkommande betalningen. Exempelvärde: 1 månad (om du vill ladda varje månad)InställningarInställningarna i det här avsnittet gäller för alla e-postmeddelanden.Inställningar uppdaterade!FormVisa adminpanel för administratörerVisa lösenordSilverSimple Membership Plugin webbplatsAlternativ för Simple WP Membership ProtectionSimple WP Membership::BetalningarSimple WP Membership ProtectionSimple WP Membership::TilläggSimple WP Membership::MedlemmarSimple WP Membership::MedlemsnivåerSimple WP Membership::InställningarSimple WordPress MembershipStorlekLitenVissa av medlemskapspluginens tilläggsinställningar och alternativ kommer att visas här (om du har dem)Tyvärr, verifiering av Nonce misslyckades.Tyvärr, lösenordet matchade inte.Specifiera startdatum för åtkomst.StatStat / provins / regionStatusStatus/NoteringGataGatuadressSäkerhetsindikationStripe API IDStripe API Live publishable keyStripe API Live secret keyStripe API InställningarStripe API Test publicerbar nyckelStripe API Test secret keyStripe API-nycklar. Du kan få detta från ditt Stripe-konto.Stripe Köp nuStripe Buy Now Button konfigureringStripe Globala inställningarStripe Legacy Köp nu (utfasad)Stripe Legacy-prenumeration (utfasad)Stripe SCA Köp nuStripe SCA Köp nu knappkonfigurationStripe SCA-abonnemangStripe PrenumerationKonfiguration av Stripe prenumerationsknappRegistreraPrenumereraPrenumerera nuPrenumerant-IDPrenumerant ID / ReferensPrenumerationsplan IDPrenumerationsplanlägePrenumerationen har avslutats.Prenumeration/Återkommande faktureringsinformationLyckades!Japp! Ditt konto har framgångsrikt aktiverats.Utför följande steg för att tillämpa skydd på ditt innehåll så att endast medlemmar kan ha tillgång till det.VillkorURL till sidan med villkorInställningar för test och felsökningTesta publicerbar nyckelTest Secret KeyInställningar för test och felsökning.TackTacksida URLPayPal-betalningsknapparna som använder det nya API:et kräver webhooks. Insticksprogrammet kommer automatiskt att skapa de nödvändiga webhooks när du skapar en PayPal-betalningsknapp.Åtkomststartdatum är inställt till den dag då användaren registrerar sig. Värdet avvänds för att beräkna hur länge medlemmen får åtkomst till nivåskyddat innehåll. Administratören på den här webbplatsen tillåter inte användare att komma åt wp-adminpanelen.Kategorin eller föräldrakategorin för detta inlägg är skyddad. Du kan ändra inställningarna för kategoriskydd från E-postadressen du använde är svartlistad på denna sida.E-postadressen du använde är inte vitlistad på denna webbplats.Följande detaljer är valfriaFöljande detaljer är valfria.Följande sidor behövs för att SWMP-tillägget ska fungera korrekt. Dessa " "skapades automatiskt när tillägget installerades.De nödvändiga sidorna har skapats på nytt.Den valda posten togs bort!Webbplatsadministratören kan inaktivera funktionen Force WP-användarsynkronisering i inställningarna för att inaktivera denna funktion och därmed kommer detta fel att försvinna.Denna svartlistnings- och vitlistningsdokumentationDetta innehåll kan endast ses av medlemmar som gått med på eller före Detta innehåll är endast för medlemmar.Innehållet är inte tillgängligt för din medlemsnivå.Denna dokumentationDet här e-postmeddelandet kommer att skickas om e-postaktivering är aktiverad för en medlemsnivå.Denna e-post kommer att skickas för att uppmana användarna att slutföra registreringen efter betalning.Detta mail skickas till Admin när en ny användare slutför registrering. Fungerar bara om du har aktiverat alternativet ”skickar anmälan till Admin” ovan.Det här e-postmeddelandet kommer att skickas till dina medlemmar när du använder masskontots aktiverings- och meddelandeåtgärd.Detta e-postmeddelande kommer att skickas till dina användare efter kontouppgradering (när en befintlig medlem betalar för en ny medlemsnivå).Detta e-postmeddelande kommer att skickas till dina användare när de slutför registreringen och blir medlem.Detta e-postmeddelande kommer att skickas till dina användare när de använder funktionen för lösenordsåterställning.Detta fel utlöses när ett medlemskonto inte har ett motsvarande WP-användarkonto. Så SM-tillägget misslyckas med att logga användaren in i WP-användarsystemet.Detta fält är obligatorisktDet här gränssnittet innehåller användbara verktyg för olika adminoperationer.Detta gränssnitt låter dig konfigurera svartlistning och vitlistning för e-postadresser. Detta gränssnitt låter dig anpassa de olika e-postmeddelanden som skickas till dina medlemmar för olika åtgärder. Standardinställningarna bör vara bra för att komma igång.Detta beräknas baserat på den aktuella medlemsnivån som tilldelats den här medlemmen och det utgångsvillkor som du har angett för den medlemsnivån.Detta är medlemmens kontostatus. Om du vill aktivera ett utgånget medlems " "konto manuellt, läs dåPå den här sidan kan du konfigurera några avancerade funktioner i tillägget.I det här avsnittet kan du konfigurera inställningar för Stripe-betalningar.Det här avsnittet låter dig konfigurera automatiskt skapande av medlemskonton när nya WP-användarposter skapas av ett annat plugin. Det kan vara användbart om du använder ett annat plugin som skapar WP-användarposter och du vill att de ska kännas igen i medlemskapsplugin.I det här avsnittet kan du konfigurera svartlistningsinställningar.Det här avsnittet låter dig konfigurera villkor och sekretesspolicy som användare måste acceptera vid registreringstillfället.I det här avsnittet kan du konfigurera inställningar för vitlista.Det här avsnittet låter dig aktivera/avaktivera sandlåda eller testläge för betalningsknapparna.Denna unika registreringslänk (se URL:en i webbläsarens adressfält) har redan använts. Du behöver inte skapa ett annat konto. Logga in på det befintliga kontot för att komma åt det skyddade innehållet.Denna unika registreringslänk (se URL:en i webbläsarens adressfält) är ogiltig. Det gick inte att hitta en matchning för det angivna medlems-ID och säkerhetskoden. Kontakta webbplatsens administratör.Detta värde uppdateras när den här medlemmen loggar in på din webbplats.TitelVerktygTransaktions-IDTransaktionen slutförd framgångsrikt!TransaktionerBelopp vid ProvperiodBetalningsuppgifter vid Provperiod (lämna tomt om du inte erbjuder en provperiod)Tid för ProvperiodProvperiodTypSkriv lösenord härAvsluta prenumeration från PayPalUppdateraAnvänd API-nycklar från fliken Betalningsinställningar.Använd inställningar för globala API-nycklarAnvänd det här alternativet om du vill att medlemmarna ska loggas in automatiskt på din webbplats direkt efter att de har slutfört registreringen. Det här alternativet åsidosätter någon efter omdirigering av registreringen och istället kommer den att aktivera omdirigering efter inloggning. Läs denna dokumentation för mer information.Använd det här alternativet om du vill dölja registreringsformuläret för inloggade medlemmar. Om inloggade medlemmar besöker registreringssidan kommer de att se ett meddelande istället för registreringsformuläret.Använd detta alternativ om du vll visa adminpanel enbart för administratörer. Panelen döljs för andra användare.Användaren är inte inloggad.AnvändarnamnAnvändarnamnet existerar redan.Användarnamnet kan endast innehålla: bokstäver, siffror och .- * @Användarnamn innehåller ogiltiga teckenAnvändarnamnfältet kan inte vara tomt.Användarnamn krävsAnvändarnamn eller E-postAnvändarnamn kan endast innehålla: bokstäver, siffror och .-_*@Användare måste acceptera det innan de kan slutföra registreringen.Användare måste acceptera villkoren innan de kan slutföra registreringen.Validerar, var god väntaVenmoVerifieringVertikalSe dokumentationVisa profilVisa allmän felsökningslogg genom att klicka Visa inloggningsrelaterad felsökningslogg genom att klicka Besök %s för att läsa installations- och konfigurationsdokumentationen.WP medlemskapVarning! Simple membership-tillägget kan inte behandla denna inloggningsbegäran att förhindra att du blir utloggad från WP Admin av misstag.Webhook Endpoint URLWebhook finns. Om du fortfarande har problem med webhooks kan du ta bort det och skapa igen.Webhook har skapats.Webhook har tagits bort.Webhook Endpoint URLVeckor (antal veckor till att medlemskapet upphör)Veckor (Åtkomst upphör efter angivet antal veckor)När du automatiskt skapar ett medlemskonto med den här funktionen kommer användarens medlemskontos status att ställas in till den du anger här.När du skapar ett medlemskonto automatiskt med den här funktionen kommer " "användarnas medlemsnivå att ställas in till den du anger här.När det är markerat kommer betalningen att göras om två gånger till om betalningen misslyckas. Efter det tredje misslyckandet kommer prenumerationen att avslutas.När den är aktiverad kommer svartlistningsfunktionen att aktiveras.När det är aktiverat, kommer medlemmar vars medlemskap har gått ut, kunna logga in i systemet men kan inte se något skyddat innehåll. Detta gör att de enkelt kan förnya sitt konto genom att göra en ny betalning.När den är aktiverad kommer vitlistningsfunktionen att aktiveras.VitVitlista meddelandeanpassningVitlistningWordPress tillåter en standard WP-användare för att kunna gå till WP-admin webbadressen och hans profil från den WP-instrumentpanel. Med det här alternativet kommer att förhindra icke administratörsanvändare från att gå till WP-instrumentpanel.Wordpress visar en Adminpanel för inloggade användare på sidan. Bocka checkboxen om du vill gömma Adminpanelen på framsidan av din sida.Wordpress-konto finns med angivet användarnamn. Men angiven e-post matchar inte.Wordpress-konto finns med ett givet användarnamn. Men given e-post matchar " "inte.År (antal år till att medlemskapet upphör)Ja, skydda detta innehåll.Du håller på att radera ett konto. Detta raderar användardata som är kopplade till detta konto. Du är redan inloggad. Du behöver inte skapa ett annat konto. Så registreringsformuläret är dolt.Du redigerar för närvarande: Du är inloggad som:Du är inloggad på webbplatsen som ADMIN-användare i denna webbläsaren. Logga ut först från WP Admin så kommer du att kunna logga in som en vanlig medlem.Du är inte inloggad.Du är inte inloggad som medlemDu kan lägga till en ny transaktionspost manuellt med detta gränssnitt. Det kan vara användbart om du manuellt accepterar kontant betalning för dina medlemskap.Du kan också använda betalningsknappar från följande plugins för att acceptera betalningar för dina medlemskap.Du kan skapa en ny betalningsknapp för dina medlemskap med detta gränssnitt.Du kan skapa en förnyelse sida för din webbplats. Läs denna dokumentation om hur du skapar en förnyelse sida.Du kan skapa betalknappar för medlemskap från Du kan redigera en betalknapp med detta gränssnitt.Du kan redigera information om en vald medlemsnivå från detta gränssnitt. Du kan aktivera detta alternativ om du vill hantera lösenordsåterställningsfunktionen med hjälp av en återställningslänk som skickas till medlemmen via e-post. Läs denna dokumentation för att lära dig mer om funktionen för lösenordsåterställning.Du kan ange en URL här för att vidarebefordra betalningsmeddelandet efter att medlemsbetalningen har behandlats med detta plugin. Användbar om du vill vidarebefordra betalningsmeddelandet till ett externt skript för vidare bearbetning.Du kan ange en URL här för att omdirigera medlemmarna till den här sidan efter att de klickar på utloggningslänken för att logga ut från din webbplats.Du kan ange en webbadress här för att omdirigera medlemmarna till den här sidan efter att de har skickat in registreringsformuläret. Läs den här dokumentationen för att lära dig hur du konfigurerar efter registrering omdirigering.Du kan ändra medlemskap manuellt för en medlem genom att redigera posten från menyn medlemmar. Du kan manuellt skapa en länk för registreringens fullföljande här och ge den till din kund om de har missat e-postmeddelandet som skickades automatiskt till dem efter betalningen.Du kan ställa in ett specifikt startdatum för alla medlemmar på en viss nivå med följande inställning.Du kan använda den för att visa ett alternativ för att växla lösenordssynlighet i inloggningsformuläret. Det kommer att lägga till en kryssruta Visa lösenord.Du kan använda webbläsarens bakåtknapp för att gå tillbaka till webbplatsen.Du kan använda följande alternativ för att massuppdatera medlemsnivån för medlemmar med nivån du väljer nedan.Du kan använda det här alternativet för att inaktivera e-postmeddelandet som skickas till medlemmarna när de gör en betalning för uppgradering eller förnyelse.Du kan använda det här alternativet för att skicka ett e-postmeddelande till den här medlemmen (e-postmeddelandet skickas när du trycker på spara-knappen nedan).Du har inte behörighet att se detta innehåll.Du har betalningsläget för sandlåda aktiverat i plugin-inställningar. Se till att du stänger av sandlådeläget när du vill göra live-transaktioner.Du måste acceptera villkoren.Du måste godkänna Integritetspolicyn.Du måste vara inloggad för att uppgradera ett medlemskap.Du måste aktivera ditt konto. Om du inte fick ett e-postmeddelande ska %s skicka om aktiverings-e-postmeddelandet.Du måste logga in för att läsa resten av innehållet. Du måste logga in för att se detta innehåll. Du måste bekräfta din e-postadress. Kontrollera din e-post och följ instruktionerna för att slutföra din registrering.Du omdirigeras automatiskt om några sekunder. Om inte, vänligen %s.Du kommer att omdirigeras till föregående sida inom några sekunder. Om inte, klicka här.Du måste logga in igen eftersom du ändrade lösenordet.Du kommer att få en unik länk via e-post efter betalningen. Du kommer att kunna använda den länken för att slutföra medlemskapsregistreringen.Användarkontot har upphört att gälla. Ditt nuvarande lösenordDin medlemsnivå har inte behörighet att se detta innehåll.Din medlemsprofil kommer att uppdateras efter betalningen.Dina vanliga besökare eller medlemmar kommer aldrig att se detta meddelande. Det här meddelandet är ENDAST för ADMIN-användare.Din profils användarnamn: Postnummermasskydda inlägg och sidordokumentationdokumentation för kategoriskyddmenyn för kategoriskyddklicka härklicka härinnehållsskyddsdokumentationge oss ett betyghärhttps://simple-membership-plugin.com/ofullständigsektionen för medlemsbetalningbetalningsmenynförnyasmp7, wp.insiderprenumeration skapaddenna dokumentationför att lära dig hur du får dina PayPal API-uppgifter.för att lära dig mer.languages/simple-membership-es_ES.mo000064400000341504147206617610013506 0ustar00x7(J )J.6J4eJ"JJJJ K K KDK}L>LLM2bNNNOjO"OeOPNPKnP&P'P Q!Q :QBFQ-Q QiQBR RR `R+kRR RRR|R[S6ST *T8TMTdT;TTT TTU!U6UKU_U~U UUVURVYV `V jVuVVVVVVVVW&W6W!>W`WtW WW2WWX2XXMX@Y\Y sY~Y%Y2YY ZZs)ZZZ#z[[.[6[!\A\H\ d\n\ \\\\ \\\T\S]&e]]]])]'^)^ D^ Q^ _^i^ z^ ^^ ^ ^ ^^ ^^____,_` 1` <` H`V`j``K`X`*Eapa1yaa a a-a9a0bIb%Obub }b b%bAbbcccc'ccd0dMdjdd ddd0dd$e9eReiepeee ee(ee&f$.fSfZf ^f jfwfffCfg g g*g"Eg"hggg ggggg1h&Phwh hhhhhhii ;i"\i$iii iiij 1jRjhjj/jjjk[ilYl[me{m=mnqn^oqohpwq~|q?q?;r>{rar*sGsRsAttZu3u v*0v-[v+v.vJv4/w.dwxwB x[Ox&xoxmBykygz<zNzL{J]{@{>{F(|6o|.|i|?}T}#} ~~ ~#~ ,~Q8~L~Q~P)z Z$ 6W!rÁI܁&9@Xq%' + ?&Mt/ FQ q DmsSDžIPJ S^tAV:6qz‰ ҉܉( _'Z%7 LX`hYɋ9#]d } ٌތ'7>E V `m |!ۍ*<$D it#%ώ& 2EWn9"ߏ 4Ss y1h @A]ʒڒ8 @J&]*$cԓf8w 8+LZxӕ  Ӗٖ |hǗ$0U[jsјz8 Jښ+*-C#q Q֛*(Sg2('8H XyQ#!*LeIٞ9#]qEП]=  $ΠXGr ס +5 MYrO Xe{/8ţ  %"4 Wbw|1`"9(Ktc\<W% ǧѧDUK\ **ݨ *EYhթ3gLip&9 #3@t$ǭ&<SeiϮ-خ 5CJ$hɯ'-Lhmks!߰%EKe lx ϱ;9u#"' 'E](q dz߳ ,&Dk6tcʴ.@Us# ҵܵ~kGot7,;dLR"@#cAVM(/Xx.C1!u8нNS2a0v^ UhvWBS(|k GE 9;Gy;W9z =f^ # BOJd ixm4'#\6?F>  (.;1 m{[4Nh1|2u55 PKP2 $]?h"8!dNC33JI~@ y(fhs1Cwa0q).%X.~i:/RvIgC:uD?5au*!"D ] h v%   30Fw4FC3Ew' H,R>/_+x!BbdJ+5>tF)++pW BF _l}T)E+bH"%9YpD*q! *8!H jx"$ 5 L2W3?@?WQ+(KA!; ]*k,7*;-2.D's.  /.5 drk4/N&~G?  A b s      '  ! 0 I  Z h ,A n , <     . C ] &} [ [ 7\  K    1<M"0+W? w~4#.#5YBx"BA1a  ( II)" #%1+WI#! 3B?v>2#(L&k,9F>`1-&$E%j  .& 2Gz.&&>D+P-@ n zl]jRdN"q}W  !?"##c]$d$Y&%y%:%5&l&c'F((Su)0):)H5*:~*H*a+@d+:++T,z,Df--N../V10h0e0iW1a1^#2]2R2333g334)4555 15 =5mH55666`7i7p78X9'p9$9/9+9:8:WU:!::!::;*;+<;+h;;;;5;#;; <\<B= F=)Q= {====d=>> ?K?@@ @,@A,5AbAA :B[B=XC CC&CCCCD .D8D/@DpDvDlD(D#E9E/EEF"Fm8FjFWGiGqGGG GGG:G H%%HKH,eHHHH HHH H(H"I(9IbI-yIIIII1I 0J;J+OJ&{JJJ6JK'K=K SKtKKK+KL&LELXLBaL*LLL>L &M0MN NGOHIOO'OOO+Pk?P P%PJPK(Q5tQQ+RRLS&lSESSpT TTTTTUUeVzVVVVeV?/WoWxW WW7W(W X.5XdXXX&"YeIY YYYYgZ%Z<[S[ k[=[1[[\-\?\dZ\7\\"]?1]3q]]]]]]^^ )^J^Z^zi^^ ^ ^*^)_ 2_$<_ a_#__ _ _M`<V`` `k`geg lgzgi6i$i=jWj$vj{jxk]k6k%l 5lCl`l$ylYllll lmBvm7mm n$ nEnbnvnn n!nn!o';ocoBooSppCVqEr(r" s1,sg^s%sBs/tGtet wt,t"t"t# uf/uuJuuv4vx4exxxx xxxxy)y&Dyky+y(yHy"z1:zlz+z*zz9z4{O{,f{{ {{{{{|"|"B|6e| |8|-|z}}},}}~$~/<~l~#t~~SnT߁Ydc"&0'WQ0X-v&ˆ4N% ?3syoq?mdwҋJ Wl}8x֏OQSRBCiܓFҔڕ>v fs( 1`"PsY q|.3ϜhB542#g'EGSA ŠΠ @R0J Ρܡzce{E4HzäsKJ3 1>,onwB)-eIe2I !jíO.~4j8Wد0l<x"˵sE(n*c*D)o5Ϻ/[(OMjAJо߿@ >Mx &=5+s"*&%, R]|= %8DZC"]8x8.E#/mP%pu*%+1Xliynm)[E <S}AG$ >x[Nyk?&X,vK](O~C sQS x6z;5}^{hhDqMQEgCo3c*&3"%UP@Tas 5:[a)kb5Ln  F;F+0B7*1!*`e%Mw bY-9 tdNV  A6-94Ir>k=KkVYGIh&n:]w A_P((;uh-OW<Z#R'37f{Bw1|uoeGOI jMg' G.c2o@sm MigH9N=;fV00i`jYQ>6DJLb}& Kip6yE74ePFJLm@^2d?Ofv  Rj.q/t2~,@U<a!(tu"UjRp-pT$^ 4^N 1+|CX\s?dB$`gwzR\4+I/HZf8$:rD_#7J=qYbne`!L|, ]cv\W3'lHt)Sz.Arcr)QTHW !ZW_<=o_9/ {qdlXVS~0,Ulv#5xa:?\"KJ2F'BT >[ (Level ID: Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match Read this documentation to learn how to recreate them (if needed). Read the Refer to Success! The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. To learn more about membership level configuration, refer to Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currently editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains how to use this feature. explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. of our documentation to learn more about creating membership payment buttons. of this plugin (useful if you want to offer paid memberships on the site). page to pay for a premium membership. to learn how a membership level works. to learn how to do it. to learn how to use it. to log in. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(Select Item)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterthis documentation.A flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site.A prompt to complete registration email was also sent.Access DurationAccess StartsAccess Starts Date: Access Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAccount statusAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add New TransactionAdd a Transaction ManuallyAdd-onsAdditional SettingsAdditional Settings (Optional)Addons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Email Activation Redirection Page (optional)After Logout Redirect URLAfter Registration Redirect URLAfter how many cycles should billing stop. Leave this field empty (or enter 0) if you want the payment to continue until the subscription is canceled.AllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow HTMLAllow HTML in EmailsAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountAmount to be charged on every billing cycle. If used with a trial period then this amount will be charged after the trial period is over. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Apostrophe character is not allowedApt, Suite, Bldg. (optional)Are you enjoying the Simple Membership plugin?Are you sure that you want to cancel the subscription?Assign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlacklist Message CustomizationBlacklistingBlacklisting & WhitelistingBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton ColorButton HeightButton IDButton Image URLButton LayoutButton ShapeButton ShortcodeButton Style Settings (Optional)Button TitleButton TypeButton Type/LabelButton WidthBuy NowBy default, funding source eligibility is smartly decided based on a variety of factors. You can force disable funding options by selecting them here.Can't find member account.Cancel SubscriptionCannot find member account.Captcha validation failed on the login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check the membership levels that should have access to that page's content.Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CheckoutChoose the membership level for email recipients.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameCompany nameConfigure Blacklisting & WhitelistingConfigure the PayPal API credentials for the new PayPal checkout.Confirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.CountCountryCreate Live WebhookCreate Member Accounts for New WP UsersCreate New ButtonCreate Sandbox WebhookCreate a brand new user and add it to this site.Create new membership level.Credit or debit cardsCustom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Account Status After PaymentDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDelete WebhooksDescriptionDisable Access to WP DashboardDisable Email Notification After UpgradeDisable FundingDo you really want to delete the form?Do you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEdit the Post or Page that you want to protect in WordPress editor.EmailEmail ActivationEmail AddressEmail Address BlacklistingEmail Address Pattern BlacklistingEmail Address Pattern WhitelistingEmail Address WhitelistingEmail Address: Email BodyEmail Misc. SettingsEmail Sent Successfully!Email SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty data received.Empty order ID received.Empty payment data received.Empty transaction data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable Automatic TaxEnable Blacklisting FeatureEnable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Password Reset Using LinkEnable Privacy PolicyEnable Sandbox or Test ModeEnable Terms and ConditionsEnable Toggle Password Visibility in Login FormEnable Whitelisting FeatureEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables HTML support in the email. For optimal email delivery rate, we suggest using plain text (non-HTML) email.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter a list (comma separated) of email addresses pattern to blacklist. Example value: @baddomain.com, @crazydomain.comEnter a list (comma separated) of email addresses pattern to whitelist. Example value: @gooddomain.com, @gmail.com, @yahoo.comEnter a list (comma separated) of email addresses to blacklist.Enter a list (comma separated) of email addresses to whitelist.Enter member IDs separated by comma to specify the recipients.Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Enter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the email content that will be sent to members. You can utilize the following email merge tags in this message (click to copy tags to clipboard).Enter the message you want to show to the user when the blacklisted condition is met. Leave it empty to use the default message.Enter the message you want to show to the user when the whitelisted condition is met. Leave it empty to use the default message.Enter the subject for the admin notification email.Enter the subject for the email.Enter your PayPal Client ID for live mode.Enter your PayPal Client ID for sandbox mode.Enter your PayPal Secret Key for live mode.Enter your PayPal Secret Key for sandbox mode.Error occured during payment verification. Error code: %1$d. Message: %2$sError occurred during PayPal Smart Checkout process.Error occurred during PayPal checkout process.Error! A password reset request has been submitted but the password reset key is invalid. Please generate a new request.Error! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Invalid password reset request.Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again.Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again.Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again.Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Password fields do not match. Please try again.Error! Please select a membership level first.Error! The password reset key is either invalid or expired. Please generate a new password reset request.Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry DateExpiry: Extra LargeFailed to create the order. Enable the debug logging feature to get more details.Failed to generate access token. check debug log file for any error message.Failed to get seller API credentials. check debug log file for any error message.Failed to get seller account status. check debug log file for any error message.FemaleFirst NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate Registration Completion LinkGenerate a Registration Completion linkGive FeedbackGo back to the home page by GoldHTTP error occurred during payment process:Hide AdminbarHide Registration Form to Logged UsersHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).Hit the Update/Save Button to save the changes.HorizontalHow to Apply Content ProtectionI accept the I agree to the I already didIDIPN product validation failed. Check the debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If enabled, the member's decryptable password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have issues with the webhooks, you can delete it and create again.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelInvalid or Missing API Credentials! Check the plugin settings and enter valid API credentials in the PayPal Credentials section for %s mode.Invalid webhook URL.It is useful to use a thank you page in your payment button configuration. Read this documentation to learn more.It will also delete the associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Account Connnection StatusLive Client IDLive PayPal API credentials are not set. Please set the Live PayPal API credentials first.Live PayPal account is not connected.Live Publishable KeyLive SecretLive Secret KeyLive Webhook exists. If you still have issues with webhooks, you can delete it and create again.Live account is connected. If you experience any issues, please disconnect and reconnect.Live mode credentials are not set. Cannot create webhook.Log InLogged Out Successfully.Logged in asLogged in as: Login HereLogin Page URLLogoutLogout Member on Browser CloseMaleManage Content ProtectionManage Payment ButtonsManual transaction added successfully. MediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since dateMember since field is invalidMember's addressMember's email addressMember's first nameMember's last nameMember's usernameMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level IDMembership level change operation completed successfully.Membership level has been updated.Membership level nameMerchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew passwordNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No active subscriptionsNo category found.No items found.No member found.No membership levels found.No recipient selected. Plaese select email recipeint(s).No thanksNo token provided.No user found with that email address.No user found with that username or email.No webhook found. Nothing to delete.No webhook found. Use the following Create Live Webhook link to create a new webhook automatically.No webhook found. Use the following Create Sandbox Webhook link to create a new webhook automatically.No webhook found. Use the following Create Webhook button to create a new webhook automatically in your PayPal account.No, Do not protect this content.Nonce check failed.Nonce check failed. Please reload the page.Nonce check failed. The page was most likely cached. Please reload the page and try again.Nope, maybe laterNot ReallyNot SpecifiedNot a Member?Not a member? Note that the PayPal subscription API requires your site to use HTTPS URLs. You must use an SSL certificate with HTTPS URLs to complete the setup of the subscription addon and use it.Note:Note: You cannot enable both the "Disable Access to WP Dashboard" and "Admin Dashboard Access Permission" options at the same time. Only use one of those options.Notify UserOK, you deserve itOROptional DetailsOptional Pages SettingsOptional page. It is automatically created by the plugin when you install the plugin for the first time.Page Setup and URL Related settings.PagesPages SettingsPasswordPassword ResetPassword Reset Page URLPassword Reset Successful. Password empty or invalid.Password field cannot be empty.Password is requiredPassword mismatchPassword must be at least 8 characters long, contain at least 1 uppercase and 1 lowercase character, and at least 1 digit.Password must contain at least:Password reset link has been sent to your email address.Password: PayPayPalPayPal API Credential information is missing in settings. Please enter valid PayPal API Credentials in the General Settings tab for %s mode.PayPal API credentials are missing. Please set the PayPal API credentials.PayPal Account SetupPayPal Billing Plan Details for This ButtonPayPal Buy NowPayPal Buy Now (New API)PayPal Buy Now (New API) Button ConfigurationPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription (New API)PayPal Subscription (New API) Button ConfigurationPayPal Subscription Button ConfigurationPayPal WebhooksPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment DetailsPayment MethodsPayment Notification Forward URLPayment SettingsPayment buttonPayment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s.PaymentsPendingPhonePhone number (if available)PillPleasePlease %s if you like the plugin.Please Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Please note that the following merge tag does not work in this email.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostcodePostsPre-fill Member Email AddressPre-fills the email address of the logged-in member on the Stripe checkout form when possiblePrivacy PolicyPrivacy Policy Page URLPrivate KeyProcessing password reset request...ProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Prompt visitors to take action with a simple membership payment button.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRe-enter new passwordRead the Read this documentationRectangularRecurring Billing AmountRecurring Billing CycleRecurring Billing Cycle CountRefer to this documentation page for more details.RegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReset debug log files by clicking Return URLRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user roles to access the SWPM admin dashboard by selecting a value here. Note that this option cannot work if you enabled the "Disable Access to WP Dashboard" option in General Settings.Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal API credentials first.Sandbox Account Connnection StatusSandbox Client IDSandbox PayPal account is not connected.Sandbox SecretSandbox Secret KeySandbox Webhook exists. If you still have issues with webhooks, you can delete it and create again.Sandbox account is connected. If you experience any issues, please disconnect and reconnect.Sandbox mode credentials are not set. Cannot create webhook.Sandbox or Test Mode Payment SettingsSave ChangesSave DataSave Membership Level Save Payment DataSave Transaction DataScroll down to the section titled 'Simple WP Membership Protection'.SearchSearch for a transaction by using email, name, transaction ID or Subscr ID.Search...Security check: captcha validation failed.Select 'Yes, Protect this content' option.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect a levelSelect an item to viewSelect button color.Select button height.Select button layout.Select button shape.Select button size.Select button type/label.Select button width.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. The default value should be active. If you want to manually approve the members then read this documentation to learn more.Select the membership level that can access this content:Select the new membership level.Send Direct EmailSend Direct Email to MembersSend Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSend to Member IDsSend to Membership LevelSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSet the interval of the recurring payment. Example value: 1 Month (if you want to charge every month)SettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminShow passwordSilverSimple Membership Plugin SiteSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSimple WordPress MembershipSizeSmallSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the Access Starts date value.StateState / Province / RegionStatusStatus/NoteStreetStreet AddressStrength indicatorStripe API IDStripe API Live publishable keyStripe API Live secret keyStripe API SettingsStripe API Test publishable keyStripe API Test secret keyStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe Global SettingsStripe Legacy Buy Now (deprecated)Stripe Legacy Subscription (deprecated)Stripe SCA Buy NowStripe SCA Buy Now Button ConfigurationStripe SCA SubscriptionStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribeSubscribe NowSubscriber IDSubscriber ID/ReferenceSubscription Plan IDSubscription Plan ModeSubscription has been cancelled.Subscription start dateSubscription/Recurring Billing DetailsSuccess!Success! Your account has been activated successfully.System-related Additional DataTake the following steps to apply protection to your content so only members can have access to it.Target RecipientsTerms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.Thank YouThank You Page URLThat's great! Could you please do me a big favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?The PayPal payment buttons that uses the new API require webhooks. The plugin will auto-create the required webhooks when you create a PayPal payment button.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The account status that will be applied to the profile after a payment. The default value should be active.The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The email address you used is blacklisted on this site.The email address you used is not whitelisted on this site.The email body field is empty. Please enter a value in the email body field.The email subject field is empty. Please enter a value in the email subject field.The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The following validation failed. Please correct it and try again.The plugin saves this information for system purposes for some profiles. There is no need for you to take any action regarding this value.The recipients list is currently empty. There must be at least one recipient.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This blacklisting & whitelisting documentationThis content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This feature allows you to send emails to a group of members based on their membership level or individual member IDs.This field is requiredThis interface contains useful tools for various admin operations.This interface lets you configure blacklisting & whitelisting for email addresses. This interface lets you customize the various emails that get sent to your members for various actions. The default settings should be good to get your started.This is calculated based on the current membership level assigned to this member and the expiry condition that you have set for that membership level.This is the member's account status. If you want to manually activate an expired member's account then readThis option can be used to redirect the users to a designated page after they click on the email activation link and activate the account.This page allows you to configure some advanced features of the plugin.This section allows you to configure Stripe payment related settings.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure blacklisting settings.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This section allows you to configure whitelisting settings.This section allows you to enable/disable sandbox or test mode for the payment buttons.This section shows a preview image of a PayPal button to demonstrate where the PayPal button will appear on the front end.This tag will not work in this email since the password is stored in the database using a one-way hash, which means that the plugin cannot retrieve the plain text password once the account has been created.This unique registration link (see the URL in the browser's address bar) has already been used. You don't need to create another account. Log into the existing account to access the protected content.This unique registration link (see the URL in the browser's address bar) is invalid. Could not find a match for the given member ID and the security code. Please contact the site administrator.This value gets updated when this member logs into your site.TitleTo proceed with the deletion process, please enter the current password for this user account.ToolsTransaction IDTransaction completed successfully!TransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTrial PeriodTypeType password hereUnexpected Error! Failed to update the member record. Enable the debug log file then try the process again to get more details.Unsubscribe from PayPalUpdateUse API keys from Payment Settings tab.Use Global API Keys SettingsUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to hide the registration form to the logged-in members. If logged-in members visit the registration page, they will see a message instead of the registration form.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername field cannot be empty.Username is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVenmoVerificationVerticalView DocumentationView ProfileView general debug log file by clicking View login related debug log file by clicking Visit the %s to read setup and configuration documentation.WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.We're sorry to hear you aren't enjoying the Simple Membership plugin. We would love a chance to improve. Could you take a minute and let us know what we can do better by using our contact form? Webhook Endpoint URLWebhook exists. If you still have issues with webhooks, you can delete it and create again.Webhook has been created.Webhook has been deleted.Webook Endpoint URLWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled.When enabled, blacklisting feature will be activated.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.When enabled, whitelisting feature will be activated.WhiteWhitelist Message CustomizationWhitelistingWordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will prevent any non-admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But the given username doesn't match.Wordpress account exists with given username. But the given email doesn't match.Years (Access expires after given number of years)YesYes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are already logged in. You don't need to create another account. So the registration form is hidden.You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can add a new transaction record manually using this interface. It can be useful if you manually accept cash payment for your memberships.You can also use payment buttons from the following plugins to accept payments for your memberships.You can create a new payment button for your memberships using this interface.You can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enable this option if you want to handle the password reset functionality using a reset link that is emailed to the member. Read this documentation to learn more about the password reset function.You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to be logged in to view the rest of the content. You need to be logged in to view this content. You need to confirm your email address. Please check your email and follow instructions to complete your registration.You will be automatically redirected in a few seconds. If not, please %s.You will be redirected to the previous page in a few seconds. If not, please click here.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your PayPal account email is not confirmed. Check your PayPal account inbox for an email from PayPal to confirm your PayPal email address.Your PayPal account is limited so you cannot accept payment. Contact PaPal support or check your PayPal account inbox for an email from PayPal for the next steps to remove the account limit.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herecontent protection documentationgive us a ratingherehttps://simple-membership-plugin.com/incompletemembership payment sectionpayments menurenewsmp7, wp.insidersubscription createdthis documentationto learn how to get your PayPal API credentials.to learn more.~ Simple Membership Plugin TeamProject-Id-Version: Plugins - Simple Membership - version 4.3.9 PO-Revision-Date: 2023-12-21 14:02+1000 Last-Translator: Language-Team: Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.4.1 (ID del nivel: Ajustes de correo electrónico (Notificación de mejora de la cuenta) Ajustes de correo electrónico (aviso de activar cuentas en lotes) Ajustes de correo electrónico (Activación por correo electrónico) El campo tiene un carácter no válido La contraseña no coincide Lee esta documentación para aprender a recrearlos (si es necesario). Lee la Consulta a ¡Correcto! El resto del contenido no está disponible para tu nivel de membresía. Esto puede ser útil para solucionar un problema. Desactívalo y restablece los archivos de registro una vez completada la solución del problema. Para aprender más acerca de la configuración del nivel de membresía, consulta Usa una dirección de correo electrónico diferente para completar el registro. Si deseas utilizar ese correo electrónico, debes introducir el nombre correcto de usuario asociado al usuario de WP existente para conectarse con esa cuenta. Usa un nombre de usuario diferente para completar el registro. Si deseas utilizar ese nombre de usuario, debes introducir la dirección de correo electrónico correcta asociada al usuario de WP existente para conectarse con esa cuenta. Actualmente estás editando al miembro con el ID de miembro: Puedes colocar varias direcciones de correo electrónico separadas por coma (,) en el campo anterior para enviar la notificación a varias direcciones de correo electrónico. No puedes usar etiquetas de combinación de correo electrónico en este correo electrónico. Solo puedes usar texto genérico. caracteres obligatorios explica cómo se usa esta característica. explica qué etiquetas de combinación de correo electrónico puedes usar en el campo del cuerpo del correo electrónico para personalizarlo (si lo deseas). tiene una explicación completa. de nuestra documentación para aprender más sobre la creación de botones de pago de membresía. de este plugin (útil si deseas ofrecer membresías de pago en el sitio). página para pagar una membresía premium. para aprender cómo funciona un nivel de membresía. para aprender cómo hacerlo. para aprender a usarlo. para acceder. para ver el perfil con el que has iniciado sesión en este navegador. tu cuenta para acceder a este contenido.(El acceso caduca en una fecha establecida)(NOTA: por seguridad, no permitimos borrar ninguna cuenta de WordPress asociada con el perfil de administrador).(Por favor, elige)(Seleccionar un elemento)(obligatorio)(dos veces, déjalo en blanco para mantener la contraseña actual)(dos veces, obligatorio)- un dígito- una letra minúscula- una letra mayúsculaesta documentación.Un plugin de membresía de WordPress flexible, bien apoyado y fácil de usar para ofrecer contenido gratuito y de pago desde tu sitio de WordPress.También ha sido enviado un aviso para completar el correo electrónico de registro.Duración del accesoEl acceso comienzaFecha de inicio de acceso: Acceso válido durante/hastaLa duración del acceso debe ser mayor a 0.El acceso inicia la operación de cambio de fecha completada con éxito.La fecha de comienzo no es válidaCaducidad de la cuentaEstado de la cuentaEstado de la cuentaLa cuenta ya ha sido activada. Tu cuenta ha caducado.La cuenta está inactiva.La cuenta esta pendiente.El valor introducido en el campo "Estado de la cuenta" no es válidoEstado de la cuentaEstado de la acciónActivación obligatoriaEl código de activación no coincide. No se puede activar esta cuenta. Por favor, ponte en contacto con el administrador del sitio.Se ha enviado un correo electrónico de activación. Por favor, revisa tu correo electrónico y activa tu cuenta.ActivadaAñadir nivelAñadir miembroAñadir nuevo nivel de membresíaAñadir nuevoAñadir nuevo miembro Añadir nuevo nivel de membresía Añadir una nueva transacciónAñadir una transacción manualmenteExtensionesAjustes adicionalesAjustes adicionales (opcional)Ajustes de extensionesDirecciónPermiso de acceso al escritorio de administraciónDirección de correo electrónico del administradorCuerpo de correo electrónico de notificación de administradorAsunto del correo electrónico de notificación de administradorAjustes avanzadosDespués de la página de redirección de activación de correo electrónico (opcional)Redirigir la URL después de cerrar sesiónURL de redirección después de registroDespués de cuántos ciclos debe detenerse la facturación. Deja este campo vacío (o introduce 0) si deseas que el pago continúe hasta que se cancele la suscripción.TodosTodos los botones de miembros que ha creado en el plugin se muestran aquí.Todos los pagos/transacciones de sus miembros se registran aquí.Permite la eliminación de cuentaPermitir HTMLPermitir HTML en los correos electrónicosPermite a los usuarios eliminar sus cuentas.Los caracteres permitidos son: Letras, números y .-_*@Ya eres miembro de este nivel.Ya está en usoYa está en uso.Como alternativa, puedes utilizar un navegador diferente (donde no te has conectado como administrador) para probar el acceso de membresía.CantidadImporte a cobrar en cada ciclo de facturación. Si se usa con un período de prueba, esta cantidad se cobrará una vez que finalice el período de prueba. Valores de ejemplo: 9,90 o 25,00 o 299,90, etc. (no introduzca el símbolo de la moneda).El carácter de apóstrofo no está permitidoApt, Suite, Edif. (opcional)¿Estás disfrutando del plugin Simple Membership?¿Seguro que quieres cancelar tu suscripción?Asignar el ID de la membresía gratuitaAutorBorrar automáticamente las cuentas pendientesDisponibleImporte facturado cada cicloCiclo de facturaciónCuenta del ciclo de facturaciónNegroPersonalización de mensajes de la lista negraListas negrasLista negra y lista blancaAzulClave API de Braintree y detalles de la cuenta. Puedes obtener esta información de tu cuenta de Braintree.Comprar ahora de BraintreeConfiguración del botón comprar ahora de BraintreeCambio en lotes de la fecha de inicio de accesoCambio en lotes de nivel de membresíaOperación en lotesFecha de inicio del acceso a la actualización en lotes de los miembrosActualización en lotes del nivel de membresía de los miembrosAjustes de apariencia del botónColor del botónAltura del botónID de botónURL de la imagen del botónDiseño del botónForma del botónBotón del shortcodeAjustes del estilo de botón (opcional)Titulo del botónTipo de botónTipo/etiqueta del botónAncho del botónComprar ahoraPor defecto, la elegibilidad de la fuente de financiación se decide de manera inteligente en base a una variedad de factores. Puedes forzar la desactivación de las opciones de financiación seleccionándolas aquí.No se puede encontrar la cuenta del miembro.Cancelar la suscripciónNo se puede encontrar la cuenta del miembro.Falló la validación de captcha en el formulario de acceso.Error de validación de captcha.CategoríaID de categoríaNombre de categoríaProtección de categoríaTipo de categoría (Taxonomía)Protección de categoría actualizada!Comprueba los niveles de membresía que deberían tener acceso al contenido de esa página.Marca esta casilla para eliminar la imagen. La imagen se borrará cuando guardes el perfil.Marca esta opción para activar el modo de depuración.Finalizar compraElige el nivel de membresía para los destinatarios de correo electrónico.CiudadBorrar la búsquedaHaz clic aquíHaz clic aquí para completar tu registro de pagoHaga clic en el siguiente enlace para completar el registro.Recopila la dirección del clienteColorNo se permiten comentarios al que no es miembro.EmpresaNombre de empresaNombre de la empresaConfigurar la lista negra y la lista blancaConfigura las credenciales de la API de PayPal para el nuevo proceso de pago de PayPal.Confirmar eliminación de cuentaPonte en contacto con el administrador del sitio y solicita que verifique tu nombre de usuario en el menú Usuarios de WP para ver qué sucedió con la entrada de usuario de WP de tu cuenta.ContarPaísCrear webhook en vivoCrear cuentas de miembros para nuevos usuarios de WPCrear nuevo botónCrear webhook de entorno de pruebasCrear un nuevo usuario y agregarlo a esta web.Crear un nuevo nivel de membresía.Tarjetas de crédito o débitoImagen de logotipo de la página de finalizar compra personalizadaContenidos personalizadosFechaEl formato de fecha no es válido.Días (el acceso caduca después del número establecido de días)Estado por defecto de la cuentaEstado de la cuenta por defecto después del pagoNivel de membresía por defectoPerfil por defecto de WordPressBorrarBorrar cuentaEliminar perfil del usuarioBorrar WebhookDescripciónDesactivar el acceso al escritorio de WPDesactivar el aviso por correo electrónico después de la actualizaciónDesactivar la financiación¿De verdad quieres borrar el formulario?¿Quieres proteger este contenido?Correo electrónicoELVEditar usuarioEditar perfilURL de la página de editar el perfilEditar detalles de los miembros existentes.Editar nivel de membresíaEdite la entrada o página que deseas proteger en el editor de WordPress.Correo electrónicoActivación por correo electrónicoDirección de correo electrónicoListas negras de direcciones de correo electrónicoListas negras de patrones de direcciones de correo electrónicoLista blanca de patrones de direcciones de correo electrónicoLista blanca de direcciones de correo electrónicoDirección de correo electrónico: Cuerpo del correo electrónicoAjustes varios del correo electrónico¡Correo electrónico enviado correctamente!Ajustes del correo electrónicoAjustes del correo electrónico (Restablecer contraseña)Ajustes del correo electrónico (Solicitud para completar el registro)Ajustes del correo electrónico (el registro se ha completado)Visión general de ajustes de correo electrónicoAsunto del correo electrónicoDirección de correo electrónico no válido.El correo electrónico ya está usado.El correo electrónico no es válidoEl correo electrónico es obligatorioSe han recibido datos vacíos.Recibido un ID de pedido vacío.Datos de pago vacíos recibidos.Se han recibido datos de transacción vacíos.Activar auto crear cuentas de miembrosActiva el acceso automático después del registroActivar impuestos automáticosActivar la característica de la listas negrasActivar depuraciónActivar el acceso a la cuenta caducadaActivar membresía gratisActiva la etiqueta more de protecciónActivar el restablecimiento de la contraseña usando un enlaceActivar política de privacidadActivar entorno de pruebas o modo de pruebaActivar términos y condicionesActivar el cambio de la visibilidad de la contraseña en el formulario de accesoActivar la característica de la lista blancaActiva la activación del nuevo usuario a través de correo electrónico. Cuando esté activado, los miembros deberán hacer clic en un enlace de activación que se envía a su dirección de correo electrónico para activar la cuenta. Útil para la membresía gratis.Activa la activación del nuevo usuario a través de correo electrónico. Cuando esté activado, los miembros deberán hacer clic en un enlace de activación que se envía a su dirección de correo electrónico para activar la cuenta. Útil para la membresía gratis. Activa esto si deseas que los usuarios se vean obligados a utilizar una contraseña segura para sus cuentas.Activa esta opción si sólo deseas que los miembros del sitio puedan publicar un comentario.Activa esta opción si deseas que el administrador reciba una notificación cuando un miembro se registre.Activar esta opción si deseas que el miembro se desconecte de la cuenta cuando cierra el navegador.Activar esta opción si deseas realizar pruebas de pago en entorno de pruebas.Activa esta opción si deseas forzar que se sincronice el acceso de miembro con la cuenta de usuario de WP. Esto puede ser útil si estas usando otro plugin que usa los registros de usuarios de WP. Por ejemplo: El plugin bbPress.Activa esta opción para crear automáticamente cuentas de miembro para cualquier usuario nuevo de WP creado por otro plugin.Activa/desactiva el registro para el nivel de membresía gratis. Al activar esta opción, asegúrate de especificar un ID de nivel de membresía gratuita en el siguiente campo.Activa la compatibilidad con HTML en el correo electrónico. Para una tasa de entrega de correo electrónico óptima, sugerimos usar correo electrónico de texto sin formato (no HTML).Activa o desactiva la etiqueta "more" de protección en las entradas y páginas. Cualquier cosa por debajo de la etiqueta more esta protegido. Cualquier cosa por encima de la etiqueta more es contenido sumario.Introduce una lista (separada por comas) del patrón de direcciones de correo electrónico a la lista negra. Valor de ejemplo: @baddomain.com, @crazydomain.comIntroduce una lista (separada por comas) del patrón de direcciones de correo electrónico para la lista blanca. Valor de ejemplo: @gooddomain.com, @gmail.com, @yahoo.comIntroduce una lista (separada por comas) de direcciones de correo electrónico para la lista negra.Introduce una lista (separada por comas) de direcciones de correo electrónico para la lista blanca.Introduce los IDs de los miembros separados por comas para especificar los destinatarios.Introduce el importe del pago. Valores de ejemplo: 9,90 o 25,00 o 299,90, etc. (no introduzcas el símbolo de la moneda).Introduce la URL de tu página de política de privacidad.Introduce la URL de tu página de términos y condiciones. Puedes crear una página de WordPress y especificar tus términos allí, luego introduce la URL de esa página en el campo de arriba.Introduce la dirección de correo electrónico donde deseas que se envíe la notificación de administrador.Introduce el contenido del correo electrónico que se enviará a los miembros. Puedes usar las siguientes etiquetas de combinación de correo electrónico en este mensaje (hacer clic para copiar las etiquetas al portapapeles).Introduce el mensaje que deseas mostrar al usuario cuando se cumple la condición de la lista negra. Déjalo vacío para usar el mensaje por defecto.Introduce el mensaje que deseas mostrar al usuario cuando se cumple la condición de la listas blancas. Déjalo vacío para usar el mensaje por defecto.Introduce el asunto para el correo electrónico de notificación del administrador.Introduce el asunto para el correo electrónico.Introduce tu ID de cliente de PayPal para el modo en vivo.Introduce tu ID de cliente de PayPal para el modo de entorno de pruebas.Introduce tu clave secreta de PayPal para el modo en vivo.Introduce tu clave secreta de PayPal para el modo de entorno de pruebas.Se ha producido un error durante la verificación del pago. Código de error: %1$d. Mensaje: %2$sH ocurrido un error durante el proceso de PayPal Smart Checkout.Ha ocurrido un error durante el proceso de pago de PayPal.¡Error! Se ha enviado una solicitud de restablecimiento de la contraseña, pero la clave de restablecimiento de la contraseña no es válida. Por favor, genera una nueva solicitud.¡Error! No se pudo encontrar una ruta de plantilla para la plantilla especificada: ¡Error! Solicitud no válida. No se pudo encontrar una coincidencia para el código de seguridad dado y la ID de usuario.¡Error! Solicitud de restablecimiento de la contraseña no válida.¡Error! La verificación de seguridad de nonce ha fallado para la acción de fecha de inicio de acceso de cambio en lote. Vaciar el caché y vuelve a intentarlo.¡Error! La verificación de seguridad de nonce ha fallado para la acción de cambio en lote de nivel de membresía. Vaciar el caché y vuelve a intentarlo.¡Error! La verificación de seguridad de nonce ha fallado para la acción de actualización de protección de categoría. Vaciar el caché y vuelve a intentarlo.¡Error! La verificación de seguridad de nonce ha fallado para la acción de actualización de protección de la entrada. Vaciar el caché y vuelve a intentarlo.¡Error! No se ha podido verificar la verificación de editar el perfil en la portada.¡Error! La verificación de Nonce falló en la creación de nivel de membresía desde el administrador.¡Error! La verificación de Nonce falló al eliminar el nivel de pertenencia desde el administrador.¡Error! La comprobación de nonce falló para la edición de nivel de membresía desde el administrador.¡Error! La verificación de nonce falló para la eliminación de usuario desde el administrador.¡Error! La verificación de nonce falló para la edición del usuario desde el administrador.¡Error! La verificación de nonce falló para el registro de usuario desde el administrador.¡Error! Los campos de la contraseña no coinciden Por favor, inténtalo de nuevo.¡Error! Seleccione primero un nivel de membresía.¡Error! La clave para restablecer la contraseña no es válida o ha caducado. Por favor, genera una nueva solicitud para restablecer la contraseña.¡Error! Esta acción (¡Error! Este sitio tiene activado en los ajustes la característica de forzar el acceso al usuario de WP. No se ha podido encontrar un registro de usuario de WP para el nombre de usuario dado: Ejemplo de ajustes de contenido protegidoCaduca después deCaducadoFecha de caducidadCaducidad: Muy grandeNo se pudo crear el pedido. Activar la característica de registro de depuración para obtener más detalles.No se pudo generar el token de acceso. Comprueba el archivo de registro de depuración para ver si hay algún mensaje de error.No se pudieron obtener las credenciales de la API del vendedor. Comprueba el archivo de registro de depuración para ver si hay algún mensaje de error.No se pudo obtener el estado de la cuenta del vendedor. Comprueba el archivo de registro de depuración para ver si hay algún mensaje de error.FemeninoNombreEn primer lugar, protege globalmente las entradas y las páginas de tu sitio seleccionando "Protección general" en el cuadro desplegable que aparece a continuación y luego selecciona las entradas y las páginas que deben ser protegidas de los usuarios que no están conectados.En primer lugar, protege las categorías de tu sitio seleccionando "Protección general" en el siguiente desplegable y selecciona las categorías que deseas proteger de los usuarios que no están conectados.Fecha de caducidad fijaPor todas las inscripciones incompletasPara una ID de miembro en particularForzar una contraseña segura para los miembrosForzar la sincronización del usuario de WP¿Has olvidado tu contraseña?ID de la membresía gratuitaLa membresía gratuita está desactivada en este sitio. Por favor haz un pago desde la Remitente del correo electrónicoGeneroEl campo de género no es válidoAjustes generales del plugin.Protección generalAjustes generalesGenera el enlace para completar el registroGenera un enlace para completar el registroDa tu opiniónVolver a la página de inicio OroHa ocurrido un error HTTP durante el proceso de pago:Ocultar la barra de administraciónOcultar el formulario de registro a los usuarios conectadosPista: La contraseña debe tener al menos siete caracteres. Para hacerla más fuerte utiliza mayúsculas y minúsculas, números y símbolos como ! " ? $ % ^ & ).Haz clic el botón de actualizar/guardar para guardar los cambios.HorizontalCómo aplicar la protección de contenidoacepto las Estoy de acuerdo con la Ya lo he hechoIDLa validación del producto IPN ha fallado. Comprueba el registro de depuración para más detalles.Si está activado, la contraseña del miembro descifrable se almacena temporalmente en la base de datos hasta que se active la cuenta.Si se activa, la contraseña descifrable del miembro se almacena temporalmente en la base de datos hasta que se active la cuenta.Si has eliminado accidentalmente las páginas obligatorias que este plugin crea en el momento de la instalación, puedes usar esta opción para volver a crearlas.Si tienes problemas con los webhooks, puedes borrarlos y volver a crearlos.Si acabas de hacer un pago de membresía, entonces tu pago todavía debe ser procesado. Por favor vuelve a revisarlo en unos minutos. Un correo electrónico te será enviado con los detalles en breve.InactivoIncompletoDirección de correo electrónico no válidoNombre de usuario no validoDirección de correo electrónico no válidoNivel de membresía no válida¡Credenciales de la API no válidas o ausentes! Comprobar los ajustes del plugin e introduce los credenciales de la API válidos en la sección Credenciales de PayPal para el modo %s.La URL de webhook no es válida.Es útil usar una página de agradecimiento en la configuración de tu botón de pago. Lee esta documentación para obtener más información.También borrará la cuenta de usuario de WordPress asociada.Únete ahoraÚnete a nosotrosURL de la página de únete a nosotrosGrandeÚltima fecha de accesoÚltimo acceso desde el IPÚltima fecha de accesoApellidosDiseñoDejar vacío para guardar la contraseña actualNivelNivel para cambiar a: Enlace(s) generado correctamente. Los siguientes enlace(s) pueden ser utilizados para completar el registro.Estado de conexión de la cuenta en vivoID de cliente en vivoLas credenciales de la API de PayPal en vivo no están configuradas. Por favor, primero configura las credenciales de la API de PayPal en vivo.La cuenta de PayPal en vivo no está conectada.Clave publicable en vivoSecreto en vivoClave secreta en vivoEl webhook en vivo existe. Si aún tienes problemas con los webhooks, puedes borrarlos y crearlos nuevamente.La cuenta en vivo está conectada. Si tienes algún problema, por favor, desconecta y vuelve a conectarte.Las credenciales del modo en vivo no están configuradas. No se puede crear un webhook.AccederTe has desconectado con éxito.Conectado comoConectado como: Accede aquíURL de la página de accesoSalirCerrar la sesión de miembro cuando se cierra el navegadorMasculinoGestionar la protección de contenidoGestionar botones de pagoTransacción manual añadida correctamente. MedianoMiembroDirectorio de miembrosID de miembroAcceso de miembroPerfil de miembroMiembro desdeRegistro de miembro añadido con éxito.Miembro desde la fechaEl campo desde del miembro no es válidoDirección del miembroDirección de correo electrónico del miembroNombre de pila del miembroApellido del miembroNombre de usuario del miembroMiembrosLos miembros deben estar conectados para comentarMembresíaNivel de membresíaNo se ha encontrado el nivel de membresía.Nivel de membresía creado con éxito.ID de nivel de membresíaNombre del nivel de membresíaNombre del nivel de membresía actualizado con éxito.Nivel de membresía:Nivel de membresía: Niveles de membresíaURL de renovación de membresíaID del nivel de membresíaLa operación de cambio de nivel de membresía se ha completado con éxito.El nivel de membresía ha sido actualizado.Nombre del nivel de membresíaID de la cuenta de comercianteID del comercianteMínimo Meses (El acceso caduca después del número establecido de meses)El nombre contiene un carácter no válidoNuncaContraseña nuevaLa nueva contraseña ha sido enviada a tu correo electrónico.SiguienteA continuación, selecciona un nivel de membresía existente en el cuadro desplegable de abajo y, a continuación, selecciona las entradas y las páginas que deseas conceder acceso (para ese nivel de membresía en particular).A continuación, selecciona un nivel de membresía existente en el cuadro desplegable de abajo y, a continuación, selecciona las categorías a las que deseas conceder el acceso (para ese nivel de membresía en particular).Sin caducidadSin caducidad (el acceso a este nivel no caducará hasta que se canceleSin caducidad (el acceso a este nivel no caducará hasta que se cancele)No hay suscripciones activasNo se ha encontrado ninguna categoría.No se han encontrado elementos.No se encontró el miembro.No se han encontrado niveles de membresía.No se ha seleccionado ningún destinatario. Por favor, selecciona los destinatarios de correo electrónico.No, graciasNo se ha proporcionado ningún token.No se encontró ningún usuario con esa dirección de correo electrónico.Ningún usuario encontrado con ese nombre de usuario o correo electrónico.No se ha encontrado ningún webhook. Nada que borrar.No se encontró ningún webhook. Usa el siguiente enlace «crear webhook en vivo» para crear un nuevo webhook automáticamente.No se encontró ningún webhook. Usa el siguiente vínculo «crear webhook de entorno de pruebas» para crear un nuevo webhook automáticamente.No se ha encontrado ningún webhook. Usa el siguiente botón Crear Webhook para crear un nuevo webhook automáticamente en tu cuenta de PayPal.No, no protejas este contenido.Ha fallado la comprobación del nonce.La comprobación del nonce ha fallado. Por favor, recarga la página.La comprobación de nonce falló. Lo más probable es que la página haya sido almacenada en caché. Vuelve a cargar la página e inténtalo de nuevo.No, quizás más tardeRealmente noNo especificado¿Aún no eres miembro?¿No eres miembro? Tenga en cuenta que la API de suscripción de PayPal requiere que tu sitio use URLs HTTPS. Debes usar un certificado SSL con URLs HTTPS para completar la configuración de la extensión de suscripción y usarlo.Nota:Nota: No puedes activar las opciones «Desactivar el acceso al escritorio de WP» y «Permiso de acceso al escritorio de administración» al mismo tiempo. Usa solo una de esas opciones.Notificar al usuarioEstá bien, te lo merecesODetalles opcionalesAjustes de páginas opcionalesPágina opcional. Es creado automáticamente por el plugin cuando instalas el plugin por primera vez.Configuración de la página y ajustes relacionados con la URL.PáginasAjustes de páginasContraseñaRestablecer la contraseñaURL de la página de restablecimiento de la contraseñaContraseña restablecida correctamente. Contraseña vacía o no válida.El campo de contraseña no puede estar vacío.La contraseña es obligatoriaLa contraseña no coincideLa contraseña debe tener al menos 8 caracteres, contener al menos 1 carácter en mayúscula y 1 en minúscula y al menos 1 dígito.La contraseña debe contener al menos:El enlace de restablecimiento de la contraseña se ha enviado a tu dirección de correo electrónico.Contraseña: PagarPayPalFalta la información de la credencial de la API de PayPal en los ajustes. Por favor, introduce las credenciales de la API de PayPal válidas en la pestaña ajustes general para el modo %s.Faltan las credenciales de la API de PayPal. Por favor, configura las credenciales de la API de PayPal.Configuración de la cuenta de PayPalDetalles del plan de facturación de PayPal para este botónComprar ahora de PayPalPayPal Comprar ahora (API nueva)Configuración del botón Comprar ahora (API nueva) de PayPalConfiguración del botón comprar ahora de PayPalCrédito de PayPalCorreo electrónico de PayPalAjustes de PayPalPago inteligente de PayPalCredenciales de la API de pago inteligente de PayPal (puedes obtener esto desde tu cuenta de PayPal)Configuración del botón de pago inteligente de PayPalSuscripción de PayPalSuscripción de PayPal (API nueva)Configuración del botón de suscripción de PayPal (API nueva)Configuración del botón de Suscripción de PayPalPayPal WebhooksCantidad de pagoID del botón de pagoTítulo del botón de pagoMoneda de pagoDetalles del pagoMétodos de pagoURL de reenvío de aviso de pagoAjustes de pagoBotón de pagoError en la comprobación de pago: se ha recibido la cantidad no válida. Se esperaba %1$s %2$s, pero se obtuvo %3$s %4$s.PagosPendienteTeléfonoNúmero de teléfono (si está disponible)PíldoraPor favorPor favor, %s si te gusta el plugin.Por favor acceder para comentar.Por favor, selecciona al menos una.Por favor, corrige lo siguientePor favor, corrige lo siguiente.Por favor, corrige lo siguiente:Por favor, introduce dos dígitos sin espacio (Ejemplo: 12)Por favor, introduce dos dígitos sin espacio (Ejemplo: 12)*Por favor, accede de nuevo.Por favor acceder para comentar.Por favor, ten en cuenta que la siguiente etiqueta de combinación no funciona en este correo electrónico.Documentación del pluginProtección de la entrada y páginaCódigo Postal / CPCódigo postalEntradasRellenar previamente la dirección de correo electrónico del miembroRellena previamente la dirección de correo electrónico del miembro conectado en el formulario de pago de Stripe cuando sea posiblePolítica de privacidadURL de la página de Política de privacidadLlave privadaProcesando la solicitud para restablecer contraseña...PerfilPerfil actualizado con éxito.Perfil se ha actualizado con éxito. Tendrás que volver a acceder porque has cambiado la contraseña.Pide a los visitantes que tomen medidas con un simple botón de pago de membresía.¡Actualizados los ajustes de protección!Llave publicaReintentar en caso de falloVolver a crear las páginas obligatoriasVuelve a introducir la nueva contraseñaLeer la Lee esta documentaciónRectangularCantidad de la facturación de periódicoCiclo de periódico de facturaciónPeriódico de recuento del ciclo de facturaciónConsulta esta página de documentación para más detalles.RegistrarseRegistroURL de la página de registroRegistro con éxito. Los enlaces para completar el registro aparecerán a continuaciónEl registro está completo. Ahora puedes acceder al sitio.RecuérdameRepetir contraseñaAdaptableRestablecer la contraseñaRestablecer los archivos de registro de depuración haciendo clic URL de retornoVuelve a escribir aquí la contraseñaPerfilID de la filaEl escritorio de administración de SWPM es accesible solo para usuarios administradores (como cualquier otro plugin). Puedes permitir que los usuarios con otro perfil de usuario de WP accedan al escritorio de administración de SWPM seleccionando un valor aquí. Ten en cuenta que esta opción no puede funcionar si activas la opción «Desactivar el acceso al escritorio de WP» en los ajustes generales.Las credenciales de la API de entorno de pruebas de PayPal no están configuradas. Por favor, configura primero las credenciales de la API de entorno de pruebas de PayPal.Estado de conexión de la cuenta de entorno de pruebasID de cliente del entorno de pruebasLa cuenta de entorno de pruebas de PayPal no está conectada.Secreto del entorno de pruebasClave secreta del entorno de pruebasEl entorno de pruebas de webhook existe. Si aún tienes problemas con los webhooks, puedes borrarlos y crearlos nuevamente.La cuenta de entorno de pruebas está conectado. Si tienes algún problema, por favor, desconecta y vuelve a conectarte.Las credenciales del entorno de pruebas no están configuradas. No se puede crear un webhook.Ajustes de pago de entorno de pruebas o modo de pruebaGuardar cambiosGuardar datosGuardar nivel de membresía Guarda los datos de pagoGuardar los datos de la transacciónScroll hacia abajo hasta la sección titulada «Protección simple de membresía de WP».BuscarBusca una transacción usando el correo electrónico, nombre, ID de la transacción o ID de la suscripción.Buscar...Comprobación de seguridad: la validación del captcha ha fallado.Selecciona la opción «Sí, proteger este contenido».Selecciona el nivel actualSelecciona el nivelSelecciona el tipo de botón de pagoSeleccionar nivel de destinoSelecciona un nivelSelecciona un elemento para verSelecciona el color del botón.Selecciona la altura del botón.Selecciona el diseño del botón.Selecciona la forma del botón.Selecciona el tamaño del botón.Selecciona el tipo/etiqueta del botón.Selecciona el ancho del botón.Selecciona cuánto tiempo deseas mantener la cuenta «pendientes»Selecciona los métodos de pago que podrían ser utilizados por los clientes. Ten en cuenta que el pago con tarjetas siempre está activado.Selecciona el nivel de membresía (se actualizará la fecha de inicio de acceso de todos los miembros que están en este nivel).Selecciona el nivel de membresía actual (se actualizará el nivel de membresía de todos los miembros que están en este nivel).Selecciona el estado de la cuenta por defecto para los usuarios recién registrados. El valor por defecto debe estar activo. Si deseas aprobar manualmente a los miembros, lee esta documentación para aprender más.Selecciona el nivel de membresía que puede acceder a este contenido:Selecciona el nuevo nivel de membresía.Enviar correo electrónico directoEnviar correo electrónico directo a los miembrosEnvía un correo electrónico al miembro cuando ha sido añadido desde el escritorio de administraciónEnviar notificación al administradorTambién envía el correo electrónico de recordatorio de registroEnviar a IDs de miembroEnviar al nivel de membresíaSesión caducada.Establecer el estado como activoEstablecer el estado como activo y notificarEstablecer el estado como caducadoEstablecer el estado como inactivoEstablecer el estado como pendienteEstablece el intervalo del pago periódico. Valor de ejemplo: 1 mes (si deseas cobrar todos los meses)AjustesLos ajustes de esta sección se aplican a todos los correos electrónicos.¡Ajustes actualizados!FormaMostrar la barra de administración al administradorMostrar la contraseñaPlataSitio de Simple Membership pluginOpciones de protección de Simple MembershipSimple Membership::PagosProtección de Simple WP MembershipSimple WP Membership::ExtensionesSimple WP Membership::MiembrosSimple WP Membership::Nivel de membresíaSimple WP Membership::AjustesWordPress Simple MembershipTamañoPequeñoAlgunos de los ajustes y opciones de las extensiones de simple membership plugin se mostrarán aquí (si los tienes)Lo siento, la verificación del nonce falló.Lo siento, la contraseña no coincide.Especifica el valor de la fecha de inicio de acceso.RegiónEstado / provincia / regiónEstadoEstado/NotaCalleDirección de calleIndicador de fortalezaID de la API de StripeClave publicable de API de Stripe en vivoClave secreta de API de Stripe en vivoAjustes de API de StripeClave publicable de API de Stripe de pruebaClave secreta de API de Stripe de pruebaLas claves de API de Stripe. Puedes obtener esto en tu cuenta de Stripe.Comprar ahora de StripeConfiguración del botón comprar ahora de StripeAjustes globales de StripeComprar ahora heredado de Stripe (obsoleto)Suscripción heredada de Stripe (obsoleta)Comprar ahora de Stripe SCAConfiguración del botón SCA «Comprar ahora» de StripeSuscripción de Stripe SCASuscripción de StripeAjustes del botón de Suscripción de StripeEnviarSuscribirseSuscríbete ahoraID del suscriptorID/referencia del suscriptorID de plan de suscripciónModo de plan de suscripciónLa suscripción ha sido cancelada.Fecha de inicio de la suscripciónDetalles de la suscripción/periódico de facturación¡Correcto!¡Lo lograste! Tu cuenta ha sido activada correctamente.Datos adicionales relacionados con el sistemaRealiza los siguientes pasos para aplicar protección a tu contenido para que solo los miembros puedan tener acceso a él.Elegir destinatariosTérminos y CondicionesURL de la página de términos y condicionesAjustes de prueba y depuraciónLlave de publicación de pruebaPrueba la llave secretaAjustes relacionados con pruebas y depuración.GraciasURL de la página de agradecimiento¡Eso es fantástico! Por favor, ¿podrías hacerme un gran favor y darle una valoración de 5 estrellas en WordPress para ayudarnos a hacer correr la voz e impulsar nuestra motivación?Los botones de pago de PayPal que usan la nueva API requieren webhooks. El plugin creará automáticamente los webhooks necesarios cuando crees un botón de pago de PayPal.La fecha de inicio de acceso de un miembro se establece en el día en que el usuario se registra. Este valor de fecha se usa para calcular cuánto tiempo el miembro puede acceder a su contenido que está protegido con una protección de tipo de duración en el nivel de membresía. El estado de la cuenta que se aplicará al perfil después de un pago. El valor por defecto debe estar activo.El administrador de este sitio no permite a los usuarios acceso al escritorio de wp.La categoría o categoría principal de esta entrada está protegida. Puedes cambiar los ajustes de protección de categoría desde La dirección de correo electrónico que has usado está en la lista negra de este sitio.La dirección de correo electrónico que has usado está incluida en la lista blanca de este sitio.El campo del cuerpo del correo electrónico está vacío. Por favor, introduce un valor en el campo del cuerpo del correo electrónico.El campo de asunto del correo electrónico está vacío. Por favor, introduce un valor en el campo de asunto del correo electrónico.Los siguientes detalles son opcionalesLos siguientes detalles son opcionales.Las siguientes páginas son necesarias para que el plugin funcione correctamente. Estas páginas fueron creadas automáticamente por el plugin en el momento de la instalación.Ha fallado la siguiente validación. Por favor, corrígelo y vuelve a intentarlo.El plugin guarda esta información para propósitos del sistema para algunos perfiles. No es necesario que tomes ninguna medida con respecto a este valor.La lista de destinatarios está actualmente vacía. Debe haber al menos un destinatario.Las páginas obligatorias han sido recreadas.¡La entrada seleccionada fue borrada!El administrador del sitio puede desactivar la característica de forzar la sincronización del usuario de WP en los ajustes para desactivar esta característica y este error desaparecerá.Esta documentación de la lista negra y lista blancaEste contenido solo puede ser visto por miembros que se unieron en o antes de Este contenido es solo para miembros.Este contenido no está disponible para tu nivel de membresía.Esta documentaciónEste correo electrónico se enviará si la activación de correo electrónico está activada para un nivel de membresía.Este correo electrónico se enviará para solicitar a los usuarios que completen el registro después del pago.Este correo electrónico se enviará al administrador cuando un nuevo usuario complete el registro de membresía. Sólo funciona si has activado la opción anterior "Enviar notificación al administrador".Este correo electrónico se enviará a tus miembros cuando usen la acción de activación y notificación en lotes de la cuenta.Este correo electrónico se enviará a tus usuarios después de la actualización de la cuenta (cuando un miembro existente paga por un nuevo nivel de membresía).Este correo electrónico se enviará a tus usuarios cuando completen el registro y se conviertan en miembros.Este correo electrónico se enviará a tus usuarios cuando usen la funcionalidad de restablecimiento de la contraseña.Este error se desencadena cuando una cuenta de miembro no tiene una cuenta de usuario de WP correspondiente. Por lo tanto, el plugin no puede registrar al usuario en el sistema de usuario de WP.Esta característica te permite enviar correos electrónicos a un grupo de miembros basado en su nivel de membresía o ID de miembro individual.Este campo es obligatorioEsta interfaz contiene herramientas útiles para varias operaciones de administración.Esta interfaz te permite configurar listas negras y listas blancas para direcciones de correo electrónico. Esta interfaz te permite personalizar los diversos correos electrónicos que se envían a tus miembros para diversas acciones. Los ajustes por defecto deberían ser buenos para comenzar.Esto se calcula según el nivel de membresía actual asignado a este miembro y la condición de vencimiento que has establecido para ese nivel de membresía.Este es el estado de la cuenta del miembro. Si deseas activar manualmente la cuenta de un miembro caducado, entonces leeEsta opción se puede usar para redirigir a los usuarios a una página designada después de hacer clic en el enlace de activación del correo electrónico y activar la cuenta.Esta página te permite configurar algunas características avanzadas del plugin.Esta sección te permite configurar los ajustes relacionados con el pago de Stripe.Esta sección te permite configurar la creación automática de cuentas de miembros cuando otro plugin crea nuevos registros de usuario de WP. Puede ser útil si estás usando otro plugin que crea registros de usuario de WP y deseas que se reconozcan en el plugin de membresía.Esta sección te permite configurar los ajustes de la lista negra.Esta sección te permite configurar los términos y condiciones y la política de privacidad que los usuarios deben aceptar en el momento del registro.Esta sección te permite configurar los ajustes de la lista blanca.Esta sección te permite activar/desactivar entorno de pruebas o modo de prueba para los botones de pago.Esta sección muestra una imagen de vista previa de un botón de PayPal para demostrar dónde aparecerá el botón de PayPal en la portada.Esta etiqueta no funcionará en este correo electrónico ya que la contraseña se almacena en la base de datos usando un hash unidireccional, lo que significa que el plugin no puede recuperar la contraseña de texto sin formato una vez que se ha creado la cuenta.Este enlace de registro único (consulta la URL en la barra de direcciones del navegador) ya se ha usado. No necesitas crear otra cuenta. Entrar a la cuenta existente para acceder al contenido protegido.Este enlace de registro único (consulta la URL en la barra de direcciones del navegador) no es válido. No se ha podido encontrar una coincidencia para el ID de miembro proporcionado y el código de seguridad. Por favor, contacta al administrador del sitio.Este valor se actualiza cuando este miembro accede a tu sitio.TituloPara continuar con el proceso de eliminación, por favor, introduce la contraseña actual para esta cuenta de usuario.HerramientasID de transacción¡Transacción completada correctamente!TransaccionesCantidad de la facturación en período de pruebaDetalles de facturación de prueba (Deja en blanco si no estas ofreciendo un período de prueba)Período de facturación de pruebaPeriodo de pruebaTipoEscribe aquí la contraseña¡Error inesperado! No se pudo actualizar el registro de miembro. Activar el archivo de registro de depuración y luego intenta el proceso nuevamente para obtener más detalles.Darse de baja de PayPalActualizarUsar las claves de API de la pestaña Ajustes de pago.Usar los ajustes globales de las claves de APIUtiliza esta opción si deseas que los miembros se conecten automáticamente en tu sitio justo después de completar el registro. Esta opción anulará la redirección posterior al registro y, en su lugar, activará la redirección posterior de acceso. Lee esta documentación para saber más.Usa esta opción si quieres ocultar el formulario de registro a los miembros conectados. Si los miembros conectados visitan la página de registro, verán un mensaje en lugar del formulario de registro.Utiliza esta opción si deseas mostrar la barra de herramientas de administración sólo a usuarios administradores. La barra de herramientas de administración se ocultará para todos los demás usuarios.El usuario no está conectado.Nombre de usuarioEl nombre de usuario ya existe.El nombre de usuario solo puede contener: letras, números y .-_*@El nombre de usuario contiene un carácter no válidoEl campo de nombre de usuario no puede estar vacío.Es obligatorio el nombre de usuarioNombre de usuario o correo electrónicoLos nombres de usuario solo pueden contener: letras, números y .-_*@Los usuarios deben aceptarlo antes de que puedan completar el registro.Los usuarios deben aceptar los términos antes de que puedan completar el registro.Validando, por favor espereVenmoVerificaciónVerticalVer la documentaciónVer perfilVer el archivo de registro de depuración general haciendo clic Ver el archivo de registro de depuración relacionado con el acceso haciendo clic Visita el %s para leer la documentación de instalación y configuración.WP Membership¡Advertencia! El plugin Simple Membership no puede procesar esta solicitud de acceso para evitar que se desconecte como administrador de WP accidentalmente.Lamentamos saber que no estás disfrutando del plugin Simple Membership. Nos encantaría tener la oportunidad de mejorar. ¿Podrías tomarte un minuto y hacernos saber qué podemos hacer mejor usando nuestro formulario de contacto? URL variable de WebhookEl webhook existe. Si aún tienes problemas con los webhooks, puedes borrarlos y crearlos nuevamente.El webhook ha sido creado.El webhook ha sido borrado.URL de Endpoint del WebWookSemanas (el acceso caduca después del número establecido de semanasSemanas (el acceso caducara después del número establecido de semanas)Al crear automáticamente una cuenta de miembro utilizando esta característica, el estado de la cuenta de membresía del usuario se establecerá en el que especifiques aquí.Al crear automáticamente una cuenta de miembro utilizando esta característica, el nivel de membresía del usuario se establecerá en el que especifiques aquí.Cuando se marca, el pago se volverá a intentar dos veces más si el pago falla. Después del tercer fallo, la suscripción se cancelará.Cuando está activado, se activará la característica de la listas negras.Cuando está activado, los miembros vencidos podrán acceder en el sistema pero no podrán ver ningún contenido protegido. Esto les permite renovar fácilmente su cuenta haciendo otro pago.Cuando está activado, se activará la característica de la lista blanca.BlancoPersonalización de los mensajes de la lista blancaLista blancaWordPress permite a un usuario estándar de WP ser capaz de ir a la URL «wp-admin» y acceder a su perfil desde el escritorio de WP. El uso de esta opción evitará que los usuarios que no sean administradores vayan al escritorio de WP.WordPress muestra una barra de herramientas de administración para los usuarios registrados en el sitio. Selecciona esta casilla si deseas ocultar la barra de herramientas de administración en la portada de tu sitio.La cuenta de WordPress existe con el correo electrónico indicado, pero el nombre del usuario dado no coincide.La cuenta de WordPress existe con el nombre de usuario indicado. Pero el correo electrónico dado no coincide.Años (el acceso caduca después del número establecido de años)SíSi, protege este contenido.Estás a punto de borrar una cuenta. Esto eliminará los datos de usuario asociados con esta cuenta. Ya estás conectado. No necesitas crear otra cuenta. Así que el formulario de registro está oculto.Actualmente estas editando: Te has conectado como:En este navegador te has conectado al sitio como usuario administrador. Primero, cierra la sesión como administrador de WP y luego podrás acceder como miembro.No estás conectado.No estás conectado como miembroPuedes añadir un nuevo registro de transacción manualmente usando esta interfaz. Puede ser útil si aceptas manualmente el pago en efectivo de tus membresías.También puedes usar los botones de pago de los siguientes plugins para aceptar pagos por tus membresías.Puedes crear un nuevo botón de pago para tus membresías usando esta interfaz.Puedes crear una página de renovación para tu sitio. Lee esta documentación para aprender cómo crear una página de renovación.Puedes crear botones de pago de membresía desde el Puede editar un botón de pago utilizando esta interfaz.Puedes editar los detalles de un nivel de membresía seleccionado desde esta interfaz. Puedes activar esta opción si deseas manejar la funcionalidad de restablecer la contraseña mediante un enlace de restablecimiento que se envía por correo electrónico al miembro. Lee esta documentación para aprender más acerca de la función de restablecer la contraseña.Puedes introducir una URL aquí para reenviar el aviso de pago después de que este plugin haya procesado el pago de la membresía. Útil si deseas reenviar el aviso de pago a un script externo para más procesamiento.Puedes introducir una URL aquí para redirigir a los miembros a esta página después de hacer clic en el enlace de cerrar sesión para cerrar la sesión en tu sitio.Puedes introducir una URL aquí para redirigir a los miembros a esta página después de que envíen el formulario de registro. Lee esta documentación para obtener más información sobre cómo configurar después de la redirección de registro.Puedes cambiar manualmente el nivel de membresía de cualquier miembro editando el registro desde el menú de miembros. Puedes generar manualmente un enlace para completar el registro aquí y enviárselo al usuario si ha perdido el correo electrónico que se les envía después del pago.Puedes establecer manualmente un valor de fecha de inicio de acceso específico de todos los miembros que pertenecen a un nivel particular usando la siguiente opción.Puedes usarlo para mostrar una opción de cambio de la visibilidad de la contraseña en el formulario de acceso. Añadirá una casilla de verificación para mostrar la contraseña.Puedes usar el botón de atrás en tu navegador para volver al sitio.Puedes usar la siguiente opción para actualizar en lotes el nivel de membresía de los usuarios que pertenecen al nivel que seleccionas a continuación.Puedes usar esta opción para desactivar el aviso por correo electrónico que se envía a los miembros cuando hacen un pago por actualización o renovación.Puedes usar esta opción para enviar un correo electrónico de notificación rápida a este miembro (el correo electrónico se enviará cuando presiones el botón guardar a continuación).No tienes permiso para ver este contenido.Tienes activado el modo de pago de entorno de pruebas en los ajustes del plugin. Asegúrate de desactivar el modo de entorno de pruebas cuando deseas realizar transacciones en vivo.Debes aceptar los Términos y Condiciones.Debes aceptar la política de privacidad.Debes estar conectado para actualizar una membresía.Necesitas activar tu cuenta. Si no recibiste un correo electrónico entonces %s para volver a enviar el correo electrónico de activación.Debes acceder para ver el resto del contenido. Debes acceder para ver éste contenido. Necesitas confirmar tu dirección de correo electrónico. Por favor, revisa tu correo electrónico y sigue las instrucciones para completar el registro.Serás redirigido automáticamente en unos pocos segundos. Si no, por favor %s.Serás redirigido a la página anterior en unos segundos. Si no, por favor, haz clic aquí.Tendrás que volver a acceder porque has cambiado tu contraseña.Recibirás un enlace único a través del correo electrónico después del pago. Podrás utilizar ese enlace para completar el registro de membresía de pago.El correo electrónico de tu cuenta de PayPal no está confirmado. Comprueba la bandeja de entrada de tu cuenta de PayPal para recibir un correo electrónico de PayPal para confirmar tu dirección de correo electrónico de PayPal.Tu cuenta de PayPal es limitada por lo que no puedes aceptar pagos. Comunícate con el soporte de PayPal o consulta la bandeja de entrada de tu cuenta de PayPal para recibir un correo electrónico de PayPal con los siguientes pasos para eliminar el límite de la cuenta.Tu cuenta a caducado. Tu contraseña actualTu nivel de membresía no tiene permiso para ver este contenido.Tu perfil de membresía se actualizará para reflejar el pago.Tus visitantes frecuentes o miembros nunca verán este mensaje. Este mensaje es SOLO para el usuario de administración.Nombre de usuario de tu perfil: Código postalprotección en lotes de entradas y páginas de documentacióndocumentación de protección de categoríamenú de protección de categoríahaz clic aquíhaciendo clic aquídocumentación de protección de contenidodanos una valoraciónaquíhttps://simple-membership-plugin.com/incompletosección de pago de membresíamenú de pagosrenovarsmp7, wp.insidersuscripción creadaesta documentaciónpara aprender a obtener tus credenciales de la API de PayPal.para aprender más.~ Equipo del plugin Simple Membershiplanguages/simple-membership-id_ID.mo000064400000054644147206617610013466 0ustar00{.D - 7 B c+n  ,:I^s  (M2@% 8 T^ x   *D-I9w004e| $  %CYp v 1& <Jcz[ =_ 5!!R!#B" f" s""" ""l#~####### $%$'<$=d$ $$R%U%&&$&6&O&W&h& ~& && &&&&&& & '!'1'O' W'b'#s'%'''''4 (?(D(1J(|((@+)Al)))&) ) ***$*3*<*W*f*~**#* **(*+*+<+Q+b+s+|+++++++++X,t,, ,0,,, - -- ,-7-<- C-P-b-/i-*- - ---3 .=.9.3 /?/$Z////$/// 0 *0K0'i00k0!1>1\1b1i1|1 1111C18#2\2b2q2J2222 3 33 43>3$X3}33 3132344Md5M52636I6L`636637(7S7F8?\88888)q:G: ::":;6!;X;i; z;;(;;; ; < <%<9<P<l< r< <<<<<<< =M=0^==.=== ==!>8>A> _>m>> >>> > >>>/?>?3C?5w? ???0??@@-8@f@z@@ @ @!@@ @@@ AA8ALAaA gA tA AAA!A1A& B 1B=BWBtBB$BBBBL C;WC}C7DID=dD$DDD DD EEEE EEF &F4FHF XF$bF$F6FF|FxG{GHH-HAH XHbHsH HHH HHHHHH I I!I=IWI ^IjIyI"IIIII/I/J4J1:JlJtJ:K:=KxKKK KKKKKLL0L?LZLuL+L LL"LLM#M ;MEM [MfM oM yM#MMMMMMB NON dN nN+zNNN NNNN OOO,OCO*HOsO O OOO5OnP3P@PP&Q8Q JQUQ"rQQQQQR$+RPRLpRRRRSSSS2SIS_S9xS7SS SSPTfTTT TTT TT+U4U KU YU1gU1UhUl4V9V;V/WGW[WK{W;WX.X&XBX8Y4OYYYY )d~!ciZt,5wFy f =}-U#RgIS6 zG V:M^C_7HAJ <01'kP [a2QBhE p4{|X+j*>OL($/ %r"Kb&]3sWuNxl8Yeq@n;`\. m vDT9?o Email Settings (Account Upgrade Notification) The rest of the content is not permitted for your membership level.%1$s %2$d%s pending(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Email AddressAdvanced SettingsAll datesAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.AmountApplyAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBulk ActionsButton IDButton Image URLButton ShortcodeButton TitleBuy NowCategory ProtectionCategory protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Example Content Protection SettingsExcerpt ViewExpire AfterExpiredFilter by dateFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid User NameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameList ViewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember record added successfully.Member since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.No items found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease correct the followingPlease correct the following:Please login again.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful. Remember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSave ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select AllSelect PageSelect Payment Button TypeSelect bulk actionSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email tooSession Expired.SettingsSettings updated!Simple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorSubmitSubscribe NowSubscriber ID/ReferenceTest & Debug SettingsThe selected entry was deleted!This content can only be viewed by members who joined on or before This content is not permitted for your membership level.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUpdated Successfully.User NameUser Not Found.User is not logged in.User nameUser name already exists.User name contains invalid characterUser name is requiredUsernameWP MembershipWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not logged in.You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You need to login to view the rest of the content. You need to login to view this content. Your account has expired. Please renew your account to gain access to this content.Your current passwordYour membership profile will be updated to reflect the payment.Your profile username: ZipcodesearchProject-Id-Version: Simple Membership POT-Creation-Date: 2015-11-16 15:48+0800 PO-Revision-Date: 2015-11-25 10:20+0800 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.6 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Hermanudin Plural-Forms: nplurals=1; plural=0; Language: id_ID X-Poedit-SearchPath-0: . Pengaturan Email (Notifikas Upgrade Akun)Isi selanjutnya tidak diperbolehkan untuk tingkat member Anda saat ini.%1$s %2$d%s tunda(Akses kadaluarsa on a fixed date)(wajib)(dua kali, biarkan kosong untuk menjaga password lama)(wajib dua kali)Lama Waktu AksesTanggal MulaiAkses Diberikan HinggaLama kunjungan harus lebih besar dari 0.Isian tanggal akses salahTanggal KadaluarsaJenis AkunStatus AkunMember telah kadaluarsa.Member tidak aktif.Member masih tertunda.Periksa kembali alamat AndaAktifTambah MemberTambah BaruTambahkan Member BaruTambahkan Tingkat Member BaruTambahanPengaturan AddonsAlamat Email AdminPengaturan LanjutanSemua tanggalSemua tombol pembayaran yang telah Anda buat dalam plugin ditampilkan disini.Semua transaksi pembayaran member direkam disiniBolehkan Penghapusan AkunBolehkan pengguna untuk menghapus akun mereka.JumlahJalankanSudah dipakaiBerikan ID terhadap member freeHapus Otomatis Akun yang TertundaTersediaJumlah Tagihan Setiap PutaranBilling CycleJumlah Billing CycleTindakan SekaligusID TombolURL Gambar TombolTombol ShortcodeJudul TombolBeli SekarangPerlindungan KategoriProteksi telah diperbarui!Pilih opsi ini untuk mengaktifkan log debuggingKotaKlik disini untuk melangkapi pendaftaran pembayaranPilih tautan berikut untuk menyelesaikan pendaftaran.PerusahaanJumlahNegaraBuat pengguna baru dan tambahkan ke website ini.Buat tingkat member baruTanggalPengaturan tanggal tidak benar.Hari (Kadaluarsa setelah jumlah hari berikut)Status Akun DefaultPeran Otomatis WordpressHapusHapus AkunKeteranganAnda ingin melindungi muatan ini?EmailEdit MemberEdit Tingkat MemberURL Halaman Edit ProfilEdit PenggunaEdit member secara detail.Edit tingkat memberEdit tingkat member.EmailAlamat EmailAlamat Email:Isi EmailPengaturan Email lainnyaPengaturan EmailPengaturan Email (Reset Password)Pengaturan Email (untuk penyelesaian pendaftaran)Pengaturan Email (Pendaftaran Selesai)Judul EmailAlamat email tidak benar.Alamat email telah terpakai.Alamat email salahSilahkan masukkan emailAktifkan Kadaluarsa untuk Login AkunAktifkan Member FreeAktifkan Proteksi LebihAktifkan Testing SandboxAktifkan opsi ini jika ingin memberitahu Admin apabila ada member mendaftar.Pilih opsi ini jika ingin melakukan test pembayaran sandboxAktifkan pendaftaran bagi member free. Pastikan kotak pilihan ID free member dibawah ini telah diaktifkan pada isian dibawah.Aktifkan atau matikan tag "lebih" di post atau halaman.Masukkan ID Tingkat MemberMasukkan alamat kirim emal admin yang ingin diberi notifikasiContoh Pengaturan Content ProtectionPandangan RingkasanTanggal KadaluarsaKadaluarsaSaring berdasarkan tanggalNama DepanPertama, lindungi seluruh kategori dengan memilih "Pilihan Umum" dari kotak dibawah dan pilih kategori yang akan dilindungi dari pengguna tidak terdaftar.Tanggal Kadaluarsa TetapPendaftaran Yang TertundaLupa PasswordID Level Member FreeAlamat Email PengirimJenis KelaminJenis kelamin salahPengaturan UmumBuat KodeBuat Alamat Penyelesaian PendaftaranBuat alamat Penyelesaian PendaftaranBuat Kode "Pembayaran Lanjut" untuk tombol PayPal AndaSembunyikan Baris AdminTips: Password minimal 7 karakter. Agar lebih kuat, tambahkan huruf besar, angka dan tanda baca seperti ! " ? $ % ^ & ).IDJika Anda telah membayar, pembayaran masih dalam proses. Silahkan diperiksa beberapa saat lagi. Kami akan segera mengirimkan email berisi keterangan.NonaktifAlamat Email SalahPengguna Tidak Sah.Tingkatan member salahBergabungURL Halaman JoinAkses Terakhir dari IPNama BelakangPandangan BarisAnda Telah Keluar.Masuk sebagaiMasukURL Halaman LoginKeluarAtur Isi ProduksiMemberMember LoginMember SejakCatatan member telah ditambahkan.Isian tangal member salahMemberKeanggotaanTingkat MemberTingkat Member tidak ditemukanPembuatan Tingkat Member Berhasil.ID Tingkat MemberNama Tingkat MemberTingkat MemberTingkat memberBulan (Kadaluarsa setelah jumlah bulan berikut)NamaTidakPassword baru telah dikirim ke alamat email Anda.BerikutSelanjutnya, pilih tingkatan member dari kotak dibawah dan pilih kategori yang diinginkan untuk diberikan akses kepada level member tertentu.Tidak Kadaluarsa (Tidak dapat kadaluarsa sampai dibatalkanTidak Kadaluarsa (Tidak dapat kadaluarsa sampai dibatalkanMember tidak ditemukan.Tidak ditemukan.Nama pengguna tidak ditemukan.Bukan Member?Beritahu PenggunaATAUPiliah LainnyaPengaturan HalamanPasswordPassword Kosong atau Tidak Sah.Reset PasswordURL Halaman Reset PasswordSilahkan masukkan passwordPassword salahPengaturan Tombol Beli Sekarang dari PayPalEmail PayPalPengaturan Integrasi PayPalPengaturan Tombol Langganan PayPalJumlah PembayaranID Tombol PembayaranJudul Tombol PembayaranMata UangPengaturan PembayaranPembayaranTertundaTelephone SilahkanSilahkan perbaiki kesalahan berikutSilahkan perbaiki hal ini:Silahkan masuk lagi.Petunjuk PluginProfilProfil Anda telah diperbarui.Profil telah diperbarui. Silahkan masuk lagi dengan password baru.Coba Lagi Saat GagalMendaftarPendaftaranAlamat Penyelesaian Akan Muncul Dibawah IniURL Alamat PendaftaranPendaftaran Berhasil.Ingat SayaUlangi PasswordReset PasswordAlamat KembaliPeranID BarisSimpan PerubahanSimpat Data PembayaranCariCari transaksi berdasarkan email atau namaProses cek captcha gagalPilih SemuaPilih HalamanPilih Tombol Type PembayaranPilih tindakan sekaligus.Pilih berapa lama akun "tertunda" akan dipertahankan.Pilih status akun default bagi pendaftar baru. Jika ingin melakukan secara manual, atur status menjadi "Tunda"Pilih tingkat member untuk dapat mengakses isi ini:Kirim Email ke Member ketika ditambahkan melalui Dashboard AdminKirim Notifikasi ke AdminKirim juga Email Pengingat PendaftaranMasa Pakai Habis.PengaturanPengaturan telah diperbarui!Pilihan Proteksi Simple MembershipSimple Membership::PembayaranProteksi Simple WP MembershipSimple WP Membership::Add-onsSimple WP Membership::KategoriSimple WP Membership::MemberSimple WP Membership::Tingkat MemberSimple WP Membeship::PengaturanBeberapa tambahan plugin dan pengaturan akan ditampilakkan disini (jika ada)Maaf, proses verifikasi gagal.Maaf, password tidak sesuai.PropinsiJalanPenanda kekuatanKirimLangganan SekarangID Pelanggan/ReferensiSetting Tes dan DebugIsian ini telah dihapus!Isi hanya dapat dilihat oleh member yang telah bergabung.Isi tidak diizinkan untuk tingkat member Anda saat ini.AlatID TransaksiJumlah Tagihan PercobaanDetail Tagihan Percobaan (kosongkan jika Anda tidak menyediakan waktu percobaan)Masa Waktu Tagihan PercobaanPerbaruiPembaruan Berhasil.Nama PenggunaMember Tidak DitemukanPengguna belum masuk.Nama penggunaNama pengguna telah terdaftar.Nama pengguna mengandung karakter terlarangSilahkan masukkan namaNama PenggunaWP MembershipMinggu (Kadaluarsa setelah jumlah minggu berikut)Minggu (Kadaluarsa setelah jumlah minggu berikut)Saat diaktifkan, member yang telah kadaluarsa bisa masuk tetapi tidak dapat melihat isi yang diproteksi.Wordpress menampilkan toolbar admin kepada pengguna yang masuk. Klik kotak ini jika ingin menyembunyikannya.Alamat email telah terdaftar, tetapi nama pengguna salah.Pengguna ini telah terdaftar, tetapi alamat emailnya salah.Tahun (Kadaluarsa setelah jumlah tahun berikut)Anda masuk sebagai:Silahkan masuk terlebih dahulu.Anda dapat membuat tomobl pembayaran bagi member menggunakan antarmuka ini.Anda dapat mengedit tombol pembayaran dengan antarmuka ini.Anda dapat membuat alamat penyelesaian pendaftaran secara manual dan menginformasikan kepada pelanggan juka ada kesalahan melalui email setelah pembayaran.Anda perlu masuk untuk melihat isi sepenuhnya.Anda perlu masuk untuk melihat isinya.Member Anda sudah kadaluarsa. Silahkan perbarui untuk melihat ini.Password Anda saat iniProfi keanggotaan akan diperbarui sesuai pembayaran.Nama profil Anda:Kode Poscarilanguages/simple-membership-fr_CA.mo000064400000031005147206617610013452 0ustar00   & D? K * :DYo~2- M[j#q6   -= ER  4   &<Mcl t(~     +?"Qt  "-6>D_}8  '06=L SaGj!8-DW^nw4#65 M ZPgP C 0d.iv.3(IgL:~D   -#I!kD 1!E! Y!d!y!!!!!!!" "%"-"52"h" " ""%"." "##+#1# J#*U####a$ f$p$$ $($$%%%%%$% & &&6&S&j&&&/&&&& & '' %'/' @'N'V']'d'k',r')''''' ((!9('[( ( ( ( ((%(( )G)g)z)!)) ) ))))* * *`.*.***?*)+=+Y+h++%+H+6,;,HV,, ,,_,a2--M-/-?,.ml.q.8L/*/M/r/Eq00K1c1L{11 1 1 1fTm*7erIK NLk!WF\S)<iDv?C=Ej|-_q]^'RX6U  z9A/xy>0Mu8 t#n,b@J .YVl[`~%Qgpw52HB}$Po4(;d:"h G3s+caZ1{O& Field has invalid character Password does not match The rest of the content is not permitted for your membership level. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. characters required(Please Select)- a digit- a lowercase letter- an uppercase letterAccount ExpiryAccount StatusAccount has expired.Account is inactive.Account is pending.Activation RequiredActiveAdd-onsAddressAllAllowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.AmountApostrophe character is not allowedAre you sure that you want to cancel the subscription?AvailableBuy NowCancel SubscriptionCityClear SearchClick hereClick here to complete your paid registrationCompanyCompany NameContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.CountryDeleteEdit ProfileEmail ActivationEmail AddressEnable Privacy PolicyError! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: ExpiredExpiry DateFirst NameForgot Password?GenderGo back to the home page by InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressJoin NowJoin UsLast NameLeave empty to keep the current passwordLevelLogged in asLogged in as: LoginLogin HereLogoutMember IDMember ProfileMember SinceMembersMembershipMembership LevelMembership Level IDMembership LevelsMembership level has been updated.Name contains invalid characterNeverNo active subscriptionsNot a Member?Not a member? PasswordPassword Empty or Invalid.Password ResetPassword must contain at least:Password: PaymentsPendingPhonePlease check at least one.Please correct the following:Profile updated successfully.RegisterRegistration is complete. You can now log into the site.Remember MeRepeat PasswordReset PasswordRetype password hereSearch...SettingsStateStreetStreet AddressSubmitSubscribe NowSuccess!The admin of this site does not allow users to access the wp dashboard.The selected entry was deleted!This content is for members only.This content is not permitted for your membership level.This field is requiredType password hereUpdateUser Not Found.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsernames can only contain: letters, numbers and .-_*@Validating, please waitVerificationView ProfileWordpress account exists with given email. But the given username doesn't match.Wordpress account exists with given username. But the given email doesn't match.You are not logged in.You can use the back button of your browser to go back to the site.You do not have permission to view this content.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to confirm your email address. Please check your email and follow instructions to complete your registration.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will be redirected to the previous page in a few seconds. If not, please click here.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your profile username: Zipcodeclick hereclicking herePlural-Forms: nplurals=2; plural=(n > 1); Project-Id-Version: Simple WordPress Membership PO-Revision-Date: 2021-09-13 17:46-0400 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 3.0 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: simple-wp-membership.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 Last-Translator: Language: fr_CA X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js Caractères invalides Les mots de passe sont différents Le reste du contenu n’est pas autorisé pour ton niveau d’adhésion. Utilise une autre adresse email pour terminer l’inscription. Si tu souhaites utiliser ce email, tu dois entrer le nom d’utilisateur correct associé à l’utilisateur WP existant pour te connecter à ce compte. Utilise un autre nom d’utilisateur pour terminer l’enregistrement. Si tu souhaites utiliser ce nom d’utilisateur, tu dois entrer l’adresse e-mail correcte associée à l’utilisateur WP existant pour te connecter à ce compte. caractères requis(SVP sélectionner)Un chiffreUne lettre minusculeUne lettre majusculeExpiration du compteStatus du compteCompte est expiré.Compte est inactif.Compte est en attente.Activation requiseActifModules complémentairesAdresseToutLes caractères permis sont: lettres, nombres et .-*@Déjà membre de ce niveau.Déjà prisDéjà pris.MontantL’apostrophe n’est pas autoriséeEs-tu sûre de vouloir annuler ton abonnement?DisponiblePayer maintenantAnnuler l'AbonnementVilleRecherche d’effacementClique iciClique ici pour compléter ton inscriptionCompanieCompanieContactez l’administrateur du site et demandez-leur de vérifier votre nom d’utilisateur dans le menu des utilisateurs WP pour voir ce qui s’est passé avec l’entrée utilisateur WP de votre compte.PaysSupprimerModifier ton profilActivation par emailAdresse emailActiver la politique de confidentialitéErreur! Ce site a la fonction de connexion d’utilisateur de force WP activée dans les paramètres. Nous n’avons pas pu trouver d’enregistrement d’utilisateur WP pour le nom d’utilisateur donné ExpiréDate d’expirationPrénomTu as oublié ton mot de passe?GenreRetourne sur la page d’accueil en InactifIncompletAdresse email invalideNom d’utilisateur invalideAdresse email invalideInscris-toi maintenantJoins-toi à nousNomLaisser vide pour garder le mot de passe actuelNiveauConnecté en tant queConnecté en tant que Se connecterSe connecterSe déconnecterID membreProfil de membreMembre depuisMembresNiveauNiveauNiveauNiveauLe niveau d’adhésion a été mis à jour.Le nom contient des caractères invalidesJamaisAucun abonnement actifPas encore membre?Pas encore membre Mot de passeMot de passe vide ou invalide.Réinitialisation du mot de passeLe mot de passe doit contenir au moins:Mot de passe PaiementsEn suspensTéléphoneSVP en cocher au moins un.SVP corriger les éléments suivants:Le profil a été mis à jour.S’inscrireTon inscription est complète. Tu peux maintenant te connecter au site.Se souvenir de moiRépéter le mot de passeRéinitialisation du mot de passeRé-écrire le mot de passe iciRechercher…ParamètresProvinceRueRueEnvoyerInscris-toi maintenantC’est fait!L’administrateur de ce site ne permet pas aux utilisateurs d’accéder au tableau de bord wp.L’entrée sélectionnée a été supprimée!Ce contenu est pour les membres seulement.Ce contenu n’est pas autorisé pour ton niveau d’adhésion.Ce champ est requisÉcrire le mot de passe iciMettre à jourUtilisateur non trouvé.Nom d’utilisateurLe nom d’utilisateur existe déjà.Le nom d’utilisateur peut seulement contenir: lettres, nombres et .-*@Le nom d’utilisateur contient un caractère invalideNom d’utilisateur requisLe nom d’utilisateur peut seulement contenir: lettres, nombres et .-*@Ça sera pas long :)VérificationVoir ton profilLe compte Wordpress existe avec ce email. Mais le nom d’utilisateur donné ne correspond pas.Un compte WordPress existe avec ce nom d’utilisateur. Mais le email indiqué ne correspond pas.Tu n’es pas connectée.Tu peux utiliser le bouton retour de ton navigateur pour revenir sur le site.Tu n’as pas la permission de voir ce contenu.Vous devez être connecté pour mettre à niveau un abonnement.Tu dois activer ton compte. Si tu n’as pas reçu un email, %s pour envoyer un nouveau email d’activation.Tu dois confirmer ton adresse e-mail. Vérifie tes emails et suis les instructions pour terminer ton inscription.Tu dois te vous connecter pour voir le reste du contenu Tu dois te connecter pour voir ce contenu Tu vas être automatiquement redirigé dans quelques secondes. Sinon, %s svp.Tu vas être redirigé vers la page précédente dans quelques secondes. Sinon, clique ici svp.Tu vas devoir te re-connecter puisque tu as changé ton mot de passe.Vous recevrez un lien unique par e-mail après le paiement. Vous pourrez utiliser ce lien pour compléter l’inscription à l’adhésion premium.Ton compte est expiré Ton mot de passe actuelTon niveau d’inscription ne te donne pas la permission de voir ce contenu.Ton nom d’utilisateur Code postalclique icicliquant icilanguages/simple-membership-it_IT.po000064400000156363147206617610013532 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membershp\n" "POT-Creation-Date: 2016-12-09 10:34+0100\n" "PO-Revision-Date: 2016-12-13 14:59+0100\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.11\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: it_IT\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:295 msgid "You are not logged in." msgstr "Non hai effettuato l'accesso." #: classes/class.simple-wp-membership.php:342 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "Hai la modalità di pagamento sandbox abilitata nelle impostazioni del " "plugin. Assicurati di disattivare la modalità sandbox quando vorrai eseguire " "transazioni reali." #: classes/class.simple-wp-membership.php:357 msgid "Simple WP Membership Protection" msgstr "Protezione Plugin - Simple WP Membership" #: classes/class.simple-wp-membership.php:369 msgid "Simple Membership Protection options" msgstr "Opzioni di protezione - Simple WP Membership" #: classes/class.simple-wp-membership.php:385 msgid "Do you want to protect this content?" msgstr "Vuoi proteggere questo contenuto?" #: classes/class.simple-wp-membership.php:390 msgid "Select the membership level that can access this content:" msgstr "Seleziona il livello di iscrizione che può accedere a questo contenuto" #: classes/class.simple-wp-membership.php:519 msgid "WP Membership" msgstr "Membri WP" #: classes/class.simple-wp-membership.php:520 classes/class.swpm-members.php:12 #: classes/class.swpm-members.php:404 msgid "Members" msgstr "Membri" #: classes/class.simple-wp-membership.php:521 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:245 msgid "Membership Levels" msgstr "Livelli di iscrizione" #: classes/class.simple-wp-membership.php:522 msgid "Settings" msgstr "Impostazioni" #: classes/class.simple-wp-membership.php:523 msgid "Payments" msgstr "Pagamenti" #: classes/class.simple-wp-membership.php:524 msgid "Add-ons" msgstr "Componenti aggiuntivi" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Devi eseguire l'accesso per visualizzare questo contenuto." #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:209 msgid "Your account has expired. " msgstr "Il tuo account è scaduto." #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Questo contenuto può essere visualizzato solo dai membri che hanno aderito " "entro il" #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Questo contenuto non è accessibile al tuo livello di iscrizione." #: classes/class.swpm-access-control.php:201 msgid "You need to login to view the rest of the content. " msgstr "Devi eseguire l'accesso per visualizzare il resto del contenuto." #: classes/class.swpm-access-control.php:214 msgid " The rest of the content is not permitted for your membership level." msgstr "Il resto del contenuto non è accessibile al tuo livello di iscrizione." #: classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Membro aggiunto correttamente." #: classes/class.swpm-admin-registration.php:59 #: classes/class.swpm-admin-registration.php:81 #: classes/class.swpm-admin-registration.php:105 #: classes/class.swpm-membership-level.php:43 #: classes/class.swpm-membership-level.php:62 msgid "Please correct the following:" msgstr "Correggi le seguenti informazioni:" #: classes/class.swpm-admin-registration.php:96 msgid "Your current password" msgstr "La tua password attuale" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Indirizzo email non valido" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "Già utilizzato" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Il nome contiene caratteri non validi" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Disponibile" #: classes/class.swpm-auth.php:46 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Attenzione! Il plugin Simple Membership non può processare questa richiesta " "di login per prevenire un logout accidentale dal pannello amministrazione di " "Wordpress." #: classes/class.swpm-auth.php:47 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a member." msgstr "" "In questo browser hai un accesso come utente ADMIN. Per prima cosa esegui il " "logout dal pannello amministrazione di Wordpress, poi sarai in grado di " "accedere come membro." #: classes/class.swpm-auth.php:48 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "In alternativa, puoi usare un altro browser (quando non hai un accesso come " "ADMIN) per testare l'accesso dei membri." #: classes/class.swpm-auth.php:49 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "I tuoi normali visitatori o membri non vedranno mai questo messaggio. Questo " "messaggio è visibile SOLO agli utenti amministratori." #: classes/class.swpm-auth.php:64 msgid "User Not Found." msgstr "Utente non trovato." #: classes/class.swpm-auth.php:71 msgid "Password Empty or Invalid." msgstr "Password vuota o non valida." #: classes/class.swpm-auth.php:97 msgid "Account is inactive." msgstr "L'account è inattivo." #: classes/class.swpm-auth.php:100 classes/class.swpm-auth.php:121 msgid "Account has expired." msgstr "L'account è scaduto." #: classes/class.swpm-auth.php:103 msgid "Account is pending." msgstr "L'account è in attesa." #: classes/class.swpm-auth.php:129 msgid "You are logged in as:" msgstr "Hai eseguito l'accesso come:" #: classes/class.swpm-auth.php:175 msgid "Logged Out Successfully." msgstr "Logout eseguito correttamente." #: classes/class.swpm-auth.php:227 msgid "Session Expired." msgstr "Sessione scaduta." #: classes/class.swpm-auth.php:236 msgid "Invalid Username" msgstr "Username non valido" #: classes/class.swpm-auth.php:244 msgid "Please login again." msgstr "Per favore accedi nuovamente." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:25 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:53 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:307 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 msgid "Membership Level" msgstr "Livello di iscrizione" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "ID categoria" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Nome categoria" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Tipo categoria (Taxonomy)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Descrizione" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Contatore" #: classes/class.swpm-category-list.php:89 msgid "Category protection updated!" msgstr "Protezione categoria aggiornata!" #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Esegui l'accesso per commentare" #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Esegui l'accesso per Commentare" #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Commenti consentiti solo agli utenti membri." #: classes/class.swpm-form.php:29 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Un account Wordpress con questo username esiste. Ma l'email utilizzata " "non corrisponde." #: classes/class.swpm-form.php:34 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Un account Wordpress con questo indirizzo email esiste. Ma l'username " "utilizzato non corrisponde." #: classes/class.swpm-form.php:43 msgid "Username is required" msgstr "Username richiesto" #: classes/class.swpm-form.php:47 msgid "Username contains invalid character" msgstr "L'Username contiene caratteri non validi" #: classes/class.swpm-form.php:55 msgid "Username already exists." msgstr "Username già utilizzato." #: classes/class.swpm-form.php:78 msgid "Password is required" msgstr "La password è richiesta" #: classes/class.swpm-form.php:85 msgid "Password mismatch" msgstr "La password non corrisponde" #: classes/class.swpm-form.php:96 msgid "Email is required" msgstr "Email richiesta" #: classes/class.swpm-form.php:100 msgid "Email is invalid" msgstr "Email non valida" #: classes/class.swpm-form.php:116 msgid "Email is already used." msgstr "Email già utilizzata." #: classes/class.swpm-form.php:173 msgid "Member since field is invalid" msgstr "Il campo Membro dal non è valido" #: classes/class.swpm-form.php:184 msgid "Access starts field is invalid" msgstr "Il campo Inizio accesso non è valido" #: classes/class.swpm-form.php:194 msgid "Gender field is invalid" msgstr "Il campo Sesso non è valido" #: classes/class.swpm-form.php:205 msgid "Account state field is invalid" msgstr "Il campo Stato account non è valido" #: classes/class.swpm-form.php:212 msgid "Invalid membership level" msgstr "Livello di iscrizione non valido" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "Il livello di iscrizione gratuito è disabilitato su questo sito. Si prega di " "effettuare un pagamento dal" #: classes/class.swpm-front-registration.php:49 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Riceverai un link unico via email dopo il pagamento. Potrai utilizzare " "questo link per completare la registrazione." #: classes/class.swpm-front-registration.php:77 msgid "Security check: captcha validation failed." msgstr "Controllo sicurezza: la convalida del captcha non è riuscita" #: classes/class.swpm-front-registration.php:86 msgid "Registration Successful. " msgstr "Registrazione eseguita correttamente." #: classes/class.swpm-front-registration.php:86 #: classes/class.swpm-utils-misc.php:218 classes/class.swpm-utils-misc.php:230 msgid "Please" msgstr "Si prega" #: classes/class.swpm-front-registration.php:86 #: classes/class.swpm-utils-misc.php:218 views/login.php:27 msgid "Login" msgstr "Accedi" #: classes/class.swpm-front-registration.php:99 #: classes/class.swpm-front-registration.php:186 msgid "Please correct the following" msgstr "Si prega di correggere le seguenti informazioni" #: classes/class.swpm-front-registration.php:130 msgid "Membership Level Couldn't be found." msgstr "Il livello di iscrizione non può essere trovato." #: classes/class.swpm-front-registration.php:169 msgid "Profile updated successfully." msgstr "Profilo aggiornato correttamente." #: classes/class.swpm-front-registration.php:177 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profilo aggiornato correttamente. Devi eseguire nuovamente l'accesso " "perche la tua password è cambiata." #: classes/class.swpm-front-registration.php:196 msgid "Email address not valid." msgstr "Indirizzo email non valido." #: classes/class.swpm-front-registration.php:207 msgid "No user found with that email address." msgstr "Nessun utente trovato con questo indirizzo email." #: classes/class.swpm-front-registration.php:208 #: classes/class.swpm-front-registration.php:234 msgid "Email Address: " msgstr "Indirizzo email:" #: classes/class.swpm-front-registration.php:233 msgid "New password has been sent to your email address." msgstr "La nuova password è stata inviata al tuo indirizzo email." #: classes/class.swpm-init-time-tasks.php:111 msgid "Sorry, Nonce verification failed." msgstr "Ci dispiace, la verifica è fallita." #: classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Password didn't match." msgstr "Le password non coincidono." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Il formato data non è valido." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "La durata dell'accesso deve essere > di 0." #: classes/class.swpm-members.php:11 msgid "Member" msgstr "Membri" #: classes/class.swpm-members.php:20 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:21 views/add.php:6 views/admin_add.php:10 #: views/admin_edit.php:13 views/edit.php:5 views/login.php:11 msgid "Username" msgstr "Username" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:21 msgid "First Name" msgstr "Nome" #: classes/class.swpm-members.php:23 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:25 msgid "Last Name" msgstr "Cognome" #: classes/class.swpm-members.php:24 views/add.php:10 views/edit.php:9 msgid "Email" msgstr "Email" #: classes/class.swpm-members.php:26 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Inizio accesso" #: classes/class.swpm-members.php:27 msgid "Account State" msgstr "Stato account" #: classes/class.swpm-members.php:43 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Elimina" #: classes/class.swpm-members.php:44 msgid "Set Status to Active" msgstr "Imposta lo stato Attivo" #: classes/class.swpm-members.php:45 msgid "Set Status to Active and Notify" msgstr "Imposta lo stato Attivo e Notifica l'utente" #: classes/class.swpm-members.php:46 msgid "Set Status to Inactive" msgstr "Imposta lo stato Inattivo" #: classes/class.swpm-members.php:47 msgid "Set Status to Pending" msgstr "Imposta lo stato In attesa" #: classes/class.swpm-members.php:48 msgid "Set Status to Expired" msgstr "Imposta lo stato Scaduto" #: classes/class.swpm-members.php:68 msgid "incomplete" msgstr "incompleto" #: classes/class.swpm-members.php:183 msgid "No member found." msgstr "Nessun membro trovato." #: classes/class.swpm-members.php:399 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Membri" #: classes/class.swpm-members.php:400 views/admin_members_list.php:40 msgid "Add New" msgstr "Aggiungi Nuovo" #: classes/class.swpm-members.php:405 views/admin_add.php:5 msgid "Add Member" msgstr "Aggiungi Membro" #: classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Livello di iscrizione creato correttamente." #: classes/class.swpm-membership-level.php:57 msgid "Membership Level Updated Successfully." msgstr "Livello di iscrizione aggiornato correttamente." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Ruolo" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Accesso valido per/fino a" #: classes/class.swpm-membership-levels.php:203 views/admin_members_list.php:27 #: views/payments/admin_all_payment_transactions.php:16 msgid "Search" msgstr "Cerca" #: classes/class.swpm-membership-levels.php:241 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Livelli di iscrizione" #: classes/class.swpm-membership-levels.php:246 msgid "Add Level" msgstr "Aggiungi Livello" #: classes/class.swpm-membership-levels.php:247 msgid "Manage Content Production" msgstr "Gestisci contenuto protetto" #: classes/class.swpm-membership-levels.php:248 msgid "Category Protection" msgstr "Protezione categorie" #: classes/class.swpm-settings.php:27 classes/class.swpm-settings.php:55 msgid "General Settings" msgstr "Impostazioni generali" #: classes/class.swpm-settings.php:28 msgid "Payment Settings" msgstr "Impostazioni pagamenti" #: classes/class.swpm-settings.php:29 msgid "Email Settings" msgstr "Impostazioni Email" #: classes/class.swpm-settings.php:30 msgid "Tools" msgstr "Strumenti" #: classes/class.swpm-settings.php:31 classes/class.swpm-settings.php:178 msgid "Advanced Settings" msgstr "Impostazioni avanzate" #: classes/class.swpm-settings.php:32 msgid "Addons Settings" msgstr "Impostazioni componenti aggiuntivi" #: classes/class.swpm-settings.php:54 msgid "Plugin Documentation" msgstr "Documentazione plugin" #: classes/class.swpm-settings.php:56 msgid "Enable Free Membership" msgstr "Abilita l'iscrizione gratuita" #: classes/class.swpm-settings.php:57 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Abilita/Disabilita la registrazione per il livello di iscrizione gratuito. " "Quando abiliti questa opzione , assicurati di specificare un ID per il " "livello di iscrizione gratuito nel campo qui sotto." #: classes/class.swpm-settings.php:58 msgid "Free Membership Level ID" msgstr "ID Livello di iscrizione gratuito" #: classes/class.swpm-settings.php:59 msgid "Assign free membership level ID" msgstr "Assegna un ID livello iscrizione gratuita" #: classes/class.swpm-settings.php:60 msgid "Enable More Tag Protection" msgstr "Abilita la protezione per il tag \"Leggi tutto\"" #: classes/class.swpm-settings.php:61 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Attiva o disattiva la protezione del tag \"Leggi tutto\" negli articoli o " "nelle pagine. Il contenuto dopo il tag \"Leggi tutto\" sarà protetto. Il " "contenuto prima del tag \"Leggi tutto\" sarà visibile a tutti." #: classes/class.swpm-settings.php:62 msgid "Hide Adminbar" msgstr "Nascondi la barra di amministrazione" #: classes/class.swpm-settings.php:63 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "Wordpress visualizza una barra di amministrazione agli utenti che hanno " "eseguito l'accesso sul sito. Abilita questa opzione se vuoi nascondere " "la barra di amministrazione nel frontend del tuo sito." #: classes/class.swpm-settings.php:64 msgid "Show Adminbar to Admin" msgstr "Visualizza la barra di amministrazione agli admin" #: classes/class.swpm-settings.php:65 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Utilizza questa opzione se vuoi far visualizzare la barra di amministrazione " "solo agli amministratori. La barra di amministrazione sarà nascosta per " "tutti gli altri utenti." #: classes/class.swpm-settings.php:67 msgid "Default Account Status" msgstr "Stato predefinito account" #: classes/class.swpm-settings.php:70 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Seleziona lo stato account predefinito per i nuovi utenti registrati. Se si " "desidera approvare manualmente i membri è possibile impostare lo stato \"In " "attesa\"." #: classes/class.swpm-settings.php:72 msgid "Members Must be Logged in to Comment" msgstr "I membri devono eseguire l'accesso per commentare" #: classes/class.swpm-settings.php:73 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Abilita questa opzione per permettere solo agli utenti Membri di essere in " "grado di commentare." #: classes/class.swpm-settings.php:82 msgid "Pages Settings" msgstr "Impostazioni pagine" #: classes/class.swpm-settings.php:83 msgid "Login Page URL" msgstr "URL pagina Login" #: classes/class.swpm-settings.php:85 msgid "Registration Page URL" msgstr "URL pagina Registrazione" #: classes/class.swpm-settings.php:87 msgid "Join Us Page URL" msgstr "URL pagina Unisciti a noi" #: classes/class.swpm-settings.php:89 msgid "Edit Profile Page URL" msgstr "URL pagina Modifica profilo" #: classes/class.swpm-settings.php:91 msgid "Password Reset Page URL" msgstr "URL pagina Reimposta password" #: classes/class.swpm-settings.php:94 msgid "Test & Debug Settings" msgstr "Impostazioni Test & Debug" #: classes/class.swpm-settings.php:96 msgid "Check this option to enable debug logging." msgstr "Abilita questa opzione per abilitare il log di debug." #: classes/class.swpm-settings.php:101 msgid "Enable Sandbox Testing" msgstr "Abilita i test \"Sandbox\"" #: classes/class.swpm-settings.php:102 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "Abilitazione questa opzione se vuoi eseguire i pagamenti nella modalità " "\"Sandbox\"." #: classes/class.swpm-settings.php:115 classes/class.swpm-settings.php:173 #: classes/class.swpm-settings.php:290 msgid "Settings updated!" msgstr "Impostazioni aggiornate!" #: classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "Impostazioni Email varie" #: classes/class.swpm-settings.php:121 msgid "From Email Address" msgstr "Indirizzo Email mittente" #: classes/class.swpm-settings.php:125 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Impostazioni Email (Completa la registrazione)" #: classes/class.swpm-settings.php:126 classes/class.swpm-settings.php:135 #: classes/class.swpm-settings.php:148 classes/class.swpm-settings.php:153 #: classes/class.swpm-settings.php:158 msgid "Email Subject" msgstr "Oggetto Email" #: classes/class.swpm-settings.php:128 classes/class.swpm-settings.php:137 #: classes/class.swpm-settings.php:149 classes/class.swpm-settings.php:154 #: classes/class.swpm-settings.php:159 msgid "Email Body" msgstr "Contenuto Email" #: classes/class.swpm-settings.php:132 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Inserisci gli indirizzi email dove si desiderano ricevere le notifiche admin" #: classes/class.swpm-settings.php:133 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" " Puoi inserire nel campo qui sotto più indirizzi email separandoli da una " "virgola (,) per inviare le notifiche ad indirizzi multipli." #: classes/class.swpm-settings.php:134 msgid "Email Settings (Registration Complete)" msgstr "Impostazioni Email (Registrazione completata)" #: classes/class.swpm-settings.php:139 msgid "Send Notification to Admin" msgstr "Invia notifica agli admin" #: classes/class.swpm-settings.php:140 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Abilita questa opzione se vuoi che gli admin ricevano una notifica quando un " "membro si registra." #: classes/class.swpm-settings.php:141 msgid "Admin Email Address" msgstr "Indirizzi Email admin" #: classes/class.swpm-settings.php:143 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Invia una email al Membro aggiunto attraverso la dashboard admin" #: classes/class.swpm-settings.php:147 msgid "Email Settings (Password Reset)" msgstr "Impostazioni Email (Reimpostazione password)" #: classes/class.swpm-settings.php:152 msgid " Email Settings (Account Upgrade Notification)" msgstr " Impostazioni Email (Notifica aggiornamento account)" #: classes/class.swpm-settings.php:157 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " Impostazioni Email (Notifica di attivazione Account Bulk)" #: classes/class.swpm-settings.php:180 msgid "Enable Expired Account Login" msgstr "Abilita accesso per account scaduti" #: classes/class.swpm-settings.php:181 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Quando abilitato, i membri con account scaduti potranno eseguire l'" "accesso ma non saranno in grado di visualizzare il contenuto protetto. " "Questo permette agli utenti di rinnovare il proprio account eseguendo un " "nuovo pagamento." #: classes/class.swpm-settings.php:183 msgid "Membership Renewal URL" msgstr "URL Rinnovo Iscrizione" #: classes/class.swpm-settings.php:184 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Puoi creare una pagina per il rinnovo dell'iscrizione sul tuo sito. " "Leggi questa documentazione per imparare a " "creare una pagina di rinnovo iscrizione." #: classes/class.swpm-settings.php:186 msgid "Allow Account Deletion" msgstr "Abilitazione cancellazione account" #: classes/class.swpm-settings.php:187 msgid "Allow users to delete their accounts." msgstr "Abilita gli utenti a cancellare il proprio account." #: classes/class.swpm-settings.php:189 msgid "Use WordPress Timezone" msgstr "Utilizza il Fuso Orario di Wordpress" #: classes/class.swpm-settings.php:190 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" "Utilizza questa opzione per utilizzare il valore del \"Fuso Orario\" " "specificato nella pagina \"Impostazioni Generali\" di Wordpress." #: classes/class.swpm-settings.php:192 msgid "Auto Delete Pending Account" msgstr "Cancellazione automatica degli account \"In attesa\"" #: classes/class.swpm-settings.php:195 msgid "Select how long you want to keep \"pending\" account." msgstr "Seleziona per quanto vuoi mantenere gli account \"In attesa\"" #: classes/class.swpm-settings.php:197 msgid "Admin Dashboard Access Permission" msgstr "Permessi di accesso della dashboard admin" #: classes/class.swpm-settings.php:200 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here." msgstr "" "La dashboard admin SWPM è accessibile solo agli amministratori (come tutti " "gli altri plugin). Puoi abilitare gli utenti WP con altri ruoli ad accedere " "alla dashboard admin SWPM selezionando un valore qui." #: classes/class.swpm-settings.php:295 msgid "General Plugin Settings." msgstr "Impostazioni generali Plugin." #: classes/class.swpm-settings.php:299 msgid "Page Setup and URL Related settings." msgstr "Impostazioni URL di Setup" #: classes/class.swpm-settings.php:303 msgid "Testing and Debug Related Settings." msgstr "Impostazioni relative ai Test e al Debug" #: classes/class.swpm-settings.php:307 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Questa email sarà inviata ai tuoi utenti quando completeranno la " "registrazione e diventeranno membri." #: classes/class.swpm-settings.php:311 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Questa email sarà inviata ai tuoi utenti quando utilizzeranno la " "funzionalità di reimpostazione password." #: classes/class.swpm-settings.php:315 msgid "Settings in this section apply to all emails." msgstr "Le impostazioni in questa sezione si applicano a tutte le email." #: classes/class.swpm-settings.php:319 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Questa email sarà inviata ai tuoi membri dopo un aggiornamento account " "(quando un membro esistente paga per un nuovo livello di iscrizione)" #: classes/class.swpm-settings.php:323 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Questa email sarà inviata ai tuoi membri quando utilizzerai l'azione di " "notifica e attivazione account bulk." #: classes/class.swpm-settings.php:327 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Questa email sarà inviata agli utenti per invitarli a completare la " "registrazione dopo il pagamento." #: classes/class.swpm-settings.php:331 msgid "This page allows you to configure some advanced features of the plugin." msgstr "" "Questa pagina ti permette di configurare alcuni funzionalità avanzate del " "plugin." #: classes/class.swpm-settings.php:437 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Impostazioni" #: classes/class.swpm-utils-member.php:21 #: classes/class.swpm-utils-member.php:29 #: classes/class.swpm-utils-member.php:37 #: classes/class.swpm-utils-member.php:47 msgid "User is not logged in." msgstr "L'utente non ha eseguito l'accesso." #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Registrazione" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Login Membro" #: classes/class.swpm-utils-misc.php:96 msgid "Profile" msgstr "Profilo" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Reimpostazione password" #: classes/class.swpm-utils-misc.php:219 msgid "Not a Member?" msgstr "Non sei un membro?" #: classes/class.swpm-utils-misc.php:219 views/login.php:33 msgid "Join Us" msgstr "Registrati" #: classes/class.swpm-utils-misc.php:230 msgid "renew" msgstr " di rinnovare" #: classes/class.swpm-utils-misc.php:230 msgid " your account to gain access to this content." msgstr " l'account per garantirsi l'accesso a questo contenuto." #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "" "Errore! Non è stato possibile trovare un percorso per il template " "specificato:" #: classes/class.swpm-utils.php:92 msgid "Active" msgstr "Attivo" #: classes/class.swpm-utils.php:93 msgid "Inactive" msgstr "Inattivo" #: classes/class.swpm-utils.php:94 msgid "Pending" msgstr "In attesa" #: classes/class.swpm-utils.php:95 msgid "Expired" msgstr "Scaduto" #: classes/class.swpm-utils.php:328 msgid "Never" msgstr "Mai" #: classes/class.swpm-utils.php:420 msgid "Delete Account" msgstr "Cancella Account" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "ID pulsante pagamento" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Titolo pulsante pagamento" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "ID Livello iscrizione" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Tipo pulsante" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Shortcode pulsante" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:6 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "La voce selezionata è stata cancellata!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple Membership::Pagamenti" #: classes/admin-includes/class.swpm-payments-list-table.php:57 msgid "View Profile" msgstr "Visualizza profilo" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "ID" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Indirizzo email" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Profilo membro" #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Data" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "ID transazione" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "ID abbonato" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Ammontare" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:55 msgid "Your membership profile will be updated to reflect the payment." msgstr "" "Il tuo profilo di iscrizione sarà aggiornato per riflettere il pagamento." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:56 msgid "Your profile username: " msgstr "Il tuo username del profilo:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:68 msgid "Click on the following link to complete the registration." msgstr "Clicca sul seguente link per completare la registrazione." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:69 msgid "Click here to complete your paid registration" msgstr "Clicca qui per completare la tua registrazione a pagamento" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:74 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Se avete appena effettuato un pagamento per l'iscrizione allora il " "vostro pagamento è ancora in fase di elaborazione. Si prega di controllare " "tra pochi minuti. Vi verrà inviata una email a breve con tutti i dettagli." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:88 msgid "Expiry: " msgstr "Scadenza:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:90 msgid "You are not logged-in as a member" msgstr "Non hai l'acceso come membro" #: views/add.php:14 views/admin_add.php:18 views/admin_edit.php:38 #: views/edit.php:13 views/login.php:17 msgid "Password" msgstr "Password" #: views/add.php:18 views/edit.php:17 msgid "Repeat Password" msgstr "Ripeti password" #: views/add.php:41 msgid "Register" msgstr "Registrati" #: views/admin_add.php:6 msgid "Create a brand new user and add it to this site." msgstr "Crea un nuovo utente e aggiungilo a questo sito." #: views/admin_add.php:10 views/admin_add.php:14 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:13 views/admin_edit.php:34 #: views/admin_edit_level.php:15 views/admin_edit_level.php:19 #: views/admin_edit_level.php:23 msgid "(required)" msgstr "(richiesto)" #: views/admin_add.php:14 views/admin_edit.php:34 msgid "E-mail" msgstr "Email" #: views/admin_add.php:18 msgid "(twice, required)" msgstr "(due volte, richiesto)" #: views/admin_add.php:23 views/admin_edit.php:42 msgid "Strength indicator" msgstr "Indicatore di forza" #: views/admin_add.php:24 views/admin_edit.php:43 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Suggerimento: La password deve essere lunga almeno 7 caratteri. Per renderla " "più forte, utilizzare lettere maiuscole e minuscole, numeri e simboli come ! " "\" ? $ % ^ & )." #: views/admin_add.php:28 views/admin_edit.php:47 views/loggedin.php:10 msgid "Account Status" msgstr "Stato account" #: views/admin_add.php:38 msgid "Add New Member " msgstr "Aggiungi nuovo Membro" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Alcune delle impostazioni e opzioni dei componenti aggiuntivi del plugin " "Simple Membership appariranno qui (se hai componenti aggiuntivi)" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Salva le modifiche" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Crea un nuovo livello di iscrizione" #: views/admin_add_level.php:11 views/admin_edit_level.php:15 msgid "Membership Level Name" msgstr "Nome livello iscrizione" #: views/admin_add_level.php:15 views/admin_edit_level.php:19 msgid "Default WordPress Role" msgstr "Ruolo predefinito Wordpress" #: views/admin_add_level.php:19 views/admin_edit_level.php:23 msgid "Access Duration" msgstr "Durata accesso" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Nessuna scadenza (l'accesso a questo livello non scade fino alla " "cancellazione dell'account)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:27 views/admin_edit_level.php:30 #: views/admin_edit_level.php:33 views/admin_edit_level.php:36 msgid "Expire After" msgstr "Scadenza dopo" #: views/admin_add_level.php:24 views/admin_edit_level.php:28 msgid "Days (Access expires after given number of days)" msgstr "Giorni (l'accesso scade dopo un certo numero di giorni)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Settimane (l'accesso scade dopo un certo numero di settimane)" #: views/admin_add_level.php:28 views/admin_edit_level.php:34 msgid "Months (Access expires after given number of months)" msgstr "Mesi (l'accesso scade dopo un certo numero di mesi)" #: views/admin_add_level.php:30 views/admin_edit_level.php:37 msgid "Years (Access expires after given number of years)" msgstr "Anni (l'accesso scade dopo un certo numero di anni)" #: views/admin_add_level.php:31 views/admin_edit_level.php:39 msgid "Fixed Date Expiry" msgstr "Data fissata per la scadenza" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "(Access expires on a fixed date)" msgstr "(l'accesso scade a una data prefissata)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Aggiungi un nuovo livello di iscrizione" #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Componenti aggiuntivi" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Prima di tutto, proteggi a livello globale la categoria sul tuo sito " "selezionando \"Protezione Generale\" dal menu a tendina in basso e quindi " "seleziona le categorie che dovrebbero essere protette per gli utenti che non " "hanno eseguito l'accesso." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Dopodichè, seleziona un livello di iscrizione esistente dal menu a tendina " "in basso e seleziona le categorie a cui vuoi garantire l'accesso (per " "quel particolare livello di iscrizione)" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Modifica Membro" #: views/admin_edit.php:7 msgid "Edit existing member details." msgstr "Modifica i dettagli di un membro esistente" #: views/admin_edit.php:8 msgid " You are currenty editing member with member ID: " msgstr " Attualmente stai modificando il membro con ID:" #: views/admin_edit.php:38 msgid "(twice, leave empty to retain old password)" msgstr "(Due volte, lasciare vuoto per mantenere la vecchia password)" #: views/admin_edit.php:54 msgid "Notify User" msgstr "Notificare l'utente" #: views/admin_edit.php:61 msgid "Subscriber ID/Reference" msgstr "ID/Riferimento Sottoscrittore " #: views/admin_edit.php:65 msgid "Last Accessed From IP" msgstr "Ultima accesso dall'IP" #: views/admin_edit.php:73 msgid "Edit User " msgstr "Modifica utente" #: views/admin_edit.php:77 msgid "Delete User Profile" msgstr "Elimina profilo utente" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Modifica livello iscrizione" #: views/admin_edit_level.php:8 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "Puoi modificare i dettagli di un livello di iscrizione da questa interfaccia." #: views/admin_edit_level.php:9 msgid "You are currently editing: " msgstr "Attualmente stai modificando:" #: views/admin_edit_level.php:26 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Nessuna scadenza (l'accesso a questo livello non scade fino alla " "cancellazione dell'account)" #: views/admin_edit_level.php:31 msgid "Weeks (Access expires after given number of weeks)" msgstr "Settimane (l'accesso scade dopo un certo numero di settimane)" #: views/admin_edit_level.php:46 msgid "Edit Membership Level " msgstr "Modifica livello di iscrizione" #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Esempio: Impostazioni di un contenuto protetto" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Sesso" #: views/admin_member_form_common_part.php:30 views/edit.php:29 msgid "Phone" msgstr "Telefono" #: views/admin_member_form_common_part.php:34 views/edit.php:33 msgid "Street" msgstr "Via" #: views/admin_member_form_common_part.php:38 views/edit.php:37 msgid "City" msgstr "Città" #: views/admin_member_form_common_part.php:42 views/edit.php:41 msgid "State" msgstr "Provincia" #: views/admin_member_form_common_part.php:46 views/edit.php:45 msgid "Zipcode" msgstr "CAP" #: views/admin_member_form_common_part.php:50 views/edit.php:49 msgid "Country" msgstr "Stato" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Ente/azienda" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Membro dal" #: views/admin_tools_settings.php:6 msgid "Generate a Registration Completion link" msgstr "Genera un link di \"Completamento registrazione\"" #: views/admin_tools_settings.php:9 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Qui è possibile generare manualmente un link di \"Completamento registrazione" "\" ed inviarlo al vostro cliente in caso avesse smarrito l'email che gli " "è stata inviata automaticamente dopo il pagamento." #: views/admin_tools_settings.php:14 msgid "Generate Registration Completion Link" msgstr "Genera link \"Completamento registrazione\"" #: views/admin_tools_settings.php:17 msgid "OR" msgstr "o" #: views/admin_tools_settings.php:18 msgid "For All Incomplete Registrations" msgstr "Per tutte le registrazioni incomplete" #: views/admin_tools_settings.php:23 msgid "Send Registration Reminder Email Too" msgstr "Inviare l'email di promemoria-registrazione a" #: views/admin_tools_settings.php:29 msgid "Submit" msgstr "Invia" #: views/admin_tools_settings.php:38 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Link generato(i) correttamente. I/Il seguenti/e link possono/può essere " "utilizzati/o per completare la registrazione." #: views/admin_tools_settings.php:40 msgid "Registration completion links will appear below" msgstr "" "I/Il link di completamento registrazione appariranno/apparirà di seguito" #: views/edit.php:60 msgid "Update" msgstr "Aggiorna" #: views/forgot_password.php:11 msgid "Reset Password" msgstr "Reimposta password" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Accesso eseguito come" #: views/loggedin.php:14 msgid "Membership" msgstr "Iscrizione" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Scadenza account" #: views/loggedin.php:22 msgid "Logout" msgstr "Logout" #: views/login.php:24 msgid "Remember Me" msgstr "Ricordami" #: views/login.php:30 msgid "Forgot Password" msgstr "Password dimenticata" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Tutti i pagamenti/transazioni dei tuoi membri sono registrati qui." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Cerca una transazione utilizzando l'email o il nome utente" #: views/payments/admin_create_payment_buttons.php:14 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Puoi creare un nuovo pulsante di pagamento per i tuoi membri da questa " "interfaccia." #: views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Seleziona il tipo di pulsante a pagamento" #: views/payments/admin_create_payment_buttons.php:36 msgid "Next" msgstr "Prossimo" #: views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "" "Puoi modificare il pulsante a pagamento utilizzando questa interfaccia." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" "Tutti i pulsanti di iscrizione che hai creato nel plugin sono visualizzati " "qui." #: views/payments/admin_payment_settings.php:27 msgid "PayPal Integration Settings" msgstr "Impostazioni integrazione Paypal" #: views/payments/admin_payment_settings.php:30 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" "Genera il codice delle \"variabili avanzate\" per i tuoi pulsanti Paypal" #: views/payments/admin_payment_settings.php:33 msgid "Enter the Membership Level ID" msgstr "Inserisci l'ID livello iscrizione" #: views/payments/admin_payment_settings.php:35 msgid "Generate Code" msgstr "Genera codice" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "Configurazione pulsante \"Paypal Buy Now\"" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:299 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:252 msgid "Button Title" msgstr "Titolo pulsante" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:268 msgid "Payment Amount" msgstr "Ammontare pagamento" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:275 msgid "Payment Currency" msgstr "Valuta pagamento" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:91 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:171 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:443 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:351 msgid "Return URL" msgstr "URL di ritorno" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:99 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:84 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:356 msgid "PayPal Email" msgstr "Email account Paypal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:107 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:179 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:451 msgid "Button Image URL" msgstr "URL immagine pulsante" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:191 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:463 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:151 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "Save Payment Data" msgstr "Salva dati pagamento" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:291 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:245 msgid "Button ID" msgstr "ID pulsante" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:285 msgid "PayPal Subscription Button Configuration" msgstr "Configurazione pulsante \"Paypal Subscription\"" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:92 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:364 msgid "Billing Amount Each Cycle" msgstr "Ammontare per ogni ciclo di pagamento" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:100 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:372 msgid "Billing Cycle" msgstr "Cicli pagamento" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:113 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:385 msgid "Billing Cycle Count" msgstr "Numero cicli pagamento" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:121 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:393 msgid "Re-attempt on Failure" msgstr "Tentativo in caso di errore" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:134 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:406 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Dettagli pagamento periodo di prova (lasciare vuoto se non si sta offrendo " "un periodo di prova)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:140 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:412 msgid "Trial Billing Amount" msgstr "Ammontare periodo di prova" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:148 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:420 msgid "Trial Billing Period" msgstr "Durata periodo di prova" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:165 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:437 msgid "Optional Details" msgstr "Dettagli opzionali" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:236 msgid "Stripe Buy Now Button Configuration" msgstr "Configurazione pulsante \"Stripe Buy Now\"" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:314 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Chiavi API Stripe. Puoi ottenerle dal tuo account Stripe." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:318 msgid "Test Secret Key" msgstr "Test Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:325 msgid "Test Publishable Key" msgstr "Test Publishable Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 msgid "Live Secret Key" msgstr "Live Secret Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 msgid "Live Publishable Key" msgstr "Live Publishable Key" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:347 msgid "The following details are optional." msgstr "Le seguenti informazioni sono opzionali." #: views/payments/payment-gateway/paypal_button_shortcode_view.php:85 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:87 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:17 msgid "Buy Now" msgstr "Paga ora" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:213 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:215 msgid "Subscribe Now" msgstr "Iscriviti ora" languages/simple-membership-nl_NL.po000064400000276037147206617610013525 0ustar00msgid "" msgstr "" "Project-Id-Version: simple membership\n" "POT-Creation-Date: 2019-05-26 13:48+0600\n" "PO-Revision-Date: 2022-06-29 20:33+0200\n" "Last-Translator: WEN Kunst \n" "Language-Team: \n" "Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.3\n" "X-Poedit-KeywordsList: __;_e;_\n" "X-Poedit-Basepath: ../classes\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SearchPath-0: class.simple-wp-membership.php\n" #: classes/class.simple-wp-membership.php:180 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" #: classes/class.simple-wp-membership.php:181 msgid "Go back to the home page by " msgstr "" #: classes/class.simple-wp-membership.php:181 msgid "clicking here" msgstr "" #: classes/class.simple-wp-membership.php:242 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" #: classes/class.simple-wp-membership.php:243 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" #: classes/class.simple-wp-membership.php:244 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" #: classes/class.simple-wp-membership.php:245 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" #: classes/class.simple-wp-membership.php:246 msgid "You can use the back button of your browser to go back to the site." msgstr "" #: classes/class.simple-wp-membership.php:407 msgid "You are not logged in." msgstr "Je bent niet ingelogd." #: classes/class.simple-wp-membership.php:458 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" #: classes/class.simple-wp-membership.php:473 msgid "Simple WP Membership Protection" msgstr "Simple WP Lidmaatschap Afscherming" #: classes/class.simple-wp-membership.php:485 msgid "Simple Membership Protection options" msgstr "Simple Membership Afscherm opties" #: classes/class.simple-wp-membership.php:503 msgid "Do you want to protect this content?" msgstr "Wil je deze inhoud afschermen?" #: classes/class.simple-wp-membership.php:504 msgid "No, Do not protect this content." msgstr "" #: classes/class.simple-wp-membership.php:505 msgid "Yes, Protect this content." msgstr "" #: classes/class.simple-wp-membership.php:508 msgid "Select the membership level that can access this content:" msgstr "Selecteer het lidmaatschap niveau dat toegang heeft tot deze inhoud:" #: classes/class.simple-wp-membership.php:646 #: classes/class.simple-wp-membership.php:650 msgid "Validating, please wait" msgstr "Controleren, even geduld" #: classes/class.simple-wp-membership.php:653 msgid "Invalid email address" msgstr "Ongeldig e-mailadres" #: classes/class.simple-wp-membership.php:656 msgid "This field is required" msgstr "Dit veld is verplicht" msgid "Password must contain at least:" msgstr "Wachtwoord moet minimaal bestaan uit:" msgid "- a digit" msgstr "- een getal" msgid "- an uppercase letter" msgstr "- een hoofdletter" msgid "- a lowercase letter" msgstr "- een kleine letter" #: classes/class.simple-wp-membership.php:659 classes/class.swpm-auth.php:296 msgid "Invalid Username" msgstr "Ongeldige gebruikersnaam" #: classes/class.simple-wp-membership.php:659 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "" "Gebruikersnamen mogen alleen bestaan uit: letters, nummers en de tekens .-_*@" #: classes/class.simple-wp-membership.php:662 msgid "Minimum " msgstr "Minimaal " #: classes/class.simple-wp-membership.php:663 msgid " characters required" msgstr " tekens" #: classes/class.simple-wp-membership.php:666 msgid "Apostrophe character is not allowed" msgstr "Apostrof is niet toegestaan" #: classes/class.simple-wp-membership.php:697 msgid "WP Membership" msgstr "WP Lidmaatschap" #: classes/class.simple-wp-membership.php:698 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:581 msgid "Members" msgstr "Leden" #: classes/class.simple-wp-membership.php:699 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:265 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Lidmaatschap niveaus" #: classes/class.simple-wp-membership.php:700 msgid "Settings" msgstr "Instellingen" #: classes/class.simple-wp-membership.php:701 msgid "Payments" msgstr "Betalingen" #: classes/class.simple-wp-membership.php:702 msgid "Add-ons" msgstr "Add-Ons/Extensies" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Je moet inloggen om deze inhoud te bekijken. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Jouw account is verlopen. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Deze content kan alleen bekeken worden door leden die lid zijn geworden op " "of voor " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Deze inhoud is niet toegankelijk voor jouw lidmaatschap." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Je moet inloggen om de rest van deze inhoud te bekijken. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr "" " De rest van de inhoud is niet toegankelijk voor jouw lidmaatschapsniveau." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" #: classes/class.swpm-admin-registration.php:71 msgid "Member record added successfully." msgstr "Lid succesvol toegevoegd." #: classes/class.swpm-admin-registration.php:76 #: classes/class.swpm-admin-registration.php:124 #: classes/class.swpm-admin-registration.php:151 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Corrigeer het volgende:" #: classes/class.swpm-admin-registration.php:87 #, fuzzy #| msgid "Sorry, Nonce verification failed." msgid "Error! Nonce verification failed for user edit from admin end." msgstr "Sorry, Nonce verificatie mislukt." #: classes/class.swpm-admin-registration.php:139 msgid "Your current password" msgstr "Je huidige wachtwoord" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Ongeldig e-mailadres" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Already taken" msgstr "Reeds bezet" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Naam bevat ongeldig teken" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Beschikbaar" #: classes/class.swpm-auth.php:57 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Waarschuwing! Simple Membership plugin kan dit inlogverzoek niet verwerken " "om te voorkomen dat u per ongeluk wordt uitgelogd bij WP Admin." #: classes/class.swpm-auth.php:58 msgid "Click here" msgstr "Klik hier" #: classes/class.swpm-auth.php:58 msgid " to see the profile you are currently logged into in this browser." msgstr "" #: classes/class.swpm-auth.php:59 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" #: classes/class.swpm-auth.php:60 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" #: classes/class.swpm-auth.php:61 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" #: classes/class.swpm-auth.php:68 msgid "Captcha validation failed on login form." msgstr "Captcha validatie mislukt bij login formulier." #: classes/class.swpm-auth.php:93 msgid "User Not Found." msgstr "Gebruiker niet gevonden." #: classes/class.swpm-auth.php:100 msgid "Password Empty or Invalid." msgstr "Wachtwoord leeg of ongeldig." #: classes/class.swpm-auth.php:133 msgid "Account is inactive." msgstr "Dit account is niet actief." #: classes/class.swpm-auth.php:136 classes/class.swpm-auth.php:162 msgid "Account has expired." msgstr "Account is verlopen." #: classes/class.swpm-auth.php:139 msgid "Account is pending." msgstr "Deze account is in behandeling voor activering." #: classes/class.swpm-auth.php:146 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" #: classes/class.swpm-auth.php:146 #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 #: classes/class.swpm-utils-misc.php:169 msgid "click here" msgstr "klik hier" #: classes/class.swpm-auth.php:170 msgid "You are logged in as:" msgstr "Je bent ingelogd als:" #: classes/class.swpm-auth.php:234 msgid "Logged Out Successfully." msgstr "Je bent uitgelogd." #: classes/class.swpm-auth.php:287 msgid "Session Expired." msgstr "Sessie verlopen." #: classes/class.swpm-auth.php:304 msgid "Please login again." msgstr "Opnieuw inloggen alsjeblieft." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:40 views/admin_member_form_common_part.php:2 views/edit.php:75 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:229 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:273 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:99 msgid "Membership Level" msgstr "Lidmaatschap niveau" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Categorie ID" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Categorienaam" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Omschijving" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Aantal" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "Categorie afscherming bijgewerkt!" #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "Geen categorie gevonden." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Log in om te reageren." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Log opnieuw in om te reageren." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Je bent niet ingelogd als lid." #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Wordpress-account met gebruikersnaam bestaat al, maar het e-mailadres komt " "niet overeen." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Wordpress-account met e-mailadres bestaat al, maar de gebruikersnaam komt " "niet overeen." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Gebruikersnaam is verplicht" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Gebruikersnaam bevat ongeldig teken" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Gebruikersnaam bestaat al." #: classes/class.swpm-form.php:83 msgid "Password is required" msgstr "Wachtwoord is vereist" #: classes/class.swpm-form.php:90 msgid "Password mismatch" msgstr "Wachtwoord komt niet overeen" #: classes/class.swpm-form.php:101 msgid "Email is required" msgstr "E-mailadres is vereist" #: classes/class.swpm-form.php:105 msgid "Email is invalid" msgstr "E-mailadres is niet geldig" #: classes/class.swpm-form.php:121 msgid "Email is already used." msgstr "E-mailadres is al in gebruik." #: classes/class.swpm-form.php:179 msgid "Member since field is invalid" msgstr "Lid sinds veld is ongeldig" #: classes/class.swpm-form.php:190 msgid "Access starts field is invalid" msgstr "Inschrijving start veld is ongeldig" #: classes/class.swpm-form.php:200 msgid "Gender field is invalid" msgstr "Geslacht veld is ongeldig" #: classes/class.swpm-form.php:211 msgid "Account state field is invalid" msgstr "Accountstatusveld is ongeldig" #: classes/class.swpm-form.php:218 msgid "Invalid membership level" msgstr "Ongeldige lidmaatschapniveau" #: classes/class.swpm-front-registration.php:33 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:274 views/login.php:36 msgid "Join Us" msgstr "Meld je aan" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" #: classes/class.swpm-front-registration.php:49 msgid " page to pay for a premium membership." msgstr "" #: classes/class.swpm-front-registration.php:51 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" #: classes/class.swpm-front-registration.php:79 msgid "Security check: captcha validation failed." msgstr "Security check: captcha validatie mislukt." #: classes/class.swpm-front-registration.php:89 msgid "You must accept the terms and conditions." msgstr "" #: classes/class.swpm-front-registration.php:100 msgid "You must agree to the privacy policy." msgstr "" #: classes/class.swpm-front-registration.php:140 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" #: classes/class.swpm-front-registration.php:145 msgid "Registration Successful. " msgstr "Registratie gelukt. " #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 classes/class.swpm-utils-misc.php:285 msgid "Please" msgstr "Alsjeblieft" #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 views/login.php:30 msgid "Login" msgstr "Inloggen" #: classes/class.swpm-front-registration.php:159 msgid "Please correct the following" msgstr "Corrigeer alsjeblieft het volgende" #: classes/class.swpm-front-registration.php:207 msgid "Membership Level Couldn't be found." msgstr "Lidmaatschap niveau kon niet worden gevonden." #: classes/class.swpm-front-registration.php:258 #, fuzzy #| msgid "Sorry, Nonce verification failed." msgid "Error! Nonce verification failed for front end profile edit." msgstr "Sorry, Nonce verificatie mislukt." #: classes/class.swpm-front-registration.php:266 msgid "Profile updated successfully." msgstr "Profiel succesvol bijgewerkt." #: classes/class.swpm-front-registration.php:275 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profiel succesvol bijgewerkt. Je moet opnieuw inloggen omdat je wachtwoord " "veranderd is." #: classes/class.swpm-front-registration.php:289 msgid "Please correct the following." msgstr "Corrigeer het volgende." #: classes/class.swpm-front-registration.php:301 msgid "Captcha validation failed." msgstr "Captcha validatie mislukt." #: classes/class.swpm-front-registration.php:309 msgid "Email address not valid." msgstr "Dit e-mailadres is ongeldig." #: classes/class.swpm-front-registration.php:320 msgid "No user found with that email address." msgstr "Geen gebruiker gevonden met dit e-mailadres." #: classes/class.swpm-front-registration.php:321 #: classes/class.swpm-front-registration.php:350 msgid "Email Address: " msgstr "E-mailadres: " #: classes/class.swpm-front-registration.php:349 msgid "New password has been sent to your email address." msgstr "Een nieuw wachtwoord is naar je e-mailadres verzonden." #: classes/class.swpm-front-registration.php:371 msgid "Can't find member account." msgstr "" #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid "Account already active. " msgstr "Dit account is reeds actief. " #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid " to login." msgstr "" #: classes/class.swpm-front-registration.php:383 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" #: classes/class.swpm-front-registration.php:397 msgid "Success! Your account has been activated successfully." msgstr "" #: classes/class.swpm-front-registration.php:421 msgid "Cannot find member account." msgstr "" #: classes/class.swpm-front-registration.php:443 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" #: classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Nonce verification failed." msgstr "Sorry, Nonce verificatie mislukt." #: classes/class.swpm-init-time-tasks.php:125 msgid "Sorry, Password didn't match." msgstr "Sorry, wachtwoord komt niet overeen." #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "Datumnotatie is niet geldig." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "Duur van toegang moet groter zijn dan 0." #: classes/class.swpm-members.php:10 msgid "Member" msgstr "Lid" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:20 views/add.php:16 views/admin_add.php:11 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Gebruikersnaam" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:32 views/admin_member_form_common_part.php:15 #: views/edit.php:39 includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Voornaam" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:36 views/admin_member_form_common_part.php:19 #: views/edit.php:43 includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Achternaam" #: classes/class.swpm-members.php:23 views/add.php:20 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "E-mail" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Toegang begint" #: classes/class.swpm-members.php:26 includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Account status" #: classes/class.swpm-members.php:27 msgid "Last Login Date" msgstr "" #: classes/class.swpm-members.php:46 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Verwijder" #: classes/class.swpm-members.php:47 msgid "Set Status to Active" msgstr "Status instellen op actief" #: classes/class.swpm-members.php:48 msgid "Set Status to Active and Notify" msgstr "Status instellen op actief en geef een melding" #: classes/class.swpm-members.php:49 msgid "Set Status to Inactive" msgstr "Status instellen op niet-actief" #: classes/class.swpm-members.php:50 msgid "Set Status to Pending" msgstr "Status instellen op in afwachting" #: classes/class.swpm-members.php:51 msgid "Set Status to Expired" msgstr "Status instellen op verlopen" #: classes/class.swpm-members.php:72 msgid "incomplete" msgstr "incompleet" #: classes/class.swpm-members.php:191 msgid "No member found." msgstr "Geen lid gevonden." #: classes/class.swpm-members.php:337 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" #: classes/class.swpm-members.php:406 classes/class.swpm-members.php:436 msgid "Error! Please select a membership level first." msgstr "Fout! Selecteer eerst een lidmaatschapsniveau." #: classes/class.swpm-members.php:423 msgid "Membership level change operation completed successfully." msgstr "Lidmaatschapsniveau met succes aangemaakt." #: classes/class.swpm-members.php:453 msgid "Access starts date change operation successfully completed." msgstr "" #: classes/class.swpm-members.php:462 msgid "Bulk Update Membership Level of Members" msgstr "Bulk-update voor lidmaatschapsniveau van leden" #: classes/class.swpm-members.php:465 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" #: classes/class.swpm-members.php:466 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" #: classes/class.swpm-members.php:472 classes/class.swpm-members.php:520 msgid "Membership Level: " msgstr "Lidmaatschapsniveau " #: classes/class.swpm-members.php:476 msgid "Select Current Level" msgstr "" #: classes/class.swpm-members.php:479 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" #: classes/class.swpm-members.php:485 msgid "Level to Change to: " msgstr "" #: classes/class.swpm-members.php:489 msgid "Select Target Level" msgstr "Selecteer doelniveau" #: classes/class.swpm-members.php:492 msgid "Select the new membership level." msgstr "Selecteer het nieuwe lidmaatschapsniveau." #: classes/class.swpm-members.php:498 msgid "Bulk Change Membership Level" msgstr "Verander lidmaatschapsniveau in bulk" #: classes/class.swpm-members.php:508 msgid "Bulk Update Access Starts Date of Members" msgstr "" #: classes/class.swpm-members.php:512 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" #: classes/class.swpm-members.php:513 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" #: classes/class.swpm-members.php:523 msgid "Select Level" msgstr "Selecteer Niveau" #: classes/class.swpm-members.php:526 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" #: classes/class.swpm-members.php:535 msgid "Specify the access starts date value." msgstr "" #: classes/class.swpm-members.php:541 msgid "Bulk Change Access Starts Date" msgstr "Verander startdatum voor toegang in bulk" #: classes/class.swpm-members.php:576 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Leden" #: classes/class.swpm-members.php:577 #: classes/class.swpm-membership-levels.php:226 views/admin_members_list.php:44 msgid "Add New" msgstr "Nieuwe toevoegen" #: classes/class.swpm-members.php:582 views/admin_add.php:6 msgid "Add Member" msgstr "Lid toevoegen" #: classes/class.swpm-members.php:583 msgid "Bulk Operation" msgstr "Bulkacties" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Lidmaatschap niveau met succes aangemaakt." #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Lidmaatschapsniveau met succes bijgewerkt." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Rol" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Toegang geldig voor/tot" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "Geen lidmaatschapsniveau gevonden." #: classes/class.swpm-membership-levels.php:197 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" #: classes/class.swpm-membership-levels.php:216 views/admin_members_list.php:31 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Zoeken" #: classes/class.swpm-membership-levels.php:261 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Lidmaatschap niveaus" #: classes/class.swpm-membership-levels.php:266 msgid "Add Level" msgstr "Voeg niveau toe" #: classes/class.swpm-membership-levels.php:267 msgid "Manage Content Protection" msgstr "Beheer Inhoudsafscherming" #: classes/class.swpm-membership-levels.php:268 msgid "Category Protection" msgstr "Categorie Afscherming" #: classes/class.swpm-membership-levels.php:269 msgid "Post and Page Protection" msgstr "Bericht en pagina afscherming" #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Datum" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Titel" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Auteur" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Status" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Categorieën" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Type" #: classes/class.swpm-post-list.php:125 msgid "Protection settings updated!" msgstr "Beveiligingsinstellingen bijgewerkt!" #: classes/class.swpm-post-list.php:230 msgid "No items found." msgstr "Geen items gevonden." #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "De categorie of bovenliggende categorie van dit bericht is beschermd. U kunt " "de instellingen voor categoriebeveiliging wijzigen via de " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "categorie afschermingsmenu" #: classes/class.swpm-settings.php:26 classes/class.swpm-settings.php:54 msgid "General Settings" msgstr "Algemene instellingen" #: classes/class.swpm-settings.php:27 msgid "Payment Settings" msgstr "Betaling instellingen" #: classes/class.swpm-settings.php:28 msgid "Email Settings" msgstr "E-mail instellingen" #: classes/class.swpm-settings.php:29 msgid "Tools" msgstr "Tools" #: classes/class.swpm-settings.php:30 classes/class.swpm-settings.php:187 msgid "Advanced Settings" msgstr "Geavanceerde instellingen" #: classes/class.swpm-settings.php:31 msgid "Addons Settings" msgstr "Addon Instellingen" #: classes/class.swpm-settings.php:53 msgid "Plugin Documentation" msgstr "Plugin Documentatie" #: classes/class.swpm-settings.php:55 msgid "Enable Free Membership" msgstr "Gratis Lidmaatschap Inschakelen" #: classes/class.swpm-settings.php:56 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "In-/uitschakelen registratie voor gratis lidmaatschap niveau. Als je deze " "optie inschakelt, zorg er dan voor dat je een gratis lidmaatschap niveau ID " "opgeeft in het veld hieronder." #: classes/class.swpm-settings.php:57 msgid "Free Membership Level ID" msgstr "Gratis Lidmaatschap Niveau ID" #: classes/class.swpm-settings.php:58 msgid "Assign free membership level ID" msgstr "Gratis lidmaatschap niveau ID toewijzen" #: classes/class.swpm-settings.php:59 msgid "Enable More Tag Protection" msgstr "Inschakelen Meer Tag Afscherming" #: classes/class.swpm-settings.php:60 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Schakelt \"meer\" tag bescherming in berichten en pagina's. Alles wat na de " "Meer tag komt is afgeschermd. Alles voor de meer tag is teaser inhoud." #: classes/class.swpm-settings.php:61 msgid "Hide Adminbar" msgstr "Verberg de adminbalk" #: classes/class.swpm-settings.php:62 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "Wordpress toont aan ingelogde gebruikers een adminbalk. Vink dit hokje aan " "als je de adminbalk in de frontend van je website wilt verbergen." #: classes/class.swpm-settings.php:63 msgid "Show Adminbar to Admin" msgstr "Toon Adminbalk aan Admin" #: classes/class.swpm-settings.php:64 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" #: classes/class.swpm-settings.php:65 msgid "Disable Access to WP Dashboard" msgstr "" #: classes/class.swpm-settings.php:66 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashbaord. Using this option will prevent any " "non admin users from going to the wp dashboard." msgstr "" #: classes/class.swpm-settings.php:68 classes/class.swpm-settings.php:242 msgid "Default Account Status" msgstr "Standaard Lidmaatschap Status" #: classes/class.swpm-settings.php:71 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Selecteer de standaard lidmaatschap status van nieuw geregistreerde " "gebruikers. Als je leden handmatig wilt goedkeuren, stel dan de status \"In " "afwachting\" in." #: classes/class.swpm-settings.php:73 msgid "Members Must be Logged in to Comment" msgstr "" #: classes/class.swpm-settings.php:74 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Schakel deze optie in als je allen de leden van deze site wilt kunnen laten " "reageren." #: classes/class.swpm-settings.php:83 msgid "Pages Settings" msgstr "Pagina instellingen" #: classes/class.swpm-settings.php:84 msgid "Login Page URL" msgstr "Login pagina URL" #: classes/class.swpm-settings.php:86 msgid "Registration Page URL" msgstr "Registratie pagina URL" #: classes/class.swpm-settings.php:88 msgid "Join Us Page URL" msgstr "Aanmeld pagina URL" #: classes/class.swpm-settings.php:90 msgid "Edit Profile Page URL" msgstr "Wijzig Profiel pagina URL" #: classes/class.swpm-settings.php:92 msgid "Password Reset Page URL" msgstr "Wachtwoord Reset pagina URL" #: classes/class.swpm-settings.php:95 msgid "Test & Debug Settings" msgstr "Test & Debug instellingen" #: classes/class.swpm-settings.php:97 msgid "Check this option to enable debug logging." msgstr "Schakel deze optie in om debug logging aan te zetten." #: classes/class.swpm-settings.php:98 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" #: classes/class.swpm-settings.php:100 msgid "View general debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:100 classes/class.swpm-settings.php:101 #: classes/class.swpm-settings.php:102 msgid "here" msgstr "hier" #: classes/class.swpm-settings.php:101 msgid "View login related debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:102 msgid "Reset debug log files by clicking " msgstr "" #: classes/class.swpm-settings.php:103 msgid "Enable Debug" msgstr "" #: classes/class.swpm-settings.php:105 msgid "Enable Sandbox Testing" msgstr "Sandbox Testen inschakelen" #: classes/class.swpm-settings.php:106 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Schakel deze optie in als je sandbox testbetalingen wilt uitvoeren." #: classes/class.swpm-settings.php:119 msgid "Email Settings Overview" msgstr "Overzicht e-mail instellingen" #: classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "Diverse e-mail instellingen" #: classes/class.swpm-settings.php:122 msgid "From Email Address" msgstr "E-mailadres afzender" #: classes/class.swpm-settings.php:126 msgid "Email Settings (Prompt to Complete Registration )" msgstr "E-mail instellingen (herinnering om registratie te voltooien)" #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:158 classes/class.swpm-settings.php:163 #: classes/class.swpm-settings.php:168 classes/class.swpm-settings.php:173 msgid "Email Subject" msgstr "E-mail onderwerp" #: classes/class.swpm-settings.php:129 classes/class.swpm-settings.php:142 #: classes/class.swpm-settings.php:159 classes/class.swpm-settings.php:164 #: classes/class.swpm-settings.php:169 classes/class.swpm-settings.php:174 msgid "Email Body" msgstr "E-mail inhoud" #: classes/class.swpm-settings.php:133 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Voer het e-mailadres in waar de beheerder notificatie e-mail naar toe moet " "worden verzonden." #: classes/class.swpm-settings.php:134 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" #: classes/class.swpm-settings.php:136 #, fuzzy #| msgid "" #| "Enter the email address where you want the admin notification email to be " #| "sent to." msgid "Enter the subject for the admin notification email." msgstr "" "Voer het e-mailadres in waar de beheerder notificatie e-mail naar toe moet " "worden verzonden." #: classes/class.swpm-settings.php:137 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" #: classes/class.swpm-settings.php:139 msgid "Email Settings (Registration Complete)" msgstr "E-mail instellingen (Registratie voltooid)" #: classes/class.swpm-settings.php:144 msgid "Send Notification to Admin" msgstr "Stuur een bericht naar de beheerder" #: classes/class.swpm-settings.php:145 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Schakel deze optie om de beheerder een melding te laten ontvangen wanneer " "een lid registreert." #: classes/class.swpm-settings.php:146 msgid "Admin Email Address" msgstr "E-mailadres beheerder" #: classes/class.swpm-settings.php:148 msgid "Admin Notification Email Subject" msgstr "Beheerders notificatie e-mail onderwerp" #: classes/class.swpm-settings.php:150 msgid "Admin Notification Email Body" msgstr "Beheerders notificatie e-mail bericht" #: classes/class.swpm-settings.php:153 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "E-mail verzenden naar lid wanneer deze via Admin Dashboard is toegevoegd" #: classes/class.swpm-settings.php:157 msgid "Email Settings (Password Reset)" msgstr "E-mail Instellingen (Wachtwoord herstel)" #: classes/class.swpm-settings.php:162 msgid " Email Settings (Account Upgrade Notification)" msgstr " E-mail instellingen (Bericht Account Upgrade)" #: classes/class.swpm-settings.php:167 msgid " Email Settings (Bulk Account Activate Notification)" msgstr " E-mail instellingen (Bericht Account Upgrade)" #: classes/class.swpm-settings.php:172 msgid " Email Settings (Email Activation)" msgstr " E-mail instellingen (Bericht Account Upgrade)" #: classes/class.swpm-settings.php:189 msgid "Enable Expired Account Login" msgstr "Verlopen account kan inloggen" #: classes/class.swpm-settings.php:190 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Wanneer ingeschakeld, kunnen leden met een verlopen account wel inloggen op " "het systeem, maar geen afgeschermde inhoud zien. Hierdoor kunnen ze " "gemakkelijk hun account vernieuwen door een betaling te maken." #: classes/class.swpm-settings.php:192 msgid "Membership Renewal URL" msgstr "Lidmaatschap vernieuwings-URL" #: classes/class.swpm-settings.php:193 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" #: classes/class.swpm-settings.php:195 msgid "After Registration Redirect URL" msgstr "Omleidings-URL na registratie" #: classes/class.swpm-settings.php:196 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after registration " "redirect." msgstr "" #: classes/class.swpm-settings.php:198 msgid "Enable Auto Login After Registration" msgstr "" #: classes/class.swpm-settings.php:199 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" #: classes/class.swpm-settings.php:201 msgid "After Logout Redirect URL" msgstr "" #: classes/class.swpm-settings.php:202 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" #: classes/class.swpm-settings.php:204 msgid "Logout Member on Browser Close" msgstr "" #: classes/class.swpm-settings.php:205 #, fuzzy #| msgid "" #| "Enable this option if you want the admin to receive a notification when a " #| "member registers." msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" "Schakel deze optie om de beheerder een melding te laten ontvangen wanneer " "een lid registreert." #: classes/class.swpm-settings.php:207 msgid "Allow Account Deletion" msgstr "Lidmaatschap verwijderen toestaan" #: classes/class.swpm-settings.php:208 msgid "Allow users to delete their accounts." msgstr "Toestaan dat gebruikers hun lidmaatschap kunnen verwijderen." #: classes/class.swpm-settings.php:210 msgid "Force Strong Password for Members" msgstr "" #: classes/class.swpm-settings.php:211 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" #: classes/class.swpm-settings.php:213 msgid "Use WordPress Timezone" msgstr "Gebruik de WordPress Tijdzone" #: classes/class.swpm-settings.php:214 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" #: classes/class.swpm-settings.php:216 msgid "Auto Delete Pending Account" msgstr "Automatisch verwijderen account in afwachting" #: classes/class.swpm-settings.php:219 msgid "Select how long you want to keep \"pending\" account." msgstr "" "Selecteer hoe lang je een lidmaatschap \"in afwachting\" wilt aanhouden." #: classes/class.swpm-settings.php:221 msgid "Admin Dashboard Access Permission" msgstr "" #: classes/class.swpm-settings.php:224 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" #: classes/class.swpm-settings.php:226 msgid "Force WP User Synchronization" msgstr "" #: classes/class.swpm-settings.php:227 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" #: classes/class.swpm-settings.php:230 msgid "Create Member Accounts for New WP Users" msgstr "" #: classes/class.swpm-settings.php:232 msgid "Enable Auto Create Member Accounts" msgstr "Zet het automatisch maken van lidmaatschapaccounts aan" #: classes/class.swpm-settings.php:233 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" #: classes/class.swpm-settings.php:236 msgid "Default Membership Level" msgstr "Standaard lidmaatschapsniveau" #: classes/class.swpm-settings.php:239 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" #: classes/class.swpm-settings.php:245 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" #: classes/class.swpm-settings.php:247 msgid "Payment Notification Forward URL" msgstr "Betalingsmelding doorstuur URL" #: classes/class.swpm-settings.php:248 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" #: classes/class.swpm-settings.php:251 views/add.php:65 msgid "Terms and Conditions" msgstr "" #: classes/class.swpm-settings.php:253 msgid "Enable Terms and Conditions" msgstr "Algemene voorwaarden inschakelen" #: classes/class.swpm-settings.php:254 msgid "Users must accept the terms before they can complete the registration." msgstr "" #: classes/class.swpm-settings.php:255 msgid "Terms and Conditions Page URL" msgstr "Algemene voorwaarden pagina URL" #: classes/class.swpm-settings.php:256 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" #: classes/class.swpm-settings.php:257 msgid "Enable Privacy Policy" msgstr "" #: classes/class.swpm-settings.php:258 msgid "Users must accept it before they can complete the registration." msgstr "" "Gebruikers moeten dit accepteren voordat ze de registratie kunnen afronden." #: classes/class.swpm-settings.php:259 msgid "Privacy Policy Page URL" msgstr "Privacy beleidspagina URL" #: classes/class.swpm-settings.php:260 msgid "Enter the URL of your privacy policy page." msgstr "Voer de URL van je privacy beleidspagina in." #: classes/class.swpm-settings.php:350 classes/class.swpm-settings.php:396 #: classes/class.swpm-settings.php:425 msgid "Settings updated!" msgstr "Instellingen bijgewerkt!" #: classes/class.swpm-settings.php:355 msgid "General Plugin Settings." msgstr "Algemene Plugin-instellingen." #: classes/class.swpm-settings.php:359 msgid "Page Setup and URL Related settings." msgstr "" #: classes/class.swpm-settings.php:362 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" #: classes/class.swpm-settings.php:367 msgid "Testing and Debug Related Settings." msgstr "Test en Debug gerelateerde instellingen." #: classes/class.swpm-settings.php:371 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" #: classes/class.swpm-settings.php:375 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" #: classes/class.swpm-settings.php:381 msgid "" "This interface lets you custsomize the various emails that gets sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" #: classes/class.swpm-settings.php:385 views/admin_tools_settings.php:82 msgid "This documentation" msgstr "Deze documentatie" #: classes/class.swpm-settings.php:386 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" #: classes/class.swpm-settings.php:399 msgid "Settings in this section apply to all emails." msgstr "" #: classes/class.swpm-settings.php:403 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" #: classes/class.swpm-settings.php:407 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" #: classes/class.swpm-settings.php:408 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" #: classes/class.swpm-settings.php:413 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" #: classes/class.swpm-settings.php:417 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" #: classes/class.swpm-settings.php:428 msgid "This page allows you to configure some advanced features of the plugin." msgstr "" #: classes/class.swpm-settings.php:432 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" #: classes/class.swpm-settings.php:436 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" #: classes/class.swpm-settings.php:565 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Instellingen" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 msgid "User is not logged in." msgstr "Gebruiker is niet ingelogd." #: classes/class.swpm-utils-member.php:80 msgid "No Expiry" msgstr "Geen vervaldatum" #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Registratie" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Leden login" #: classes/class.swpm-utils-misc.php:96 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:117 msgid "Profile" msgstr "Profiel" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Wachtwoord herstel" #: classes/class.swpm-utils-misc.php:168 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "Je wordt automatisch doorverwezen in een paar seconden. Zo niet, %s." #: classes/class.swpm-utils-misc.php:172 msgid "Action Status" msgstr "Actiestatus" #: classes/class.swpm-utils-misc.php:274 msgid "Not a Member?" msgstr "Nog geen lid?" #: classes/class.swpm-utils-misc.php:285 msgid "renew" msgstr "" #: classes/class.swpm-utils-misc.php:285 msgid " your account to gain access to this content." msgstr " jouw account om toegang te krijgen tot deze inhoud." #: classes/class.swpm-utils-misc.php:343 classes/class.swpm-utils-misc.php:349 msgid "Error! This action (" msgstr "Fout! Deze actie (" #: classes/class.swpm-utils-misc.php:421 msgid "(Please Select)" msgstr "(Maak een keuze)" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Fout! Geen template-pad gevonden voor de volgende template: " #: classes/class.swpm-utils.php:101 msgid "Never" msgstr "Nooit" #: classes/class.swpm-utils.php:116 views/admin_members_list.php:19 msgid "Active" msgstr "Actief" #: classes/class.swpm-utils.php:117 views/admin_members_list.php:20 msgid "Inactive" msgstr "Niet Actief" #: classes/class.swpm-utils.php:118 views/admin_members_list.php:21 msgid "Activation Required" msgstr "Activatie is vereist" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Man" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Vrouw" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "Niet gespecificeerd" #: classes/class.swpm-utils.php:119 views/admin_members_list.php:22 msgid "Pending" msgstr "In behandeling" #: classes/class.swpm-utils.php:120 views/admin_members_list.php:24 msgid "Expired" msgstr "Verlopen" #: classes/class.swpm-utils.php:414 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Verwijder Account" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "Betaalknop ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Betaalknop titel" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "Lidmaatschap niveau ID" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Knop type" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Knop Shortcode" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "Het geselecteerde item is verwijderd!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple WP Membership::Betalingen" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "Transacties" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "Beheer Betaalknoppen" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Maak een nieuwe knop" #: classes/admin-includes/class.swpm-payments-list-table.php:57 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Bekijk Profiel" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "Rij ID" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "E-mailadres" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Profiel Lid" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "Transactie ID" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "Abonnee ID" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Bedrag" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Your membership profile will be updated to reflect the payment." msgstr "Je lidmaatschap profiel wordt bijgewerkt met deze betaling." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Your profile username: " msgstr "Je gebruikersnaam: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:73 msgid "Click on the following link to complete the registration." msgstr "Klik op de volgende link om je inschrijving te voltooien." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:74 msgid "Click here to complete your paid registration" msgstr "Klik hier om je betaalde inschrijving te voltooien" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:79 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Als je net een lidmaatschap betaling hebt gemaakt, dan moet je betaling nog " "worden verwerkt. probeer het over een paar minuten nog eens. Je ontvangt " "binnenkort ook een e-mail met de details." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:93 msgid "Expiry: " msgstr "Vervaldatum: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "You are not logged-in as a member" msgstr "Je bent niet ingelogd als lid" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:115 msgid "Logged in as: " msgstr "Ingelogd als: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:118 #: views/loggedin.php:31 msgid "Logout" msgstr "Uitloggen" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 #, fuzzy #| msgid "Login" msgid "Login Here" msgstr "Inloggen" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:122 msgid "Not a member? " msgstr "Nog geen lid? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:123 #, fuzzy #| msgid "Join Us" msgid "Join Now" msgstr "Meld je aan" #: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285 #, php-format msgid "Error occured during payment verification. Error code: %d. Message: %s" msgstr "" #: ipn/swpm-smart-checkout-ipn.php:298 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %s %s, got %s %s." msgstr "" #: ipn/swpm-smart-checkout-ipn.php:315 msgid "Empty payment data received." msgstr "" #: ipn/swpm-smart-checkout-ipn.php:355 msgid "IPN product validation failed. Check debug log for more details." msgstr "" #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" #: views/account_delete_warning.php:8 msgid "It will also delete associated WordPress user account." msgstr "" #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Wachtwoord: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Bevestig verwijdering van account" #: views/add.php:24 views/admin_add.php:19 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:17 msgid "Password" msgstr "Wachtwoord" #: views/add.php:28 views/edit.php:35 msgid "Repeat Password" msgstr "Herhaal Wachtwoord" #: views/add.php:65 msgid "I accept the " msgstr "Ik accepteer de " #: views/add.php:77 msgid "I agree to the " msgstr "Ik ga akkoord met " #: views/add.php:77 msgid "Privacy Policy" msgstr "Privacy beleid" #: views/add.php:88 msgid "Register" msgstr "Aanmelden" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Een nieuwe gebruiker maken en toevoegen aan deze site." #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(vereist)" #: views/admin_add.php:15 views/admin_edit.php:40 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(tweemaal, vereist)" #: views/admin_add.php:24 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Sterkte indicator" #: views/admin_add.php:25 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Hint: Je wachtwoord moet minstens zeven karakters bevatten. Om het sterker " "te maken gebruik je hoofdletters en kleine letters, nummers en symbolen " "zoals ! \" ? $ % ^ & )." #: views/admin_add.php:29 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Account Status" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Voeg nieuw lid toe " #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Sommige van addon instellingen en opties van de WP Membership plugin worden " "hier weergegeven (als je ze hebt)" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Opslaan" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Voeg een lidmaatschapsniveau toe" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "Maak een nieuw Lidmaatschap niveau." #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "Lidmaatschap Niveau Naam" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "Standaard WordPress Rol" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "Toegangsduur" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "Geen Vervaldatum (Toegang voor dit niveau vervalt niet, tenzij geannuleerd)" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "Vervallen na" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "Dagen (Toegang vervalt na bepaald aantal dagen)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "Weken (Toegang vervalt na bepaald aantal weken)" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "Maanden (Toegang vervalt na bepaald aantal maanden)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "Jaren (Toegang vervalt na bepaald aantal jaren)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "Vaste vervaldatum" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(Toegang vervalt op een vaste datum)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "E-mail activatie" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "Bekijk Documentatie" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "Voeg een nieuw lidmaatschap niveau toe " #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Add-ons" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Scherm eerst de categorie op je hele site af door 'Algemene Afscherming' te " "kiezen uit het drop-down vak hieronder. Selecteer vervolgens de categorieën " "die afgeschermd moeten worden van niet-ingelogde gebruikers." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Selecteer vervolgens een bestaand lidmaatschap niveau uit de keuzelijst " "hieronder en selecteer de categorieën waartoe je toegang wilt geven (voor " "dat specifieke niveau van lidmaatschap)." #: views/admin_category_list.php:11 views/admin_post_list.php:11 msgid "Read the " msgstr "" #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "categorie afscherming bijgewerkt" #: views/admin_category_list.php:17 views/admin_post_list.php:27 msgid "Membership Level:" msgstr "Lidmaatschap niveau:" #: views/admin_category_list.php:19 views/admin_post_list.php:29 msgid "General Protection" msgstr "Algemene bescherming" #: views/admin_category_list.php:23 views/admin_post_list.php:33 #: views/edit.php:83 msgid "Update" msgstr "Bijwerken" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Bewerk lid" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Wijzig gegevens bestaand lid." #: views/admin_edit.php:14 msgid " You are currenty editing member with member ID: " msgstr "" #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(Tweemaal, leeglaten om oude wachtwoord te behouden)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" #: views/admin_edit.php:60 msgid "this documentation" msgstr "plug-in Documentatie" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr "" #: views/admin_edit.php:66 msgid "Notify User" msgstr "Gebruiker op de hoogte brengen" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" #: views/admin_edit.php:75 msgid "Subscriber ID/Reference" msgstr "Abonnee ID/Referentie" #: views/admin_edit.php:79 msgid "Last Accessed Date" msgstr "Laatste toegangsdatum" #: views/admin_edit.php:82 views/admin_edit.php:89 msgid "This value gets updated when this member logs into your site." msgstr "" #: views/admin_edit.php:86 msgid "Last Accessed From IP" msgstr "Laatst ingelogd via IP" #: views/admin_edit.php:97 msgid "Save Data" msgstr "Gegevens opslaan" #: views/admin_edit.php:102 msgid "Delete User Profile" msgstr "Verwijder gebruikersprofiel" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Wijzig lidmaatschap niveau" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "Je kunt een betaling knop bewerken met deze interface " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "Je bewerkt momenteel: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "Geen Vervaldatum (Toegang voor dit niveau vervalt niet, tenzij geannuleerd)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "Weken (Toegang vervalt na bepaald aantal weken)" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "Bewaar Lidmaatschapsniveau " #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Voorbeeld inhoudsbeveiligingsinstellingen" #: views/admin_members_list.php:18 msgid "All" msgstr "Alles" #: views/admin_members_list.php:23 msgid "Incomplete" msgstr "Incompleet" #: views/admin_member_form_common_part.php:23 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Geslacht" #: views/admin_member_form_common_part.php:30 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Telefoon" #: views/admin_member_form_common_part.php:34 views/edit.php:51 msgid "Street" msgstr "Straat" #: views/admin_member_form_common_part.php:38 views/edit.php:55 msgid "City" msgstr "Plaats" #: views/admin_member_form_common_part.php:42 views/edit.php:59 msgid "State" msgstr "Provincie" #: views/admin_member_form_common_part.php:46 views/edit.php:63 msgid "Zipcode" msgstr "Postcode" #: views/admin_member_form_common_part.php:50 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Land" #: views/admin_member_form_common_part.php:54 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Bedrijf" #: views/admin_member_form_common_part.php:58 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Lid sinds" #: views/admin_post_list.php:5 #, fuzzy #| msgid "" #| "First of all, globally protect the category on your site by selecting " #| "\"General Protection\" from the drop-down box below and then select the " #| "categories that should be protected from non-logged in users." msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" "Scherm eerst de categorie op je hele site af door 'Algemene Afscherming' te " "kiezen uit het drop-down vak hieronder. Selecteer vervolgens de categorieën " "die afgeschermd moeten worden van niet-ingelogde gebruikers." #: views/admin_post_list.php:8 #, fuzzy #| msgid "" #| "Next, select an existing membership level from the drop-down box below " #| "and then select the categories you want to grant access to (for that " #| "particular membership level)." msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" "Selecteer vervolgens een bestaand lidmaatschap niveau uit de keuzelijst " "hieronder en selecteer de categorieën waartoe je toegang wilt geven (voor " "dat specifieke niveau van lidmaatschap)." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr "" #: views/admin_post_list.php:21 msgid "Posts" msgstr "" #: views/admin_post_list.php:22 msgid "Pages" msgstr "" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "" #: views/admin_tools_settings.php:21 msgid "Generate a Registration Completion link" msgstr "Genereer een Registratie Voltooien link" #: views/admin_tools_settings.php:24 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Je kunt hier zelf een 'registratie compleet'-link genereren en aan je klant " "geven als zij de automatische e-mail die hen was toegezonden na betaling " "hebben gemist." #: views/admin_tools_settings.php:29 msgid "Generate Registration Completion Link" msgstr "Genereer 'registratie voltooid'- link" #: views/admin_tools_settings.php:30 msgid "For a Particular Member ID" msgstr "" #: views/admin_tools_settings.php:32 msgid "OR" msgstr "OF" #: views/admin_tools_settings.php:33 #, fuzzy #| msgid "For All Pending Registrations" msgid "For All Incomplete Registrations" msgstr "Voor alle registraties in behandeling" #: views/admin_tools_settings.php:38 msgid "Send Registration Reminder Email Too" msgstr "Stuur ook een Registratie herinnerings e-mail" #: views/admin_tools_settings.php:44 msgid "Submit" msgstr "Verzenden" #: views/admin_tools_settings.php:53 #, fuzzy #| msgid "Click on the following link to complete the registration." msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "Klik op de volgende link om je inschrijving te voltooien." #: views/admin_tools_settings.php:55 msgid "Registration completion links will appear below" msgstr "Registratie voltooid links verschijnen hieronder" #: views/admin_tools_settings.php:65 msgid "A prompt to complete registration email was also sent." msgstr "" #: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88 msgid "Re-create the Required Pages" msgstr "" #: views/admin_tools_settings.php:81 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" #: views/admin_tools_settings.php:82 msgid " has full explanation." msgstr "" #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Leeg laten om het huidige wachtwoord te behouden" #: views/edit.php:71 msgid "Company Name" msgstr "Bedrijfsnaam" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Reset Wachtwoord" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Ingelogd als" #: views/loggedin.php:14 msgid "Membership" msgstr "Lidmaatschap" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Account verloopt" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Wijzig profiel" #: views/login.php:11 msgid "Username or Email" msgstr "Gebruikersnaam of e-mailadres" #: views/login.php:24 msgid "Remember Me" msgstr "Onthoud mij" #: views/login.php:33 msgid "Forgot Password?" msgstr "Wachtwoord vergeten?" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Alle betalingen / transacties van je leden zijn hier opgenomen." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Zoekt u een transactie met behulp van e-mail of naam" #: views/payments/admin_create_payment_buttons.php:15 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Met deze interface kun je een nieuwe betaalknop maken voor je " "lidmaatschappen." #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "Selecteer Type Betaal-knop" #: views/payments/admin_create_payment_buttons.php:26 #, fuzzy #| msgid "Buy Now" msgid "PayPal Buy Now" msgstr "Koop Nu" #: views/payments/admin_create_payment_buttons.php:28 #, fuzzy #| msgid "PayPal Subscription Button Configuration" msgid "PayPal Subscription" msgstr "PayPal Subscription Knop Configuratie" #: views/payments/admin_create_payment_buttons.php:30 msgid "PayPal Smart Checkout" msgstr "" #: views/payments/admin_create_payment_buttons.php:32 #, fuzzy #| msgid "Buy Now" msgid "Stripe Buy Now" msgstr "Koop Nu" #: views/payments/admin_create_payment_buttons.php:34 #, fuzzy #| msgid "Description" msgid "Stripe Subscription" msgstr "Omschijving" #: views/payments/admin_create_payment_buttons.php:36 msgid "Braintree Buy Now" msgstr "" #: views/payments/admin_create_payment_buttons.php:43 msgid "Next" msgstr "Volgende" #: views/payments/admin_edit_payment_buttons.php:15 msgid "You can edit a payment button using this interface." msgstr "Je kunt een betaling knop bewerken met deze interface." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "Alle lidmaatschap knoppen die je hebt gemaakt staan hier." #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "Fout! Het lidmaadschapsniveau ID (" #: views/payments/admin_payment_settings.php:28 msgid "" "You can create membership payment buttons from the payments menu of this " "plugin (useful if you want to offer paid membership on the site)." msgstr "" #: views/payments/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "PayPal Integratie Instellingen" #: views/payments/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Genereer de \"Geavanceerde Variabelen\" Code voor je PayPal knop" #: views/payments/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Voer het lidmaatschapsniveau-ID in" #: views/payments/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Genereer Code" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 #, fuzzy #| msgid "PayPal Buy Now Button Configuration" msgid "Braintree Buy Now Button Configuration" msgstr "PayPal Buy Now Knop Configuratie" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:213 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:301 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:83 msgid "Button ID" msgstr "Knop ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:221 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:309 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:266 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:91 msgid "Button Title" msgstr "Knop titel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:239 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:282 msgid "Payment Amount" msgstr "Te Betalen Bedrag" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Verkopers-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Publieke sleutel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Privé sleutel" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "Verkopersaccount-ID" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "The following details are optional." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:287 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:456 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:149 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:373 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:191 msgid "Return URL" msgstr "Retour URL" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:321 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:200 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:484 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:159 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:383 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:212 msgid "Save Payment Data" msgstr "Betalingsgegevens Opslaan" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:204 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal Buy Now Knop Configuratie" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:247 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:327 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:289 msgid "Payment Currency" msgstr "Betalingsvaluta" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:295 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "PayPal Email" msgstr "PayPal E-mail" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:303 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:464 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:199 msgid "Button Image URL" msgstr "Knop Afbeelding URL" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:311 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:472 msgid "Custom Checkout Page Logo Image" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "PayPal Smart betalingsknop configuratie" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "Live Client ID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "Live Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "Sandbox Client ID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "Sandbox Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Instellingen weergave knop" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Grootte" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 msgid "Medium" msgstr "Medium" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Large" msgstr "Groot" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "Responsive" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Selecteer grootte van knop." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Kleur" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 msgid "Gold" msgstr "Goud" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 msgid "Blue" msgstr "Blauw" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 msgid "Silver" msgstr "Zilver" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 msgid "Black" msgstr "Zwart" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 msgid "Select button color." msgstr "Selecteer kleur van knop." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Vorm" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 msgid "Rectangular" msgstr "Rechthoekig" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 msgid "Pill" msgstr "Ovaal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 msgid "Select button shape." msgstr "Selecteer de vorm van de knop." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Lay-out" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 msgid "Vertical" msgstr "Vertikaal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 msgid "Horizontal" msgstr "Horizontaal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 msgid "Select button layout." msgstr "Kies knop lay-out." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Aanvullende instellingen" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Betalingsmethoden" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "PayPal Credit" msgstr "PayPal-tegoed" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:295 msgid "PayPal Subscription Button Configuration" msgstr "PayPal Subscription Knop Configuratie" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Amount Each Cycle" msgstr "Factuur bedrag per cyclus" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:383 msgid "Billing Cycle" msgstr "Factureringscyclus" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Billing Cycle Count" msgstr "Factureringscyclus Teller" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:404 msgid "Re-attempt on Failure" msgstr "Opnieuw proberen indien mislukt" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:419 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Rekening Details Proefperiode (Laat leeg als je geen proefperiode aanbiedt)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:425 msgid "Trial Billing Amount" msgstr "Proefperiode bedrag" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:433 msgid "Trial Billing Period" msgstr "Looptijd proefperiode" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:450 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:177 msgid "Optional Details" msgstr "Optionele Details" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:250 msgid "Stripe Buy Now Button Configuration" msgstr "Stripe Koop Nu-knop configuratie" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:328 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:131 msgid "Test Publishable Key" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:139 msgid "Test Secret Key" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:147 msgid "Live Publishable Key" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:353 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:155 msgid "Live Secret Key" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:365 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:183 msgid "Collect Customer Address" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:75 msgid "Stripe Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:109 msgid "Stripe API ID" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:125 msgid "Stripe API Settings" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:163 msgid "Webook Endpoint URL" msgstr "" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:20 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:91 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:93 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:150 msgid "Buy Now" msgstr "Koop Nu" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:228 msgid "Subscribe Now" msgstr "Nu inschrijven" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137 msgid "Error occured during PayPal Smart Checkout process." msgstr "Er is een fout opgetreden tijdens PayPal Smart betaling." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165 msgid "HTTP error occured during payment process:" msgstr "Er is een HTTPS-fout opgetreden tijdens betaling:" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Voer hier het wachtwoord in" msgid "Retype password here" msgstr "Voer hier wachtwoord nogmaals in" msgid "Registration is complete. You can now log into the site." msgstr "De registratie is afgerond. Je kunt nu bij de site inloggen." msgid " Field has invalid character" msgstr " De invoer bevat een ongeldig teken" msgid " Password does not match" msgstr " Wachtwoord komt niet overeen" msgid "Already taken." msgstr "Al bezet." msgid "Street Address" msgstr "Straat" msgid "Apt, Suite, Bldg. (optional)" msgstr "" msgid "State / Province / Region" msgstr "Provincie" msgid "Postal / Zip Code" msgstr "Postcode" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Vink aan om de afbeelding te verwijderen. De afbeelding wordt verwijderd " "nadat je je profiel hebt opgeslagen." msgid "You will need to re-login since you changed your password." msgstr "Je wachtwoord is gewijzigd en daarom moet je opnieuw inloggen." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" "Voer twee willekeurige cijfers in zonder spaties " "(Bijvoorbeeld: 12)" msgid "Verification" msgstr "Controle" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Voer twee willekeurige cijfers in zonder spaties (Bijvoorbeeld: 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "" "De gebruikersnaam mag alleen het volgende bevatten: letters, cijfers en de " "tekens .-_*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Toegestane tekens zijn: letters, getallen en .-_*@" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Je hebt geen toestemming om de inhoud te bekijken." msgid "Your membership level does not have permission to view this content." msgstr "Jouw lidmaatschapsniveau geeft je geen toegang tot deze inhoud." msgid "This content is for members only." msgstr "Deze inhoud is alleen toegankelijk voor leden." msgid "Please check at least one." msgstr "Controleer er ten minste één." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Ledenlijst" #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "Lidnummer" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Niveau" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adres" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Zoeken..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Zoekterm verwijderen" msgid "You must be logged in to upgrade a membership." msgstr "Je moet ingelogd zijn op je lidmaatschap te upgraden." msgid "Membership level has been updated." msgstr "Lidmaatschapsniveau is bijgewerkt." msgid "Already a member of this level." msgstr "Je bent al lid op dit lidmaatschapsniveau." #~ msgid "Name" #~ msgstr "Naam" #~ msgid "Updated Successfully." #~ msgstr "Succesvol bijgewerkt." #~ msgid "List View" #~ msgstr "Lijstweergave" #~ msgid "Excerpt View" #~ msgstr "Samenvatting weergave" #~ msgid "Apply" #~ msgstr "Toepassen" #~ msgid "Filter by date" #~ msgstr "Filter op datum" #~ msgid "All dates" #~ msgstr "Alle data" #~ msgid "%1$s %2$d" #~ msgstr "%1$s %2$d" #~ msgid "%s pending" #~ msgstr "%s (In behandeling)" #~ msgid "Simple WP Membership::Categories" #~ msgstr "Simple WP Membership :: Categorieën" #~ msgid "Edit User " #~ msgstr "Wijzig gebruiker " #~ msgid "search" #~ msgstr "zoeken" #~ msgid "Membership level" #~ msgstr "Lidmaatschap niveau" languages/simple-membership-ar_SA.po000064400000104437147206617610013502 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2017-03-31 15:23+0300\n" "PO-Revision-Date: 2017-03-31 22:50+0300\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "Language: ar_SA\n" "X-Poedit-SearchPath-0: .\n" #: simple-membership/classes/class.bAccessControl.php:21 #: simple-membership/classes/class.bAccessControl.php:28 #: simple-membership/classes/class.bAccessControl.php:48 msgid "You need to login to view this content. " msgstr "تحتاج إلى تسجيل الدخول لعرض هذا المحتوى. " #: simple-membership/classes/class.bAccessControl.php:35 #: simple-membership/classes/class.bAccessControl.php:39 #: simple-membership/classes/class.bAccessControl.php:54 msgid "You are not allowed to view this content" msgstr "غير مسموح لك بعرض هذا المحتوى" #: simple-membership/classes/class.bAccessControl.php:72 msgid "You do no have permission to view rest of the content" msgstr "ليس لديك الإذن لعرض باقي محتوى" #: simple-membership/classes/class.bAccessControl.php:76 #: simple-membership/classes/class.bAccessControl.php:94 msgid "You need to login to view the rest of the content. " msgstr "تحتاج إلى تسجيل الدخول لعرض بقية المحتوى. " #: simple-membership/classes/class.bAdminRegistration.php:49 msgid "Registration Successful." msgstr "تم التسجيل بنجاح." #: simple-membership/classes/class.bAdminRegistration.php:54 #: simple-membership/classes/class.bAdminRegistration.php:89 #: simple-membership/classes/class.bMembershipLevel.php:42 #: simple-membership/classes/class.bMembershipLevel.php:60 msgid "Please correct the following:" msgstr "الرجاء تصحيح ما يلي:" #: simple-membership/classes/class.bAjax.php:17 #: simple-membership/classes/class.bAjax.php:28 msgid "Already taken" msgstr "حٌجز بالفعل" #: simple-membership/classes/class.bAjax.php:29 msgid "Available" msgstr "متوفر" #: simple-membership/classes/class.bAuth.php:46 #: simple-membership/classes/class.bFrontRegistration.php:173 msgid "User Not Found." msgstr "لم يتم العثور على المستخدم." #: simple-membership/classes/class.bAuth.php:53 msgid "Password Empty or Invalid." msgstr "كلمة مرور فارغة أو صالحة." #: simple-membership/classes/class.bAuth.php:76 msgid "Account is inactive." msgstr "الحساب غير نشط." #: simple-membership/classes/class.bAuth.php:93 msgid "Account has expired." msgstr "انتهت صلاحية الحساب." #: simple-membership/classes/class.bAuth.php:100 msgid "You are logged in as:" msgstr "أنت مسجل الدخول باسم:" #: simple-membership/classes/class.bAuth.php:139 msgid "Logged Out Successfully." msgstr "تم تسجيل الخروج بنجاح." #: simple-membership/classes/class.bAuth.php:186 msgid "Session Expired." msgstr "انتهت الجلسة." #: simple-membership/classes/class.bAuth.php:194 msgid "Invalid User Name" msgstr "اسم المستخدم غير صالح" #: simple-membership/classes/class.bAuth.php:202 msgid "Sorry! Something went wrong" msgstr "المعذرة هناك خطأ ما" #: simple-membership/classes/class.bCategoryList.php:15 #: simple-membership/classes/class.bMembers.php:21 #: simple-membership/classes/class.bMembershipLevels.php:8 #: simple-membership/classes/class.bMembershipLevels.php:17 #: simple-membership/views/add.php:30 #: simple-membership/views/admin_member_form_common_part.php:2 #: simple-membership/views/edit.php:52 msgid "Membership Level" msgstr "مستوى العضوية" #: simple-membership/classes/class.bCategoryList.php:16 #: simple-membership/classes/class.bMembershipLevels.php:9 #: simple-membership/classes/class.simple-wp-membership.php:464 msgid "Membership Levels" msgstr "مستويات العضوية" #: simple-membership/classes/class.bCategoryList.php:29 #: simple-membership/classes/class.bMembers.php:16 #: simple-membership/classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "الرقم التعريفي" #: simple-membership/classes/class.bCategoryList.php:30 msgid "Name" msgstr "الاسم" #: simple-membership/classes/class.bCategoryList.php:31 msgid "Description" msgstr "الوصف" #: simple-membership/classes/class.bCategoryList.php:32 msgid "Count" msgstr "العدد" #: simple-membership/classes/class.bCategoryList.php:63 msgid "Updated! " msgstr "تم التحديث! " #: simple-membership/classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "يوجد حساب وردبريس بهذا الاسم. ولكن البريد الإلكتروني غير متطابق." #: simple-membership/classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" "يوجد حساب وردبريس بهذا البريد الإلكتروني. ولكن اسم المستخدم غير متطابق." #: simple-membership/classes/class.bForm.php:40 msgid "User name is required" msgstr "اسم المستخدم مطلوب" #: simple-membership/classes/class.bForm.php:44 msgid "User name contains invalid character" msgstr "اسم المستخدم يحتوي على رموز غير صالحة" #: simple-membership/classes/class.bForm.php:52 msgid "User name already exists." msgstr "اسم المستخدم موجود مسبقاً." #: simple-membership/classes/class.bForm.php:75 msgid "Password is required" msgstr "الرقم السري مطلوب" #: simple-membership/classes/class.bForm.php:82 msgid "Password mismatch" msgstr "الرقم السري غير متطابق" #: simple-membership/classes/class.bForm.php:98 msgid "Email is required" msgstr "البريد الإلكتروني مطلوب" #: simple-membership/classes/class.bForm.php:102 msgid "Email is invalid" msgstr "البريد الإلكتروني غير صالح" #: simple-membership/classes/class.bForm.php:118 msgid "Email is already used." msgstr "البريد الإلكتروني موجود مسبقاً." #: simple-membership/classes/class.bForm.php:184 msgid "Member since field is invalid" msgstr "حقل \"عضو منذ\" غير صالح" #: simple-membership/classes/class.bForm.php:195 msgid "Access starts field is invalid" msgstr "حقل \"إتاحة الوصول بدأ\" غير صالح" #: simple-membership/classes/class.bForm.php:205 msgid "Gender field is invalid" msgstr "حقل \"الجنس\" غير صالح" #: simple-membership/classes/class.bForm.php:216 msgid "Account state field is invalid" msgstr "حقل \"حالة الحساب\" غير صالح" #: simple-membership/classes/class.bForm.php:223 msgid "Invalid membership level" msgstr "مستوى عضوية غير صالح" #: simple-membership/classes/class.bFrontRegistration.php:61 msgid "Registration Successful. " msgstr "تم التسجيل بنجاح. " #: simple-membership/classes/class.bFrontRegistration.php:61 #: simple-membership/classes/class.bSettings.php:367 msgid "Please" msgstr "أرجو" #: simple-membership/classes/class.bFrontRegistration.php:61 #: simple-membership/classes/class.bSettings.php:367 #: simple-membership/views/login.php:21 msgid "Login" msgstr "تسجيل الدخول" #: simple-membership/classes/class.bFrontRegistration.php:72 #: simple-membership/classes/class.bFrontRegistration.php:152 msgid "Please correct the following" msgstr "أرجو تصحيح ما يلي" #: simple-membership/classes/class.bFrontRegistration.php:106 msgid "Membership Level Couldn't be found." msgstr "مستوى العضوية هذا غير موجود." #: simple-membership/classes/class.bFrontRegistration.php:162 msgid "Email Address Not Valid." msgstr "عنوان بريد إلكتروني غير صالح." #: simple-membership/classes/class.bFrontRegistration.php:193 msgid "New password has been sent to your email address." msgstr "رقم سري جديد تم إرساله إلى بريدك الإلكتروني." #: simple-membership/classes/class.bLevelForm.php:47 msgid "Date format is not valid." msgstr "صيغة التاريخ غير صالحة." #: simple-membership/classes/class.bLevelForm.php:54 msgid "Access duration must be > 0." msgstr "مدة إتاحة الوصول يجب أن تكون أكبر من صفر." #: simple-membership/classes/class.bMembers.php:7 msgid "Member" msgstr "عضو" #: simple-membership/classes/class.bMembers.php:8 #: simple-membership/classes/class.simple-wp-membership.php:462 msgid "Members" msgstr "أعضاء" #: simple-membership/classes/class.bMembers.php:17 #: simple-membership/views/add.php:6 simple-membership/views/edit.php:4 msgid "User Name" msgstr "اسم المستخدم" #: simple-membership/classes/class.bMembers.php:18 #: simple-membership/views/add.php:22 #: simple-membership/views/admin_member_form_common_part.php:15 #: simple-membership/views/edit.php:20 msgid "First Name" msgstr "الاسم الأول" #: simple-membership/classes/class.bMembers.php:19 #: simple-membership/views/add.php:26 #: simple-membership/views/admin_member_form_common_part.php:19 #: simple-membership/views/edit.php:24 msgid "Last Name" msgstr "الاسم الأخير" #: simple-membership/classes/class.bMembers.php:20 #: simple-membership/views/add.php:10 simple-membership/views/edit.php:8 msgid "Email" msgstr "البريد الإلكتروني" #: simple-membership/classes/class.bMembers.php:22 #: simple-membership/views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "إتاحة الوصول بدأ" #: simple-membership/classes/class.bMembers.php:23 msgid "Account State" msgstr "حالة الحساب" #: simple-membership/classes/class.bMembers.php:35 #: simple-membership/classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "حذف" #: simple-membership/classes/class.bMembers.php:101 msgid "No Member found." msgstr "لا يوجد أعضاء." #: simple-membership/classes/class.bMembershipLevel.php:37 msgid "Membership Level Creation Successful." msgstr "تم إنشاء مستوى عضوية بنجاح." #: simple-membership/classes/class.bMembershipLevel.php:56 msgid "Updated Successfully." msgstr "تم التحديث بنجاح." #: simple-membership/classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "الدور" #: simple-membership/classes/class.bMembershipLevels.php:19 msgid "Access Valid For/Until" msgstr "الوصول متاح إلى/حتى" #: simple-membership/classes/class.bSettings.php:30 msgid "Plugin Documentation" msgstr "وثيقة الإضافة" #: simple-membership/classes/class.bSettings.php:32 msgid "General Settings" msgstr "إعدادات عامة" #: simple-membership/classes/class.bSettings.php:34 msgid "Enable Free Membership" msgstr "إتاحة عضوية مجانية" #: simple-membership/classes/class.bSettings.php:37 msgid "Enable/disable registration for free membership level" msgstr "تمكين/تعطيل إتاحة تسجيل عضوية مجانية" #: simple-membership/classes/class.bSettings.php:38 msgid "Free Membership Level ID" msgstr "الرقم التعريفي للعضوية المجانية" #: simple-membership/classes/class.bSettings.php:41 msgid "Assign free membership level ID" msgstr "تعيين رقم تعريفي للعضوية المجانية" #: simple-membership/classes/class.bSettings.php:42 msgid "Enable More Tag Protection" msgstr "إتاحة المزيد من الحماية للوسم" #: simple-membership/classes/class.bSettings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "تمكين/تعطيل وسم الحماية \"المزيد\" في المشاركات والصفحات. أي محتوى بعد هذا " "الوسم سيكون محمي وأي محتوى قبل هذا الوسم سيكون مقدمة." #: simple-membership/classes/class.bSettings.php:46 msgid "Hide Adminbar" msgstr "إخفاء لوحة تحكم المشرف" #: simple-membership/classes/class.bSettings.php:49 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "يعرض وردبريس شريط أدوات المشرف للمستخدمين المسجلين للموقع. حدد هذا المربع " "إذا كنت تريد إخفاء شريط أدوات المشرف هذا في مقدمة موقعك." #: simple-membership/classes/class.bSettings.php:51 msgid "Default Account Status" msgstr "حالة الحساب الافتراضية" #: simple-membership/classes/class.bSettings.php:56 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "حدد حالة الحساب الافتراضية للمستخدمين المسجلين حديثا. بإمكانك الموافقة على " "الأعضاء يدويا ثم يمكنك تعيين الحالة إلى \" قيد الانتظار\"." #: simple-membership/classes/class.bSettings.php:62 msgid "Pages Settings" msgstr "إعداد الصفحات" #: simple-membership/classes/class.bSettings.php:64 msgid "Login Page URL" msgstr "عنوان URL لصفحة تسجيل الدخول" #: simple-membership/classes/class.bSettings.php:68 msgid "Registration Page URL" msgstr "عنوان URL لصفحة التسجيل" #: simple-membership/classes/class.bSettings.php:72 msgid "Join Us Page URL" msgstr "عنوان URL لصفحة الانضمام" #: simple-membership/classes/class.bSettings.php:76 msgid "Edit Profile Page URL" msgstr "عنوان URL لصفحة تعديل الملف الشخصي" #: simple-membership/classes/class.bSettings.php:80 msgid "Password Reset Page URL" msgstr "عنوان URL لصفحة تغيير الرقم السري" #: simple-membership/classes/class.bSettings.php:85 msgid "Test & Debug Settings" msgstr "إعدادات الاختبار والتصحيح" #: simple-membership/classes/class.bSettings.php:91 msgid "Enable Sandbox Testing" msgstr "إتاحة اختبار Sandbox" #: simple-membership/classes/class.bSettings.php:94 msgid "Enable this option if you want to do sandbox payment testing." msgstr "اتح هذا الخيار لو أردت إجراء اختبار sandbox." #: simple-membership/classes/class.bSettings.php:104 msgid "Email Misc. Settings" msgstr "إعدادات البريد الإلكتروني" #: simple-membership/classes/class.bSettings.php:106 msgid "From Email Address" msgstr "من عنوان البريد الإلكتروني" #: simple-membership/classes/class.bSettings.php:111 msgid "Email Settings (Prompt to Complete Registration )" msgstr "إعدادات البريد الإلكتروني (لإكمال التسجيل)" #: simple-membership/classes/class.bSettings.php:113 #: simple-membership/classes/class.bSettings.php:124 #: simple-membership/classes/class.bSettings.php:143 msgid "Email Subject" msgstr "عنوان البريد الإلكتروني" #: simple-membership/classes/class.bSettings.php:117 #: simple-membership/classes/class.bSettings.php:128 #: simple-membership/classes/class.bSettings.php:147 msgid "Email Body" msgstr "نص البريد الإلكتروني" #: simple-membership/classes/class.bSettings.php:122 msgid "Email Settings (Registration Complete)" msgstr "إعدادات البريد الإلكتروني (إتمام التسجيل)" #: simple-membership/classes/class.bSettings.php:132 msgid "Send Notification To Admin" msgstr "إرسال إشعار إلى المشرف" #: simple-membership/classes/class.bSettings.php:136 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "إرسال رسالة إلكترونية إلى العضو عند إضافتها عبر لوحة تحكم المشرف" #: simple-membership/classes/class.bSettings.php:141 msgid " Email Settings (Account Upgrade Notification)" msgstr " إعدادات البريد الإلكتروني (إشعار ترقية الحساب)" #: simple-membership/classes/class.bSettings.php:367 msgid "Not a Member?" msgstr "لست عضو?" #: simple-membership/classes/class.bSettings.php:367 #: simple-membership/views/login.php:27 msgid "Join Us" msgstr "انضم إلينا" #: simple-membership/classes/class.bUtils.php:63 msgid "Active" msgstr "نشِط" #: simple-membership/classes/class.bUtils.php:64 msgid "Inactive" msgstr "غير نشِط" #: simple-membership/classes/class.bUtils.php:65 msgid "Pending" msgstr "قيد الانتظار" #: simple-membership/classes/class.bUtils.php:66 msgid "Expired" msgstr "منتهي الصلاحية" #: simple-membership/classes/class.bUtils.php:251 msgid "Never" msgstr "أبداً" #: simple-membership/classes/class.miscUtils.php:51 msgid "Registration" msgstr "التسجيل" #: simple-membership/classes/class.miscUtils.php:74 msgid "Member Login" msgstr "تسجيل دخول عضو" #: simple-membership/classes/class.miscUtils.php:97 msgid "Profile" msgstr "الملف الشخصي" #: simple-membership/classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "تغيير الرقم السري" #: simple-membership/classes/class.simple-wp-membership.php:184 msgid "You are not logged in." msgstr "أنت غير مسجل الدخول." #: simple-membership/classes/class.simple-wp-membership.php:215 msgid "Simple WP Membership Protection" msgstr "حماية Simple WP Membership" #: simple-membership/classes/class.simple-wp-membership.php:228 msgid "Simple Membership Protection options" msgstr "خيارات الحماية في Simple Membership" #: simple-membership/classes/class.simple-wp-membership.php:244 msgid "Do you want to protect this content?" msgstr "هل تريد حماية هذا المحتوى?" #: simple-membership/classes/class.simple-wp-membership.php:249 msgid "Select the membership level that can access this content:" msgstr "اختر مستوى العضوية الذي يتاح له الوصول إلى هذا المحتوى:" #: simple-membership/classes/class.simple-wp-membership.php:459 msgid "WP Membership" msgstr "عضوية ووردبريس" #: simple-membership/classes/class.simple-wp-membership.php:466 msgid "Settings" msgstr "إعدادات" #: simple-membership/classes/class.simple-wp-membership.php:468 msgid "Add-ons" msgstr "الإضافات" #: simple-membership/views/add.php:14 simple-membership/views/admin_add.php:19 #: simple-membership/views/admin_edit.php:17 #: simple-membership/views/edit.php:12 simple-membership/views/login.php:11 msgid "Password" msgstr "الرقم السري" #: simple-membership/views/add.php:18 simple-membership/views/edit.php:16 msgid "Repeat Password" msgstr "إعادة الرقم السري" #: simple-membership/views/add.php:37 msgid "Register" msgstr "سجل" #: simple-membership/views/admin_add.php:6 msgid "Add Member" msgstr "أضف عضو" #: simple-membership/views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "إنشاء مستخدم جديد تماما وإضافته إلى هذا الموقع." #: simple-membership/views/admin_add.php:11 msgid "User name" msgstr "اسم المستخدم" #: simple-membership/views/admin_add.php:11 #: simple-membership/views/admin_add.php:15 #: simple-membership/views/admin_add_level.php:11 #: simple-membership/views/admin_add_level.php:15 #: simple-membership/views/admin_add_level.php:19 #: simple-membership/views/admin_edit.php:9 #: simple-membership/views/admin_edit.php:13 #: simple-membership/views/admin_edit_level.php:10 #: simple-membership/views/admin_edit_level.php:14 #: simple-membership/views/admin_edit_level.php:18 msgid "(required)" msgstr "(مطلوب)" #: simple-membership/views/admin_add.php:15 #: simple-membership/views/admin_edit.php:13 msgid "E-mail" msgstr "بريد إلكتروني" #: simple-membership/views/admin_add.php:19 msgid "(twice, required)" msgstr "(مطلوب، مرتان)" #: simple-membership/views/admin_add.php:24 #: simple-membership/views/admin_edit.php:21 msgid "Strength indicator" msgstr "مؤشر القوة" #: simple-membership/views/admin_add.php:25 #: simple-membership/views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "ميح: يجب أن تتكون كلمة المرور من سبعة أحرف على الأقل. لجعله أقوى، استخدم " "الأحرف الكبيرة والصغيرة والأرقام والرموز مثل! \"؟٪٪ ^ & amp؛)." #: simple-membership/views/admin_add.php:29 #: simple-membership/views/admin_edit.php:26 #: simple-membership/views/loggedin.php:7 msgid "Account Status" msgstr "حالة الحساب" #: simple-membership/views/admin_add.php:36 msgid "Add New Member " msgstr "أضف عضو جديد " #: simple-membership/views/admin_addon_settings.php:2 #: simple-membership/views/admin_payment_settings.php:2 #: simple-membership/views/admin_settings.php:2 #: simple-membership/views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::الإعدادات" #: simple-membership/views/admin_addon_settings.php:7 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "سيتم عرض بعض إعدادات تخص الإضافات والخيارات في Simple membership هنا (في " "حال قمت بإضافتهم)" #: simple-membership/views/admin_add_level.php:6 msgid "Create new membership level." msgstr "إنشاء عضوية جديد." #: simple-membership/views/admin_add_level.php:11 #: simple-membership/views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "اسم مستوى العضوية" #: simple-membership/views/admin_add_level.php:15 #: simple-membership/views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "الدور الافتراضي في ووردبريس" #: simple-membership/views/admin_add_level.php:19 #: simple-membership/views/admin_edit_level.php:18 msgid "Access Duration" msgstr "مدة إتاحة الوصول" #: simple-membership/views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "لا يوجد انتهاء صلاحية (صلاحية الوصول لهذه العضوية غير منتهية حتى يلغيها " "المستخدم نفسه" #: simple-membership/views/admin_add_level.php:23 #: simple-membership/views/admin_add_level.php:25 #: simple-membership/views/admin_add_level.php:27 #: simple-membership/views/admin_add_level.php:29 #: simple-membership/views/admin_edit_level.php:22 #: simple-membership/views/admin_edit_level.php:25 #: simple-membership/views/admin_edit_level.php:28 #: simple-membership/views/admin_edit_level.php:31 msgid "Expire After" msgstr "انتهاء صلاحية بعد" #: simple-membership/views/admin_add_level.php:24 #: simple-membership/views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "يوم/ أيام (انتهاء صلاحية الوصول بعد عدد معين من الأيام)" #: simple-membership/views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "أسبوع/ أسابيع (انتهاء صلاحية الوصول بعد عدد معين من الأسابيع" #: simple-membership/views/admin_add_level.php:28 #: simple-membership/views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "شهر/ أشهر (انتهاء صلاحية الوصول بعد عدد معين من الأشهر)" #: simple-membership/views/admin_add_level.php:30 #: simple-membership/views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "سنة/ سنوات (انتهاء صلاحية الوصول بعد عدد معين من السنوات)" #: simple-membership/views/admin_add_level.php:31 #: simple-membership/views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "تاريخ انتهاء الصلاحية" #: simple-membership/views/admin_add_level.php:32 #: simple-membership/views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(تنتهي صلاحية الوصول)" #: simple-membership/views/admin_add_level.php:36 msgid "Access to older posts." msgstr "الوصول إلى المواضيع القديمة." #: simple-membership/views/admin_add_level.php:39 msgid "Only allow access to posts published after the user's join date." msgstr "السماح بالوصول إلى المواضيع المنشورة بعد تاريخ الانضمام العضو." #: simple-membership/views/admin_add_level.php:45 msgid "Add New Membership Level " msgstr "إضافة مستوى عضوية الجديدة " #: simple-membership/views/admin_add_ons_page.php:6 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::الإضافات" #: simple-membership/views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership::الفئات" #: simple-membership/views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "أولا، قم بحماية الفئة على موقعك من خلال تحديد \"الحماية العامة\" من المربع " "المنسدل أدناه، ثم حدد الفئات التي يجب حمايتها من المستخدمين غير المسجلين." #: simple-membership/views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "بعد ذلك، حدد مستوى العضوية الموجودة من المربع المنسدل أدناه، ثم حدد الفئات " "التي تريد منحها حق الدخول (على مستوى العضوية المحدد)." #: simple-membership/views/admin_edit.php:5 msgid "Edit Member" msgstr "تعديل عضوية" #: simple-membership/views/admin_edit.php:6 msgid "Edit existing member details." msgstr "تعديل تفاصيل عضوية موجودة." #: simple-membership/views/admin_edit.php:9 simple-membership/views/login.php:5 msgid "Username" msgstr "اسم المستخدم" #: simple-membership/views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(اترك فراغاً لاسترجاع الرقم السري السابق، مرتان)" #: simple-membership/views/admin_edit.php:33 msgid "Notify User" msgstr "إرسال ملاحظة للمستخدم" #: simple-membership/views/admin_edit.php:40 msgid "Edit User " msgstr "تعديل " #: simple-membership/views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "تعديل مستوى العضوية" #: simple-membership/views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "تعديل مستوى العضوية." #: simple-membership/views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "لا يوجد انتهاء صلاحية (صلاحية الوصول لهذه العضوية غير منتهية حتى يلغيها " "المستخدم نفسه)" #: simple-membership/views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "أسبوع/ أسابيع (انتهاء صلاحية الوصول بعد عدد معين من الأسابيع)" #: simple-membership/views/admin_edit_level.php:40 msgid "Protect Older Posts (optional)" msgstr "حماية المشاركات القديمة (اختياري)" #: simple-membership/views/admin_edit_level.php:43 msgid "" "Only allow access to protected posts published after the members's join date." msgstr "السماح بالوصول إلى المواضيع المحمية بعد تاريخ الانضمام العضو." #: simple-membership/views/admin_edit_level.php:51 msgid "Edit Membership Level " msgstr "تعديل مستوى العضوية " #: simple-membership/views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::العضويات" #: simple-membership/views/admin_members.php:3 #: simple-membership/views/admin_members.php:19 #: simple-membership/views/admin_membership_levels.php:20 msgid "Add New" msgstr "إضافة جديدة" #: simple-membership/views/admin_members.php:9 #: simple-membership/views/admin_membership_levels.php:10 msgid "search" msgstr "ابحث" #: simple-membership/views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::مستويات العضوية" #: simple-membership/views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "مستوى العضوية" #: simple-membership/views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "إدارة إنتاج المحتوى" #: simple-membership/views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "فئة الحماية" #: simple-membership/views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "مثال إعدادات حماية المحتوى" #: simple-membership/views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "الجنس" #: simple-membership/views/admin_member_form_common_part.php:30 #: simple-membership/views/edit.php:28 msgid "Phone" msgstr "الهاتف" #: simple-membership/views/admin_member_form_common_part.php:34 #: simple-membership/views/edit.php:32 msgid "Street" msgstr "الشارع" #: simple-membership/views/admin_member_form_common_part.php:38 #: simple-membership/views/edit.php:36 msgid "City" msgstr "المدينة" #: simple-membership/views/admin_member_form_common_part.php:42 #: simple-membership/views/edit.php:40 msgid "State" msgstr "المنطقة" #: simple-membership/views/admin_member_form_common_part.php:46 #: simple-membership/views/edit.php:44 msgid "Zipcode" msgstr "الرمز البريدي" #: simple-membership/views/admin_member_form_common_part.php:50 #: simple-membership/views/edit.php:48 msgid "Country" msgstr "الدولة" #: simple-membership/views/admin_member_form_common_part.php:54 msgid "Company" msgstr "الشركة" #: simple-membership/views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "عضو منذ" #: simple-membership/views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "إعدادات الباي بال" #: simple-membership/views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" #: simple-membership/views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "ادخل الرقم التعريفي لمستوى هذه العضوية" #: simple-membership/views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "إنشاء رمز" #: simple-membership/views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "إنشاء رابط إتمام التسجيل" #: simple-membership/views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "يمكنك إنشاء رابط إتمام التسجيل يدويا وإعطائه للعميل إذا فاته البريد " "الإلكتروني الذي تم إرساله تلقائيا إليه بعد الدفع." #: simple-membership/views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "إنشاء رابط إتمام التسجيل" #: simple-membership/views/admin_tools_settings.php:20 msgid "OR" msgstr "أو" #: simple-membership/views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "لجميع التسجيلات المعلقة" #: simple-membership/views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "روابط إتمام التسجيل سوف تظهر أدناه:" #: simple-membership/views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "إرسال تذكير بالتسجيل على البريد الإلكتروني أيضاً" #: simple-membership/views/admin_tools_settings.php:34 msgid "Submit" msgstr "إرسال" #: simple-membership/views/edit.php:58 msgid "Update" msgstr "تحديث" #: simple-membership/views/forgot_password.php:5 msgid "Email Address" msgstr "عنوان البريد الإلكتروني" #: simple-membership/views/forgot_password.php:12 msgid "Reset Password" msgstr "تغيير الرقم السري" #: simple-membership/views/loggedin.php:3 msgid "Logged in as" msgstr "تم تسجيل الدخول باسم" #: simple-membership/views/loggedin.php:11 msgid "Membership" msgstr "عضوية" #: simple-membership/views/loggedin.php:15 msgid "Account Expiry" msgstr "انتهت صلاحية الحساب" #: simple-membership/views/loggedin.php:19 msgid "Logout" msgstr "تسجيل خروج" #: simple-membership/views/login.php:18 msgid "Remember Me" msgstr "تذكرني" #: simple-membership/views/login.php:24 msgid "Forgot Password" msgstr "نسيت الرقم السري" languages/simple-membership-sr_RS.mo000064400000001075147206617610013534 0ustar00,<PQW 3LoginProject-Id-Version: Simple Membership POT-Creation-Date: 2015-05-25 20:03+0100 PO-Revision-Date: 2015-05-25 20:03+0100 Last-Translator: Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Language: sr_RS X-Poedit-SearchPath-0: . Uloguj selanguages/simple-membership-es_MX.mo000064400000132645147206617610013527 0ustar00 #H".I"4x"""""D#}K##$Z%%&% &B'&-j&i&' '+'I' ['e'z''6( O(](t(;(( (( )")7)L)`) ))V)R)K* R* \*g*|******* *++9+2N++ ++s+2,#9,],6z,,, ,,,- - -(-C-W-(s-- - - --- .X&.*. . .-.9.*/%C/i// 000#0T0Y0s000 00(0$01 161<1 M1[1 k1v11111&12 +292R2i2z22 22223/3L3Y 4[e4=445R3636J647B:7o}7m7k[8g8</9Nl9L9J:@S:>:F:.;I;^;;;; < <<I5<<<<<+< == ===D=>>>>>?:)?d?m?u?? ??????? ?@@@@9@@@ Q@^@!m@@@$@@#@%A5A&IApAA9A"AAAB1%B WBaByBB&B BB+B %C 3CACPCCD D&D5DMDbDtD DDDDDDDQEbEkEsEzEEEEEIF9QFFFFFFF]GtGGGXGHH (H5HKH8eH HH"HHHHH I*I:I9I3JQQQQQ RRR.RFRRRRR4S#ESiS~S6SS S S(S."T QT_TTT UUVP)WPzWW]WhDXXXRY!iYYs^ZCZ[0[[)\\%\.\i\vE]3](]I^gc^:^___D_? `aK``` ` ``a aaaQcU&dJ|d'ddGeVeefgyh+hhKh/i{Iii i<i%j ksss1s<s :t,[t tt duqu/xuu"uuu u v%vS8vv)w=wSw"gw!w#ww*w%xG?x1x9x@x4y-Eysy"yy yy.z6z'Tz#|zYz z]|kc|N|}}~3ZEES:׀n Swzrvndjӄi>3܅ ņӆ چ-Z5'!ڇ"4 Ij %>gNt,},NJ? S`#r"‹ȋ& -&9` o'y݌(%>0Gx,)+) ?G`+Ԏ*܎K Yc}J4?Qʐw 4ߑ,&D ky"aw } (ٓ D;=(ה'GVl^<,ȖіږD HTDj&֗ ۗ =;E^.%ř' 'Edl4-˚&!9.['.( ' . :E\#p "+؜(-@\5uŝ3ڝ "> a1k4ҞRX(KƠ%>8wY1 9FYkpw"äA5"X'vE Ba\Ϧptkj9jf,e$ϬۭE׮*)V(4ްk;2>Hqi?$d @!>bi #,P`t D=x~i&K@6A.Rm Zvts1 k<*;=qV|Hc 3lS" J{Ue7U^HwuzC_./Jd(4V1X@OMqK:m9?zg5T2o8'|:*W4]c_d8ReYEu,j2F}fwN<)"$Gy%X9th ` \]kEp}0\Og~a #Lb- MB!P,['Qxa(>p3`C$if5jrn)FD#{LnPGS/N> 6+b Wy; 7l I+%[?o&A0vrYsZQIT!B-h^ Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. characters required page to pay for a premium membership. to login. to see the profile you are currently logged into in this browser. your account to gain access to this content.(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterA flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site.A prompt to complete registration email was also sent.Access StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add-onsAddons SettingsAddressAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Registration Redirect URLAllow HTML in EmailsAllowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApostrophe character is not allowedApt, Suite, Bldg. (optional)Are you sure that you want to cancel the subscription?Assign free membership level IDAuthorAvailableBraintree Buy NowBulk OperationButton ShortcodeButton TypeBuy NowCan't find member account.Cancel SubscriptionCannot find member account.Captcha validation failed on login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.Clear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressComments not allowed by a non-member.Confirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCreate a brand new user and add it to this site.DateDate format is not valid.Default Account StatusDeleteDelete AccountDescriptionDisable Access to WP DashboardDisable Email Notification After UpgradeDo you want to protect this content?E-mailEdit Profile Page URLEmailEmail ActivationEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty payment data received.Enable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable Toggle Password Visibility in Login FormEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the email address where you want the admin notification email to be sent to.Enter the subject for the admin notification email.Error occured during payment verification. Error code: %1$d. Message: %2$sError occurred during PayPal Smart Checkout process.Error! Failed to find a template path for the specified template: Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again.Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again.Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again.Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: ExpiredExpiry: FemaleFirst NameForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGender field is invalidGeneral SettingsGo back to the home page by HTTP error occurred during payment process:Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).I accept the I agree to the IDIPN product validation failed. Check the debug log for more details.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelIt will also delete the associated WordPress user account.Join NowJoin UsJoin Us Page URLLast Login DateLast NameLevelLive Publishable KeyLive Secret KeyLogged Out Successfully.Logged in as: LoginLogin HereLogin Page URLLogoutMaleManage Content ProtectionMemberMember DirectoryMember LoginMember ProfileMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level Updated Successfully.Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Minimum Name contains invalid characterNeverNew password has been sent to your email address.No ExpiryNo active subscriptionsNo member found.No token provided.No user found with that email address.No, Do not protect this content.Nonce check failed.Nonce check failed. Please reload the page.Not SpecifiedNot a Member?Not a member? Note: You cannot enable both the "Disable Access to WP Dashboard" and "Admin Dashboard Access Permission" options at the same time. Only use one of those options.Pages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPassword must contain at least:Password: PayPal Buy NowPayPal Smart CheckoutPayPal SubscriptionPayment Button IDPayment Button TitlePayment SettingsPayment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s.PaymentsPendingPleasePlease Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePre-fill Member Email AddressPre-fills the email address of the logged-in member on the Stripe checkout form when possiblePrivacy PolicyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!RegisterRegistrationRegistration Page URLRegistration Successful. Registration is complete. You can now log into the site.Remember MeRepeat PasswordReset debug log files by clicking Retype password hereRoleRow IDSearchSearch...Security check: captcha validation failed.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!Show Adminbar to AdminShow passwordSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSorry, Nonce verification failed.Sorry, Password didn't match.State / Province / RegionStatusStatus/NoteStreet AddressStrength indicatorStripe API IDStripe API Live publishable keyStripe API Live secret keyStripe API SettingsStripe API Test publishable keyStripe API Test secret keyStripe Buy NowStripe Global SettingsStripe SCA Buy NowStripe SCA Buy Now Button ConfigurationStripe SCA SubscriptionStripe SubscriptionStripe Subscription Button ConfigurationSubscribe NowSubscriber IDSubscription has been cancelled.Success!Success! Your account has been activated successfully.Test & Debug SettingsTest Publishable KeyTest Secret KeyThe admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredTitleToolsTransaction IDTrial PeriodTypeType password hereUnsubscribe from PayPalUse this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.User Not Found.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Validating, please waitVerificationView ProfileView general debug log file by clicking View login related debug log file by clicking WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Webhook Endpoint URLWebook Endpoint URLWhen enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will prevent any non-admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But the given username doesn't match.Wordpress account exists with given username. But the given email doesn't match.Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are already logged in. You don't need to create another account. So the registration form is hidden.You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox.You can use the back button of your browser to go back to the site.You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal.You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to confirm your email address. Please check your email and follow instructions to complete your registration.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will be redirected to the previous page in a few seconds. If not, please click here.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: category protection menuclick hereclicking heregive us a ratinghereincompleterenewProject-Id-Version: Simple WordPress Membership PO-Revision-Date: 2022-11-17 15:33-0800 Last-Translator: Language-Team: Language: es_MX MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.2 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: simple-wp-membership.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.js Configuración de correo electrónico (notificación de actualización de cuenta)Configuración de correo electrónico (notificación de activación de cuenta masiva)Configuración de correo electrónico (activación de correo electrónico)El campo tiene un carácter no válido Las contraseñas no coinciden El resto del contenido no está permitido para su nivel de membresía. Esto puede ser útil al solucionar un problema. Apáguelo y restablezca los archivos de registro después de que se complete la solución de problemas. Utilice una dirección de correo electrónico diferente para completar el registro. Si desea usar ese correo electrónico, debe ingresar el nombre de usuario correcto asociado con el usuario de WP existente para conectarse con esa cuenta.Utilice un nombre de usuario diferente para completar el registro. Si desea usar ese nombre de usuario, debe ingresar la dirección de correo electrónico correcta asociada con el usuario de WP existente para conectarse con esa cuenta.Puede colocar varias direcciones de correo electrónico separadas por comas (,) en el campo anterior para enviar la notificación a varias direcciones de correo electrónico.caracteres requeridospágina para pagar una membresía premium. iniciar sesión. para ver el perfil en el que está conectado actualmente en este navegador.su cuenta para obtener acceso a este contenido.(NOTA: por seguridad, no permitimos la eliminación de ninguna cuenta de WordPress asociada con función de administrador).(Por favor seleccione)(requerido)(Dos veces, deje vacío para retener la contraseña antigua)(dos veces, requerido)- un dígito- una letra minúscula- una letra mayúsculaUn complemento de membresía de WordPress flexible, bien respaldado y fácil de usar para ofrecer contenido gratuito y premium desde su sitio de WordPress.También se envió un mensaje para completar el correo electrónico de registro.Inicios de accesoAcceso V álido para / HastaLa duración del acceso debe ser > 0.La operación de cambio de fecha de inicio de acceso se completó con éxito.El campo de inicio de acceso no es válidoEstado de la cuentaEstado de la CuentaCuenta ya activa. La cuenta ha caducado.La cuenta está inactiva.La cuenta está pendiente.El campo de estado de la cuenta no es válidoEstado de la acciónActivación necesariaNo coincide el código de activación. No se puede activar esta cuenta. Póngase en contacto con el administrador del sitio.Se ha enviado el correo electrónico de activación. Por favor revise su correo electrónico y active su cuenta.ActivoAdd LevelAñadir miembroAgregar nivel de membresíaAgregar nuevoAgregar nuevo miembroComplementosConfiguración de ComplementosDirección Admin Email AddressDirección de correo electrónico del administradorDirección de correo electrónico del administradorAjustes AvanzadosURL de redirección después del registroPermitir HTML en correos electrónicosLos caracteres permitidos son: letras, números y .-_*@Ya eres miembro de este nivel.Ya apartadasYa apartadas.Alternativamente, puede usar un navegador diferente (donde no haya iniciado sesión como ADMIN) para probar el inicio de sesión de membresía.MontoNo se permite el carácter de apóstrofeEdificio de apartamentos. (opcional)¿Estás seguro de que deseas cancelar la suscripción?Asignar ID de nivel de membresía gratisAuthorDisponibleBraintree Comprar ahoraOperación a granelCódigo corto de botónTipo de botónComprar AhoraNo se puede encontrar la cuenta de miembro.Cancelar suscripciónNo se puede encontrar la cuenta de miembro.La validación de Captcha falló en el formulario de inicio de sesión.La validación de Captcha falló.CategoríasCategoria IDNombre de la CategoríaCategoría ProtecciónTipo de Categoría (taxonomía)¡Protección de categoría actualizada!Marque esta casilla para eliminar la imagen. La imagen se eliminará cuando guardes el perfil.Marque esta opción para habilitar el registro de depuración.Borrar búsquedahaga clic aquíHaga clic aquí para completar su registro pagadoHaga clic en el siguiente enlace para completar el registro.Recopilar dirección del clienteComentarios no permitidos por un no miembro.Confirmar eliminación de cuentaComuníquese con el administrador del sitio y solicite que verifiquen su nombre de usuario en el menú Usuarios de WP para ver qué sucedió con la entrada de usuario de WP de su cuenta.¿Continuar?CuentaCrea un nuevo usuario y agrégalo a este sitio.FechaEl formato de fecha no es válido.Estado de cuenta predeterminadoBorrarBorrar cuentaDescriptionDeshabilitar el acceso al panel de WPDeshabilitar la notificación por correo electrónico después de la actualizaciónUn complemento de membresía de WordPress flexible, bien respaldado y fácil de usar para ofrecer contenido gratuito y premium desde su sitio de WordPress. Correo electrónicoEdit Profile Page URLCorreo electrónicoActivación de correo electrónicoDirección de correo electrónicoDirección de correo electrónico: Cuerpo del correo electronicoMiscelánea de correo electrónico AjustesConfiguracion del correo electrónicoConfiguración de correo electrónico (restablecimiento de contraseña)Email Settings (Prompt to Complete Registration )Configuración de correo electrónico (registro completo)Descripción general de la configuración de correo electrónicoAsunto del emailDirección de correo electrónico no válida.El email ya está en uso.El correo electrónico es invalidoCorreo electronico es requeridoDatos de pago vacíos recibidos.Habilitar depuraciónHabilitar inicio de sesión de cuenta caducadaHabilitar membresía gratuitaHabilitar más Protección de EtiquetasHabilitar prueba de espacio aisladoHabilitar alternar la visibilidad de la contraseña en el formulario de inicio de sesiónHabilitar la activación de nuevos usuarios por correo electrónico. Cuando esté habilitado, los miembros deberán hacer clic en un enlace de activación que se envía a su dirección de correo electrónico para activar la cuenta. Útil para la membresía gratuita.Habilite esta opción si solo desea que los miembros del sitio puedan publicar un comentario.Habilite esta opción si desea que el administrador reciba una notificación cuando se registre un miembro.Habilite esta opción si desea realizar pruebas de pago en la zona de pruebas.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Habilita o deshabilita la protección de etiquetas "más" en las publicaciones y páginas. Cualquier cosa después de la etiqueta Más está protegida. Cualquier cosa antes de la etiqueta más es contenido teaser.Ingrese la dirección de correo electrónico a la que desea que se envíe el correo electrónico de notificación del administrador.Enter the subject for the admin notification email.Ocurrió un error durante la verificación del pago. Código de error: %1$d. Mensaje: %2$sSe produjo un error durante el proceso de pago inteligente de PayPal.¡Error! No se pudo encontrar una ruta de plantilla para la plantilla especificada:¡Error! La verificación de seguridad de Nonce falló para la acción de fecha de inicio de acceso de cambio masivo. Borre el caché y vuelva a intentarlo.¡Error! La verificación de seguridad de Nonce falló para la acción de cambio masivo de nivel de membresía. Borre el caché y vuelva a intentarlo.¡Error! La verificación de seguridad de Nonce falló para la acción de actualización de protección de categoría. Borre el caché y vuelva a intentarlo.¡Error! La verificación de seguridad de Nonce falló para la acción de actualización de protección posterior. Borre el caché y vuelva a intentarlo.¡Error! La verificación de Nonce falló para la edición del perfil de front-end.¡Error! La verificación de Nonce falló para la creación del nivel de membresía desde el extremo del administrador.¡Error! La verificación de Nonce falló para la eliminación del nivel de membresía desde el extremo del administrador.¡Error! La verificación de Nonce falló para la edición del nivel de membresía desde el extremo del administrador.¡Error! La verificación de Nonce falló para la eliminación del usuario desde el extremo del administrador.¡Error! La verificación de Nonce falló para la edición del usuario desde el extremo del administrador.¡Error! La verificación de Nonce falló para el registro de usuario desde el extremo del administrador.¡Error! Seleccione primero un nivel de membresía.¡Error! Esta acción (¡Error! Este sitio tiene la función de inicio de sesión de usuario forzado de WP habilitada en la configuración. No pudimos encontrar un registro de usuario de WP para el nombre de usuario dado: ExpiradoExpiración: FemalePrimer nombre¿Has olvidado tu contraseña?Identificación de nivel de membresía gratisLa membresía gratuita está deshabilitada en este sitio. Por favor haga un pago desde el De la dirección de correo electrónicoEl campo de género no es válidoConfiguración GeneralVolver a la página de inicio por Se produjo un error HTTP durante el proceso de pago:Ocultar barra de administraciónSugerencia: la contraseña debe tener al menos siete caracteres. Para hacerlo más fuerte, use letras mayúsculas y minúsculas, números y símbolos como ! " ? $ % ^ & ).acepto el Estoy de acuerdo con la IDENTIFICACIÓNLa validación del producto IPN falló. Consulte el registro de depuración para obtener más detalles.Si acaba de realizar un pago de membresía, su pago aún no se ha procesado. Por favor verifique nuevamente en unos minutos. En breve se le enviará un correo electrónico con los detalles.InactivoDirección de correo electrónico no válidaNombre de usuario no válidoDirección de correo electrónico no válidaNivel de membresía no válidoTambién eliminará la cuenta de usuario de WordPress asociada.Únete ahoraÚnete a nosotrosURL de la página Únase a nosotrosÚltima fecha de inicio de sesiónApellidoNivelClave publicable en vivoClave secreta en vivoCierre de sesión con éxito.Conectado como: AccesoEntre aquíURL de la página de inicio de sesiónCerrar sesiónMasculinoAdministrar la protección de contenidoMiembroDirectorio de miembrosInicio de sesión de miembroPerfil de miembroRegistro de miembro agregado con éxito.Miembro ya que el campo no es válidoMiembrosLos miembros deben iniciar sesión para comentarNivel de membresíaNo se pudo encontrar el nivel de membresía.Creación de nivel de membresía exitosa.ID de nivel de membresíaNivel de membresía actualizado con éxito.Niveles de membresíaURL de renovación de membresíaLa operación de cambio de nivel de membresía se completó con éxito.El nivel de membresía ha sido actualizado.MínimoEl nombre contiene un carácter no válidoNuncaSe ha enviado una nueva contraseña a su dirección de correo electrónico.No ExpirySin suscripciones activasNingún miembro encontrado.No se proporciona token.No se encontró ningún usuario con esa dirección de correo electrónico.No, no proteja este contenido.Nonce check failed.La comprobación de Nonce falló.La comprobación de Nonce falló. Por favor recarga la página.No especificado¿No es un miembro?¿No es un miembro? Nota: No puede habilitar las opciones "Deshabilitar acceso al panel de WP" y "Permiso de acceso al panel de administración" al mismo tiempo. Solo usa una de esas opciones.Configuración de páginasContraseñaContraseña vacía o no válida.Restablecimiento de contraseñaURL de la página de restablecimiento de contraseñaSe requiere contraseñaContraseña no coincideLa contraseña debe contener al menos:Contraseña: PayPal Comprar ahoraPago inteligente de PayPalSuscripción de PayPalIdentificación del botón de pagoTítulo del botón de pagoConfiguración de PagoComprobación de pago fallida: importe recibido no válido. Esperaba %1$s %2$s, obtuvo %3$s %4$s.PagosPendientePor favorPor favor, inicia sesión para comentar.Por favor marque al menos uno.Por favor, corrija el siguientePor favor, corrija el siguiente.Por favor, corrija el siguiente:Ingrese dos dígitos sin sin espacios (Ejemplo: 12)Ingrese dos dígitos cualesquiera sin espacios (Ejemplo: 12)*Inicie sesión de nuevo.Por favor, inicia sesión para comentar.Documentación del ComplementoProtección de publicaciones y páginasCódigo postalHabilitar depuraciónRellena previamente la dirección de correo electrónico del miembro que ha iniciado sesión en el formulario de pago de Stripe cuando es posiblePolítica de privacidadPerfilPerfil actualizado con éxito.Perfil actualizado con éxito. Deberá volver a iniciar sesión ya que cambió su contraseña.¡Configuración de protección actualizada!RegistroRegistroRegistration Page URLRegistro exitoso. El registro está completo. Ahora puede iniciar sesión en el sitio.RecuérdameRepita la contraseñaRestablezca los archivos de registro de depuración haciendo clic enVuelva a escribir la contraseña aquíRoleID de filaBúsquedaBúsqueda...Comprobación de seguridad: la validación de captcha falló.Seleccione el estado de cuenta predeterminado para los usuarios recién registrados. Si desea aprobar manualmente a los miembros, puede establecer el estado en "Pendiente".Seleccione el nivel de membresía que puede acceder a este contenido:Enviar correo electrónico al miembro cuando se agregue a través del panel de administraciónEnviar notificación al administradorSesión expirada.Establecer estado en activoEstablecer estado en activo y notificarEstablecer estado en caducadoEstablecer estado en InactivoEstablecer estado en PendienteAjustes¡Ajustes actualizan!Mostrar la barra de administración al administradorMostrar contraseñaOpciones simples de protección de membresíaMembresía Simple::PagosProtección de membresía simple de WPMembresía simple de WP::MiembrosMembresía simple de WP::Niveles de membresíaMembresía simple de WP::ConfiguraciónLo sentimos, la verificación de Nonce falló.Lo sentimos, la contraseña no coincide.Estado / Provincia / RegiónEstadoEstado/NotaDirección(dos veces, requerido)ID de API de StripeClave publicable de Stripe API LiveClave secreta de Stripe API LiveConfiguración de la API de StripeClave publicable de la prueba API de StripeClave secreta de la prueba API de StripeRaya Comprar ahoraAjustes globales de la rayaStripe SCA Comprar ahoraConfiguración del botón Comprar ahora de Stripe SCASuscripción a Stripe SCASuscripción a rayasConfiguración del Botón de Suscripción de StripeSuscríbase AhoraIdentificación de suscriptorLa suscripción ha sido cancelada.¡Éxito!¡Éxito! Su cuenta se ha activado correctamente.URL de la página de restablecimiento de contraseñaClave publicable de pruebaClave secreta de pruebaEl administrador de este sitio no permite que los usuarios accedan al panel de wp.La categoría o categoría principal de esta publicación está protegida. Puede cambiar la configuración de protección de categoría desde el¡La entrada seleccionada fue eliminada!El administrador del sitio puede deshabilitar la función Forzar sincronización de usuarios de WP en la configuración para deshabilitar esta función y este error desaparecerá.Este contenido solo puede ser visto por miembros que se unieron en o antes Este contenido es solo para miembros.Este contenido no está permitido para su nivel de membresía.esta documentaciónEste correo electrónico se enviará al administrador cuando un nuevo usuario complete el registro de membresía. Solo funciona si ha habilitado la opción anterior "Enviar notificación al administrador".Este error se activa cuando una cuenta de miembro no tiene una cuenta de usuario de WP correspondiente. Por lo tanto, el complemento no puede iniciar sesión en el sistema de usuario de WP.Este campo es obligatorioTítuloInstrumentosID de transacciónPeriodo de pruebaTipoEscriba la contraseña aquíDarse de baja de PayPalUtilice esta opción si desea mostrar la barra de herramientas de administración solo a los usuarios administradores. La barra de herramientas de administración estará oculta para todos los demás usuarios.Usuario no encontrado.El usuario no ha iniciado sesión.Nombre de usuarioNombre de usuario ya existe.El nombre de usuario solo puede contener: letras, números y .-*@El nombre de usuario contiene un carácter no válidoSe requiere nombre de usuarioNombre de usuario o correo electrónicoLos nombres de usuario solo pueden contener: letras, números y .-_*@Validando, por favor espereVerificaciónVer perfilVer el archivo de registro de depuración general haciendo clic enPara ver el archivo de registro de depuración relacionado con el inicio de sesión, haga clic enMembresía de WP¡Advertencia! El complemento Simple Membership no puede procesar esta solicitud de inicio de sesión para evitar que se desconecte accidentalmente de WP Admin.URL de punto final de webhookURL de punto final de WebookCuando está habilitado, los miembros vencidos podrán iniciar sesión en el sistema pero no podrán ver ningún contenido protegido. Esto les permite renovar fácilmente su cuenta haciendo otro pago.WordPress permite que un usuario estándar de wp pueda ir a la URL de wp-admin y acceder a su perfil desde el panel de control de wp. El uso de esta opción evitará que cualquier usuario que no sea administrador acceda al panel de control de wp.WordPress muestra una barra de herramientas de administración para los usuarios registrados del sitio. Marque esto si desea ocultar esa barra de herramientas de administración en la interfaz de su sitio.La cuenta de Wordpress existe con el correo electrónico dado. Pero el nombre de usuario dado no coincide.La cuenta de WordPress existe con el nombre de usuario dado. Pero el correo electrónico dado no coincide.Sí, protege este contenido.Está a punto de eliminar una cuenta. Esto eliminará los datos de usuario asociados con esta cuenta. Ya estás conectado. No necesitas crear otra cuenta. Entonces el formulario de registro está oculto.Has iniciado sesión como:Ha iniciado sesión en el sitio como usuario ADMIN en este navegador. Primero, cierre sesión en WP Admin y luego podrá iniciar sesión como miembro normal.Usted no se ha identificado.No has iniciado sesión como miembroPuede crear una página de renovación para su sitio. Lea esta documentación para aprender a crear una página de renovación.Puede usarlo para mostrar una opción de alternar la visibilidad de la contraseña en el formulario de inicio de sesión. Agregará una casilla de verificación Mostrar contraseña.Puede utilizar el botón Atrás de su navegador para volver al sitio.Puede usar esta opción para deshabilitar la notificación por correo electrónico que se envía a los miembros cuando realizan un pago por una actualización o renovación.No tienes permiso para ver este contenido.Tienes el modo de pago sandbox habilitado en la configuración del complemento. Asegúrese de desactivar el modo sandbox cuando desee realizar transacciones en vivo.Debe aceptar los Términos y Condiciones.Debe aceptar la política de privacidad.Debe iniciar sesión para actualizar una membresía.Necesitas activar tu cuenta. Si no recibiste un correo electrónico, entonces %s para volver a enviar el correo electrónico de activación.Necesitas confirmar tu dirección de correo electrónico. Por favor revise su correo electrónico y siga las instrucciones para completar su registro.Necesitas iniciar sesión para ver el resto del contenido. Necesita iniciar sesión para ver este contenido. Será redirigido automáticamente en unos segundos. Si no, por favor %s.Será redirigido a la página anterior en unos segundos. De lo contrario, haga clic aquí.Deberá volver a iniciar sesión ya que cambió su contraseña.Recibirá un enlace único por correo electrónico después del pago. Podrá usar ese enlace para completar el registro de membresía premium.Su cuenta ha expirado. Tu contraseña actualSu nivel de membresía no tiene permiso para ver este contenido.Su perfil de membresía se actualizará para reflejar el pago.Sus visitantes normales o miembros nunca verán este mensaje. Este mensaje es SOLO para el usuario ADMIN.Nombre de usuario de tu perfil: menú de protección de categoríashaga clic aquíhaciendo clic aquíDanos una calificaciónaquíincompletorenovarlanguages/simple-membership-nl_NL.mo000064400000110046147206617610013505 0ustar00W h%.i%4%"%% &D&&k&-& && &+&' ('2'G']' m'{'''' '''(((=(Q( p(~(( ( ((((((()!)))=) [)|)))M)@*A*%X*2~** ***#*+9+@+ \+f+ +++++++'+ , ;,E,V, g, t,,(,, , , ,,-X"-*{-- - ---9-+.%1.W. _.l....0....0/C/Z/s//// /$// / /0090O0U0 f0t0 000010&1,1 D1R1k111"11112.2YJ2[2=3>33r4*4R435BB5.5 55#5 66#6,6 36>677+7D7W7^7v777 7%7'7=8M8*R8 }88 -9 89F9V9Y9 : ::3:D:Z:s:{:::: ::(::: ;; /;<;K;Q;`;g;l;;;;; ; ;; ;!;</< 7<B<#S<%w<<<&<<==%=9<="v== ==4==>1>O>T> >@?AI?????&? @ @@ -@9@<@M@\@e@@@@@@ @#@ A +A8A*TA(AAAAAA A B1B:BBBHBMBTBmBBBBIB9+CeCyCCCCCC CD DX+DD DD DD DDD/E8DE }EE EE EEEEEE F FF.F@F/GF wF*F FFFFFG(G3H3_HH$HHHHI/IFI\IeIwI}II$IIIIJ'8J`JJkJ!JK0K6KPKWK^KmK#KK K KKKK#Lt7LLCL!M82MkM~MMMM MMJMN2N7NJNQNhNxNNN4N#N OO61O?hOO OOO O OP1P2PPQL@RLR2R S)S?S!VSLxS3SISCT0T.(U3WU(UIU:U9VTVDjV?VVW!W1W JWUW ZWeWxW.%Y.TY.Y#YYJY?Z4GZ$|ZZ Z4ZZ [[%[ 7[D[S[(k[#[[[[[\\/6\f\ \\\\ \!\\\']9]K]d]w]}]%]']]]^9^?Y^!^<^3^*,_ W_ c_m_t_'__-_ __`&`@`F`(L`$u` `.```` a a %a/a.7afa a a aa!ama5Obbb b2b9bc!c@c Hc!Ucwc~cc6c#ccc/dFdddd ddd ddd eee8eVereye e e eee(e= f*Iftffffff6gGgeg gg gUg^8hChhi"!j,Dj\qj8j<k.Dk"skk)k kk kkklllm!m6m?mYmwmm m%m'm>m=n1Bntnn 7oCoTogojo )p 5p@pUpnpp ppppp pp0q6q=q LqXq kqxqqq qqqqqq q q q r r r:rUr [rhr-|r*rrr*s0sEsZsos*s"ss s s3t:tTt6ZtttVuKguKuuv-v"@v,cvv vvvvvv ww1wDw`wvw%w w w w wx'"x%Jxpx xxxxxx xyyy !y-yLy"lyyyUyDzZzxzzzzzzz{ {X({${{{ { { {{|0%|<V| || || | |||}}&}.}?}[} u}4} }*}}}~*~D~W~v~F~~Dx)H#0-T.݀! <Ibg! "ʁ *'"Rum}!$ 2 <FMT[ m  ȃ(+%Sل.-8\Å Ʌ ׅKCY^ z׆X#Z~MKRk t~/</lkWXP/ًN;6625ύ9-?Dm> ?";b ܏  *noiy7dB=` GfP=Neow`z+h2A:z\i tJ!tjwJ]N|#_" (4 -"'<AVdn.mF!)5yq>5kY}IGl%/38OL\g>URMUX'E$| uLR ql) xM?90#:{v,r ubec{2O^ 9@}@bE$pavgTK*k7SIZQ6WPcHa;8h&Q~r^mssx(D3] D-VHCXKB[Yp?0SC<1 W/j6&_,Z~;.fF4T1%[+ Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. characters required your account to gain access to this content.(Access expires on a fixed date)(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterAccess DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add-onsAdditional SettingsAddons SettingsAddressAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Registration Redirect URLAllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.AmountApostrophe character is not allowedAssign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlueBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Membership Level of MembersButton Appearance SettingsButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCaptcha validation failed on login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory protection updated!Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.ColorComments not allowed by a non-member.CompanyCompany NameConfirm Account DeletionCountCountryCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDo you want to protect this content?E-mailEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEmailEmail ActivationEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Auto Create Member AccountsEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable Terms and ConditionsEnable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the URL of your privacy policy page.Enter the email address where you want the admin notification email to be sent to.Error occured during PayPal Smart Checkout process.Error! Failed to find a template path for the specified template: Error! Please select a membership level first.Error! The membership level ID (Error! This action (Example Content Protection SettingsExpire AfterExpiredExpiry: FemaleFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryForgot Password?Free Membership Level IDFrom Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGoldHTTP error occured during payment process:Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).HorizontalI accept the I agree to the IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast NameLayoutLeave empty to keep the current passwordLevelLive Client IDLive SecretLogged Out Successfully.Logged in asLogged in as: LoginLogin Page URLLogoutMaleManage Content ProtectionManage Payment ButtonsMediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No items found.No member found.No membership levels found.No user found with that email address.Not SpecifiedNot a Member?Not a member? Notify UserOROptional DetailsPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPassword must contain at least:Password: PayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal Integration SettingsPayPal Smart Checkout Button ConfigurationPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment MethodsPayment Notification Forward URLPayment SettingsPaymentsPendingPhonePillPleasePlease Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePrivacy PolicyPrivacy Policy Page URLPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRectangularRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReturn URLRetype password hereRoleRow IDSandbox Client IDSandbox SecretSave ChangesSave DataSave Membership Level Save Payment DataSearchSearch for a transaction by using email or nameSearch...Security check: captcha validation failed.Select LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button layout.Select button shape.Select button size.Select how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings updated!ShapeShow Adminbar to AdminSilverSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSizeSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateState / Province / RegionStatusStreetStreet AddressStrength indicatorStripe Buy Now Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceTerms and Conditions Page URLTest & Debug SettingsTesting and Debug Related Settings.The category or parent category of this post is protected. You can change the category protection settings from the The selected entry was deleted!This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis field is requiredTitleToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTypeType password hereUpdateUse WordPress TimezoneUser Not Found.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Validating, please waitVerificationVerticalView DocumentationView ProfileWP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Weeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are currently editing: You are logged in as:You are not logged in.You are not logged-in as a memberYou can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You do not have permission to view this content.You must be logged in to upgrade a membership.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will need to re-login since you changed your password.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your profile username: Zipcodecategory protection documentationcategory protection menuclick herehereincompletethis documentationProject-Id-Version: simple membership PO-Revision-Date: 2022-06-29 20:33+0200 Last-Translator: WEN Kunst Language-Team: Language: nl_NL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 2.3 X-Poedit-KeywordsList: __;_e;_ X-Poedit-Basepath: ../classes Plural-Forms: nplurals=2; plural=(n != 1); X-Poedit-SearchPath-0: class.simple-wp-membership.php E-mail instellingen (Bericht Account Upgrade) E-mail instellingen (Bericht Account Upgrade) E-mail instellingen (Bericht Account Upgrade) De invoer bevat een ongeldig teken Wachtwoord komt niet overeen De rest van de inhoud is niet toegankelijk voor jouw lidmaatschapsniveau. tekens jouw account om toegang te krijgen tot deze inhoud.(Toegang vervalt op een vaste datum)(Maak een keuze)(vereist)(Tweemaal, leeglaten om oude wachtwoord te behouden)(tweemaal, vereist)- een getal- een kleine letter- een hoofdletterToegangsduurToegang begintToegang geldig voor/totDuur van toegang moet groter zijn dan 0.Inschrijving start veld is ongeldigAccount verlooptAccount statusAccount StatusDit account is reeds actief. Account is verlopen.Dit account is niet actief.Deze account is in behandeling voor activering.Accountstatusveld is ongeldigActiestatusActivatie is vereistActiefVoeg niveau toeLid toevoegenVoeg een lidmaatschapsniveau toeNieuwe toevoegenVoeg nieuw lid toe Voeg een nieuw lidmaatschap niveau toe Add-Ons/ExtensiesAanvullende instellingenAddon InstellingenAdresE-mailadres beheerderBeheerders notificatie e-mail berichtBeheerders notificatie e-mail onderwerpGeavanceerde instellingenOmleidings-URL na registratieAllesAlle lidmaatschap knoppen die je hebt gemaakt staan hier.Alle betalingen / transacties van je leden zijn hier opgenomen.Lidmaatschap verwijderen toestaanToestaan dat gebruikers hun lidmaatschap kunnen verwijderen.Toegestane tekens zijn: letters, getallen en .-_*@Je bent al lid op dit lidmaatschapsniveau.Reeds bezetAl bezet.BedragApostrof is niet toegestaanGratis lidmaatschap niveau ID toewijzenAuteurAutomatisch verwijderen account in afwachtingBeschikbaarFactuur bedrag per cyclusFactureringscyclusFactureringscyclus TellerZwartBlauwVerander startdatum voor toegang in bulkVerander lidmaatschapsniveau in bulkBulkactiesBulk-update voor lidmaatschapsniveau van ledenInstellingen weergave knopKnop IDKnop Afbeelding URLKnop ShortcodeKnop titelKnop typeKoop NuCaptcha validatie mislukt bij login formulier.Captcha validatie mislukt.CategorieënCategorie IDCategorienaamCategorie AfschermingCategorie afscherming bijgewerkt!Vink aan om de afbeelding te verwijderen. De afbeelding wordt verwijderd nadat je je profiel hebt opgeslagen.Schakel deze optie in om debug logging aan te zetten.PlaatsZoekterm verwijderenKlik hierKlik hier om je betaalde inschrijving te voltooienKlik op de volgende link om je inschrijving te voltooien.KleurJe bent niet ingelogd als lid.BedrijfBedrijfsnaamBevestig verwijdering van accountAantalLandMaak een nieuwe knopEen nieuwe gebruiker maken en toevoegen aan deze site.Maak een nieuw Lidmaatschap niveau.DatumDatumnotatie is niet geldig.Dagen (Toegang vervalt na bepaald aantal dagen)Standaard Lidmaatschap StatusStandaard lidmaatschapsniveauStandaard WordPress RolVerwijderVerwijder AccountVerwijder gebruikersprofielOmschijvingWil je deze inhoud afschermen?E-mailBewerk lidWijzig profielWijzig Profiel pagina URLWijzig gegevens bestaand lid.Wijzig lidmaatschap niveauE-mailE-mail activatieE-mailadresE-mailadres: E-mail inhoudDiverse e-mail instellingenE-mail instellingenE-mail Instellingen (Wachtwoord herstel)E-mail instellingen (herinnering om registratie te voltooien)E-mail instellingen (Registratie voltooid)Overzicht e-mail instellingenE-mail onderwerpDit e-mailadres is ongeldig.E-mailadres is al in gebruik.E-mailadres is niet geldigE-mailadres is vereistZet het automatisch maken van lidmaatschapaccounts aanVerlopen account kan inloggenGratis Lidmaatschap InschakelenInschakelen Meer Tag AfschermingSandbox Testen inschakelenAlgemene voorwaarden inschakelenSchakel deze optie in als je allen de leden van deze site wilt kunnen laten reageren.Schakel deze optie om de beheerder een melding te laten ontvangen wanneer een lid registreert.Schakel deze optie in als je sandbox testbetalingen wilt uitvoeren.In-/uitschakelen registratie voor gratis lidmaatschap niveau. Als je deze optie inschakelt, zorg er dan voor dat je een gratis lidmaatschap niveau ID opgeeft in het veld hieronder.Schakelt "meer" tag bescherming in berichten en pagina's. Alles wat na de Meer tag komt is afgeschermd. Alles voor de meer tag is teaser inhoud.Voer het lidmaatschapsniveau-ID inVoer de URL van je privacy beleidspagina in.Voer het e-mailadres in waar de beheerder notificatie e-mail naar toe moet worden verzonden.Er is een fout opgetreden tijdens PayPal Smart betaling.Fout! Geen template-pad gevonden voor de volgende template: Fout! Selecteer eerst een lidmaatschapsniveau.Fout! Het lidmaadschapsniveau ID (Fout! Deze actie (Voorbeeld inhoudsbeveiligingsinstellingenVervallen naVerlopenVervaldatum: VrouwVoornaamScherm eerst de categorie op je hele site af door 'Algemene Afscherming' te kiezen uit het drop-down vak hieronder. Selecteer vervolgens de categorieën die afgeschermd moeten worden van niet-ingelogde gebruikers.Vaste vervaldatumWachtwoord vergeten?Gratis Lidmaatschap Niveau IDE-mailadres afzenderGeslachtGeslacht veld is ongeldigAlgemene Plugin-instellingen.Algemene beschermingAlgemene instellingenGenereer CodeGenereer 'registratie voltooid'- linkGenereer een Registratie Voltooien linkGenereer de "Geavanceerde Variabelen" Code voor je PayPal knopGoudEr is een HTTPS-fout opgetreden tijdens betaling:Verberg de adminbalkHint: Je wachtwoord moet minstens zeven karakters bevatten. Om het sterker te maken gebruik je hoofdletters en kleine letters, nummers en symbolen zoals ! " ? $ % ^ & ).HorizontaalIk accepteer de Ik ga akkoord met IDAls je net een lidmaatschap betaling hebt gemaakt, dan moet je betaling nog worden verwerkt. probeer het over een paar minuten nog eens. Je ontvangt binnenkort ook een e-mail met de details.Niet ActiefIncompleetOngeldig e-mailadresOngeldige gebruikersnaamOngeldig e-mailadresOngeldige lidmaatschapniveauMeld je aanAanmeld pagina URLGrootLaatste toegangsdatumLaatst ingelogd via IPAchternaamLay-outLeeg laten om het huidige wachtwoord te behoudenNiveauLive Client IDLive SecretJe bent uitgelogd.Ingelogd alsIngelogd als: InloggenLogin pagina URLUitloggenManBeheer InhoudsafschermingBeheer BetaalknoppenMediumLidLedenlijstLidnummerLeden loginProfiel LidLid sindsLid succesvol toegevoegd.Lid sinds veld is ongeldigLedenLidmaatschapLidmaatschap niveauLidmaatschap niveau kon niet worden gevonden.Lidmaatschap niveau met succes aangemaakt.Lidmaatschap niveau IDLidmaatschap Niveau NaamLidmaatschapsniveau met succes bijgewerkt.Lidmaatschap niveau:Lidmaatschapsniveau Lidmaatschap niveausLidmaatschap vernieuwings-URLLidmaatschapsniveau met succes aangemaakt.Lidmaatschapsniveau is bijgewerkt.Verkopersaccount-IDVerkopers-IDMinimaal Maanden (Toegang vervalt na bepaald aantal maanden)Naam bevat ongeldig tekenNooitEen nieuw wachtwoord is naar je e-mailadres verzonden.VolgendeSelecteer vervolgens een bestaand lidmaatschap niveau uit de keuzelijst hieronder en selecteer de categorieën waartoe je toegang wilt geven (voor dat specifieke niveau van lidmaatschap).Geen vervaldatumGeen Vervaldatum (Toegang voor dit niveau vervalt niet, tenzij geannuleerd)Geen Vervaldatum (Toegang voor dit niveau vervalt niet, tenzij geannuleerd)Geen categorie gevonden.Geen items gevonden.Geen lid gevonden.Geen lidmaatschapsniveau gevonden.Geen gebruiker gevonden met dit e-mailadres.Niet gespecificeerdNog geen lid?Nog geen lid? Gebruiker op de hoogte brengenOFOptionele DetailsPagina instellingenWachtwoordWachtwoord leeg of ongeldig.Wachtwoord herstelWachtwoord Reset pagina URLWachtwoord is vereistWachtwoord komt niet overeenWachtwoord moet minimaal bestaan uit:Wachtwoord: PayPal Buy Now Knop ConfiguratiePayPal-tegoedPayPal E-mailPayPal Integratie InstellingenPayPal Smart betalingsknop configuratiePayPal Subscription Knop ConfiguratieTe Betalen BedragBetaalknop IDBetaalknop titelBetalingsvalutaBetalingsmethodenBetalingsmelding doorstuur URLBetaling instellingenBetalingenIn behandelingTelefoonOvaalAlsjeblieftLog opnieuw in om te reageren.Controleer er ten minste één.Corrigeer alsjeblieft het volgendeCorrigeer het volgende.Corrigeer het volgende:Voer twee willekeurige cijfers in zonder spaties (Bijvoorbeeld: 12)Voer twee willekeurige cijfers in zonder spaties (Bijvoorbeeld: 12)*Opnieuw inloggen alsjeblieft.Log in om te reageren.Plugin DocumentatieBericht en pagina afschermingPostcodePrivacy beleidPrivacy beleidspagina URLPrivé sleutelProfielProfiel succesvol bijgewerkt.Profiel succesvol bijgewerkt. Je moet opnieuw inloggen omdat je wachtwoord veranderd is.Beveiligingsinstellingen bijgewerkt!Publieke sleutelOpnieuw proberen indien misluktRechthoekigAanmeldenRegistratieRegistratie pagina URLRegistratie gelukt. Registratie voltooid links verschijnen hieronderDe registratie is afgerond. Je kunt nu bij de site inloggen.Onthoud mijHerhaal WachtwoordResponsiveReset WachtwoordRetour URLVoer hier wachtwoord nogmaals inRolRij IDSandbox Client IDSandbox SecretOpslaanGegevens opslaanBewaar Lidmaatschapsniveau Betalingsgegevens OpslaanZoekenZoekt u een transactie met behulp van e-mail of naamZoeken...Security check: captcha validatie mislukt.Selecteer NiveauSelecteer Type Betaal-knopSelecteer doelniveauSelecteer kleur van knop.Kies knop lay-out.Selecteer de vorm van de knop.Selecteer grootte van knop.Selecteer hoe lang je een lidmaatschap "in afwachting" wilt aanhouden.Selecteer de standaard lidmaatschap status van nieuw geregistreerde gebruikers. Als je leden handmatig wilt goedkeuren, stel dan de status "In afwachting" in.Selecteer het lidmaatschap niveau dat toegang heeft tot deze inhoud:Selecteer het nieuwe lidmaatschapsniveau.E-mail verzenden naar lid wanneer deze via Admin Dashboard is toegevoegdStuur een bericht naar de beheerderStuur ook een Registratie herinnerings e-mailSessie verlopen.Status instellen op actiefStatus instellen op actief en geef een meldingStatus instellen op verlopenStatus instellen op niet-actiefStatus instellen op in afwachtingInstellingenInstellingen bijgewerkt!VormToon Adminbalk aan AdminZilverSimple Membership Afscherm optiesSimple WP Membership::BetalingenSimple WP Lidmaatschap AfschermingSimple WP Membership::Add-onsSimple WP Membership::LedenSimple WP Membership::Lidmaatschap niveausSimple WP Membership::InstellingenGrootteSommige van addon instellingen en opties van de WP Membership plugin worden hier weergegeven (als je ze hebt)Sorry, Nonce verificatie mislukt.Sorry, wachtwoord komt niet overeen.ProvincieProvincieStatusStraatStraatSterkte indicatorStripe Koop Nu-knop configuratieVerzendenNu inschrijvenAbonnee IDAbonnee ID/ReferentieAlgemene voorwaarden pagina URLTest & Debug instellingenTest en Debug gerelateerde instellingen.De categorie of bovenliggende categorie van dit bericht is beschermd. U kunt de instellingen voor categoriebeveiliging wijzigen via de Het geselecteerde item is verwijderd!Deze content kan alleen bekeken worden door leden die lid zijn geworden op of voor Deze inhoud is alleen toegankelijk voor leden.Deze inhoud is niet toegankelijk voor jouw lidmaatschap.Deze documentatieDit veld is verplichtTitelToolsTransactie IDTransactiesProefperiode bedragRekening Details Proefperiode (Laat leeg als je geen proefperiode aanbiedt)Looptijd proefperiodeTypeVoer hier het wachtwoord inBijwerkenGebruik de WordPress TijdzoneGebruiker niet gevonden.Gebruiker is niet ingelogd.GebruikersnaamGebruikersnaam bestaat al.De gebruikersnaam mag alleen het volgende bevatten: letters, cijfers en de tekens .-_*@Gebruikersnaam bevat ongeldig tekenGebruikersnaam is verplichtGebruikersnaam of e-mailadresGebruikersnamen mogen alleen bestaan uit: letters, nummers en de tekens .-_*@Gebruikers moeten dit accepteren voordat ze de registratie kunnen afronden.Controleren, even geduldControleVertikaalBekijk DocumentatieBekijk ProfielWP LidmaatschapWaarschuwing! Simple Membership plugin kan dit inlogverzoek niet verwerken om te voorkomen dat u per ongeluk wordt uitgelogd bij WP Admin.Weken (Toegang vervalt na bepaald aantal weken)Weken (Toegang vervalt na bepaald aantal weken)Wanneer ingeschakeld, kunnen leden met een verlopen account wel inloggen op het systeem, maar geen afgeschermde inhoud zien. Hierdoor kunnen ze gemakkelijk hun account vernieuwen door een betaling te maken.Wordpress toont aan ingelogde gebruikers een adminbalk. Vink dit hokje aan als je de adminbalk in de frontend van je website wilt verbergen.Wordpress-account met e-mailadres bestaat al, maar de gebruikersnaam komt niet overeen.Wordpress-account met gebruikersnaam bestaat al, maar het e-mailadres komt niet overeen.Jaren (Toegang vervalt na bepaald aantal jaren)Je bewerkt momenteel: Je bent ingelogd als:Je bent niet ingelogd.Je bent niet ingelogd als lidMet deze interface kun je een nieuwe betaalknop maken voor je lidmaatschappen.Je kunt een betaling knop bewerken met deze interface.Je kunt een betaling knop bewerken met deze interface Je kunt hier zelf een 'registratie compleet'-link genereren en aan je klant geven als zij de automatische e-mail die hen was toegezonden na betaling hebben gemist.Je hebt geen toestemming om de inhoud te bekijken.Je moet ingelogd zijn op je lidmaatschap te upgraden.Je moet inloggen om de rest van deze inhoud te bekijken. Je moet inloggen om deze inhoud te bekijken. Je wordt automatisch doorverwezen in een paar seconden. Zo niet, %s.Je wachtwoord is gewijzigd en daarom moet je opnieuw inloggen.Jouw account is verlopen. Je huidige wachtwoordJouw lidmaatschapsniveau geeft je geen toegang tot deze inhoud.Je lidmaatschap profiel wordt bijgewerkt met deze betaling.Je gebruikersnaam: Postcodecategorie afscherming bijgewerktcategorie afschermingsmenuklik hierhierincompleetplug-in Documentatielanguages/simple-membership-ja_JA.po000064400000077566147206617610013475 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2015-05-21 01:40-0800\n" "PO-Revision-Date: 2015-05-23 02:12-0800\n" "Last-Translator: Mana \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=1; plural=0;\n" "Language: ja\n" "X-Poedit-SearchPath-0: .\n" #: simple-membership/classes/class.bAccessControl.php:21 #: simple-membership/classes/class.bAccessControl.php:28 #: simple-membership/classes/class.bAccessControl.php:48 msgid "You need to login to view this content. " msgstr "このコンテンツを閲覧するにはログインが必要です。" #: simple-membership/classes/class.bAccessControl.php:35 #: simple-membership/classes/class.bAccessControl.php:39 #: simple-membership/classes/class.bAccessControl.php:54 msgid "You are not allowed to view this content" msgstr "このコンテンツを閲覧するにはログインが必要です。" #: simple-membership/classes/class.bAccessControl.php:72 msgid "You do no have permission to view rest of the content" msgstr "このコンテンツは限定公開されています。" #: simple-membership/classes/class.bAccessControl.php:76 #: simple-membership/classes/class.bAccessControl.php:94 msgid "You need to login to view the rest of the content. " msgstr "このコンテンツを閲覧するにはログインが必要です。" #: simple-membership/classes/class.bAdminRegistration.php:49 msgid "Registration Successful." msgstr "登録が完了しました。" #: simple-membership/classes/class.bAdminRegistration.php:54 #: simple-membership/classes/class.bAdminRegistration.php:89 #: simple-membership/classes/class.bMembershipLevel.php:42 #: simple-membership/classes/class.bMembershipLevel.php:60 msgid "Please correct the following:" msgstr "以下の項目をご確認ください。" #: simple-membership/classes/class.bAjax.php:17 #: simple-membership/classes/class.bAjax.php:28 msgid "Aready taken" msgstr "すでに取得済みです。" #: simple-membership/classes/class.bAjax.php:29 msgid "Available" msgstr "有効" #: simple-membership/classes/class.bAuth.php:46 #: simple-membership/classes/class.bFrontRegistration.php:173 msgid "User Not Found." msgstr "ユーザーが見つかりません。" #: simple-membership/classes/class.bAuth.php:53 msgid "Password Empty or Invalid." msgstr "パスワードが未記入または無効です。" #: simple-membership/classes/class.bAuth.php:76 msgid "Account is inactive." msgstr "アカウントが無効です。" #: simple-membership/classes/class.bAuth.php:93 msgid "Account has expired." msgstr "アカウントが期限切れです。" #: simple-membership/classes/class.bAuth.php:100 msgid "You are logged in as:" msgstr "ログイン名:" #: simple-membership/classes/class.bAuth.php:139 msgid "Logged Out Successfully." msgstr "ログアウトしました。" #: simple-membership/classes/class.bAuth.php:186 msgid "Session Expired." msgstr "セッションが期限切れです。" #: simple-membership/classes/class.bAuth.php:194 msgid "Invalid User Name" msgstr "ユーザー名が無効です。" #: simple-membership/classes/class.bAuth.php:202 msgid "Sorry! Something went wrong" msgstr "不明なエラーが発生しました" #: simple-membership/classes/class.bCategoryList.php:15 #: simple-membership/classes/class.bMembers.php:21 #: simple-membership/classes/class.bMembershipLevels.php:8 #: simple-membership/classes/class.bMembershipLevels.php:17 #: simple-membership/views/add.php:30 #: simple-membership/views/admin_member_form_common_part.php:2 #: simple-membership/views/edit.php:52 msgid "Membership Level" msgstr "会員の種類" #: simple-membership/classes/class.bCategoryList.php:16 #: simple-membership/classes/class.bMembershipLevels.php:9 #: simple-membership/classes/class.simple-wp-membership.php:464 msgid "Membership Levels" msgstr "会員の種類" #: simple-membership/classes/class.bCategoryList.php:29 #: simple-membership/classes/class.bMembers.php:16 #: simple-membership/classes/class.bMembershipLevels.php:16 msgid "ID" msgstr "" #: simple-membership/classes/class.bCategoryList.php:30 msgid "Name" msgstr "名前" #: simple-membership/classes/class.bCategoryList.php:31 msgid "Description" msgstr "概要" #: simple-membership/classes/class.bCategoryList.php:32 msgid "Count" msgstr "数" #: simple-membership/classes/class.bCategoryList.php:63 msgid "Updated! " msgstr "更新" #: simple-membership/classes/class.bForm.php:26 msgid "" "Wordpress account exists with given user name. But given email doesn't match." msgstr "" "入力したユーザー名でWordPressアカウント登録済みですが、メールアドレスと一致し" "ません。" #: simple-membership/classes/class.bForm.php:31 msgid "" "Wordpress account exists with given email. But given user name doesn't match." msgstr "" "入力したメールアドレスでWordPressアカウント登録済みですが、ユーザー名と一致し" "ません。" #: simple-membership/classes/class.bForm.php:40 msgid "User name is required" msgstr "ユーザー名が必須です。" #: simple-membership/classes/class.bForm.php:44 msgid "User name contains invalid character" msgstr "ユーザー名に無効な文字が含まれています。" #: simple-membership/classes/class.bForm.php:52 msgid "User name already exists." msgstr "ユーザー名がすでに登録されています。" #: simple-membership/classes/class.bForm.php:75 msgid "Password is required" msgstr "パスワードが必須です。" #: simple-membership/classes/class.bForm.php:82 msgid "Password mismatch" msgstr "パスワードが一致しません。" #: simple-membership/classes/class.bForm.php:98 msgid "Email is required" msgstr "メールアドレスが必須です。" #: simple-membership/classes/class.bForm.php:102 msgid "Email is invalid" msgstr "メールアドレスが無効です。" #: simple-membership/classes/class.bForm.php:118 msgid "Email is already used." msgstr "メールアドレスがすでに登録済みです。" #: simple-membership/classes/class.bForm.php:184 msgid "Member since field is invalid" msgstr "会員登録日の項目が無効です。" #: simple-membership/classes/class.bForm.php:195 msgid "Access starts field is invalid" msgstr "アクセス開始の項目が無効です。" #: simple-membership/classes/class.bForm.php:205 msgid "Gender field is invalid" msgstr "性別の項目が無効です。" #: simple-membership/classes/class.bForm.php:216 msgid "Account state field is invalid" msgstr "アカウントの状態の項目が無効です。" #: simple-membership/classes/class.bForm.php:223 msgid "Invalid membership level" msgstr "会員レベルが無効です。" #: simple-membership/classes/class.bFrontRegistration.php:61 msgid "Registration Successful. " msgstr "登録が完了しました。" #: simple-membership/classes/class.bFrontRegistration.php:61 #: simple-membership/classes/class.bSettings.php:367 msgid "Please" msgstr "→" #: simple-membership/classes/class.bFrontRegistration.php:61 #: simple-membership/classes/class.bSettings.php:367 #: simple-membership/views/login.php:21 msgid "Login" msgstr "ログイン" #: simple-membership/classes/class.bFrontRegistration.php:72 #: simple-membership/classes/class.bFrontRegistration.php:152 msgid "Please correct the following" msgstr "以下の項目をご確認ください。" #: simple-membership/classes/class.bFrontRegistration.php:106 msgid "Membership Level Couldn't be found." msgstr "会員レベルが見つかりません。" #: simple-membership/classes/class.bFrontRegistration.php:162 msgid "Email Address Not Valid." msgstr "メールアドレスが無効です。" #: simple-membership/classes/class.bFrontRegistration.php:193 msgid "New password has been sent to your email address." msgstr "新しいパスワードがメールアドレス宛てに送信されました。" #: simple-membership/classes/class.bLevelForm.php:47 msgid "Date format is not valid." msgstr "日付フォーマットが無効です。" #: simple-membership/classes/class.bLevelForm.php:54 msgid "Access duration must be > 0." msgstr "有効期限の数値を1以上に設定してください。" #: simple-membership/classes/class.bMembers.php:7 msgid "Member" msgstr "会員" #: simple-membership/classes/class.bMembers.php:8 #: simple-membership/classes/class.simple-wp-membership.php:462 msgid "Members" msgstr "会員" #: simple-membership/classes/class.bMembers.php:17 #: simple-membership/views/add.php:6 simple-membership/views/edit.php:4 msgid "User Name" msgstr "ユーザー名" #: simple-membership/classes/class.bMembers.php:18 #: simple-membership/views/add.php:22 #: simple-membership/views/admin_member_form_common_part.php:15 #: simple-membership/views/edit.php:20 msgid "First Name" msgstr "名前" #: simple-membership/classes/class.bMembers.php:19 #: simple-membership/views/add.php:26 #: simple-membership/views/admin_member_form_common_part.php:19 #: simple-membership/views/edit.php:24 msgid "Last Name" msgstr "苗字" #: simple-membership/classes/class.bMembers.php:20 #: simple-membership/views/add.php:10 simple-membership/views/edit.php:8 msgid "Email" msgstr "メールアドレス" #: simple-membership/classes/class.bMembers.php:22 #: simple-membership/views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "アクセス開始" #: simple-membership/classes/class.bMembers.php:23 msgid "Account State" msgstr "アカウントの状態" #: simple-membership/classes/class.bMembers.php:35 #: simple-membership/classes/class.bMembershipLevels.php:29 msgid "Delete" msgstr "削除" #: simple-membership/classes/class.bMembers.php:101 msgid "No Member found." msgstr "会員が見つかりませんでした。" #: simple-membership/classes/class.bMembershipLevel.php:37 msgid "Membership Level Creation Successful." msgstr "会員レベルを作成しました。" #: simple-membership/classes/class.bMembershipLevel.php:56 msgid "Updated Successfully." msgstr "更新されました。" #: simple-membership/classes/class.bMembershipLevels.php:18 msgid "Role" msgstr "権限" #: simple-membership/classes/class.bMembershipLevels.php:19 msgid "Access Valid For/Until" msgstr "アクセス有効期限" #: simple-membership/classes/class.bSettings.php:30 msgid "Plugin Documentation" msgstr "プラグインのドキュメント" #: simple-membership/classes/class.bSettings.php:32 msgid "General Settings" msgstr "基本設定" #: simple-membership/classes/class.bSettings.php:34 msgid "Enable Free Membership" msgstr "無料会員を有効化" #: simple-membership/classes/class.bSettings.php:37 msgid "Enable/disable registration for free membership level" msgstr "無料会員レベルの有効化/無効化" #: simple-membership/classes/class.bSettings.php:38 msgid "Free Membership Level ID" msgstr "無料会員のレベルID" #: simple-membership/classes/class.bSettings.php:41 msgid "Assign free membership level ID" msgstr "無料会員のレベルIDを指定" #: simple-membership/classes/class.bSettings.php:42 msgid "Enable More Tag Protection" msgstr "Moreタグ以下のコンテンツを限定公開にする" #: simple-membership/classes/class.bSettings.php:45 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "投稿やページの「Moreタグ」による限定公開を有効化・無効化する。Moreタグ以降の" "コンテンツが限定公開されます。" #: simple-membership/classes/class.bSettings.php:46 msgid "Hide Adminbar" msgstr "Adminバーを隠す" #: simple-membership/classes/class.bSettings.php:49 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this box if you want to hide that admin toolbar in the fronend of your site." msgstr "" "ログインした会員にWordPressのadminツールバーが表示されます。Webサイトにツール" "バーを表示したくない場合はチェックしてください。" #: simple-membership/classes/class.bSettings.php:51 msgid "Default Account Status" msgstr "デフォルトアカウントステータス" #: simple-membership/classes/class.bSettings.php:56 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "会員登録したユーザーのデフォルトステータスを選択。新規登録の許可を管理者が手" "動で行う場合は「進行中」を選びます。" #: simple-membership/classes/class.bSettings.php:62 msgid "Pages Settings" msgstr "ページ設定" #: simple-membership/classes/class.bSettings.php:64 msgid "Login Page URL" msgstr "ログインページURL" #: simple-membership/classes/class.bSettings.php:68 msgid "Registration Page URL" msgstr "会員登録ページURL" #: simple-membership/classes/class.bSettings.php:72 msgid "Join Us Page URL" msgstr "会員についての紹介ページURL" #: simple-membership/classes/class.bSettings.php:76 msgid "Edit Profile Page URL" msgstr "プロフィールの編集ページURL" #: simple-membership/classes/class.bSettings.php:80 msgid "Password Reset Page URL" msgstr "パスワードリセットページURL" #: simple-membership/classes/class.bSettings.php:85 msgid "Test & Debug Settings" msgstr "テスト&デバッグ設定" #: simple-membership/classes/class.bSettings.php:91 msgid "Enable Sandbox Testing" msgstr "Sandboxテストの有効化" #: simple-membership/classes/class.bSettings.php:94 msgid "Enable this option if you want to do sandbox payment testing." msgstr "sandboxの決済テストを行う場合は、このオプションを有効化してください。" #: simple-membership/classes/class.bSettings.php:104 msgid "Email Misc. Settings" msgstr "メール設定" #: simple-membership/classes/class.bSettings.php:106 msgid "From Email Address" msgstr "送信元メールアドレス" #: simple-membership/classes/class.bSettings.php:111 msgid "Email Settings (Prompt to Complete Registration )" msgstr "メール設定(登録完了のお知らせ)" #: simple-membership/classes/class.bSettings.php:113 #: simple-membership/classes/class.bSettings.php:124 #: simple-membership/classes/class.bSettings.php:143 msgid "Email Subject" msgstr "メールの題名" #: simple-membership/classes/class.bSettings.php:117 #: simple-membership/classes/class.bSettings.php:128 #: simple-membership/classes/class.bSettings.php:147 msgid "Email Body" msgstr "メールの内容" #: simple-membership/classes/class.bSettings.php:122 msgid "Email Settings (Registration Complete)" msgstr "メール設定(登録完了)" #: simple-membership/classes/class.bSettings.php:132 msgid "Send Notification To Admin" msgstr "管理者に知らせる" #: simple-membership/classes/class.bSettings.php:136 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "管理画面から登録した会員にメールを送る" #: simple-membership/classes/class.bSettings.php:141 msgid " Email Settings (Account Upgrade Notification)" msgstr "メール設定(アップグレードのお知らせ)" #: simple-membership/classes/class.bSettings.php:367 msgid "Not a Member?" msgstr "会員登録はお済みですか?" #: simple-membership/classes/class.bSettings.php:367 #: simple-membership/views/login.php:27 msgid "Join Us" msgstr "会員について" #: simple-membership/classes/class.bUtils.php:63 msgid "Active" msgstr "有効" #: simple-membership/classes/class.bUtils.php:64 msgid "Inactive" msgstr "無効" #: simple-membership/classes/class.bUtils.php:65 msgid "Pending" msgstr "進行中" #: simple-membership/classes/class.bUtils.php:66 msgid "Expired" msgstr "期限切れ" #: simple-membership/classes/class.bUtils.php:251 msgid "Never" msgstr "無し" #: simple-membership/classes/class.miscUtils.php:51 msgid "Registration" msgstr "登録" #: simple-membership/classes/class.miscUtils.php:74 msgid "Member Login" msgstr "会員ログイン" #: simple-membership/classes/class.miscUtils.php:97 msgid "Profile" msgstr "プロフィール" #: simple-membership/classes/class.miscUtils.php:120 msgid "Password Reset" msgstr "パスワードリセット" #: simple-membership/classes/class.simple-wp-membership.php:184 msgid "You are not logged in." msgstr "ログインしていません。" #: simple-membership/classes/class.simple-wp-membership.php:215 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership 限定公開" #: simple-membership/classes/class.simple-wp-membership.php:228 msgid "Simple Membership Protection options" msgstr "Simple Membership 限定公開オプション" #: simple-membership/classes/class.simple-wp-membership.php:244 msgid "Do you want to protect this content?" msgstr "このコンテンツを限定公開にしますか?" #: simple-membership/classes/class.simple-wp-membership.php:249 msgid "Select the membership level that can access this content:" msgstr "このコンテンツを閲覧できる会員レベルを選択してください:" #: simple-membership/classes/class.simple-wp-membership.php:459 msgid "WP Membership" msgstr "" #: simple-membership/classes/class.simple-wp-membership.php:466 msgid "Settings" msgstr "設定" #: simple-membership/classes/class.simple-wp-membership.php:468 msgid "Add-ons" msgstr "アドオン" #: simple-membership/views/add.php:14 simple-membership/views/admin_add.php:19 #: simple-membership/views/admin_edit.php:17 #: simple-membership/views/edit.php:12 simple-membership/views/login.php:11 msgid "Password" msgstr "パスワード" #: simple-membership/views/add.php:18 simple-membership/views/edit.php:16 msgid "Repeat Password" msgstr "パスワード再入力" #: simple-membership/views/add.php:37 msgid "Register" msgstr "登録" #: simple-membership/views/admin_add.php:6 msgid "Add Member" msgstr "会員を追加" #: simple-membership/views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "新規会員を登録し、このサイトに追加する" #: simple-membership/views/admin_add.php:11 msgid "User name" msgstr "ユーザー名" #: simple-membership/views/admin_add.php:11 #: simple-membership/views/admin_add.php:15 #: simple-membership/views/admin_add_level.php:11 #: simple-membership/views/admin_add_level.php:15 #: simple-membership/views/admin_add_level.php:19 #: simple-membership/views/admin_edit.php:9 #: simple-membership/views/admin_edit.php:13 #: simple-membership/views/admin_edit_level.php:10 #: simple-membership/views/admin_edit_level.php:14 #: simple-membership/views/admin_edit_level.php:18 msgid "(required)" msgstr "(必須)" #: simple-membership/views/admin_add.php:15 #: simple-membership/views/admin_edit.php:13 msgid "E-mail" msgstr "メールアドレス" #: simple-membership/views/admin_add.php:19 msgid "(twice, required)" msgstr "(二度, 必須)" #: simple-membership/views/admin_add.php:24 #: simple-membership/views/admin_edit.php:21 msgid "Strength indicator" msgstr "強度メーター" #: simple-membership/views/admin_add.php:25 #: simple-membership/views/admin_edit.php:22 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "ヒント: パスワードは7文字以上。より強いパスワードにするために、大文字・小文字" "を使い、数字や ! \" ? $ % ^ & ) 等の記号の使用を推奨します。" #: simple-membership/views/admin_add.php:29 #: simple-membership/views/admin_edit.php:26 #: simple-membership/views/loggedin.php:7 msgid "Account Status" msgstr "アカウントステータス" #: simple-membership/views/admin_add.php:36 msgid "Add New Member " msgstr "新規会員を追加" #: simple-membership/views/admin_addon_settings.php:2 #: simple-membership/views/admin_payment_settings.php:2 #: simple-membership/views/admin_settings.php:2 #: simple-membership/views/admin_tools_settings.php:2 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::設定" #: simple-membership/views/admin_addon_settings.php:7 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "アドオンの設定やオプションがここに表示されます。" #: simple-membership/views/admin_add_level.php:6 msgid "Create new membership level." msgstr "新規会員レベルを作成" #: simple-membership/views/admin_add_level.php:11 #: simple-membership/views/admin_edit_level.php:10 msgid "Membership Level Name" msgstr "会員レベル名" #: simple-membership/views/admin_add_level.php:15 #: simple-membership/views/admin_edit_level.php:14 msgid "Default WordPress Role" msgstr "WordPressのデフォルトユーザー権限" #: simple-membership/views/admin_add_level.php:19 #: simple-membership/views/admin_edit_level.php:18 msgid "Access Duration" msgstr "有効期限" #: simple-membership/views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "無期限(キャンセルしない限り有効)" #: simple-membership/views/admin_add_level.php:23 #: simple-membership/views/admin_add_level.php:25 #: simple-membership/views/admin_add_level.php:27 #: simple-membership/views/admin_add_level.php:29 #: simple-membership/views/admin_edit_level.php:22 #: simple-membership/views/admin_edit_level.php:25 #: simple-membership/views/admin_edit_level.php:28 #: simple-membership/views/admin_edit_level.php:31 msgid "Expire After" msgstr "有効期限" #: simple-membership/views/admin_add_level.php:24 #: simple-membership/views/admin_edit_level.php:23 msgid "Days (Access expires after given number of days)" msgstr "日(指定した日数で有効)" #: simple-membership/views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "週(指定した数の週の間有効)" #: simple-membership/views/admin_add_level.php:28 #: simple-membership/views/admin_edit_level.php:29 msgid "Months (Access expires after given number of months)" msgstr "ヶ月(指定した数の月の間有効)" #: simple-membership/views/admin_add_level.php:30 #: simple-membership/views/admin_edit_level.php:32 msgid "Years (Access expires after given number of years)" msgstr "年(指定した数の年の間有効)" #: simple-membership/views/admin_add_level.php:31 #: simple-membership/views/admin_edit_level.php:34 msgid "Fixed Date Expiry" msgstr "有効期限を指定" #: simple-membership/views/admin_add_level.php:32 #: simple-membership/views/admin_edit_level.php:35 msgid "(Access expires on a fixed date)" msgstr "(指定した日付まで有効)" #: simple-membership/views/admin_add_level.php:36 msgid "Access to older posts." msgstr "古い記事を閲覧可能にする" #: simple-membership/views/admin_add_level.php:39 msgid "Only allow access to posts published after the user's join date." msgstr "会員が登録した日から後に公開された記事のみ閲覧可能にする" #: simple-membership/views/admin_add_level.php:45 msgid "Add New Membership Level " msgstr "新規会員レベルを作成" #: simple-membership/views/admin_add_ons_page.php:6 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::アドオン" #: simple-membership/views/admin_category_list.php:2 msgid "Simple WP Membership::Categories" msgstr "Simple WP Membership::カテゴリー" #: simple-membership/views/admin_category_list.php:7 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "まず、ドロップダウンメニューから\"General Protection\"を選び、ログインしてい" "ないユーザーに非公開にするカテゴリーを選択します。" #: simple-membership/views/admin_category_list.php:10 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "次にドロップダウンメニューから既存の会員レベルを選択し、その会員レベルのユー" "ザーにのみ公開するカテゴリーを選びます。" #: simple-membership/views/admin_edit.php:5 msgid "Edit Member" msgstr "会員を編集" #: simple-membership/views/admin_edit.php:6 msgid "Edit existing member details." msgstr "既存会員の詳細を編集" #: simple-membership/views/admin_edit.php:9 #: simple-membership/views/login.php:5 msgid "Username" msgstr "ユーザー名" #: simple-membership/views/admin_edit.php:17 msgid "(twice, leave empty to retain old password)" msgstr "(二度入力。同じパスワードを利用する場合は空欄にする。)" #: simple-membership/views/admin_edit.php:33 msgid "Notify User" msgstr "ユーザーに知らせる" #: simple-membership/views/admin_edit.php:40 msgid "Edit User " msgstr "会員を編集" #: simple-membership/views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "会員レベルを編集" #: simple-membership/views/admin_edit_level.php:6 msgid "Edit membership level." msgstr "会員レベルを編集" #: simple-membership/views/admin_edit_level.php:21 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "無期限(キャンセルしない限り有効)" #: simple-membership/views/admin_edit_level.php:26 msgid "Weeks (Access expires after given number of weeks)" msgstr "週(指定した数の週の間有効)" #: simple-membership/views/admin_edit_level.php:40 msgid "Protect Older Posts (optional)" msgstr "古い記事を限定公開にする(オプション)" #: simple-membership/views/admin_edit_level.php:43 msgid "" "Only allow access to protected posts published after the members's join date." msgstr "会員が登録した日から後に公開された記事のみ閲覧可能にする" #: simple-membership/views/admin_edit_level.php:51 msgid "Edit Membership Level " msgstr "会員レベルを編集" #: simple-membership/views/admin_members.php:2 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::会員" #: simple-membership/views/admin_members.php:3 #: simple-membership/views/admin_members.php:19 #: simple-membership/views/admin_membership_levels.php:20 msgid "Add New" msgstr "新規追加" #: simple-membership/views/admin_members.php:9 #: simple-membership/views/admin_membership_levels.php:10 msgid "search" msgstr "検索" #: simple-membership/views/admin_membership_levels.php:2 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::会員レベル" #: simple-membership/views/admin_membership_level_menu.php:2 msgid "Membership level" msgstr "会員レベル" #: simple-membership/views/admin_membership_level_menu.php:3 msgid "Manage Content Production" msgstr "限定公開コンテンツを管理" #: simple-membership/views/admin_membership_level_menu.php:4 msgid "Category Protection" msgstr "カテゴリーの限定公開" #: simple-membership/views/admin_membership_manage.php:17 msgid "Example Content Protection Settings" msgstr "限定公開設定の例" #: simple-membership/views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "性別" #: simple-membership/views/admin_member_form_common_part.php:30 #: simple-membership/views/edit.php:28 msgid "Phone" msgstr "電話番号" #: simple-membership/views/admin_member_form_common_part.php:34 #: simple-membership/views/edit.php:32 msgid "Street" msgstr "番地" #: simple-membership/views/admin_member_form_common_part.php:38 #: simple-membership/views/edit.php:36 msgid "City" msgstr "市町村" #: simple-membership/views/admin_member_form_common_part.php:42 #: simple-membership/views/edit.php:40 msgid "State" msgstr "都道府県" #: simple-membership/views/admin_member_form_common_part.php:46 #: simple-membership/views/edit.php:44 msgid "Zipcode" msgstr "郵便番号" #: simple-membership/views/admin_member_form_common_part.php:50 #: simple-membership/views/edit.php:48 msgid "Country" msgstr "国" #: simple-membership/views/admin_member_form_common_part.php:54 msgid "Company" msgstr "会社" #: simple-membership/views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "会員登録日" #: simple-membership/views/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "PayPal設定" #: simple-membership/views/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "PayPalボタン用の\"Advanced Variables\"コードを生成する" #: simple-membership/views/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "会員レベルIDを入力" #: simple-membership/views/admin_payment_settings.php:41 msgid "Generate Code" msgstr "コードを生成する" #: simple-membership/views/admin_tools_settings.php:9 msgid "Generate a Registration Completion link" msgstr "会員登録完了リンクを生成する" #: simple-membership/views/admin_tools_settings.php:12 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "決済後に自動で送られるメールがなんらかの理由で届かなかった場合、登録完了のリ" "ンクを手動で生成し、ユーザーに送信できます。" #: simple-membership/views/admin_tools_settings.php:17 msgid "Generate Registration Completion Link" msgstr "会員登録完了リンクを生成する" #: simple-membership/views/admin_tools_settings.php:20 msgid "OR" msgstr "または" #: simple-membership/views/admin_tools_settings.php:21 msgid "For All Pending Registrations" msgstr "進行中の会員" #: simple-membership/views/admin_tools_settings.php:24 msgid "Registration Completion Links Will Appear Below:" msgstr "登録完了リンクは以下に表示されます:" #: simple-membership/views/admin_tools_settings.php:31 msgid "Send Registration Reminder Email too" msgstr "会員登録のリマインダーメールも送る" #: simple-membership/views/admin_tools_settings.php:34 msgid "Submit" msgstr "登録" #: simple-membership/views/edit.php:58 msgid "Update" msgstr "更新" #: simple-membership/views/forgot_password.php:5 msgid "Email Address" msgstr "メールアドレス" #: simple-membership/views/forgot_password.php:12 msgid "Reset Password" msgstr "パスワードリセット" #: simple-membership/views/loggedin.php:3 msgid "Logged in as" msgstr "ログイン名:" #: simple-membership/views/loggedin.php:11 msgid "Membership" msgstr "会員" #: simple-membership/views/loggedin.php:15 msgid "Account Expiry" msgstr "アカウントの有効期限" #: simple-membership/views/loggedin.php:19 msgid "Logout" msgstr "ログアウト" #: simple-membership/views/login.php:18 msgid "Remember Me" msgstr "ログイン状態を保存" #: simple-membership/views/login.php:24 msgid "Forgot Password" msgstr "パスワードを忘れた" languages/simple-membership-ar.po000064400000534521147206617610013120 0ustar00#, fuzzy msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-01-27 19:08+0000\n" "PO-Revision-Date: 2024-01-27 21:29+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Loco-Source-Locale: nl_NL\n" "X-Generator: Poedit 3.4.2\n" "X-Poedit-Basepath: ..\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: simple-wp-membership.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "X-Loco-Parser: loco_parse_po\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.min.js\n" #: classes/admin-includes/class.swpm-admin-user-feedback.php:79 msgid "Are you enjoying the Simple Membership plugin?" msgstr "هل تستمتع بالمكون الإضافي للعضوية البسيطة؟" #: classes/admin-includes/class.swpm-admin-user-feedback.php:81 msgid "Yes" msgstr "نعم" #: classes/admin-includes/class.swpm-admin-user-feedback.php:82 msgid "Not Really" msgstr "ليس حقا" #: classes/admin-includes/class.swpm-admin-user-feedback.php:86 msgid "We're sorry to hear you aren't enjoying the Simple Membership plugin. We would love a chance to improve. Could you take a minute and let us know what we can do better by using our contact form? " msgstr "نأسف لسماع أنك لا تستمتع بالمكون الإضافي Simple Membership. " #: classes/admin-includes/class.swpm-admin-user-feedback.php:91 msgid "Give Feedback" msgstr "إبداء الرأي" #: classes/admin-includes/class.swpm-admin-user-feedback.php:96 msgid "No thanks" msgstr "لا شكرا" #: classes/admin-includes/class.swpm-admin-user-feedback.php:101 msgid "That's great! Could you please do me a big favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?" msgstr "هذا عظيم!" #: classes/admin-includes/class.swpm-admin-user-feedback.php:102 msgid "~ Simple Membership Plugin Team" msgstr "~ فريق البرنامج المساعد عضوية بسيطة" #: classes/admin-includes/class.swpm-admin-user-feedback.php:105 msgid "OK, you deserve it" msgstr "حسنا، أنت تستحق ذلك" #: classes/admin-includes/class.swpm-admin-user-feedback.php:107 msgid "Nope, maybe later" msgstr "لا، ربما في وقت لاحق" #: classes/admin-includes/class.swpm-admin-user-feedback.php:108 msgid "I already did" msgstr "لقد فعلت ذلك بالفعل" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Payment Button ID" msgstr "معرف زر الدفع" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 msgid "Payment Button Title" msgstr "عنوان زر الدفع" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:81 msgid "Membership Level ID" msgstr "معرف مستوى العضوية" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:82 msgid "Button Type" msgstr "نوع الزر" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:83 msgid "Button Shortcode" msgstr "زر الرمز القصير" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:98 classes/admin-includes/class.swpm-payments-list-table.php:136 classes/class.swpm-members.php:51 classes/class.swpm-membership-levels.php:36 msgid "Delete" msgstr "حذف" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:135 views/admin_members_list.php:8 views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "تم حذف الإدخال المحدد!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:23 msgid "Simple Membership::Payments" msgstr "عضوية بسيطة::المدفوعات" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 msgid "Transactions" msgstr "المعاملات" #: classes/admin-includes/class.swpm-payments-admin-menu.php:28 msgid "Manage Payment Buttons" msgstr "إدارة أزرار الدفع" #: classes/admin-includes/class.swpm-payments-admin-menu.php:29 views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "إنشاء زر جديد" #: classes/admin-includes/class.swpm-payments-list-table.php:73 msgid "View Profile" msgstr "عرض الملف الشخصي" #: classes/admin-includes/class.swpm-payments-list-table.php:109 msgid "Row ID" msgstr "معرف الصف" #: classes/admin-includes/class.swpm-payments-list-table.php:110 views/forgot_password.php:5 views/payments/admin_add_edit_transaction_manually.php:75 msgid "Email Address" msgstr "عنوان البريد الإلكتروني" #: classes/admin-includes/class.swpm-payments-list-table.php:111 classes/class.swpm-members.php:23 views/add-v2.php:34 views/add.php:34 views/admin_member_form_common_part.php:6 views/edit.php:39 #: views/payments/admin_add_edit_transaction_manually.php:83 msgid "First Name" msgstr "الاسم الأول" #: classes/admin-includes/class.swpm-payments-list-table.php:112 classes/class.swpm-members.php:24 views/add-v2.php:38 views/add.php:38 views/admin_member_form_common_part.php:10 views/edit.php:43 #: views/payments/admin_add_edit_transaction_manually.php:91 msgid "Last Name" msgstr "الاسم الأخير" #: classes/admin-includes/class.swpm-payments-list-table.php:113 msgid "Member Profile" msgstr "ملف العضو" #: classes/admin-includes/class.swpm-payments-list-table.php:114 classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 classes/class.swpm-post-list.php:62 #: views/payments/admin_add_edit_transaction_manually.php:125 msgid "Date" msgstr "التاريخ" #: classes/admin-includes/class.swpm-payments-list-table.php:115 views/payments/admin_add_edit_transaction_manually.php:133 msgid "Transaction ID" msgstr "معرف المعاملة" #: classes/admin-includes/class.swpm-payments-list-table.php:116 views/payments/admin_add_edit_transaction_manually.php:141 msgid "Subscriber ID" msgstr "معرف المشترك" #: classes/admin-includes/class.swpm-payments-list-table.php:117 views/payments/admin_add_edit_transaction_manually.php:117 msgid "Amount" msgstr "المبلغ" #: classes/admin-includes/class.swpm-payments-list-table.php:118 classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:26 classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 classes/class.swpm-post-list.php:20 views/add-v2.php:42 views/add.php:42 views/admin_add.php:37 views/admin_edit.php:74 views/admin_members_list.php:50 views/edit.php:75 #: views/payments/admin_add_edit_transaction_manually.php:107 views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:232 views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:176 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 views/payments/payment-gateway/admin_paypal_subscription_button.php:320 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:198 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:44 views/payments/payment-gateway/admin_stripe_buy_now_button.php:330 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:328 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:108 views/payments/payment-gateway/admin_stripe_subscription_button.php:108 msgid "Membership Level" msgstr "مستوى العضوية" #: classes/admin-includes/class.swpm-payments-list-table.php:119 views/payments/admin_add_edit_transaction_manually.php:149 msgid "Status/Note" msgstr "الحالة/الملاحظة" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:24 classes/class.swpm-members.php:535 msgid "Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again." msgstr "خطأ!" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:68 msgid "No recipient selected. Please select email recipient(s)." msgstr "لم يتم تحديد مستلم." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:75 msgid "The email subject field is empty. Please enter a value in the email subject field." msgstr "حقل موضوع البريد الإلكتروني فارغ." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:81 msgid "The email body field is empty. Please enter a value in the email body field." msgstr "حقل نص البريد الإلكتروني فارغ." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:87 msgid "The recipients list is currently empty. There must be at least one recipient." msgstr "قائمة المستلمين فارغة حاليًا." #: classes/admin-includes/class.swpm-send-direct-email-menu.php:115 msgid "Email Sent Successfully!" msgstr "تم إرسال البريد الإلكتروني بنجاح!" #: classes/admin-includes/class.swpm-send-direct-email-menu.php:120 msgid "The following validation failed. Please correct it and try again." msgstr "فشل التحقق من صحة البيانات المدخلة. يرجى التصحيح وإعادة المحاولة." #: classes/class-swpm-member-subscriptions.php:121 classes/shortcode-related/class.swpm-shortcodes-handler.php:179 msgid "No active subscriptions" msgstr "لا توجد اشتراكات نشطة" #: classes/class-swpm-member-subscriptions.php:132 msgid "Cancel Subscription" msgstr "إلغاء الاشتراك" #: classes/class-swpm-member-subscriptions.php:134 msgid "Are you sure that you want to cancel the subscription?" msgstr "هل أنت متأكد من رغبتك في إلغاء الاشتراك؟" #: classes/class.simple-wp-membership.php:244 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "لا يسمح مسؤول هذا الموقع للمستخدمين بالوصول إلى لوحة تحكم wp." #: classes/class.simple-wp-membership.php:245 msgid "Go back to the home page by " msgstr "الرجوع إلى الصفحة الرئيسية بواسطة" #: classes/class.simple-wp-membership.php:245 msgid "clicking here" msgstr "اضغط هنا" #: classes/class.simple-wp-membership.php:315 msgid "Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: " msgstr "خطأ! " #: classes/class.simple-wp-membership.php:316 msgid "This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system." msgstr "يحدث هذا الخطأ عندما لا يكون لدى حساب العضو حساب مستخدم WP مطابق." #: classes/class.simple-wp-membership.php:317 msgid "Contact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account." msgstr "اتصل بمسؤول الموقع واطلب منهم التحقق من اسم المستخدم الخاص بك في قائمة مستخدمي WP لمعرفة ما حدث مع إدخال مستخدم WP لحسابك." #: classes/class.simple-wp-membership.php:318 msgid "The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away." msgstr "يمكن لمسؤول الموقع تعطيل ميزة Force WP User Synchronization في الإعدادات لتعطيل هذه الميزة وسيختفي هذا الخطأ." #: classes/class.simple-wp-membership.php:319 msgid "You can use the back button of your browser to go back to the site." msgstr "يمكنك استخدام زر الرجوع في متصفحك للعودة إلى الموقع." #: classes/class.simple-wp-membership.php:519 classes/class.swpm-wp-loaded-tasks.php:141 msgid "You are not logged in." msgstr "لم تقم بتسجيل الدخول." #: classes/class.simple-wp-membership.php:607 msgid "You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions." msgstr "تم تمكين وضع الدفع في وضع الحماية في إعدادات البرنامج المساعد." #: classes/class.simple-wp-membership.php:622 msgid "Simple WP Membership Protection" msgstr "حماية بسيطة لعضوية WP" #: classes/class.simple-wp-membership.php:634 msgid "Simple Membership Protection options" msgstr "خيارات بسيطة لحماية العضوية" #: classes/class.simple-wp-membership.php:652 msgid "Do you want to protect this content?" msgstr "هل تريد حماية هذا المحتوى؟" #: classes/class.simple-wp-membership.php:653 msgid "No, Do not protect this content." msgstr "لا، لا تحمي هذا المحتوى." #: classes/class.simple-wp-membership.php:654 msgid "Yes, Protect this content." msgstr "نعم، قم بحماية هذا المحتوى." #: classes/class.simple-wp-membership.php:657 msgid "Select the membership level that can access this content:" msgstr "حدد مستوى العضوية الذي يمكنه الوصول إلى هذا المحتوى:" #: classes/class.simple-wp-membership.php:822 classes/class.simple-wp-membership.php:826 msgid "Validating, please wait" msgstr "التحقق من الصحة، يرجى الانتظار" #: classes/class.simple-wp-membership.php:829 msgid "Invalid email address" msgstr "عنوان البريد الإلكتروني غير صالح" #: classes/class.simple-wp-membership.php:832 msgid "This field is required" msgstr "هذا الحقل مطلوب" #: classes/class.simple-wp-membership.php:835 msgid "Password must contain at least:" msgstr "يجب أن تحتوي كلمة المرور على الأقل على:" #: classes/class.simple-wp-membership.php:835 msgid "- a digit" msgstr "- رقم" #: classes/class.simple-wp-membership.php:835 msgid "- an uppercase letter" msgstr "- حرف كبير" #: classes/class.simple-wp-membership.php:835 msgid "- a lowercase letter" msgstr "- حرف صغير" #: classes/class.simple-wp-membership.php:838 classes/class.swpm-auth.php:390 msgid "Invalid Username" msgstr "اسم مستخدم غير صالح" #: classes/class.simple-wp-membership.php:838 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "أسماء المستخدمين يمكن أن تحتوي فقط على: أحرف وأرقام و.-_*@" #: classes/class.simple-wp-membership.php:841 msgid "Minimum " msgstr "الحد الأدنى" #: classes/class.simple-wp-membership.php:842 msgid " characters required" msgstr "الحروف المطلوبة" #: classes/class.simple-wp-membership.php:845 msgid "Apostrophe character is not allowed" msgstr "حرف الفاصلة العليا غير مسموح به" #: classes/class.simple-wp-membership.php:895 msgid "WP Membership" msgstr "عضوية الفسفور الأبيض" #: classes/class.simple-wp-membership.php:896 classes/class.swpm-members.php:12 classes/class.swpm-members.php:741 msgid "Members" msgstr "الأعضاء" #: classes/class.simple-wp-membership.php:897 classes/class.swpm-category-list.php:20 classes/class.swpm-membership-levels.php:12 classes/class.swpm-membership-levels.php:275 classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "مستويات العضوية" #: classes/class.simple-wp-membership.php:898 msgid "Settings" msgstr "الإعدادات" #: classes/class.simple-wp-membership.php:899 msgid "Payments" msgstr "المدفوعات" #: classes/class.simple-wp-membership.php:900 msgid "Add-ons" msgstr "الإضافات" #: classes/class.swpm-access-control.php:47 classes/class.swpm-access-control.php:120 msgid "You need to be logged in to view this content. " msgstr "يجب عليك تسجيل الدخول لمشاهدة هذا المحتوى." #: classes/class.swpm-access-control.php:56 classes/class.swpm-access-control.php:128 classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "انتهت صلاحية حسابك." #: classes/class.swpm-access-control.php:66 classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "لا يمكن عرض هذا المحتوى إلا من قبل الأعضاء الذين انضموا في أو قبل ذلك" #: classes/class.swpm-access-control.php:79 classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "هذا المحتوى غير مسموح به لمستوى عضويتك." #: classes/class.swpm-access-control.php:204 msgid "You need to be logged in to view the rest of the content. " msgstr "يجب عليك تسجيل الدخول لمشاهدة بقية المحتوى." #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr "باقي المحتوى غير مسموح به لمستوى عضويتك." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "خطأ! " #: classes/class.swpm-admin-registration.php:79 msgid "Member record added successfully." msgstr "تم اضافة سجل العضو بنجاح." #: classes/class.swpm-admin-registration.php:87 classes/class.swpm-admin-registration.php:149 classes/class.swpm-admin-registration.php:187 classes/class.swpm-membership-level.php:84 #: classes/class.swpm-membership-level.php:126 msgid "Please correct the following:" msgstr "يرجى تصحيح ما يلي:" #: classes/class.swpm-admin-registration.php:100 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "خطأ! " #: classes/class.swpm-admin-registration.php:166 msgid "Your current password" msgstr "كلمة المرور الحالية" #: classes/class.swpm-ajax.php:16 classes/class.swpm-ajax.php:36 ipn/swpm-smart-checkout-ipn.php:332 msgid "Nonce check failed. Please reload the page." msgstr "فشل الفحص مرة واحدة. " #: classes/class.swpm-ajax.php:20 msgid "Invalid Email Address" msgstr "عنوان البريد الإلكتروني غير صالح" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:46 msgid "Already taken" msgstr "مأخوذة بالفعل" #: classes/class.swpm-ajax.php:27 classes/class.swpm-ajax.php:47 msgid "Available" msgstr "متاح" #: classes/class.swpm-ajax.php:40 msgid "Name contains invalid character" msgstr "الاسم يحتوي على حرف غير صالح" #: classes/class.swpm-auth.php:51 msgid "Username field cannot be empty." msgstr "لا يمكن أن يكون حقل اسم المستخدم فارغًا." #: classes/class.swpm-auth.php:58 msgid "Password field cannot be empty." msgstr "لا يمكن أن يكون حقل كلمة المرور فارغًا." #: classes/class.swpm-auth.php:76 msgid "Warning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally." msgstr "تحذير! " #: classes/class.swpm-auth.php:77 msgid "Click here" msgstr "اضغط هنا" #: classes/class.swpm-auth.php:77 msgid " to see the profile you are currently logged into in this browser." msgstr "لرؤية الملف الشخصي الذي قمت بتسجيل الدخول إليه حاليًا في هذا المتصفح." #: classes/class.swpm-auth.php:78 msgid "You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member." msgstr "لقد قمت بتسجيل الدخول إلى الموقع كمستخدم ADMIN في هذا المتصفح. " #: classes/class.swpm-auth.php:79 msgid "Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login." msgstr "بدلاً من ذلك، يمكنك استخدام متصفح مختلف (حيث لم تقم بتسجيل الدخول كمسؤول) لاختبار تسجيل دخول العضوية." #: classes/class.swpm-auth.php:80 msgid "Your normal visitors or members will never see this message. This message is ONLY for ADMIN user." msgstr "لن يرى زوارك أو أعضائك العاديون هذه الرسالة أبدًا. " #: classes/class.swpm-auth.php:87 msgid "Captcha validation failed on the login form." msgstr "فشل التحقق من صحة كلمة التحقق في نموذج تسجيل الدخول." #: classes/class.swpm-auth.php:112 msgid "No user found with that username or email." msgstr "لم يتم العثور على مستخدم باسم المستخدم أو البريد الإلكتروني هذا." #: classes/class.swpm-auth.php:119 msgid "Password empty or invalid." msgstr "كلمة المرور فارغة أو غير صالحة." #: classes/class.swpm-auth.php:159 msgid "Account is inactive." msgstr "الحساب غير نشط." #: classes/class.swpm-auth.php:162 classes/class.swpm-auth.php:191 msgid "Account has expired." msgstr "انتهت صلاحية الحساب." #: classes/class.swpm-auth.php:165 msgid "Account is pending." msgstr "الحساب معلق." #: classes/class.swpm-auth.php:175 #, php-format msgid "You need to activate your account. If you didn't receive an email then %s to resend the activation email." msgstr "تحتاج إلى تفعيل حسابك. إذا لم تتلق رسالة بريد إلكتروني، فقم بإعادة إرسال رسالة التنشيط عبر البريد الإلكتروني %s." #: classes/class.swpm-auth.php:175 classes/class.swpm-front-registration.php:587 classes/class.swpm-front-registration.php:652 classes/class.swpm-utils-misc.php:225 msgid "click here" msgstr "اضغط هنا" #: classes/class.swpm-auth.php:199 msgid "You are logged in as:" msgstr "لقد قمت بتسجيل الدخول كـ:" #: classes/class.swpm-auth.php:270 msgid "Logged Out Successfully." msgstr "تم تسجيل الخروج بنجاح." #: classes/class.swpm-auth.php:381 msgid "Session Expired." msgstr "انتهت الجلسة." #: classes/class.swpm-auth.php:398 msgid "Please login again." msgstr "الرجاء تسجيل الدخول مرة أخرى." #: classes/class.swpm-block.php:63 msgid "Prompt visitors to take action with a simple membership payment button." msgstr "مطالبة الزائرين باتخاذ إجراء باستخدام زر بسيط لدفع العضوية." #: classes/class.swpm-block.php:64 msgid "Payment button" msgstr "زر الدفع" #: classes/class.swpm-block.php:105 msgid "Select an item to view" msgstr "اختر عنصرًا لعرضه" #: classes/class.swpm-block.php:116 msgid "This section shows a preview image of a PayPal button to demonstrate where the PayPal button will appear on the front end." msgstr "يعرض هذا القسم صورة معاينة لزر PayPal لتوضيح مكان ظهور زر PayPal في الواجهة الأمامية." #: classes/class.swpm-block.php:162 msgid "(Select Item)" msgstr "(اختر البند)" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "معرف الفئة" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "اسم الفئة" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "نوع الفئة (التصنيف)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "الوصف" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "العد" #: classes/class.swpm-category-list.php:78 msgid "Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again." msgstr "خطأ! " #: classes/class.swpm-category-list.php:99 msgid "Category protection updated!" msgstr "تم تحديث حماية الفئة!" #: classes/class.swpm-category-list.php:137 msgid "No category found." msgstr "لم يتم العثور على فئة." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "الرجاء تسجيل الدخول للتعليق." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "الرجاء تسجيل الدخول للتعليق." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "التعليقات غير مسموح بها من قبل غير الأعضاء." #: classes/class.swpm-form.php:30 msgid "Wordpress account exists with given username. But the given email doesn't match." msgstr "حساب ووردبريس موجود باسم المستخدم المحدد. " #: classes/class.swpm-form.php:31 msgid " Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account." msgstr "استخدم اسم مستخدم مختلفًا لإكمال التسجيل. " #: classes/class.swpm-form.php:37 msgid "Wordpress account exists with given email. But the given username doesn't match." msgstr "حساب ووردبريس موجود بالبريد الإلكتروني المحدد. " #: classes/class.swpm-form.php:38 msgid " Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account." msgstr "استخدم عنوان بريد إلكتروني مختلفًا لإكمال التسجيل. " #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "اسم المستخدم مطلوب" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "اسم المستخدم يحتوي على حرف غير صالح" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "اسم المستخدم موجود بالفعل." #: classes/class.swpm-form.php:81 msgid "Password is required" msgstr "كلمة المرور مطلوبة" #: classes/class.swpm-form.php:88 msgid "Password mismatch" msgstr "عدم تطابق كلمة المرور" #: classes/class.swpm-form.php:99 msgid "Email is required" msgstr "البريد الإلكتروني مطلوب" #: classes/class.swpm-form.php:103 msgid "Email is invalid" msgstr "البريد الإلكتروني غير صالح" #: classes/class.swpm-form.php:119 msgid "Email is already used." msgstr "البريد الإلكتروني مستخدم بالفعل." #: classes/class.swpm-form.php:171 msgid "Member since field is invalid" msgstr "عضو لأن الحقل غير صالح" #: classes/class.swpm-form.php:182 msgid "Access starts field is invalid" msgstr "حقل بدء الوصول غير صالح" #: classes/class.swpm-form.php:192 msgid "Gender field is invalid" msgstr "حقل الجنس غير صالح" #: classes/class.swpm-form.php:203 msgid "Account state field is invalid" msgstr "حقل حالة الحساب غير صالح" #: classes/class.swpm-form.php:210 msgid "Invalid membership level" msgstr "مستوى العضوية غير صالح" #: classes/class.swpm-front-registration.php:25 msgid "You are already logged in. You don't need to create another account. So the registration form is hidden." msgstr "لقد قمت بتسجيل الدخول بالفعل. لا تحتاج إلى إنشاء حساب آخر. " #: classes/class.swpm-front-registration.php:35 msgid "This unique registration link (see the URL in the browser's address bar) has already been used. You don't need to create another account. Log into the existing account to access the protected content." msgstr "تم بالفعل استخدام رابط التسجيل الفريد هذا (راجع عنوان URL في شريط عنوان المتصفح). " #: classes/class.swpm-front-registration.php:44 msgid "This unique registration link (see the URL in the browser's address bar) is invalid. Could not find a match for the given member ID and the security code. Please contact the site administrator." msgstr "رابط التسجيل الفريد هذا (انظر عنوان URL في شريط عنوان المتصفح) غير صالح. " #: classes/class.swpm-front-registration.php:65 msgid "Error! Invalid Request. Could not find a match for the given security code and the user ID." msgstr "خطأ! " #: classes/class.swpm-front-registration.php:77 classes/class.swpm-utils-misc.php:415 views/login.php:61 msgid "Join Us" msgstr "انضم إلينا" #: classes/class.swpm-front-registration.php:79 msgid "Free membership is disabled on this site. Please make a payment from the " msgstr "العضوية المجانية معطلة في هذا الموقع. " #: classes/class.swpm-front-registration.php:81 msgid " page to pay for a premium membership." msgstr "صفحة الدفع مقابل العضوية المميزة." #: classes/class.swpm-front-registration.php:83 msgid "You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration." msgstr "سوف تتلقى رابطًا فريدًا عبر البريد الإلكتروني بعد الدفع. " #: classes/class.swpm-front-registration.php:116 msgid "Security check: captcha validation failed." msgstr "فحص الأمان: فشل التحقق من صحة كلمة التحقق." #: classes/class.swpm-front-registration.php:129 msgid "You must accept the terms and conditions." msgstr "يجب عليك قبول الشروط والأحكام." #: classes/class.swpm-front-registration.php:143 msgid "You must agree to the privacy policy." msgstr "يجب عليك الموافقة على سياسة الخصوصية." #: classes/class.swpm-front-registration.php:186 msgid "You need to confirm your email address. Please check your email and follow instructions to complete your registration." msgstr "أنت بحاجة إلى تأكيد عنوان بريدك الإلكتروني. " #: classes/class.swpm-front-registration.php:199 msgid "Registration Successful. " msgstr "تم التسجيل بنجاح." #: classes/class.swpm-front-registration.php:199 classes/class.swpm-init-time-tasks.php:212 classes/class.swpm-utils-misc.php:414 classes/class.swpm-utils-misc.php:426 msgid "Please" msgstr "من فضلك" #: classes/class.swpm-front-registration.php:199 classes/class.swpm-init-time-tasks.php:212 classes/class.swpm-utils-misc.php:414 views/login.php:55 msgid "Log In" msgstr "تسجيل الدخول" #: classes/class.swpm-front-registration.php:223 msgid "Please correct the following" msgstr "يرجى تصحيح ما يلي" #: classes/class.swpm-front-registration.php:271 msgid "Unexpected Error! Failed to update the member record. Enable the debug log file then try the process again to get more details." msgstr "خطأ غير متوقع! " #: classes/class.swpm-front-registration.php:288 msgid "Membership Level Couldn't be found." msgstr "تعذر العثور على مستوى العضوية." #: classes/class.swpm-front-registration.php:340 msgid "Error! Nonce verification failed for front end profile edit." msgstr "خطأ! " #: classes/class.swpm-front-registration.php:351 msgid "Profile updated successfully." msgstr "تم تحديث الملف الشخصي بنجاح." #: classes/class.swpm-front-registration.php:371 msgid "Profile updated successfully. You will need to re-login since you changed your password." msgstr "تم تحديث الملف الشخصي بنجاح. " #: classes/class.swpm-front-registration.php:401 msgid "Please correct the following." msgstr "يرجى تصحيح ما يلي." #: classes/class.swpm-front-registration.php:417 msgid "Captcha validation failed." msgstr "فشل التحقق من صحة كلمة التحقق." #: classes/class.swpm-front-registration.php:428 msgid "Email address not valid." msgstr "عنوان البريد الإلكتروني غير صالح." #: classes/class.swpm-front-registration.php:444 classes/class.swpm-front-registration.php:538 msgid "No user found with that email address." msgstr "لم يتم العثور على مستخدم بعنوان البريد الإلكتروني هذا." #: classes/class.swpm-front-registration.php:445 classes/class.swpm-front-registration.php:515 classes/class.swpm-front-registration.php:539 msgid "Email Address: " msgstr "عنوان البريد الإلكتروني:" #: classes/class.swpm-front-registration.php:472 msgid "Password reset link has been sent to your email address." msgstr "تم إرسال رابط إعادة تعيين كلمة المرور إلى عنوان بريدك الإلكتروني." #: classes/class.swpm-front-registration.php:490 msgid "New password has been sent to your email address." msgstr "تم إرسال كلمة المرور الجديدة إلى عنوان بريدك الإلكتروني." #: classes/class.swpm-front-registration.php:582 msgid "Can't find member account." msgstr "لا يمكن العثور على حساب العضو." #: classes/class.swpm-front-registration.php:587 classes/class.swpm-front-registration.php:652 msgid "Account already active. " msgstr "الحساب نشط بالفعل." #: classes/class.swpm-front-registration.php:587 classes/class.swpm-front-registration.php:652 msgid " to log in." msgstr "لتسجيل الدخول." #: classes/class.swpm-front-registration.php:595 msgid "Activation code mismatch. Cannot activate this account. Please contact the site admin." msgstr "رمز التفعيل غير متطابق. " #: classes/class.swpm-front-registration.php:609 msgid "Success! Your account has been activated successfully." msgstr "النجاح! " #: classes/class.swpm-front-registration.php:647 msgid "Cannot find member account." msgstr "لا يمكن العثور على حساب العضو." #: classes/class.swpm-front-registration.php:669 msgid "Activation email has been sent. Please check your email and activate your account." msgstr "تم إرسال بريد التنشيط. " #: classes/class.swpm-init-time-tasks.php:141 msgid "Sorry, Nonce verification failed." msgstr "عذرًا، فشل التحقق مرة واحدة." #: classes/class.swpm-init-time-tasks.php:148 msgid "Sorry, Password didn't match." msgstr "عذرًا، كلمة المرور غير متطابقة." #: classes/class.swpm-init-time-tasks.php:174 classes/class.swpm-init-time-tasks.php:193 msgid "Error! Invalid password reset request." msgstr "خطأ! " #: classes/class.swpm-init-time-tasks.php:180 msgid "Error! A password reset request has been submitted but the password reset key is invalid. Please generate a new request." msgstr "خطأ! " #: classes/class.swpm-init-time-tasks.php:187 msgid "Error! Password fields do not match. Please try again." msgstr "خطأ! " #: classes/class.swpm-init-time-tasks.php:212 msgid "Password Reset Successful. " msgstr "تم إعادة تعيين كلمة المرور بنجاح." #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "تنسيق التاريخ غير صالح." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "مدة الوصول يجب أن تكون > 0." #: classes/class.swpm-members.php:11 msgid "Member" msgstr "عضو" #: classes/class.swpm-members.php:21 classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "معرف" #: classes/class.swpm-members.php:22 views/add-v2.php:18 views/add.php:18 views/admin_add.php:12 views/admin_edit.php:19 views/edit.php:23 msgid "Username" msgstr "اسم المستخدم" #: classes/class.swpm-members.php:25 views/add-v2.php:22 views/add.php:22 views/edit.php:27 msgid "Email" msgstr "البريد الإلكتروني" #: classes/class.swpm-members.php:27 views/admin_member_form_common_part.php:2 msgid "Access Starts" msgstr "بدء الوصول" #: classes/class.swpm-members.php:28 views/admin_members_list.php:45 msgid "Account State" msgstr "حالة الحساب" #: classes/class.swpm-members.php:29 msgid "Last Login Date" msgstr "تاريخ آخر تسجيل دخول" #: classes/class.swpm-members.php:52 msgid "Set Status to Active" msgstr "اضبط الحالة على نشطة" #: classes/class.swpm-members.php:53 msgid "Set Status to Active and Notify" msgstr "اضبط الحالة على نشط وقم بالإخطار" #: classes/class.swpm-members.php:54 msgid "Set Status to Inactive" msgstr "اضبط الحالة على غير نشط" #: classes/class.swpm-members.php:55 msgid "Set Status to Pending" msgstr "اضبط الحالة على -معلق-" #: classes/class.swpm-members.php:56 msgid "Set Status to Expired" msgstr "اضبط الحالة على منتهية الصلاحية" #: classes/class.swpm-members.php:84 msgid "incomplete" msgstr "غير مكتمل" #: classes/class.swpm-members.php:227 msgid "No member found." msgstr "لم يتم العثور على أي عضو." #: classes/class.swpm-members.php:384 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "خطأ! " #: classes/class.swpm-members.php:543 classes/class.swpm-members.php:580 msgid "Error! Please select a membership level first." msgstr "خطأ! " #: classes/class.swpm-members.php:560 msgid "Membership level change operation completed successfully." msgstr "تم إتمام عملية تغيير مستوى العضوية بنجاح." #: classes/class.swpm-members.php:572 msgid "Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again." msgstr "خطأ! " #: classes/class.swpm-members.php:597 msgid "Access starts date change operation successfully completed." msgstr "اكتملت عملية تغيير تاريخ بدء الوصول بنجاح." #: classes/class.swpm-members.php:606 msgid "Bulk Update Membership Level of Members" msgstr "التحديث المجمع لمستوى عضوية الأعضاء" #: classes/class.swpm-members.php:609 msgid "You can manually change the membership level of any member by editing the record from the members menu. " msgstr "يمكنك تغيير مستوى العضوية لأي عضو يدويًا عن طريق تحرير السجل من قائمة الأعضاء." #: classes/class.swpm-members.php:610 msgid "You can use the following option to bulk update the membership level of users who belong to the level you select below." msgstr "يمكنك استخدام الخيار التالي لتحديث مستوى عضوية المستخدمين الذين ينتمون إلى المستوى الذي تحدده أدناه بشكل مجمّع." #: classes/class.swpm-members.php:618 classes/class.swpm-members.php:667 msgid "Membership Level: " msgstr "مستوى العضوية:" #: classes/class.swpm-members.php:622 msgid "Select Current Level" msgstr "اختر المستوى الحالي" #: classes/class.swpm-members.php:625 msgid "Select the current membership level (the membership level of all members who are in this level will be updated)." msgstr "حدد مستوى العضوية الحالي (سيتم تحديث مستوى العضوية لجميع الأعضاء الموجودين في هذا المستوى)." #: classes/class.swpm-members.php:631 msgid "Level to Change to: " msgstr "المستوى المراد تغييره إلى:" #: classes/class.swpm-members.php:635 msgid "Select Target Level" msgstr "اختر المستوى المستهدف" #: classes/class.swpm-members.php:638 msgid "Select the new membership level." msgstr "اختر مستوى العضوية الجديد." #: classes/class.swpm-members.php:644 msgid "Bulk Change Membership Level" msgstr "التغيير الجماعي لمستوى العضوية" #: classes/class.swpm-members.php:654 msgid "Bulk Update Access Starts Date of Members" msgstr "تاريخ بدء الوصول إلى التحديث المجمع للأعضاء" #: classes/class.swpm-members.php:658 msgid "" "The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the " "membership level. " msgstr "يتم تعيين تاريخ بدء الوصول للعضو إلى اليوم الذي يقوم فيه المستخدم بالتسجيل. " #: classes/class.swpm-members.php:659 msgid "You can manually set a specific access starts date value of all members who belong to a particular level using the following option." msgstr "يمكنك يدويًا تعيين قيمة تاريخ بدء وصول محددة لجميع الأعضاء الذين ينتمون إلى مستوى معين باستخدام الخيار التالي." #: classes/class.swpm-members.php:670 msgid "Select Level" msgstr "اختر المستوى" #: classes/class.swpm-members.php:673 msgid "Select the Membership level (the access start date of all members who are in this level will be updated)." msgstr "حدد مستوى العضوية (سيتم تحديث تاريخ بدء الوصول لجميع الأعضاء الموجودين في هذا المستوى)." #: classes/class.swpm-members.php:679 msgid "Access Starts Date: " msgstr "تاريخ بدء الوصول:" #: classes/class.swpm-members.php:682 msgid "Specify the Access Starts date value." msgstr "حدد قيمة تاريخ بدء الوصول." #: classes/class.swpm-members.php:688 msgid "Bulk Change Access Starts Date" msgstr "تاريخ بدء الوصول للتغيير المجمع" #: classes/class.swpm-members.php:734 msgid "Simple WP Membership::Members" msgstr "عضوية WP بسيطة::الأعضاء" #: classes/class.swpm-members.php:736 classes/class.swpm-membership-levels.php:234 views/admin_members_list.php:70 msgid "Add New" msgstr "إضافة جديد" #: classes/class.swpm-members.php:743 views/admin_add.php:7 msgid "Add Member" msgstr "إضافة عضو" #: classes/class.swpm-members.php:745 msgid "Bulk Operation" msgstr "التشغيل بالجملة" #: classes/class.swpm-members.php:747 views/admin_send_direct_email_menu.php:114 msgid "Send Direct Email" msgstr "إرسال بريد إلكتروني مباشر" #: classes/class.swpm-membership-level.php:52 msgid "Error! Nonce verification failed for membership level creation from admin end." msgstr "خطأ! " #: classes/class.swpm-membership-level.php:79 msgid "Membership Level Creation Successful." msgstr "تم إنشاء مستوى العضوية بنجاح." #: classes/class.swpm-membership-level.php:95 msgid "Error! Nonce verification failed for membership level edit from admin end." msgstr "خطأ! " #: classes/class.swpm-membership-level.php:121 msgid "Membership Level Updated Successfully." msgstr "تم تحديث مستوى العضوية بنجاح." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "الدور" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "الوصول صالح لـ/حتى" #: classes/class.swpm-membership-levels.php:135 msgid "No membership levels found." msgstr "لم يتم العثور على مستويات العضوية." #: classes/class.swpm-membership-levels.php:205 msgid "Error! Nonce verification failed for membership level delete from admin end." msgstr "خطأ! " #: classes/class.swpm-membership-levels.php:224 views/admin_members_list.php:56 views/payments/admin_all_payment_transactions.php:16 msgid "Search" msgstr "بحث" #: classes/class.swpm-membership-levels.php:271 msgid "Simple WP Membership::Membership Levels" msgstr "عضوية WP بسيطة::مستويات العضوية" #: classes/class.swpm-membership-levels.php:276 msgid "Add Level" msgstr "إضافة مستوى" #: classes/class.swpm-membership-levels.php:277 msgid "Manage Content Protection" msgstr "إدارة حماية المحتوى" #: classes/class.swpm-membership-levels.php:278 msgid "Category Protection" msgstr "حماية الفئة" #: classes/class.swpm-membership-levels.php:279 msgid "Post and Page Protection" msgstr "حماية المشاركات والصفحات" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 classes/class.swpm-post-list.php:63 msgid "Title" msgstr "عنوان" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 classes/class.swpm-post-list.php:64 msgid "Author" msgstr "المؤلف" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 classes/class.swpm-post-list.php:66 msgid "Status" msgstr "الحالة" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "الفئات" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "النوع" #: classes/class.swpm-post-list.php:109 msgid "Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again." msgstr "خطأ! " #: classes/class.swpm-post-list.php:132 msgid "Protection settings updated!" msgstr "تم تحديث إعدادات الحماية!" #: classes/class.swpm-post-list.php:237 msgid "No items found." msgstr "لم يتم العثور على أي عناصر." #: classes/class.swpm-protection.php:23 msgid "The category or parent category of this post is protected. You can change the category protection settings from the " msgstr "الفئة أو الفئة الأصلية لهذا المنشور محمية. " #: classes/class.swpm-protection.php:24 msgid "category protection menu" msgstr "قائمة حماية الفئة" #: classes/class.swpm-self-action-handler.php:164 classes/class.swpm-self-action-handler.php:231 msgid "The email address you used is not whitelisted on this site." msgstr "عنوان البريد الإلكتروني الذي استخدمته غير مدرج في القائمة البيضاء على هذا الموقع." #: classes/class.swpm-self-action-handler.php:175 classes/class.swpm-self-action-handler.php:242 msgid "The email address you used is blacklisted on this site." msgstr "عنوان البريد الإلكتروني الذي استخدمته مدرج في القائمة السوداء على هذا الموقع." #: classes/class.swpm-settings.php:42 classes/class.swpm-settings.php:74 msgid "General Settings" msgstr "الإعدادات العامة" #: classes/class.swpm-settings.php:43 msgid "Payment Settings" msgstr "إعدادات الدفع" #: classes/class.swpm-settings.php:44 msgid "Email Settings" msgstr "إعدادات البريد الإلكتروني" #: classes/class.swpm-settings.php:45 msgid "Tools" msgstr "الأدوات" #: classes/class.swpm-settings.php:46 classes/class.swpm-settings.php:731 msgid "Advanced Settings" msgstr "الإعدادات المتقدمة" #: classes/class.swpm-settings.php:47 msgid "Blacklisting & Whitelisting" msgstr "القائمة السوداء" #: classes/class.swpm-settings.php:48 msgid "Addons Settings" msgstr "" #: classes/class.swpm-settings.php:71 msgid "Plugin Documentation" msgstr "" #: classes/class.swpm-settings.php:77 msgid "Enable Free Membership" msgstr "" #: classes/class.swpm-settings.php:83 msgid "Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below." msgstr "" #: classes/class.swpm-settings.php:88 msgid "Free Membership Level ID" msgstr "" #: classes/class.swpm-settings.php:94 msgid "Assign free membership level ID" msgstr "" #: classes/class.swpm-settings.php:99 msgid "Enable More Tag Protection" msgstr "تمكين المزيد من الحماية للعلامة" #: classes/class.swpm-settings.php:105 msgid "Enables or disables \"more\" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content." msgstr "تمكين أو تعطيل حماية علامة \"المزيد\" في المنشورات والصفحات. " #: classes/class.swpm-settings.php:110 msgid "Hide Adminbar" msgstr "إخفاء شريط الإدارة" #: classes/class.swpm-settings.php:116 msgid "WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site." msgstr "يعرض WordPress شريط أدوات الإدارة لمستخدمي الموقع الذين قاموا بتسجيل الدخول. " #: classes/class.swpm-settings.php:121 msgid "Show Adminbar to Admin" msgstr "إظهار Adminbar للمسؤول" #: classes/class.swpm-settings.php:127 msgid "Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users." msgstr "استخدم هذا الخيار إذا كنت تريد إظهار شريط أدوات الإدارة للمستخدمين الإداريين فقط. " #: classes/class.swpm-settings.php:132 msgid "Disable Access to WP Dashboard" msgstr "تعطيل الوصول إلى لوحة تحكم WP" #: classes/class.swpm-settings.php:138 msgid "WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will prevent any non-admin users from going to the wp dashboard." msgstr "يسمح WordPress لمستخدم wp القياسي بالقدرة على الانتقال إلى عنوان URL الخاص بـ wp-admin والوصول إلى ملفه الشخصي من لوحة تحكم wp. " #: classes/class.swpm-settings.php:144 classes/class.swpm-settings.php:923 msgid "Default Account Status" msgstr "حالة الحساب الافتراضي" #: classes/class.swpm-settings.php:152 msgid "" "Select the default account status for newly registered users. The default value should be active. If you want to manually approve the members then read this documentation to learn more." msgstr "حدد حالة الحساب الافتراضي للمستخدمين المسجلين حديثًا. " #: classes/class.swpm-settings.php:158 msgid "Default Account Status After Payment" msgstr "حالة الحساب الافتراضية بعد الدفع" #: classes/class.swpm-settings.php:166 msgid "The account status that will be applied to the profile after a payment. The default value should be active." msgstr "حالة الحساب التي سيتم تطبيقها على الملف الشخصي بعد الدفع. " #: classes/class.swpm-settings.php:172 msgid "Members Must be Logged in to Comment" msgstr "يجب على الأعضاء تسجيل الدخول للتعليق" #: classes/class.swpm-settings.php:178 msgid "Enable this option if you only want the members of the site to be able to post a comment." msgstr "قم بتمكين هذا الخيار إذا كنت تريد فقط أن يتمكن أعضاء الموقع من نشر تعليق." #: classes/class.swpm-settings.php:184 msgid "Enable Toggle Password Visibility in Login Form" msgstr "تمكين تبديل رؤية كلمة المرور في نموذج تسجيل الدخول" #: classes/class.swpm-settings.php:190 msgid "You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox." msgstr "يمكنك استخدامه لإظهار خيار تبديل رؤية كلمة المرور في نموذج تسجيل الدخول. " #: classes/class.swpm-settings.php:196 msgid "Enable Password Reset Using Link" msgstr "تمكين إعادة تعيين كلمة المرور باستخدام الرابط" #: classes/class.swpm-settings.php:202 msgid "" "You can enable this option if you want to handle the password reset functionality using a reset link that is emailed to the member. Read this documentation to learn more about the password reset function." msgstr "يمكنك تمكين هذا الخيار إذا كنت تريد التعامل مع وظيفة إعادة تعيين كلمة المرور باستخدام رابط إعادة التعيين الذي يتم إرساله عبر البريد الإلكتروني إلى العضو. " #: classes/class.swpm-settings.php:207 msgid "Pages Settings" msgstr "إعدادات الصفحات" #: classes/class.swpm-settings.php:210 msgid "Login Page URL" msgstr "عنوان URL لصفحة تسجيل الدخول" #: classes/class.swpm-settings.php:221 msgid "Registration Page URL" msgstr "عنوان URL لصفحة التسجيل" #: classes/class.swpm-settings.php:232 msgid "Join Us Page URL" msgstr "رابط صفحة الانضمام إلينا" #: classes/class.swpm-settings.php:243 msgid "Edit Profile Page URL" msgstr "تحرير عنوان URL لصفحة الملف الشخصي" #: classes/class.swpm-settings.php:254 msgid "Password Reset Page URL" msgstr "عنوان URL لصفحة إعادة تعيين كلمة المرور" #: classes/class.swpm-settings.php:265 msgid "Optional Pages Settings" msgstr "إعدادات الصفحات الاختيارية" #: classes/class.swpm-settings.php:268 msgid "Thank You Page URL" msgstr "عنوان URL لصفحة الشكر" #: classes/class.swpm-settings.php:274 msgid "" "It is useful to use a thank you page in your payment button configuration. Read this documentation to " "learn more." msgstr "من المفيد استخدام صفحة الشكر في تكوين زر الدفع الخاص بك. " #: classes/class.swpm-settings.php:279 msgid "Test & Debug Settings" msgstr "اختبار" #: classes/class.swpm-settings.php:308 msgid "Check this option to enable debug logging." msgstr "" #: classes/class.swpm-settings.php:309 msgid " This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete." msgstr "" #: classes/class.swpm-settings.php:311 msgid "View general debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:311 classes/class.swpm-settings.php:312 classes/class.swpm-settings.php:313 msgid "here" msgstr "" #: classes/class.swpm-settings.php:312 msgid "View login related debug log file by clicking " msgstr "" #: classes/class.swpm-settings.php:313 msgid "Reset debug log files by clicking " msgstr "" #: classes/class.swpm-settings.php:316 msgid "Enable Debug" msgstr "" #: classes/class.swpm-settings.php:336 msgid "Sandbox or Test Mode Payment Settings" msgstr "" #: classes/class.swpm-settings.php:340 msgid "Enable Sandbox or Test Mode" msgstr "" #: classes/class.swpm-settings.php:346 msgid "Enable this option if you want to do sandbox payment testing." msgstr "قم بتمكين هذا الخيار إذا كنت تريد إجراء اختبار الدفع في وضع الحماية." #: classes/class.swpm-settings.php:355 msgid "PayPal Settings" msgstr "إعدادات باي بال" #: classes/class.swpm-settings.php:359 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "معرف العميل المباشر" #: classes/class.swpm-settings.php:365 msgid "Enter your PayPal Client ID for live mode." msgstr "أدخل معرف عميل PayPal الخاص بك للوضع المباشر." #: classes/class.swpm-settings.php:370 classes/class.swpm-settings.php:455 views/payments/payment-gateway/admin_stripe_buy_now_button.php:136 views/payments/payment-gateway/admin_stripe_buy_now_button.php:420 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:136 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:418 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:180 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:172 msgid "Live Secret Key" msgstr "المفتاح السري المباشر" #: classes/class.swpm-settings.php:376 msgid "Enter your PayPal Secret Key for live mode." msgstr "أدخل مفتاح PayPal السري الخاص بك للوضع المباشر." #: classes/class.swpm-settings.php:381 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "معرف عميل Sandbox" #: classes/class.swpm-settings.php:387 msgid "Enter your PayPal Client ID for sandbox mode." msgstr "أدخل معرف عميل PayPal الخاص بك لوضع الحماية." #: classes/class.swpm-settings.php:392 msgid "Sandbox Secret Key" msgstr "المفتاح السري لصندوق الرمل" #: classes/class.swpm-settings.php:398 msgid "Enter your PayPal Secret Key for sandbox mode." msgstr "أدخل مفتاح PayPal السري الخاص بك لوضع الحماية." #: classes/class.swpm-settings.php:407 msgid "Stripe Global Settings" msgstr "الإعدادات العامة للشريط" #: classes/class.swpm-settings.php:411 msgid "Pre-fill Member Email Address" msgstr "ملء عنوان البريد الإلكتروني للعضو مسبقًا" #: classes/class.swpm-settings.php:417 msgid "Pre-fills the email address of the logged-in member on the Stripe checkout form when possible" msgstr "قم بملء عنوان البريد الإلكتروني للعضو الذي قام بتسجيل الدخول مسبقًا في نموذج الخروج Stripe عندما يكون ذلك ممكنًا" #: classes/class.swpm-settings.php:422 views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 views/payments/payment-gateway/admin_stripe_buy_now_button.php:399 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:115 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:397 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:156 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:148 msgid "Test Publishable Key" msgstr "اختبار المفتاح القابل للنشر" #: classes/class.swpm-settings.php:428 msgid "Stripe API Test publishable key" msgstr "مفتاح قابل للنشر لاختبار Stripe API" #: classes/class.swpm-settings.php:433 views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 views/payments/payment-gateway/admin_stripe_buy_now_button.php:406 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:122 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:404 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:164 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:156 msgid "Test Secret Key" msgstr "اختبار المفتاح السري" #: classes/class.swpm-settings.php:439 msgid "Stripe API Test secret key" msgstr "المفتاح السري لاختبار Stripe API" #: classes/class.swpm-settings.php:444 views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 views/payments/payment-gateway/admin_stripe_buy_now_button.php:413 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:129 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:411 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:172 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:164 msgid "Live Publishable Key" msgstr "مفتاح مباشر قابل للنشر" #: classes/class.swpm-settings.php:450 msgid "Stripe API Live publishable key" msgstr "مفتاح Stripe API Live القابل للنشر" #: classes/class.swpm-settings.php:461 msgid "Stripe API Live secret key" msgstr "المفتاح السري لـ Stripe API Live" #: classes/class.swpm-settings.php:471 msgid "Email Settings Overview" msgstr "نظرة عامة على إعدادات البريد الإلكتروني" #: classes/class.swpm-settings.php:472 msgid "Email Misc. Settings" msgstr "متفرقات البريد الإلكتروني. " #: classes/class.swpm-settings.php:476 msgid "From Email Address" msgstr "من عنوان البريد الإلكتروني" #: classes/class.swpm-settings.php:488 msgid "Allow HTML in Emails" msgstr "السماح بـ HTML في رسائل البريد الإلكتروني" #: classes/class.swpm-settings.php:499 msgid "Email Settings (Prompt to Complete Registration )" msgstr "إعدادات البريد الإلكتروني (المطالبة بإكمال التسجيل)" #: classes/class.swpm-settings.php:502 classes/class.swpm-settings.php:533 classes/class.swpm-settings.php:614 classes/class.swpm-settings.php:639 classes/class.swpm-settings.php:675 classes/class.swpm-settings.php:700 #: views/admin_send_direct_email_menu.php:57 msgid "Email Subject" msgstr "موضوع البريد الإلكتروني" #: classes/class.swpm-settings.php:513 classes/class.swpm-settings.php:544 classes/class.swpm-settings.php:625 classes/class.swpm-settings.php:650 classes/class.swpm-settings.php:686 classes/class.swpm-settings.php:711 #: views/admin_send_direct_email_menu.php:77 msgid "Email Body" msgstr "نص البريد الإلكتروني" #: classes/class.swpm-settings.php:524 msgid "Enter the email address where you want the admin notification email to be sent to." msgstr "أدخل عنوان البريد الإلكتروني الذي تريد إرسال إشعار البريد الإلكتروني إليه." #: classes/class.swpm-settings.php:525 msgid " You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses." msgstr "يمكنك وضع عناوين بريد إلكتروني متعددة مفصولة بفاصلة (،) في الحقل أعلاه لإرسال الإشعار إلى عناوين بريد إلكتروني متعددة." #: classes/class.swpm-settings.php:527 msgid "Enter the subject for the admin notification email." msgstr "أدخل الموضوع لرسالة البريد الإلكتروني لإشعار المسؤول." #: classes/class.swpm-settings.php:528 msgid "This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the \"Send Notification to Admin\" option above." msgstr "سيتم إرسال هذا البريد الإلكتروني إلى المشرف عندما يكمل مستخدم جديد تسجيل العضوية. " #: classes/class.swpm-settings.php:530 msgid "Email Settings (Registration Complete)" msgstr "إعدادات البريد الإلكتروني (اكتمال التسجيل)" #: classes/class.swpm-settings.php:555 msgid "Send Notification to Admin" msgstr "إرسال إشعار إلى المسؤول" #: classes/class.swpm-settings.php:561 msgid "Enable this option if you want the admin to receive a notification when a member registers." msgstr "قم بتمكين هذا الخيار إذا كنت تريد أن يتلقى المسؤول إشعارًا عندما يقوم أحد الأعضاء بالتسجيل." #: classes/class.swpm-settings.php:566 msgid "Admin Email Address" msgstr "عنوان البريد الإلكتروني للمسؤول" #: classes/class.swpm-settings.php:577 msgid "Admin Notification Email Subject" msgstr "موضوع البريد الإلكتروني لإشعار المسؤول" #: classes/class.swpm-settings.php:588 msgid "Admin Notification Email Body" msgstr "نص البريد الإلكتروني لإشعار المسؤول" #: classes/class.swpm-settings.php:600 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "إرسال بريد إلكتروني إلى العضو عند إضافته عبر لوحة تحكم المسؤول" #: classes/class.swpm-settings.php:611 msgid "Email Settings (Password Reset)" msgstr "إعدادات البريد الإلكتروني (إعادة تعيين كلمة المرور)" #: classes/class.swpm-settings.php:636 msgid " Email Settings (Account Upgrade Notification)" msgstr "إعدادات البريد الإلكتروني (إشعار ترقية الحساب)" #: classes/class.swpm-settings.php:661 msgid "Disable Email Notification After Upgrade" msgstr "تعطيل إعلام البريد الإلكتروني بعد الترقية" #: classes/class.swpm-settings.php:667 msgid "You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal." msgstr "يمكنك استخدام هذا الخيار لتعطيل إشعار البريد الإلكتروني الذي يتم إرساله إلى الأعضاء عندما يقومون بالدفع مقابل الترقية أو التجديد." #: classes/class.swpm-settings.php:672 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "إعدادات البريد الإلكتروني (إشعار تنشيط الحساب المجمع)" #: classes/class.swpm-settings.php:697 msgid " Email Settings (Email Activation)" msgstr "إعدادات البريد الإلكتروني (تنشيط البريد الإلكتروني)" #: classes/class.swpm-settings.php:735 msgid "Enable Expired Account Login" msgstr "تمكين تسجيل الدخول إلى الحساب منتهي الصلاحية" #: classes/class.swpm-settings.php:741 msgid "When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment." msgstr "عند التمكين، سيتمكن الأعضاء منتهية الصلاحية من تسجيل الدخول إلى النظام ولكن لن يتمكنوا من عرض أي محتوى محمي. " #: classes/class.swpm-settings.php:747 msgid "Membership Renewal URL" msgstr "عنوان URL لتجديد العضوية" #: classes/class.swpm-settings.php:753 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "يمكنك إنشاء صفحة تجديد لموقعك. " #: classes/class.swpm-settings.php:759 msgid "After Registration Redirect URL" msgstr "بعد إعادة توجيه عنوان URL للتسجيل" #: classes/class.swpm-settings.php:765 msgid "" "You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect." msgstr "يمكنك إدخال عنوان URL هنا لإعادة توجيه الأعضاء إلى هذه الصفحة بعد إرسال نموذج التسجيل. " #: classes/class.swpm-settings.php:771 msgid "Enable Auto Login After Registration" msgstr "تمكين تسجيل الدخول التلقائي بعد التسجيل" #: classes/class.swpm-settings.php:777 msgid "" "Use this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the " "after login redirection. Read this documentation to learn more." msgstr "استخدم هذا الخيار إذا كنت تريد أن يتم تسجيل دخول الأعضاء تلقائيًا إلى موقعك مباشرة بعد إكمال التسجيل. " #: classes/class.swpm-settings.php:783 msgid "Hide Registration Form to Logged Users" msgstr "إخفاء نموذج التسجيل للمستخدمين المسجلين" #: classes/class.swpm-settings.php:789 msgid "Use this option if you want to hide the registration form to the logged-in members. If logged-in members visit the registration page, they will see a message instead of the registration form." msgstr "استخدم هذا الخيار إذا كنت تريد إخفاء نموذج التسجيل للأعضاء الذين قاموا بتسجيل الدخول. " #: classes/class.swpm-settings.php:795 msgid "After Logout Redirect URL" msgstr "عنوان URL لإعادة التوجيه بعد تسجيل الخروج" #: classes/class.swpm-settings.php:801 msgid "You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site." msgstr "يمكنك إدخال عنوان URL هنا لإعادة توجيه الأعضاء إلى هذه الصفحة بعد النقر فوق رابط الخروج لتسجيل الخروج من موقعك." #: classes/class.swpm-settings.php:807 msgid "Logout Member on Browser Close" msgstr "تسجيل خروج العضو من المتصفح، إغلاق" #: classes/class.swpm-settings.php:813 msgid "Enable this option if you want the member to be logged out of the account when he closes the browser." msgstr "قم بتمكين هذا الخيار إذا كنت تريد تسجيل خروج العضو من الحساب عندما يقوم بإغلاق المتصفح." #: classes/class.swpm-settings.php:819 msgid "Allow Account Deletion" msgstr "السماح بحذف الحساب" #: classes/class.swpm-settings.php:825 msgid "Allow users to delete their accounts." msgstr "السماح للمستخدمين بحذف حساباتهم." #: classes/class.swpm-settings.php:831 msgid "Force Strong Password for Members" msgstr "فرض كلمة مرور قوية للأعضاء" #: classes/class.swpm-settings.php:837 msgid "Enable this if you want the users to be forced to use a strong password for their accounts." msgstr "قم بتمكين هذا إذا كنت تريد إجبار المستخدمين على استخدام كلمة مرور قوية لحساباتهم." #: classes/class.swpm-settings.php:843 msgid "Auto Delete Pending Account" msgstr "الحذف التلقائي للحساب المعلق" #: classes/class.swpm-settings.php:855 msgid "Select how long you want to keep \"pending\" account." msgstr "حدد المدة التي تريد الاحتفاظ بالحساب \"المعلق\"." #: classes/class.swpm-settings.php:861 msgid "Admin Dashboard Access Permission" msgstr "إذن الوصول إلى لوحة تحكم المسؤول" #: classes/class.swpm-settings.php:874 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user roles to access the SWPM admin dashboard by selecting a value here. Note that this option " "cannot work if you enabled the \"Disable Access to WP Dashboard\" option in General Settings." msgstr "يمكن الوصول إلى لوحة تحكم مسؤول SWPM للمستخدمين الإداريين فقط (تمامًا مثل أي مكون إضافي آخر). " #: classes/class.swpm-settings.php:880 msgid "Force WP User Synchronization" msgstr "فرض مزامنة مستخدم WP" #: classes/class.swpm-settings.php:886 msgid "Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin." msgstr "قم بتمكين هذا الخيار إذا كنت تريد فرض مزامنة تسجيل دخول العضو مع حساب مستخدم WP. " #: classes/class.swpm-settings.php:891 msgid "Create Member Accounts for New WP Users" msgstr "إنشاء حسابات أعضاء لمستخدمي WP الجدد" #: classes/class.swpm-settings.php:895 msgid "Enable Auto Create Member Accounts" msgstr "تمكين إنشاء حسابات الأعضاء تلقائيًا" #: classes/class.swpm-settings.php:901 msgid "Enable this option to automatically create member accounts for any new WP user that is created by another plugin." msgstr "قم بتمكين هذا الخيار لإنشاء حسابات أعضاء تلقائيًا لأي مستخدم WP جديد يتم إنشاؤه بواسطة مكون إضافي آخر." #: classes/class.swpm-settings.php:908 msgid "Default Membership Level" msgstr "مستوى العضوية الافتراضي" #: classes/class.swpm-settings.php:916 msgid "When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here." msgstr "عند إنشاء حساب عضو تلقائيًا باستخدام هذه الميزة، سيتم تعيين مستوى عضوية المستخدم على المستوى الذي تحدده هنا." #: classes/class.swpm-settings.php:931 msgid "When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here." msgstr "عند إنشاء حساب عضو تلقائيًا باستخدام هذه الميزة، سيتم تعيين حالة حساب العضوية للمستخدم على الحالة التي تحددها هنا." #: classes/class.swpm-settings.php:937 msgid "Payment Notification Forward URL" msgstr "عنوان URL لإعادة توجيه إشعار الدفع" #: classes/class.swpm-settings.php:943 msgid "" "You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further " "processing." msgstr "يمكنك إدخال عنوان URL هنا لإعادة توجيه إشعار الدفع بعد معالجة دفع العضوية بواسطة هذا البرنامج المساعد. " #: classes/class.swpm-settings.php:948 views/add-v2.php:70 views/add.php:68 msgid "Terms and Conditions" msgstr "الشروط والأحكام" #: classes/class.swpm-settings.php:952 msgid "Enable Terms and Conditions" msgstr "تمكين الشروط والأحكام" #: classes/class.swpm-settings.php:958 msgid "Users must accept the terms before they can complete the registration." msgstr "يجب على المستخدمين قبول الشروط قبل أن يتمكنوا من إكمال التسجيل." #: classes/class.swpm-settings.php:963 msgid "Terms and Conditions Page URL" msgstr "عنوان URL لصفحة الشروط والأحكام" #: classes/class.swpm-settings.php:969 msgid "Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field." msgstr "أدخل عنوان URL لصفحة الشروط والأحكام الخاصة بك. " #: classes/class.swpm-settings.php:974 msgid "Enable Privacy Policy" msgstr "تمكين سياسة الخصوصية" #: classes/class.swpm-settings.php:980 msgid "Users must accept it before they can complete the registration." msgstr "يجب على المستخدمين قبوله قبل أن يتمكنوا من إكمال التسجيل." #: classes/class.swpm-settings.php:985 msgid "Privacy Policy Page URL" msgstr "عنوان URL لصفحة سياسة الخصوصية" #: classes/class.swpm-settings.php:991 msgid "Enter the URL of your privacy policy page." msgstr "أدخل عنوان URL لصفحة سياسة الخصوصية الخاصة بك." #: classes/class.swpm-settings.php:1002 msgid "Configure Blacklisting & Whitelisting" msgstr "تكوين القائمة السوداء" #: classes/class.swpm-settings.php:1005 msgid "Whitelisting" msgstr "" #: classes/class.swpm-settings.php:1009 msgid "Enable Whitelisting Feature" msgstr "" #: classes/class.swpm-settings.php:1015 msgid "When enabled, whitelisting feature will be activated." msgstr "" #: classes/class.swpm-settings.php:1021 msgid "Email Address Whitelisting" msgstr "" #: classes/class.swpm-settings.php:1027 msgid "Enter a list (comma separated) of email addresses to whitelist." msgstr "" #: classes/class.swpm-settings.php:1033 msgid "Email Address Pattern Whitelisting" msgstr "" #: classes/class.swpm-settings.php:1039 msgid "Enter a list (comma separated) of email addresses pattern to whitelist. Example value: @gooddomain.com, @gmail.com, @yahoo.com" msgstr "" #: classes/class.swpm-settings.php:1045 msgid "Whitelist Message Customization" msgstr "" #: classes/class.swpm-settings.php:1051 msgid "Enter the message you want to show to the user when the whitelisted condition is met. Leave it empty to use the default message." msgstr "" #: classes/class.swpm-settings.php:1056 msgid "Blacklisting" msgstr "" #: classes/class.swpm-settings.php:1060 msgid "Enable Blacklisting Feature" msgstr "" #: classes/class.swpm-settings.php:1066 msgid "When enabled, blacklisting feature will be activated." msgstr "" #: classes/class.swpm-settings.php:1072 msgid "Email Address Blacklisting" msgstr "القائمة السوداء لعناوين البريد الإلكتروني" #: classes/class.swpm-settings.php:1078 msgid "Enter a list (comma separated) of email addresses to blacklist." msgstr "أدخل قائمة (مفصولة بفواصل) لعناوين البريد الإلكتروني في القائمة السوداء." #: classes/class.swpm-settings.php:1084 msgid "Email Address Pattern Blacklisting" msgstr "القائمة السوداء لنمط عنوان البريد الإلكتروني" #: classes/class.swpm-settings.php:1090 msgid "Enter a list (comma separated) of email addresses pattern to blacklist. Example value: @baddomain.com, @crazydomain.com" msgstr "أدخل قائمة (مفصولة بفواصل) لنمط عناوين البريد الإلكتروني في القائمة السوداء. " #: classes/class.swpm-settings.php:1096 msgid "Blacklist Message Customization" msgstr "تخصيص رسائل القائمة السوداء" #: classes/class.swpm-settings.php:1102 msgid "Enter the message you want to show to the user when the blacklisted condition is met. Leave it empty to use the default message." msgstr "أدخل الرسالة التي تريد إظهارها للمستخدم عند استيفاء شرط القائمة السوداء. " #: classes/class.swpm-settings.php:1201 #, php-format msgid "Visit the %s to read setup and configuration documentation." msgstr "قم بزيارة %s لقراءة وثائق الإعداد والتكوين." #: classes/class.swpm-settings.php:1201 msgid "Simple Membership Plugin Site" msgstr "موقع بسيط للمكونات الإضافية للعضوية" #: classes/class.swpm-settings.php:1202 #, php-format msgid "Please %s if you like the plugin." msgstr "من فضلك %s إذا أعجبك البرنامج الإضافي." #: classes/class.swpm-settings.php:1202 msgid "give us a rating" msgstr "أعطنا تقييمًا" #: classes/class.swpm-settings.php:1220 classes/class.swpm-settings.php:1250 classes/class.swpm-settings.php:1461 classes/class.swpm-settings.php:1489 classes/class.swpm-settings.php:1522 msgid "Settings updated!" msgstr "تم تحديث الإعدادات!" #: classes/class.swpm-settings.php:1225 msgid "General Plugin Settings." msgstr "إعدادات البرنامج المساعد العامة." #: classes/class.swpm-settings.php:1229 msgid "Page Setup and URL Related settings." msgstr "إعداد الصفحة والإعدادات ذات الصلة بعنوان URL." #: classes/class.swpm-settings.php:1232 msgid "The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time." msgstr "الصفحات التالية مطلوبة حتى يعمل البرنامج الإضافي بشكل صحيح. " #: classes/class.swpm-settings.php:1233 msgid " Read this documentation to learn how to recreate them (if needed)." msgstr "اقرأ هذه الوثائق " #: classes/class.swpm-settings.php:1239 msgid "Optional page. It is automatically created by the plugin when you install the plugin for the first time." msgstr "صفحة اختيارية. " #: classes/class.swpm-settings.php:1244 msgid "Testing and Debug Related Settings." msgstr "اختبار وتصحيح الإعدادات ذات الصلة." #: classes/class.swpm-settings.php:1255 msgid "This section allows you to enable/disable sandbox or test mode for the payment buttons." msgstr "يسمح لك هذا القسم بتمكين/تعطيل وضع الحماية أو وضع الاختبار لأزرار الدفع." #: classes/class.swpm-settings.php:1259 msgid "Configure the PayPal API credentials for the new PayPal checkout." msgstr "قم بتكوين بيانات اعتماد PayPal API لعملية الدفع PayPal الجديدة." #: classes/class.swpm-settings.php:1260 msgid "Read this documentation" msgstr "اقرأ هذه الوثائق" #: classes/class.swpm-settings.php:1260 msgid "to learn how to get your PayPal API credentials." msgstr "لمعرفة كيفية الحصول على بيانات اعتماد PayPal API الخاصة بك." #: classes/class.swpm-settings.php:1264 msgid "PayPal Account Setup" msgstr "إعداد حساب PayPal" #: classes/class.swpm-settings.php:1277 msgid "Live Account Connnection Status" msgstr "حالة اتصال الحساب المباشر" #: classes/class.swpm-settings.php:1290 msgid "Live account is connected. If you experience any issues, please disconnect and reconnect." msgstr "الحساب الحقيقي متصل. " #: classes/class.swpm-settings.php:1297 msgid "Live PayPal account is not connected." msgstr "حساب PayPal المباشر غير متصل." #: classes/class.swpm-settings.php:1307 msgid "Sandbox Account Connnection Status" msgstr "حالة اتصال حساب Sandbox" #: classes/class.swpm-settings.php:1320 msgid "Sandbox account is connected. If you experience any issues, please disconnect and reconnect." msgstr "حساب Sandbox متصل. " #: classes/class.swpm-settings.php:1327 msgid "Sandbox PayPal account is not connected." msgstr "حساب Sandbox PayPal غير متصل." #: classes/class.swpm-settings.php:1343 msgid "PayPal Webhooks" msgstr "خطافات الويب الخاصة بـPayPal" #: classes/class.swpm-settings.php:1344 msgid "The PayPal payment buttons that uses the new API require webhooks. The plugin will auto-create the required webhooks when you create a PayPal payment button." msgstr "تتطلب أزرار الدفع PayPal التي تستخدم واجهة برمجة التطبيقات الجديدة خطافات الويب. " #: classes/class.swpm-settings.php:1345 msgid "If you have issues with the webhooks, you can delete it and create again." msgstr "إذا كانت لديك مشكلات في خطافات الويب، فيمكنك حذفها وإنشائها مرة أخرى." #: classes/class.swpm-settings.php:1362 msgid "Live Webhook exists. If you still have issues with webhooks, you can delete it and create again." msgstr "يوجد خطاف ويب مباشر. " #: classes/class.swpm-settings.php:1368 msgid "Live PayPal API credentials are not set. Please set the Live PayPal API credentials first." msgstr "لم يتم تعيين بيانات اعتماد Live PayPal API. " #: classes/class.swpm-settings.php:1372 msgid "No webhook found. Use the following Create Live Webhook link to create a new webhook automatically." msgstr "لم يتم العثور على خطاف ويب. " #: classes/class.swpm-settings.php:1376 msgid "Create Live Webhook" msgstr "إنشاء خطاف ويب مباشر" #: classes/class.swpm-settings.php:1390 msgid "Sandbox Webhook exists. If you still have issues with webhooks, you can delete it and create again." msgstr "Sandbox Webhook موجود. " #: classes/class.swpm-settings.php:1396 msgid "Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal API credentials first." msgstr "لم يتم تعيين بيانات اعتماد Sanbbox PayPal API. " #: classes/class.swpm-settings.php:1400 msgid "No webhook found. Use the following Create Sandbox Webhook link to create a new webhook automatically." msgstr "لم يتم العثور على خطاف ويب. " #: classes/class.swpm-settings.php:1404 msgid "Create Sandbox Webhook" msgstr "إنشاء خطاف ويب Sandbox" #: classes/class.swpm-settings.php:1411 classes/class.swpm-settings.php:1421 msgid "Delete Webhooks" msgstr "حذف Webhooks" #: classes/class.swpm-settings.php:1416 msgid "PayPal API credentials are missing. Please set the PayPal API credentials." msgstr "بيانات اعتماد PayPal API مفقودة. " #: classes/class.swpm-settings.php:1432 msgid "This section allows you to configure Stripe payment related settings." msgstr "يسمح لك هذا القسم بتكوين الإعدادات المتعلقة بالدفع Stripe." #: classes/class.swpm-settings.php:1436 msgid "This email will be sent to your users when they complete the registration and become a member." msgstr "سيتم إرسال هذا البريد الإلكتروني إلى المستخدمين لديك عندما يكملون التسجيل ويصبحوا أعضاء." #: classes/class.swpm-settings.php:1440 msgid "This email will be sent to your users when they use the password reset functionality." msgstr "سيتم إرسال هذا البريد الإلكتروني إلى المستخدمين عند استخدامهم لوظيفة إعادة تعيين كلمة المرور." #: classes/class.swpm-settings.php:1446 msgid "This interface lets you customize the various emails that get sent to your members for various actions. The default settings should be good to get your started." msgstr "تتيح لك هذه الواجهة تخصيص رسائل البريد الإلكتروني المتنوعة التي يتم إرسالها إلى أعضائك لاتخاذ إجراءات مختلفة. " #: classes/class.swpm-settings.php:1450 views/admin_tools_settings.php:88 msgid "This documentation" msgstr "هذه الوثائق" #: classes/class.swpm-settings.php:1451 msgid " explains what email merge tags you can use in the email body field to customize it (if you want to)." msgstr "يشرح علامات دمج البريد الإلكتروني التي يمكنك استخدامها في حقل نص البريد الإلكتروني لتخصيصها (إذا كنت تريد ذلك)." #: classes/class.swpm-settings.php:1464 msgid "Settings in this section apply to all emails." msgstr "تنطبق الإعدادات الموجودة في هذا القسم على كافة رسائل البريد الإلكتروني." #: classes/class.swpm-settings.php:1468 msgid "This email will be sent to your users after account upgrade (when an existing member pays for a new membership level)." msgstr "سيتم إرسال هذا البريد الإلكتروني إلى المستخدمين بعد ترقية الحساب (عندما يدفع العضو الحالي مقابل مستوى العضوية الجديد)." #: classes/class.swpm-settings.php:1472 msgid "This email will be sent to your members when you use the bulk account activate and notify action." msgstr "سيتم إرسال هذا البريد الإلكتروني إلى أعضائك عند استخدام إجراء التنشيط والإخطار للحساب المجمع." #: classes/class.swpm-settings.php:1473 msgid " You cannot use email merge tags in this email. You can only use generic text." msgstr "لا يمكنك استخدام علامات دمج البريد الإلكتروني في هذا البريد الإلكتروني. " #: classes/class.swpm-settings.php:1477 msgid "This email will be sent if Email Activation is enabled for a Membership Level." msgstr "سيتم إرسال هذا البريد الإلكتروني إذا تم تمكين تنشيط البريد الإلكتروني لمستوى العضوية." #: classes/class.swpm-settings.php:1481 msgid "This email will be sent to prompt users to complete registration after the payment." msgstr "سيتم إرسال هذا البريد الإلكتروني لمطالبة المستخدمين بإكمال التسجيل بعد الدفع." #: classes/class.swpm-settings.php:1504 msgid "Note: You cannot enable both the \"Disable Access to WP Dashboard\" and \"Admin Dashboard Access Permission\" options at the same time. Only use one of those options." msgstr "ملاحظة: لا يمكنك تمكين الخيارين \"تعطيل الوصول إلى WP Dashboard\" وخيارات \"إذن الوصول إلى لوحة تحكم المسؤول\" في نفس الوقت. " #: classes/class.swpm-settings.php:1513 msgid "This page allows you to configure some advanced features of the plugin." msgstr "تسمح لك هذه الصفحة بتكوين بعض الميزات المتقدمة للمكون الإضافي." #: classes/class.swpm-settings.php:1527 msgid "This interface lets you configure blacklisting & whitelisting for email addresses. " msgstr "تتيح لك هذه الواجهة تكوين القائمة السوداء" #: classes/class.swpm-settings.php:1528 msgid "This blacklisting & whitelisting documentation" msgstr "" #: classes/class.swpm-settings.php:1529 msgid " explains how to use this feature." msgstr "يشرح كيفية استخدام هذه الميزة." #: classes/class.swpm-settings.php:1535 msgid "This section allows you to configure whitelisting settings." msgstr "يسمح لك هذا القسم بتكوين إعدادات القائمة البيضاء." #: classes/class.swpm-settings.php:1539 msgid "This section allows you to configure blacklisting settings." msgstr "يسمح لك هذا القسم بتكوين إعدادات القائمة السوداء." #: classes/class.swpm-settings.php:1543 msgid "" "This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you " "want them to be recognized in the membership plugin." msgstr "يسمح لك هذا القسم بتكوين الإنشاء التلقائي لحسابات الأعضاء عندما يتم إنشاء سجلات مستخدم WP جديدة بواسطة مكون إضافي آخر. " #: classes/class.swpm-settings.php:1547 msgid "This section allows you to configure terms and conditions and privacy policy that users must accept at registration time." msgstr "يسمح لك هذا القسم بتكوين الشروط والأحكام وسياسة الخصوصية التي يجب على المستخدمين قبولها في وقت التسجيل." #: classes/class.swpm-settings.php:1724 msgid "Simple WP Membership::Settings" msgstr "عضوية WP بسيطة::الإعدادات" #: classes/class.swpm-utils-member.php:36 classes/class.swpm-utils-member.php:44 classes/class.swpm-utils-member.php:52 classes/class.swpm-utils-member.php:62 classes/class.swpm-utils-member.php:68 msgid "User is not logged in." msgstr "لم يتم تسجيل دخول المستخدم." #: classes/class.swpm-utils-member.php:88 msgid "No Expiry" msgstr "لا انتهاء الصلاحية" #: classes/class.swpm-utils-misc.php:57 msgid "Registration" msgstr "التسجيل" #: classes/class.swpm-utils-misc.php:85 msgid "Member Login" msgstr "دخول الأعضاء" #: classes/class.swpm-utils-misc.php:113 classes/shortcode-related/class.swpm-shortcodes-handler.php:150 msgid "Profile" msgstr "الملف الشخصي" #: classes/class.swpm-utils-misc.php:141 msgid "Password Reset" msgstr "إعادة تعيين كلمة المرور" #: classes/class.swpm-utils-misc.php:169 msgid "Thank You" msgstr "شكرا لك" #: classes/class.swpm-utils-misc.php:224 #, php-format msgid "You will be automatically redirected in a few seconds. If not, please %s." msgstr "ستتم إعادة توجيهك تلقائيًا خلال بضع ثوانٍ. إذا لم يكن الأمر كذلك، من فضلك %s." #: classes/class.swpm-utils-misc.php:228 msgid "Action Status" msgstr "حالة الإجراء" #: classes/class.swpm-utils-misc.php:415 msgid "Not a Member?" msgstr "لست عضوا؟" #: classes/class.swpm-utils-misc.php:426 msgid "renew" msgstr "تجديد" #: classes/class.swpm-utils-misc.php:426 msgid " your account to gain access to this content." msgstr "حسابك للوصول إلى هذا المحتوى." #: classes/class.swpm-utils-misc.php:494 classes/class.swpm-utils-misc.php:500 msgid "Error! This action (" msgstr "خطأ! " #: classes/class.swpm-utils-misc.php:972 msgid "(Please Select)" msgstr "(يرجى التحديد)" #: classes/class.swpm-utils-misc.php:988 views/payments/admin_create_payment_buttons.php:34 msgid "PayPal Buy Now" msgstr "باي بال اشتري الآن" #: classes/class.swpm-utils-misc.php:989 views/payments/admin_create_payment_buttons.php:36 msgid "PayPal Subscription" msgstr "اشتراك باي بال" #: classes/class.swpm-utils-misc.php:990 views/payments/admin_create_payment_buttons.php:38 msgid "PayPal Buy Now (New API)" msgstr "PayPal اشتري الآن (واجهة برمجة التطبيقات الجديدة)" #: classes/class.swpm-utils-misc.php:991 views/payments/admin_create_payment_buttons.php:40 msgid "PayPal Subscription (New API)" msgstr "اشتراك PayPal (واجهة برمجة التطبيقات الجديدة)" #: classes/class.swpm-utils-misc.php:992 msgid "PayPal Smart Checkout" msgstr "الدفع الذكي لباي بال" #: classes/class.swpm-utils-misc.php:993 msgid "Stripe Buy Now" msgstr "شريط اشتري الآن" #: classes/class.swpm-utils-misc.php:994 msgid "Stripe Subscription" msgstr "اشتراك الشريط" #: classes/class.swpm-utils-misc.php:995 views/payments/admin_create_payment_buttons.php:44 msgid "Stripe SCA Buy Now" msgstr "Stripe SCA اشتري الآن" #: classes/class.swpm-utils-misc.php:996 views/payments/admin_create_payment_buttons.php:46 msgid "Stripe SCA Subscription" msgstr "اشتراك Stripe SCA" #: classes/class.swpm-utils-misc.php:997 views/payments/admin_create_payment_buttons.php:42 msgid "Braintree Buy Now" msgstr "برينتري اشتري الآن" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "خطأ! " #: classes/class.swpm-utils.php:111 msgid "Never" msgstr "أبدا" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "ذكر" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "أنثى" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "غير محدد" #: classes/class.swpm-utils.php:126 views/admin_members_list.php:33 msgid "Active" msgstr "نشط" #: classes/class.swpm-utils.php:127 views/admin_members_list.php:34 msgid "Inactive" msgstr "غير نشط" #: classes/class.swpm-utils.php:128 views/admin_members_list.php:35 msgid "Activation Required" msgstr "التنشيط مطلوب" #: classes/class.swpm-utils.php:129 views/admin_members_list.php:36 msgid "Pending" msgstr "معلق" #: classes/class.swpm-utils.php:130 views/admin_members_list.php:38 msgid "Expired" msgstr "انتهت صلاحيته" #: classes/class.swpm-utils.php:523 views/account_delete_warning.php:3 views/account_delete_warning.php:16 msgid "Confirm Account Deletion" msgstr "تأكيد حذف الحساب" #: classes/class.swpm-utils.php:534 msgid "Delete Account" msgstr "حذف الحساب" #: classes/class.swpm-utils.php:708 msgid "Member's first name" msgstr "الاسم الأول للعضو" #: classes/class.swpm-utils.php:709 msgid "Member's last name" msgstr "الاسم الأخير للعضو" #: classes/class.swpm-utils.php:710 msgid "Member's email address" msgstr "عنوان البريد الإلكتروني للعضو" #: classes/class.swpm-utils.php:711 views/payments/admin_add_edit_transaction_manually.php:99 msgid "Member ID" msgstr "معرف العضو" #: classes/class.swpm-utils.php:712 msgid "Member's username" msgstr "اسم المستخدم الخاص بالعضو" #: classes/class.swpm-utils.php:713 msgid "Account status" msgstr "حالة الحساب" #: classes/class.swpm-utils.php:714 msgid "Membership level ID" msgstr "معرف مستوى العضوية" #: classes/class.swpm-utils.php:715 msgid "Membership level name" msgstr "اسم مستوى العضوية" #: classes/class.swpm-utils.php:716 msgid "Phone number (if available)" msgstr "رقم الهاتف (إن وجد)" #: classes/class.swpm-utils.php:717 msgid "Member since date" msgstr "عضو منذ تاريخه" #: classes/class.swpm-utils.php:718 msgid "Subscription start date" msgstr "تاريخ بدء الاشتراك" #: classes/class.swpm-utils.php:719 msgid "Company name" msgstr "اسم الشركة" #: classes/class.swpm-utils.php:720 msgid "Member's address" msgstr "عنوان العضو" #: classes/class.swpm-wp-loaded-tasks.php:118 msgid "You will be redirected to the previous page in a few seconds. If not, please click here." msgstr "سيتم إعادة توجيهك إلى الصفحة السابقة في بضع ثوان. " #: classes/class.swpm-wp-loaded-tasks.php:121 msgid "Success!" msgstr "النجاح!" #: classes/class.swpm-wp-loaded-tasks.php:129 msgid "No token provided." msgstr "لم يتم توفير رمز مميز." #: classes/class.swpm-wp-loaded-tasks.php:136 msgid "Nonce check failed." msgstr "فشل التحقق مرة واحدة." #: classes/class.swpm-wp-loaded-tasks.php:165 msgid "Subscription has been cancelled." msgstr "تم إلغاء الاشتراك." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:79 msgid "Your membership profile will be updated to reflect the payment." msgstr "سيتم تحديث ملف تعريف عضويتك ليعكس الدفع." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:80 msgid "Your profile username: " msgstr "اسم المستخدم الخاص بملفك الشخصي:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:99 msgid "Click on the following link to complete the registration." msgstr "اضغط على الرابط التالي لإكمال التسجيل." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:100 msgid "Click here to complete your paid registration" msgstr "انقر هنا لإكمال التسجيل المدفوع" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:107 msgid "If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly." msgstr "إذا كنت قد قمت للتو بسداد دفعة العضوية، فهذا يعني أن دفعتك لم تتم معالجتها بعد. " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:124 msgid "Expiry: " msgstr "انتهاء الصلاحية:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:126 classes/shortcode-related/class.swpm-shortcodes-handler.php:171 classes/shortcode-related/class.swpm-shortcodes-handler.php:253 msgid "You are not logged-in as a member" msgstr "لم يتم تسجيل دخولك كعضو" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:148 msgid "Logged in as: " msgstr "تم تسجيل الدخول باسم:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:151 views/loggedin.php:34 msgid "Logout" msgstr "تسجيل الخروج" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:154 msgid "Login Here" msgstr "سجل الدخول هنا" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:155 msgid "Not a member? " msgstr "لست عضوا؟" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:156 msgid "Join Now" msgstr "انضم الآن" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:233 msgid "Unsubscribe from PayPal" msgstr "إلغاء الاشتراك من باي بال" #. translators: %1$d is error code; %2$s is error message. #: ipn/swpm-smart-checkout-ipn.php:270 ipn/swpm-smart-checkout-ipn.php:297 #, php-format msgid "Error occured during payment verification. Error code: %1$d. Message: %2$s" msgstr "حدث خطأ أثناء التحقق من الدفع. رمز الخطأ: %1$d. الرسالة: %2$s" #. translators: %1$s is expected amount, %2$s is expected currency. #: ipn/swpm-smart-checkout-ipn.php:311 #, php-format msgid "Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s." msgstr "فشل التحقق من الدفع: تم استلام مبلغ غير صالح. المتوقع %1$s %2$s، حصل على %3$s %4$s." #: ipn/swpm-smart-checkout-ipn.php:347 msgid "Empty payment data received." msgstr "تم استلام بيانات الدفع الفارغة." #: ipn/swpm-smart-checkout-ipn.php:407 msgid "IPN product validation failed. Check the debug log for more details." msgstr "فشل التحقق من صحة منتج IPN. " #: lib/paypal/class-swpm-paypal-acdc-related.php:130 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:40 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:228 #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:28 msgid "Empty data received." msgstr "تم استلام بيانات فارغة." #: lib/paypal/class-swpm-paypal-acdc-related.php:152 lib/paypal/class-swpm-paypal-acdc-related.php:227 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:54 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:242 #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:42 msgid "Nonce check failed. The page was most likely cached. Please reload the page and try again." msgstr "فشل التحقق مرة واحدة. " #: lib/paypal/class-swpm-paypal-acdc-related.php:190 msgid "Failed to create the order. Enable the debug logging feature to get more details." msgstr "فشل في إنشاء الأمر. " #: lib/paypal/class-swpm-paypal-acdc-related.php:213 msgid "Empty order ID received." msgstr "تم استلام معرف الطلب الفارغ." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:66 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:254 msgid "Empty transaction data received." msgstr "تم استلام بيانات المعاملة الفارغة." #: lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:324 lib/paypal/class-swpm-paypal-onapprove-ipn-handler.php:325 msgid "subscription created" msgstr "تم إنشاء الاشتراك" #: lib/paypal/class-swpm-paypal-webhook.php:310 msgid "No webhook found. Use the following Create Webhook button to create a new webhook automatically in your PayPal account." msgstr "لم يتم العثور على خطاف ويب. " #: lib/paypal/class-swpm-paypal-webhook.php:314 #, php-format msgid "PayPal API Credential information is missing in settings. Please enter valid PayPal API Credentials in the General Settings tab for %s mode." msgstr "معلومات بيانات اعتماد PayPal API مفقودة في الإعدادات. الرجاء إدخال بيانات اعتماد PayPal API صالحة في علامة التبويب \"الإعدادات العامة\" لوضع %s." #: lib/paypal/class-swpm-paypal-webhook.php:316 #, php-format msgid "Invalid or Missing API Credentials! Check the plugin settings and enter valid API credentials in the PayPal Credentials section for %s mode." msgstr "بيانات اعتماد API غير صالحة أو مفقودة! تحقق من إعدادات البرنامج المساعد وأدخل بيانات اعتماد API صالحة في قسم بيانات اعتماد PayPal لوضع %s." #: lib/paypal/class-swpm-paypal-webhook.php:326 msgid "Webhook exists. If you still have issues with webhooks, you can delete it and create again." msgstr "خطاف الويب موجود. " #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "Invalid webhook URL." msgstr "عنوان URL لخطاف الويب غير صالح." #: lib/paypal/class-swpm-paypal-webhook.php:353 msgid "Note that the PayPal subscription API requires your site to use HTTPS URLs. You must use an SSL certificate with HTTPS URLs to complete the setup of the subscription addon and use it." msgstr "لاحظ أن واجهة برمجة تطبيقات الاشتراك في PayPal تتطلب من موقعك استخدام عناوين URL لـ HTTPS. " #: lib/paypal/class-swpm-paypal-webhook.php:362 msgid "Webhook has been created." msgstr "تم إنشاء خطاف الويب." #: lib/paypal/class-swpm-paypal-webhook.php:386 msgid "Webhook has been deleted." msgstr "تم حذف Webhook." #: lib/paypal/class-swpm-paypal-webhook.php:399 msgid "No webhook found. Nothing to delete." msgstr "لم يتم العثور على خطاف ويب. " #: lib/paypal/class-swpm-paypal-webhook.php:416 msgid "Live mode credentials are not set. Cannot create webhook." msgstr "لم يتم تعيين بيانات اعتماد الوضع المباشر. " #: lib/paypal/class-swpm-paypal-webhook.php:431 msgid "Sandbox mode credentials are not set. Cannot create webhook." msgstr "لم يتم تعيين بيانات اعتماد وضع الحماية. " #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:58 msgid "Failed to generate access token. check debug log file for any error message." msgstr "فشل في إنشاء رمز الوصول. " #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:72 msgid "Failed to get seller API credentials. check debug log file for any error message." msgstr "فشل في الحصول على بيانات اعتماد API للبائع. " #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:94 msgid "Failed to get seller account status. check debug log file for any error message." msgstr "فشل الحصول على حالة حساب البائع. " #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:110 msgid "Your PayPal account is limited so you cannot accept payment. Contact PaPal support or check your PayPal account inbox for an email from PayPal for the next steps to remove the account limit." msgstr "حسابك على PayPal محدود لذا لا يمكنك قبول الدفع. " #: lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php:119 msgid "Your PayPal account email is not confirmed. Check your PayPal account inbox for an email from PayPal to confirm your PayPal email address." msgstr "لم يتم تأكيد البريد الإلكتروني الخاص بحساب PayPal الخاص بك. " #: views/account_delete_warning.php:7 msgid "You are about to delete an account. This will delete user data associated with this account. " msgstr "أنت على وشك حذف حساب. " #: views/account_delete_warning.php:8 msgid "It will also delete the associated WordPress user account." msgstr "سيتم أيضًا حذف حساب مستخدم WordPress المرتبط." #: views/account_delete_warning.php:9 msgid "(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role)." msgstr "(ملاحظة: من أجل السلامة، لا نسمح بحذف أي حساب WordPress مرتبط بدور المسؤول)." #: views/account_delete_warning.php:12 msgid "To proceed with the deletion process, please enter the current password for this user account." msgstr "لمتابعة عملية الحذف، يرجى إدخال كلمة المرور الحالية لحساب المستخدم هذا." #: views/account_delete_warning.php:15 msgid "Password: " msgstr "كلمة المرور:" #: views/add-v2.php:26 views/add.php:26 views/admin_add.php:20 views/admin_edit.php:44 views/edit.php:31 views/login.php:32 msgid "Password" msgstr "كلمة المرور" #: views/add-v2.php:30 views/add.php:30 views/edit.php:35 msgid "Repeat Password" msgstr "كرر كلمة المرور" #: views/add-v2.php:70 views/add.php:68 msgid "I accept the " msgstr "أقبل" #: views/add-v2.php:82 views/add.php:80 msgid "I agree to the " msgstr "أوافق على" #: views/add-v2.php:82 views/add.php:80 msgid "Privacy Policy" msgstr "سياسة الخصوصية" #: views/add-v2.php:92 views/add.php:91 msgid "Register" msgstr "التسجيل" #: views/admin_add.php:8 msgid "Create a brand new user and add it to this site." msgstr "إنشاء مستخدم جديد وإضافته إلى هذا الموقع." #: views/admin_add.php:12 views/admin_add.php:16 views/admin_add_level.php:19 views/admin_add_level.php:23 views/admin_add_level.php:27 views/admin_edit.php:19 views/admin_edit.php:40 views/admin_edit_level.php:25 #: views/admin_edit_level.php:29 views/admin_edit_level.php:33 msgid "(required)" msgstr "(مطلوب)" #: views/admin_add.php:16 views/admin_edit.php:40 msgid "E-mail" msgstr "البريد الإلكتروني" #: views/admin_add.php:20 msgid "(twice, required)" msgstr "(مرتين، مطلوب)" #: views/admin_add.php:25 views/admin_edit.php:48 msgid "Strength indicator" msgstr "مؤشر القوة" #: views/admin_add.php:26 views/admin_edit.php:49 msgid "Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! \" ? $ % ^ & )." msgstr "تلميح: يجب أن تتكون كلمة المرور من سبعة أحرف على الأقل. " #: views/admin_add.php:30 views/admin_edit.php:53 views/loggedin.php:13 msgid "Account Status" msgstr "حالة الحساب" #: views/admin_add.php:49 msgid "Add New Member " msgstr "" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "" #: views/admin_add_level.php:9 msgid "Create new membership level." msgstr "" #: views/admin_add_level.php:10 views/admin_edit_level.php:10 msgid " Refer to " msgstr "" #: views/admin_add_level.php:11 views/admin_edit.php:60 views/admin_edit_level.php:11 msgid "this documentation" msgstr "" #: views/admin_add_level.php:12 views/admin_edit_level.php:12 msgid " to learn how a membership level works." msgstr "" #: views/admin_add_level.php:19 views/admin_edit_level.php:25 msgid "Membership Level Name" msgstr "" #: views/admin_add_level.php:23 views/admin_edit_level.php:29 msgid "Default WordPress Role" msgstr "دور ووردبريس الافتراضي" #: views/admin_add_level.php:27 views/admin_edit_level.php:33 msgid "Access Duration" msgstr "مدة الوصول" #: views/admin_add_level.php:30 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "لا يوجد انتهاء صلاحية (لن تنتهي صلاحية الوصول لهذا المستوى حتى يتم إلغاؤه" #: views/admin_add_level.php:31 views/admin_add_level.php:33 views/admin_add_level.php:35 views/admin_add_level.php:37 views/admin_edit_level.php:37 views/admin_edit_level.php:40 views/admin_edit_level.php:43 #: views/admin_edit_level.php:46 msgid "Expire After" msgstr "انتهاء الصلاحية بعد" #: views/admin_add_level.php:32 views/admin_edit_level.php:38 msgid "Days (Access expires after given number of days)" msgstr "أيام (تنتهي صلاحية الوصول بعد عدد محدد من الأيام)" #: views/admin_add_level.php:34 msgid "Weeks (Access expires after given number of weeks" msgstr "أسابيع (تنتهي صلاحية الوصول بعد عدد محدد من الأسابيع" #: views/admin_add_level.php:36 views/admin_edit_level.php:44 msgid "Months (Access expires after given number of months)" msgstr "أشهر (تنتهي صلاحية الوصول بعد عدد محدد من الأشهر)" #: views/admin_add_level.php:38 views/admin_edit_level.php:47 msgid "Years (Access expires after given number of years)" msgstr "السنوات (ينتهي الوصول بعد عدد معين من السنوات)" #: views/admin_add_level.php:39 views/admin_edit_level.php:49 msgid "Fixed Date Expiry" msgstr "تاريخ انتهاء الصلاحية المحدد" #: views/admin_add_level.php:40 views/admin_edit_level.php:50 msgid "(Access expires on a fixed date)" msgstr "(تنتهي صلاحية الوصول في تاريخ محدد)" #: views/admin_add_level.php:45 views/admin_edit_level.php:55 msgid "Email Activation" msgstr "تفعيل البريد الإلكتروني" #: views/admin_add_level.php:50 msgid "Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. " msgstr "تمكين تنشيط المستخدم الجديد عبر البريد الإلكتروني. " #: views/admin_add_level.php:51 views/admin_edit_level.php:61 msgid "View Documentation" msgstr "عرض الوثائق" #: views/admin_add_level.php:52 views/admin_edit_level.php:62 msgid "Note:" msgstr "ملاحظة:" #: views/admin_add_level.php:52 msgid "If enabled, the member's decryptable password is temporarily stored in the database until the account is activated." msgstr "في حالة التمكين، يتم تخزين كلمة المرور القابلة لفك التشفير للعضو مؤقتًا في قاعدة البيانات حتى يتم تنشيط الحساب." #: views/admin_add_level.php:55 views/admin_edit_level.php:65 msgid "After Email Activation Redirection Page (optional)" msgstr "صفحة إعادة التوجيه بعد تنشيط البريد الإلكتروني (اختياري)" #: views/admin_add_level.php:58 views/admin_edit_level.php:68 msgid "This option can be used to redirect the users to a designated page after they click on the email activation link and activate the account." msgstr "يمكن استخدام هذا الخيار لإعادة توجيه المستخدمين إلى صفحة معينة بعد النقر على رابط تنشيط البريد الإلكتروني وتنشيط الحساب." #: views/admin_add_level.php:65 msgid "Add New Membership Level " msgstr "إضافة مستوى عضوية جديد" #: views/admin_add_ons_page.php:11 msgid "Simple WP Membership::Add-ons" msgstr "عضوية WP بسيطة::إضافات" #: views/admin_addon_settings.php:3 msgid "Some of the simple membership plugin's addon settings and options will be displayed here (if you have them)" msgstr "سيتم عرض بعض إعدادات وخيارات المكونات الإضافية البسيطة للعضوية هنا (إذا كانت لديك)" #: views/admin_addon_settings.php:10 msgid "Save Changes" msgstr "حفظ التغييرات" #: views/admin_category_list.php:5 msgid "First of all, globally protect the category on your site by selecting \"General Protection\" from the drop-down box below and then select the categories that should be protected from non-logged in users." msgstr "أولاً وقبل كل شيء، قم بحماية الفئة الموجودة على موقعك عالميًا عن طريق تحديد \"حماية عامة\" من المربع المنسدل أدناه ثم حدد الفئات التي يجب حمايتها من المستخدمين الذين لم يقوموا بتسجيل الدخول." #: views/admin_category_list.php:8 msgid "Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level)." msgstr "بعد ذلك، حدد مستوى عضوية موجود من المربع المنسدل أدناه ثم حدد الفئات التي تريد منح حق الوصول إليها (لمستوى العضوية المحدد هذا)." #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 views/admin_post_list.php:11 msgid "Read the " msgstr "اقرأ" #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "وثائق حماية الفئة" #: views/admin_category_list.php:11 views/admin_membership_manage.php:5 msgid "to learn more." msgstr "لمعرفة المزيد." #: views/admin_category_list.php:19 views/admin_post_list.php:32 msgid "Membership Level:" msgstr "مستوى العضوية:" #: views/admin_category_list.php:21 views/admin_post_list.php:34 msgid "General Protection" msgstr "الحماية العامة" #: views/admin_category_list.php:26 views/admin_post_list.php:39 views/edit.php:84 msgid "Update" msgstr "تحديث" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "تحرير العضو" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "تحرير تفاصيل الأعضاء الموجودة." #: views/admin_edit.php:14 msgid " You are currently editing member with member ID: " msgstr "تقوم حاليًا بتحرير العضو بمعرف العضو:" #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(مرتين، اتركه فارغًا للاحتفاظ بكلمة المرور القديمة)" #: views/admin_edit.php:59 msgid "This is the member's account status. If you want to manually activate an expired member's account then read" msgstr "هذه هي حالة حساب العضو. " #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr "لمعرفة كيفية القيام بذلك." #: views/admin_edit.php:66 msgid "Notify User" msgstr "إعلام المستخدم" #: views/admin_edit.php:69 msgid "You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below)." msgstr "يمكنك استخدام هذا الخيار لإرسال إشعار سريع بالبريد الإلكتروني إلى هذا العضو (سيتم إرسال البريد الإلكتروني عندما تضغط على زر الحفظ أدناه)." #: views/admin_edit.php:103 msgid "Subscriber ID/Reference" msgstr "معرف/مرجع المشترك" #: views/admin_edit.php:107 msgid "Expiry Date" msgstr "تاريخ انتهاء الصلاحية" #: views/admin_edit.php:115 msgid "This is calculated based on the current membership level assigned to this member and the expiry condition that you have set for that membership level." msgstr "يتم حساب ذلك بناءً على مستوى العضوية الحالي المخصص لهذا العضو وشرط انتهاء الصلاحية الذي حددته لمستوى العضوية هذا." #: views/admin_edit.php:116 msgid " To learn more about membership level configuration, refer to " msgstr "لمعرفة المزيد حول تكوين مستوى العضوية، راجع" #: views/admin_edit.php:117 msgid "this documentation." msgstr "هذه الوثائق." #: views/admin_edit.php:123 msgid "Last Accessed Date" msgstr "تاريخ آخر دخول" #: views/admin_edit.php:126 views/admin_edit.php:133 msgid "This value gets updated when this member logs into your site." msgstr "يتم تحديث هذه القيمة عندما يقوم هذا العضو بتسجيل الدخول إلى موقعك." #: views/admin_edit.php:130 msgid "Last Accessed From IP" msgstr "آخر دخول من IP" #: views/admin_edit.php:138 msgid "System-related Additional Data" msgstr "بيانات إضافية متعلقة بالنظام" #: views/admin_edit.php:141 msgid "The plugin saves this information for system purposes for some profiles. There is no need for you to take any action regarding this value." msgstr "يقوم البرنامج المساعد بحفظ هذه المعلومات لأغراض النظام لبعض الملفات الشخصية. " #: views/admin_edit.php:150 msgid "Save Data" msgstr "حفظ البيانات" #: views/admin_edit.php:155 msgid "Delete User Profile" msgstr "حذف ملف تعريف المستخدم" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "تعديل مستوى العضوية" #: views/admin_edit_level.php:9 msgid "You can edit details of a selected membership level from this interface. " msgstr "يمكنك تعديل تفاصيل مستوى العضوية المحدد من هذه الواجهة." #: views/admin_edit_level.php:17 msgid "You are currently editing: " msgstr "أنت تقوم حاليا بتحرير:" #: views/admin_edit_level.php:19 msgid " (Level ID: " msgstr "(معرف المستوى:" #: views/admin_edit_level.php:36 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "لا يوجد انتهاء صلاحية (لن تنتهي صلاحية الوصول لهذا المستوى حتى يتم إلغاؤه)" #: views/admin_edit_level.php:41 msgid "Weeks (Access expires after given number of weeks)" msgstr "أسابيع (تنتهي صلاحية الوصول بعد عدد محدد من الأسابيع)" #: views/admin_edit_level.php:60 msgid "Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership." msgstr "تفعيل تفعيل المستخدم الجديد عبر البريد الإلكتروني. " #: views/admin_edit_level.php:62 msgid "If enabled, decryptable member password is temporarily stored in the database until the account is activated." msgstr "في حالة التمكين، يتم تخزين كلمة مرور العضو القابلة لفك التشفير مؤقتًا في قاعدة البيانات حتى يتم تنشيط الحساب." #: views/admin_edit_level.php:75 msgid "Save Membership Level " msgstr "حفظ مستوى العضوية" #: views/admin_member_form_common_part.php:14 msgid "Gender" msgstr "الجنس" #: views/admin_member_form_common_part.php:21 views/edit.php:47 msgid "Phone" msgstr "الهاتف" #: views/admin_member_form_common_part.php:25 views/edit.php:51 msgid "Street" msgstr "شارع" #: views/admin_member_form_common_part.php:29 views/edit.php:55 msgid "City" msgstr "المدينة" #: views/admin_member_form_common_part.php:33 views/edit.php:59 msgid "State" msgstr "الدولة" #: views/admin_member_form_common_part.php:37 views/edit.php:63 msgid "Zipcode" msgstr "الرمز البريدي" #: views/admin_member_form_common_part.php:41 views/edit.php:67 msgid "Country" msgstr "البلد" #: views/admin_member_form_common_part.php:45 msgid "Company" msgstr "الشركة" #: views/admin_member_form_common_part.php:49 msgid "Member Since" msgstr "عضو منذ" #: views/admin_members_list.php:32 msgid "All" msgstr "الكل" #: views/admin_members_list.php:37 views/admin_members_list.php:47 msgid "Incomplete" msgstr "غير مكتمل" #: views/admin_membership_manage.php:5 msgid "content protection documentation" msgstr "وثائق حماية المحتوى" #: views/admin_membership_manage.php:7 msgid "How to Apply Content Protection" msgstr "كيفية تطبيق حماية المحتوى" #: views/admin_membership_manage.php:9 msgid "Take the following steps to apply protection to your content so only members can have access to it." msgstr "قم باتخاذ الخطوات التالية لتطبيق الحماية على المحتوى الخاص بك حتى يتمكن الأعضاء فقط من الوصول إليه." #: views/admin_membership_manage.php:12 msgid "Edit the Post or Page that you want to protect in WordPress editor." msgstr "قم بتحرير المنشور أو الصفحة التي تريد حمايتها في محرر WordPress." #: views/admin_membership_manage.php:13 msgid "Scroll down to the section titled 'Simple WP Membership Protection'." msgstr "قم بالتمرير لأسفل إلى القسم الذي يحمل عنوان -Simple WP Membership Protection-." #: views/admin_membership_manage.php:14 msgid "Select 'Yes, Protect this content' option." msgstr "حدد خيار -نعم، حماية هذا المحتوى-." #: views/admin_membership_manage.php:15 msgid "Check the membership levels that should have access to that page's content." msgstr "تحقق من مستويات العضوية التي يجب أن يكون لها حق الوصول إلى محتوى تلك الصفحة." #: views/admin_membership_manage.php:16 msgid "Hit the Update/Save Button to save the changes." msgstr "اضغط على زر التحديث/الحفظ لحفظ التغييرات." #: views/admin_membership_manage.php:19 msgid "Example Content Protection Settings" msgstr "مثال لإعدادات حماية المحتوى" #: views/admin_post_list.php:5 msgid "First of all, globally protect posts and pages on your site by selecting \"General Protection\" from the drop-down box below and then select posts and pages that should be protected from non-logged in users." msgstr "أولاً وقبل كل شيء، قم بحماية المنشورات والصفحات على موقعك عالميًا عن طريق تحديد \"حماية عامة\" من المربع المنسدل أدناه ثم حدد المنشورات والصفحات التي يجب حمايتها من المستخدمين غير المسجلين." #: views/admin_post_list.php:8 msgid "Next, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level)." msgstr "بعد ذلك، حدد مستوى عضوية موجود من المربع المنسدل أدناه ثم حدد المنشورات والصفحات التي تريد منح حق الوصول إليها (لمستوى العضوية المحدد هذا)." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "حماية جماعية لوثائق المنشورات والصفحات" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr "لمعرفة كيفية استخدامه." #: views/admin_post_list.php:21 msgid "Posts" msgstr "المشاركات" #: views/admin_post_list.php:22 msgid "Pages" msgstr "الصفحات" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "المشاركات المخصصة" #: views/admin_send_direct_email_menu.php:14 msgid "Send Direct Email to Members" msgstr "إرسال بريد إلكتروني مباشر للأعضاء" #: views/admin_send_direct_email_menu.php:18 msgid "This feature allows you to send emails to a group of members based on their membership level or individual member IDs." msgstr "تتيح لك هذه الميزة إرسال رسائل بريد إلكتروني إلى مجموعة من الأعضاء بناءً على مستوى عضويتهم أو معرفات الأعضاء الفردية." #: views/admin_send_direct_email_menu.php:19 msgid "Refer to this documentation page for more details." msgstr "راجع هذه الوثائق " #: views/admin_send_direct_email_menu.php:26 msgid "Target Recipients" msgstr "المستلمون المستهدفون" #: views/admin_send_direct_email_menu.php:31 msgid "Send to Membership Level" msgstr "إرسال إلى مستوى العضوية" #: views/admin_send_direct_email_menu.php:35 msgid "Send to Member IDs" msgstr "إرسال إلى معرفات الأعضاء" #: views/admin_send_direct_email_menu.php:42 msgid "Select a level" msgstr "اختر المستوى" #: views/admin_send_direct_email_menu.php:45 msgid "Choose the membership level for email recipients." msgstr "اختر مستوى العضوية لمستلمي البريد الإلكتروني." #: views/admin_send_direct_email_menu.php:49 msgid "Enter member IDs separated by comma to specify the recipients." msgstr "أدخل معرفات الأعضاء مفصولة بفاصلة لتحديد المستلمين." #: views/admin_send_direct_email_menu.php:61 msgid "Enter the subject for the email." msgstr "أدخل موضوع البريد الإلكتروني." #: views/admin_send_direct_email_menu.php:67 msgid "Allow HTML" msgstr "السماح بـ HTML" #: views/admin_send_direct_email_menu.php:71 msgid "Enables HTML support in the email. For optimal email delivery rate, we suggest using plain text (non-HTML) email." msgstr "تمكين دعم HTML في البريد الإلكتروني. " #: views/admin_send_direct_email_menu.php:90 msgid "Enter the email content that will be sent to members. You can utilize the following email merge tags in this message (click to copy tags to clipboard)." msgstr "أدخل محتوى البريد الإلكتروني الذي سيتم إرساله للأعضاء. " #: views/admin_send_direct_email_menu.php:99 msgid "Please note that the following merge tag does not work in this email." msgstr "يرجى ملاحظة أن علامة الدمج التالية لا تعمل في هذا البريد الإلكتروني." #: views/admin_send_direct_email_menu.php:103 msgid "This tag will not work in this email since the password is stored in the database using a one-way hash, which means that the plugin cannot retrieve the plain text password once the account has been created." msgstr "لن تعمل هذه العلامة في هذا البريد الإلكتروني نظرًا لأنه يتم تخزين كلمة المرور في قاعدة البيانات باستخدام تجزئة أحادية الاتجاه، مما يعني أن المكون الإضافي لا يمكنه استرداد كلمة مرور النص العادي بمجرد إنشاء الحساب." #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "تم إعادة إنشاء الصفحات المطلوبة." #: views/admin_tools_settings.php:22 msgid "This interface contains useful tools for various admin operations." msgstr "تحتوي هذه الواجهة على أدوات مفيدة لعمليات الإدارة المختلفة." #: views/admin_tools_settings.php:27 msgid "Generate a Registration Completion link" msgstr "إنشاء رابط إكمال التسجيل" #: views/admin_tools_settings.php:30 msgid "You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment." msgstr "يمكنك إنشاء رابط إكمال التسجيل يدويًا هنا وإعطائه لعميلك إذا فاتته رسالة البريد الإلكتروني التي تم إرسالها إليهم تلقائيًا بعد الدفع." #: views/admin_tools_settings.php:35 msgid "Generate Registration Completion Link" msgstr "إنشاء رابط إكمال التسجيل" #: views/admin_tools_settings.php:36 msgid "For a Particular Member ID" msgstr "للحصول على معرف عضو معين" #: views/admin_tools_settings.php:38 msgid "OR" msgstr "أو" #: views/admin_tools_settings.php:39 msgid "For All Incomplete Registrations" msgstr "لجميع التسجيلات غير المكتملة" #: views/admin_tools_settings.php:44 msgid "Send Registration Reminder Email Too" msgstr "إرسال رسالة تذكير بالتسجيل عبر البريد الإلكتروني أيضًا" #: views/admin_tools_settings.php:50 msgid "Submit" msgstr "إرسال" #: views/admin_tools_settings.php:59 msgid "Link(s) generated successfully. The following link(s) can be used to complete the registration." msgstr "تم إنشاء الارتباط (الروابط) بنجاح. " #: views/admin_tools_settings.php:61 msgid "Registration completion links will appear below" msgstr "ستظهر روابط إكمال التسجيل أدناه" #: views/admin_tools_settings.php:71 msgid "A prompt to complete registration email was also sent." msgstr "تم أيضًا إرسال رسالة مطالبة بإكمال التسجيل بالبريد الإلكتروني." #: views/admin_tools_settings.php:84 views/admin_tools_settings.php:94 msgid "Re-create the Required Pages" msgstr "أعد إنشاء الصفحات المطلوبة" #: views/admin_tools_settings.php:87 msgid "If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them." msgstr "إذا قمت عن طريق الخطأ بحذف الصفحات المطلوبة التي أنشأها هذا البرنامج المساعد في وقت التثبيت، يمكنك استخدام هذا الخيار لإعادة إنشائها." #: views/admin_tools_settings.php:88 msgid " has full explanation." msgstr "فيه الشرح الكامل." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "اتركه فارغًا للاحتفاظ بكلمة المرور الحالية" #: views/edit.php:71 msgid "Company Name" msgstr "اسم الشركة" #: views/forgot_password.php:12 views/reset_password_using_link.php:67 msgid "Reset Password" msgstr "إعادة تعيين كلمة المرور" #: views/forgot_password.php:19 msgid "Processing password reset request..." msgstr "جارٍ معالجة طلب إعادة تعيين كلمة المرور..." #: views/loggedin.php:9 msgid "Logged in as" msgstr "تم تسجيل الدخول باسم" #: views/loggedin.php:17 msgid "Membership" msgstr "العضوية" #: views/loggedin.php:21 msgid "Account Expiry" msgstr "انتهاء الحساب" #: views/loggedin.php:29 msgid "Edit Profile" msgstr "تحرير الملف الشخصي" #: views/login.php:11 msgid "Username or Email" msgstr "اسم المستخدم أو البريد الإلكتروني" #: views/login.php:41 msgid "Show password" msgstr "إظهار كلمة المرور" #: views/login.php:48 msgid "Remember Me" msgstr "​​تذكرني" #: views/login.php:58 msgid "Forgot Password?" msgstr "هل نسيت كلمة المرور؟" #: views/payments/admin_add_edit_transaction_manually.php:11 msgid "You can add a new transaction record manually using this interface. It can be useful if you manually accept cash payment for your memberships." msgstr "يمكنك إضافة سجل معاملة جديد يدويًا باستخدام هذه الواجهة. " #: views/payments/admin_add_edit_transaction_manually.php:54 msgid "Manual transaction added successfully. " msgstr "تمت إضافة المعاملة اليدوية بنجاح." #: views/payments/admin_add_edit_transaction_manually.php:68 msgid "Add New Transaction" msgstr "إضافة معاملة جديدة" #: views/payments/admin_add_edit_transaction_manually.php:160 msgid "Save Transaction Data" msgstr "حفظ بيانات المعاملة" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "يتم تسجيل جميع المدفوعات/المعاملات الخاصة بأعضائك هنا." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email, name, transaction ID or Subscr ID." msgstr "البحث عن معاملة باستخدام البريد الإلكتروني أو الاسم أو معرف المعاملة أو معرف الاشتراك." #: views/payments/admin_all_payment_transactions.php:50 msgid "Add a Transaction Manually" msgstr "إضافة معاملة يدويًا" #: views/payments/admin_create_payment_buttons.php:19 msgid "You can create a new payment button for your memberships using this interface." msgstr "يمكنك إنشاء زر دفع جديد لعضوياتك باستخدام هذه الواجهة." #: views/payments/admin_create_payment_buttons.php:27 msgid "Select Payment Button Type" msgstr "اختر نوع زر الدفع" #: views/payments/admin_create_payment_buttons.php:48 msgid "Stripe Legacy Buy Now (deprecated)" msgstr "Stripe Legacy اشتر الآن (مهمل)" #: views/payments/admin_create_payment_buttons.php:50 msgid "Stripe Legacy Subscription (deprecated)" msgstr "الاشتراك القديم في الشريط (مهمل)" #: views/payments/admin_create_payment_buttons.php:62 msgid "Next" msgstr "التالي" #: views/payments/admin_create_payment_buttons.php:69 msgid "You can also use payment buttons from the following plugins to accept payments for your memberships." msgstr "يمكنك أيضًا استخدام أزرار الدفع من المكونات الإضافية التالية لقبول الدفعات مقابل عضوياتك." #: views/payments/admin_edit_payment_buttons.php:19 msgid "You can edit a payment button using this interface." msgstr "يمكنك تعديل زر الدفع باستخدام هذه الواجهة." #: views/payments/admin_payment_buttons.php:6 msgid "All the membership buttons that you created in the plugin are displayed here." msgstr "يتم عرض كافة أزرار العضوية التي قمت بإنشائها في البرنامج الإضافي هنا." #: views/payments/admin_payment_settings.php:7 msgid "You can create membership payment buttons from the " msgstr "يمكنك إنشاء أزرار دفع العضوية من" #: views/payments/admin_payment_settings.php:8 msgid "payments menu" msgstr "قائمة المدفوعات" #: views/payments/admin_payment_settings.php:9 msgid " of this plugin (useful if you want to offer paid memberships on the site)." msgstr "من هذا البرنامج المساعد (مفيد إذا كنت تريد تقديم عضويات مدفوعة على الموقع)." #: views/payments/admin_payment_settings.php:10 msgid " Read the " msgstr "اقرأ" #: views/payments/admin_payment_settings.php:11 msgid "membership payment section" msgstr "قسم دفع العضوية" #: views/payments/admin_payment_settings.php:12 msgid " of our documentation to learn more about creating membership payment buttons." msgstr "من وثائقنا لمعرفة المزيد حول إنشاء أزرار دفع العضوية." #: views/payments/admin_payment_settings.php:31 views/payments/admin_payment_settings.php:47 msgid " Success! " msgstr "النجاح!" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "تكوين زر شراء Braintree الآن" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 views/payments/payment-gateway/admin_paypal_buy_now_button.php:216 views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:160 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 views/payments/payment-gateway/admin_paypal_subscription_button.php:304 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:182 views/payments/payment-gateway/admin_stripe_buy_now_button.php:316 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:314 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:92 views/payments/payment-gateway/admin_stripe_subscription_button.php:92 msgid "Button ID" msgstr "معرف الزر" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 views/payments/payment-gateway/admin_paypal_buy_now_button.php:224 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:168 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:312 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:190 views/payments/payment-gateway/admin_stripe_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:323 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:36 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:321 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:100 views/payments/payment-gateway/admin_stripe_subscription_button.php:100 msgid "Button Title" msgstr "عنوان الزر" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 views/payments/payment-gateway/admin_paypal_buy_now_button.php:242 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:230 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 views/payments/payment-gateway/admin_stripe_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:54 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:337 msgid "Payment Amount" msgstr "مبلغ الدفع" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "Braintree API key and account details. You can get this from your Braintree account." msgstr "مفتاح Braintree API وتفاصيل الحساب." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "معرف التاجر" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "المفتاح العام" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "المفتاح الخاص" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "معرف حساب التاجر" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 views/payments/payment-gateway/admin_stripe_buy_now_button.php:145 views/payments/payment-gateway/admin_stripe_buy_now_button.php:429 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:145 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:427 msgid "The following details are optional." msgstr "التفاصيل التالية اختيارية." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:318 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:459 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:419 views/payments/payment-gateway/admin_stripe_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:442 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:166 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:448 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:235 views/payments/payment-gateway/admin_stripe_subscription_button.php:219 msgid "Return URL" msgstr "عنوان URL للإرجاع" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:128 views/payments/payment-gateway/admin_paypal_buy_now_button.php:127 views/payments/payment-gateway/admin_paypal_buy_now_button.php:325 #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:329 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:215 views/payments/payment-gateway/admin_paypal_subscription_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:488 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:430 views/payments/payment-gateway/admin_stripe_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:472 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:196 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:478 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:256 views/payments/payment-gateway/admin_stripe_subscription_button.php:240 msgid "Save Payment Data" msgstr "حفظ بيانات الدفع" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 views/payments/payment-gateway/admin_paypal_buy_now_button.php:207 msgid "PayPal Buy Now Button Configuration" msgstr "تكوين زر الشراء الآن لـPayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 views/payments/payment-gateway/admin_paypal_buy_now_button.php:250 views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:190 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 views/payments/payment-gateway/admin_paypal_subscription_button.php:45 views/payments/payment-gateway/admin_paypal_subscription_button.php:330 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:237 views/payments/payment-gateway/admin_stripe_buy_now_button.php:62 views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:62 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:344 msgid "Payment Currency" msgstr "عملة الدفع" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 views/payments/payment-gateway/admin_paypal_buy_now_button.php:298 views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:370 msgid "PayPal Email" msgstr "بريد باي بال" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 views/payments/payment-gateway/admin_paypal_buy_now_button.php:306 views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:467 views/payments/payment-gateway/admin_stripe_buy_now_button.php:166 views/payments/payment-gateway/admin_stripe_buy_now_button.php:450 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:174 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:456 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:243 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:227 msgid "Button Image URL" msgstr "رابط صورة الزر" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 views/payments/payment-gateway/admin_paypal_buy_now_button.php:314 views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:475 msgid "Custom Checkout Page Logo Image" msgstr "صورة شعار صفحة الخروج المخصصة" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:148 msgid "PayPal Buy Now (New API) Button Configuration" msgstr "تكوين زر الشراء الآن (API الجديد) لـ PayPal" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:186 msgid "Payment Details" msgstr "تفاصيل الدفع" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:233 msgid "Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol)." msgstr "أدخل مبلغ الدفع." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:238 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:339 msgid "Button Style Settings (Optional)" msgstr "إعدادات نمط الزر (اختياري)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:242 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:343 msgid "Button Type/Label" msgstr "نوع الزر/الملصق" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:245 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:346 msgid "Checkout" msgstr "الخروج" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:246 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:347 msgid "Pay" msgstr "الدفع" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:247 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:348 msgid "PayPal" msgstr "باي بال" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:248 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:349 views/payments/payment-gateway/braintree_button_shortcode_view.php:21 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:100 views/payments/payment-gateway/paypal_button_shortcode_view.php:102 views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 views/payments/payment-gateway/stripe_button_shortcode_view.php:161 views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:160 msgid "Buy Now" msgstr "اشتري الآن" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:249 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:350 msgid "Subscribe" msgstr "اشتراك" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:251 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:352 msgid "Select button type/label." msgstr "حدد نوع الزر/التسمية." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:255 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:356 msgid "Button Shape" msgstr "شكل الزر" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:257 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:358 msgid "Rectangular" msgstr "مستطيل" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:258 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:359 msgid "Pill" msgstr "حبوب منع الحمل" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:259 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:360 msgid "Select button shape." msgstr "تحديد شكل الزر." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:263 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:364 msgid "Button Layout" msgstr "تخطيط الزر" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:265 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:366 msgid "Vertical" msgstr "عمودي" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:266 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:367 msgid "Horizontal" msgstr "أفقي" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:267 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:368 msgid "Select button layout." msgstr "اختر تخطيط الزر." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:271 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:372 msgid "Button Height" msgstr "ارتفاع الزر" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:274 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:375 msgid "Small" msgstr "صغير" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:275 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:376 msgid "Medium" msgstr "متوسط" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:276 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:377 msgid "Large" msgstr "كبير" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:277 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:378 msgid "Extra Large" msgstr "كبير جدًا" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:279 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:380 msgid "Select button height." msgstr "حدد ارتفاع الزر." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:283 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:384 msgid "Button Width" msgstr "عرض الزر" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:286 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:387 msgid "Select button width." msgstr "حدد عرض الزر." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:290 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:391 msgid "Button Color" msgstr "لون الزر" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:293 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:394 msgid "Gold" msgstr "ذهب" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:294 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:395 msgid "Blue" msgstr "أزرق" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:295 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:396 msgid "Silver" msgstr "فضة" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:296 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:397 msgid "White" msgstr "أبيض" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:297 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:398 msgid "Black" msgstr "أسود" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:299 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:400 msgid "Select button color." msgstr "اختيار لون الزر." #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:304 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:405 msgid "Additional Settings (Optional)" msgstr "اعدادات اضافية (اختيارية)" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:308 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:409 msgid "Disable Funding" msgstr "تعطيل التمويل" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:310 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:411 msgid "Credit or debit cards" msgstr "بطاقات الائتمان أو الخصم" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:311 views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:412 msgid "PayPal Credit" msgstr "رصيد باي بال" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:312 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:413 msgid "Venmo" msgstr "فينمو" #: views/payments/payment-gateway/admin_paypal_buy_now_new_button.php:313 views/payments/payment-gateway/admin_paypal_subscription_new_button.php:414 msgid "By default, funding source eligibility is smartly decided based on a variety of factors. You can force disable funding options by selecting them here." msgstr "افتراضيًا، يتم تحديد أهلية مصدر التمويل بذكاء استنادًا إلى مجموعة متنوعة من العوامل." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "تكوين زر الدفع الذكي لـ PayPal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "PayPal Smart Checkout API Credentials (you can get this from your PayPal account)" msgstr "بيانات اعتماد PayPal Smart Checkout API (يمكنك الحصول عليها من حساب PayPal الخاص بك)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "السر الحي" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "سر الرمل" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "إعدادات مظهر الزر" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "الحجم" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "مستجيب" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "اختيار حجم الزر." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "اللون" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "الشكل" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "التخطيط" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "إعدادات إضافية" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "طرق الدفع" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "إي إل في" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "Select payment methods that could be used by customers. Note that payment with cards is always enabled." msgstr "حدد طرق الدفع التي يمكن للعملاء استخدامها." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "التفاصيل التالية اختيارية" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 views/payments/payment-gateway/admin_paypal_subscription_button.php:298 msgid "PayPal Subscription Button Configuration" msgstr "تكوين زر الاشتراك في PayPal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 views/payments/payment-gateway/admin_paypal_subscription_button.php:378 msgid "Billing Amount Each Cycle" msgstr "مبلغ الفاتورة لكل دورة" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 views/payments/payment-gateway/admin_paypal_subscription_button.php:386 msgid "Billing Cycle" msgstr "دورة الفواتير" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 views/payments/payment-gateway/admin_paypal_subscription_button.php:399 msgid "Billing Cycle Count" msgstr "عدد دورات الفواتير" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 views/payments/payment-gateway/admin_paypal_subscription_button.php:407 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:306 msgid "Re-attempt on Failure" msgstr "إعادة المحاولة عند الفشل" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 views/payments/payment-gateway/admin_paypal_subscription_button.php:422 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:314 msgid "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "تفاصيل الفاتورة التجريبية (اتركها فارغة إذا كنت لا تقدم فترة تجريبية)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 views/payments/payment-gateway/admin_paypal_subscription_button.php:428 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:318 msgid "Trial Billing Amount" msgstr "مبلغ الفاتورة التجريبية" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 views/payments/payment-gateway/admin_paypal_subscription_button.php:436 #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:326 msgid "Trial Billing Period" msgstr "فترة الفوترة التجريبية" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 views/payments/payment-gateway/admin_paypal_subscription_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:213 views/payments/payment-gateway/admin_stripe_subscription_button.php:205 msgid "Optional Details" msgstr "تفاصيل اختيارية" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:170 msgid "PayPal Subscription (New API) Button Configuration" msgstr "تكوين زر اشتراك PayPal (واجهة برمجة التطبيقات الجديدة)" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:212 msgid "PayPal Billing Plan Details for This Button" msgstr "تفاصيل خطة فوترة PayPal لهذا الزر" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:216 msgid "Subscription Plan Mode" msgstr "وضع خطة الاشتراك" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:223 msgid "Subscription Plan ID" msgstr "معرف خطة الاشتراك" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:233 msgid "Subscription/Recurring Billing Details" msgstr "تفاصيل الاشتراك/الفوترة المتكررة" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:277 msgid "Recurring Billing Amount" msgstr "مبلغ الفواتير المتكررة" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:280 msgid "Amount to be charged on every billing cycle. If used with a trial period then this amount will be charged after the trial period is over. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol)." msgstr "المبلغ الذي سيتم تحصيله في كل دورة فوترة." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:285 msgid "Recurring Billing Cycle" msgstr "دورة الفوترة المتكررة" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:293 msgid "Set the interval of the recurring payment. Example value: 1 Month (if you want to charge every month)" msgstr "حدد الفاصل الزمني للدفع المتكرر." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:298 msgid "Recurring Billing Cycle Count" msgstr "عدد دورات الفواتير المتكررة" #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:301 msgid "After how many cycles should billing stop. Leave this field empty (or enter 0) if you want the payment to continue until the subscription is canceled." msgstr "بعد كم دورة يجب أن تتوقف الفواتير." #: views/payments/payment-gateway/admin_paypal_subscription_new_button.php:309 msgid "When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled." msgstr "عند التحقق، ستتم إعادة محاولة الدفع مرتين أخريين في حالة فشل الدفع." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:26 views/payments/payment-gateway/admin_stripe_buy_now_button.php:307 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:305 msgid "Stripe Buy Now Button Configuration" msgstr "تكوين زر الشراء الآن" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:102 views/payments/payment-gateway/admin_stripe_buy_now_button.php:386 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:384 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "مفاتيح API الشريطية." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:107 views/payments/payment-gateway/admin_stripe_buy_now_button.php:391 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:389 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:148 views/payments/payment-gateway/admin_stripe_subscription_button.php:140 msgid "Use Global API Keys Settings" msgstr "استخدام إعدادات مفاتيح API العامة" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:110 views/payments/payment-gateway/admin_stripe_buy_now_button.php:394 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:392 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:151 views/payments/payment-gateway/admin_stripe_subscription_button.php:143 msgid "Use API keys from Payment Settings tab." msgstr "" " API استخدم مفتاح التعريف الارتباطي\n" "اعدادت الدفع" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:150 views/payments/payment-gateway/admin_stripe_buy_now_button.php:434 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:432 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:219 views/payments/payment-gateway/admin_stripe_subscription_button.php:211 msgid "Collect Customer Address" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:26 msgid "Stripe SCA Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:158 views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:440 views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:227 msgid "Enable Automatic Tax" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:84 views/payments/payment-gateway/admin_stripe_subscription_button.php:84 msgid "Stripe Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:118 views/payments/payment-gateway/admin_stripe_subscription_button.php:118 msgid "Stripe API ID" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:129 msgid "Trial Period" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:142 views/payments/payment-gateway/admin_stripe_subscription_button.php:134 msgid "Stripe API Settings" msgstr "" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:188 msgid "Webhook Endpoint URL" msgstr "" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:180 msgid "Webook Endpoint URL" msgstr "" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:235 views/payments/payment-gateway/paypal_button_shortcode_view.php:237 msgid "Subscribe Now" msgstr "" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:81 views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:77 msgid "Transaction completed successfully!" msgstr "" #: views/payments/payment-gateway/paypal_buy_now_new_button_shortcode_view.php:228 views/payments/payment-gateway/paypal_subscription_new_button_shortcode_view.php:228 msgid "Error occurred during PayPal checkout process." msgstr "" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:155 msgid "Error occurred during PayPal Smart Checkout process." msgstr "" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:184 msgid "HTTP error occurred during payment process:" msgstr "" #: views/reset_password_using_link.php:15 msgid "Error! The password reset key is either invalid or expired. Please generate a new password reset request." msgstr "" #: views/reset_password_using_link.php:46 msgid "Password must be at least 8 characters long, contain at least 1 uppercase and 1 lowercase character, and at least 1 digit." msgstr "" #: views/reset_password_using_link.php:51 msgid "New password" msgstr "" #: views/reset_password_using_link.php:58 msgid "Re-enter new password" msgstr "" #. Plugin Name of the plugin/theme msgid "Simple WordPress Membership" msgstr "" #. Plugin URI of the plugin/theme #. Author URI of the plugin/theme msgid "https://simple-membership-plugin.com/" msgstr "" #. Description of the plugin/theme msgid "A flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site." msgstr "" #. Author of the plugin/theme msgid "smp7, wp.insider" msgstr "" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "" msgid "Retype password here" msgstr "" msgid "Registration is complete. You can now log into the site." msgstr "" msgid " Field has invalid character" msgstr "" msgid " Password does not match" msgstr "" msgid "Already taken." msgstr "" msgid "Street Address" msgstr "" msgid "Apt, Suite, Bldg. (optional)" msgstr "" msgid "State / Province / Region" msgstr "الولاية / المقاطعة / المنطقة" msgid "Postal / Zip Code" msgstr "الرمز البريدي/الرمز البريدي" msgid "Check this box to delete the image. The image will be deleted when you save the profile." msgstr "ضع علامة في هذا المربع لحذف الصورة." msgid "You will need to re-login since you changed your password." msgstr "سوف تحتاج إلى إعادة تسجيل الدخول منذ أن قمت بتغيير كلمة المرور الخاصة بك." msgid "Please enter any two digits with no spaces (Example: 12)" msgstr "الرجاء إدخال أي رقمين بدون مسافات بدون (مثال: 12)" msgid "Verification" msgstr "التحقق" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "الرجاء إدخال أي رقمين بدون مسافات (مثال: 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "اسم المستخدم يمكن أن يحتوي فقط على: حروف وأرقام و.-*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "الأحرف المسموح بها هي: الحروف والأرقام و.-_*@" msgid "Please check at least one." msgstr "يرجى التحقق من واحد على الأقل." msgid "Do you really want to delete the form?" msgstr "هل تريد حقًا حذف النموذج؟" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "ليس لديك إذن بمشاهدة هذا المحتوى." msgid "Your membership level does not have permission to view this content." msgstr "مستوى عضويتك ليس لديه إذن لعرض هذا المحتوى." msgid "This content is for members only." msgstr "هذا المحتوى للأعضاء فقط." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "دليل الأعضاء" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "المستوى" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "العنوان" #: includes/swpm_mda_show_profile.php:48 msgid "Postcode" msgstr "الرمز البريدي" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "بحث..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "مسح البحث" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "يجب عليك تسجيل الدخول لترقية العضوية." msgid "Membership level has been updated." msgstr "تم تحديث مستوى العضوية." msgid "Already a member of this level." msgstr "عضو بالفعل في هذا المستوى." languages/simple-membership-ja_JA.mo000064400000042131147206617610013446 0ustar004L h.i  +  7Ts  )C KX x00Jax $  /F LZ s~1& "4Kf=}5#  %,D U%c'=   "18R Y fs #%'48mr1x@TA  @MF19?Fc 03 MYix}9 3K  $   $  ! *!f*3*** *** +"+#A+e+l+ ++++9++*+$(,-M,-{,,,6,,--'--U-e-----'- ..0-.!^..6.'.'./:3/n/d/-/000 0 0111112 2?2!F2 h2u2*2*2A2&3;34! 4!,4N4'a4444 444$45"555*E5p5w5~5*5'5556-6B6I6QP663Q737*7$7 8 %8T/8T88838-9'I9!q9'9 9 9 99*9*:$9:^:9q:::4::;&;E;a;z;;;RF<9<<3<' =H=-O=!}="=%==%>+>HH>'> >>>>>? ?&?-?'=?e?6u?<?!? @*@*F@q@{%A{A*BHBHYB!BB9yCHCHC EDRDZC6rm:}zsF{@yxQEA9h | pLR]'3H7DTPjM4f^u gWU`K= I1[bVlN8/?G5$2O-vi"k&Y!>,J %S(#X+o*\d.c)<;n0B_qw ae~t Email Settings (Account Upgrade Notification)(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccess to older posts.Account ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAready takenAssign free membership level IDAvailableCategory ProtectionCityCompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.Date format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDExample Content Protection SettingsExpire AfterExpiredFirst NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).InactiveInvalid User NameInvalid membership levelJoin UsJoin Us Page URLLast NameLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelMonths (Access expires after given number of months)NameNeverNew password has been sent to your email address.Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No Member found.Not a Member?Notify UserOROnly allow access to posts published after the user's join date.Only allow access to protected posts published after the members's join date.Pages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileProtect Older Posts (optional)RegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Registration Successful. Remember MeRepeat PasswordReset PasswordRoleSelect the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::CategoriesSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry! Something went wrongStateStreetStrength indicatorSubmitTest & Debug SettingsUpdateUpdated Successfully.Updated! User NameUser Not Found.User nameUser name already exists.User name contains invalid characterUser name is requiredUsernameWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)WordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.Years (Access expires after given number of years)You are logged in as:You are not allowed to view this contentYou are not logged in.You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You do no have permission to view rest of the contentYou need to login to view the rest of the content. You need to login to view this content. ZipcodesearchProject-Id-Version: Simple Membership POT-Creation-Date: 2015-05-21 01:40-0800 PO-Revision-Date: 2015-05-23 02:12-0800 Last-Translator: Mana Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=1; plural=0; Language: ja X-Poedit-SearchPath-0: . メール設定(アップグレードのお知らせ)(指定した日付まで有効)(必須)(二度入力。同じパスワードを利用する場合は空欄にする。)(二度, 必須)有効期限アクセス開始アクセス有効期限有効期限の数値を1以上に設定してください。アクセス開始の項目が無効です。古い記事を閲覧可能にするアカウントの有効期限アカウントの状態アカウントステータスアカウントが期限切れです。アカウントが無効です。アカウントの状態の項目が無効です。有効会員を追加新規追加新規会員を追加新規会員レベルを作成アドオンすでに取得済みです。無料会員のレベルIDを指定有効カテゴリーの限定公開市町村会社数国新規会員を登録し、このサイトに追加する新規会員レベルを作成日付フォーマットが無効です。日(指定した日数で有効)デフォルトアカウントステータスWordPressのデフォルトユーザー権限削除概要このコンテンツを限定公開にしますか?メールアドレス会員を編集会員レベルを編集プロフィールの編集ページURL会員を編集既存会員の詳細を編集会員レベルを編集会員レベルを編集メールアドレスメールアドレスメールアドレスが無効です。メールの内容メール設定メール設定(登録完了のお知らせ)メール設定(登録完了)メールの題名メールアドレスがすでに登録済みです。メールアドレスが無効です。メールアドレスが必須です。無料会員を有効化Moreタグ以下のコンテンツを限定公開にするSandboxテストの有効化sandboxの決済テストを行う場合は、このオプションを有効化してください。無料会員レベルの有効化/無効化投稿やページの「Moreタグ」による限定公開を有効化・無効化する。Moreタグ以降のコンテンツが限定公開されます。会員レベルIDを入力限定公開設定の例有効期限期限切れ名前まず、ドロップダウンメニューから"General Protection"を選び、ログインしていないユーザーに非公開にするカテゴリーを選択します。有効期限を指定進行中の会員パスワードを忘れた無料会員のレベルID送信元メールアドレス性別性別の項目が無効です。基本設定コードを生成する会員登録完了リンクを生成する会員登録完了リンクを生成するPayPalボタン用の"Advanced Variables"コードを生成するAdminバーを隠すヒント: パスワードは7文字以上。より強いパスワードにするために、大文字・小文字を使い、数字や ! " ? $ % ^ & ) 等の記号の使用を推奨します。無効ユーザー名が無効です。会員レベルが無効です。会員について会員についての紹介ページURL苗字ログアウトしました。ログイン名:ログインログインページURLログアウト限定公開コンテンツを管理会員会員ログイン会員登録日会員登録日の項目が無効です。会員会員会員の種類会員レベルが見つかりません。会員レベルを作成しました。会員レベル名会員の種類会員レベルヶ月(指定した数の月の間有効)名前無し新しいパスワードがメールアドレス宛てに送信されました。次にドロップダウンメニューから既存の会員レベルを選択し、その会員レベルのユーザーにのみ公開するカテゴリーを選びます。無期限(キャンセルしない限り有効)無期限(キャンセルしない限り有効)会員が見つかりませんでした。会員登録はお済みですか?ユーザーに知らせるまたは会員が登録した日から後に公開された記事のみ閲覧可能にする会員が登録した日から後に公開された記事のみ閲覧可能にするページ設定パスワードパスワードが未記入または無効です。パスワードリセットパスワードリセットページURLパスワードが必須です。パスワードが一致しません。PayPal設定進行中電話番号→以下の項目をご確認ください。以下の項目をご確認ください。プラグインのドキュメントプロフィール古い記事を限定公開にする(オプション)登録登録登録完了リンクは以下に表示されます:会員登録ページURL登録が完了しました。登録が完了しました。ログイン状態を保存パスワード再入力パスワードリセット権限会員登録したユーザーのデフォルトステータスを選択。新規登録の許可を管理者が手動で行う場合は「進行中」を選びます。このコンテンツを閲覧できる会員レベルを選択してください:管理画面から登録した会員にメールを送る管理者に知らせる会員登録のリマインダーメールも送るセッションが期限切れです。設定Simple Membership 限定公開オプションSimple WP Membership 限定公開Simple WP Membership::アドオンSimple WP Membership::カテゴリーSimple WP Membership::会員Simple WP Membership::会員レベルSimple WP Membership::設定アドオンの設定やオプションがここに表示されます。不明なエラーが発生しました都道府県番地強度メーター登録テスト&デバッグ設定更新更新されました。更新ユーザー名ユーザーが見つかりません。ユーザー名ユーザー名がすでに登録されています。ユーザー名に無効な文字が含まれています。ユーザー名が必須です。ユーザー名週(指定した数の週の間有効)週(指定した数の週の間有効)ログインした会員にWordPressのadminツールバーが表示されます。Webサイトにツールバーを表示したくない場合はチェックしてください。入力したメールアドレスでWordPressアカウント登録済みですが、ユーザー名と一致しません。入力したユーザー名でWordPressアカウント登録済みですが、メールアドレスと一致しません。年(指定した数の年の間有効)ログイン名:このコンテンツを閲覧するにはログインが必要です。ログインしていません。決済後に自動で送られるメールがなんらかの理由で届かなかった場合、登録完了のリンクを手動で生成し、ユーザーに送信できます。このコンテンツは限定公開されています。このコンテンツを閲覧するにはログインが必要です。このコンテンツを閲覧するにはログインが必要です。郵便番号検索languages/simple-membership-zh_Hans.mo000064400000024542147206617610014102 0ustar00  H .I x        *7 Waqv~0$+ 2>U kv  1&@ gu=5Q#o  0%>'d= z}    % , 9Fd lw#%1  =GX[js%B`u} 0  #9.3h$$;'Y$"-Pfm   MM"8)    . 5 BO_ x  !.P Wdw     *+ V t     0 " !0!E!^!e!i! !!!!! ! !!"* "K"t["" "" "" ##!#4#J#Q# a#n## # #### #### $ $'#$ K$U$e$ l$y$$ $$$ $$$$$ %%$% :% G%T%[%!b%% %% % %% %*%- &9&R& q&~&& &&&&&&&& '' '0'I']'s' z' '' ''' ''r'!Z(!|(((T)[)T.DYP`MIg2QymO u& izj!6@<F?}Wq3GE>#;^*9b_XwV :~B5']{,oR[tJn +Hk7sL8\(xfvp-"Sh rd el4$cCA)%KU/=1|0aNZ Email Settings (Account Upgrade Notification)(required)(twice, required)Account StateAccount StatusAccount is inactive.Account state field is invalidActiveAdd MemberAdd NewAdd New Member Add New Membership Level Aready takenAssign free membership level IDAvailableBad Cookie HashCityCompanyCountryCreate a brand new user and add it to this site.Create new membership level.Default WordPress RoleDeleteDisplay SWPM Login.Do you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEdit membership level.EmailEmail AddressEmail Address Not Valid.Email BodyEmail Misc. SettingsEmail Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail is already used.Email is invalidEmail is requiredEnable Free MembershipEnable Sandbox TestingEnable this option if you want to do sandbox payment testing.Enable/disable registration for free membership levelEnter the Membership Level IDExample Content Protection SettingsExpiredFirst NameFor All Pending RegistrationsForgot PasswordFree Membership Level IDFrom Email AddressGenderGender field is invalidGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDInactiveInvalid User NameJoin UsJoin Us Page URLLast NameLevelAdd NewLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember SinceMember since field is invalidMembersMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level NameMembership LevelsMembership levelNew password has been sent to your email address.No ExpiryNo Member found.ORPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Integration SettingsPendingPhonePhone number is invalidPleasePlease correct the followingPlease correct the following:Plugin DocumentationProfileRegisterRegistrationRegistration Completion Links Will Appear Below:Registration Page URLRegistration Successful.Remember MeRepeat PasswordReset PasswordRoleSWPM LoginSelect the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification To AdminSend Registration Reminder Email tooSession Expired.SettingsSimple Membership Protection optionsSimple WP Membership ProtectionSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsStateStreetStrength indicatorSubmitSubscription DurationSubscription StartsSubscription Valid ForSubscription starts field is invalidSubscriptoin duration must be > 0.Test & Debug SettingsUpdateUpdated Successfully.User NameUser Not Found.User nameUser name already exists.User name is requiredUsernameWP MembershipWordPress shows an admin toolbar to the logged in users of the site. Check this box if you want to hide that admin toolbar in the fronend of your site.Wordpress account exists with given email. But given user name doesn't match.Wordpress account exists with given user name. But given email doesn't match.You are logged in as:You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.ZipcodesearchProject-Id-Version: Simple WordPress Membership POT-Creation-Date: 2014-07-30 17:30+0800 PO-Revision-Date: 2014-07-30 23:09+0800 Last-Translator: Language-Team: Language: zh_Hans MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.6.7 X-Poedit-Basepath: . X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e Plural-Forms: nplurals=1; plural=0; X-Poedit-SearchPath-0: . Email设置(账户更新信息通知)必填2次,必填账户描述账户状态账户未激活账户描述无效激活添加会员添加新的添加新会员添加新的会员等级已被占用指定免费会员级别ID可以使用坏的Cookie城市公司国家给网站创建一个新用户创建新会员等级默认的WP角色删除显示SWPM登陆你是否需要保护这个内容E-mail修改会员修改会员等级修改会员信息页面URL修改用户修改已存在用户信息修改会员等级修改会员等级EmailEmail地址Email地址无效Email内容电子邮件杂项设置电子邮件设置(快速完成注册)Email设置(完成注册)Email标题邮箱已经存在邮箱无效请输入邮箱地址启用免费会员启用沙盒测试如果你要测试付款方式,请启用沙盒启用/不启用免费会员注册输入会员等级ID内容保护设置例子失效名对于所有待定的注册忘记密码免费会员等级ID电子邮件来路性别性别填写无效总体设置生成代码生成注册完成链接生成注册完成链接您的PayPal按钮产生高级变量代码隐藏管理栏密码最少7个字符,为保证密码强度,请使用大小写字母,数字和例如! " ? $ % ^ &的符号ID未激活无效的用户名加入会员加入页面URL姓添加新等级成功退出登陆以以下身份登陆登陆登陆页面URL退出登陆管理内容制作会员会员登陆会员自号码段无效会员会员会员等级会员等级不存在会员等级创建成功会员等级名会员等级会员等级新的密码已经发送到您的邮箱不失效会员不存在或者页面设置密码密码空或者无效更改密码更改密码页面URL请输入密码密码不符Paypal集成设置待定电话电话号码无效请请修改以下信息请更改以下信息插件文件个人资料注册注册注册完成链接会出现在:注册页面URL注册成功记住这个身份重复密码重置密码角色SWPM登陆选择可以查看该内容的会员等级管理员添加用户后给用户发送邮件给管理员发送通知同时发送注册提醒邮件登陆超时设置会员保护选项会员保护会员等级:会员会员:会员等级会员:设置省份街道强度指示器提交有效期订阅开始于订阅有效于开始时间字段无效过程必须大于0测试与调试设置更新更新成功用户名找不到用户用户名用户名已经存在请输入用户名用户名WP会员WordPress对已经登陆的用户显示管理工具栏,如果你想在网站前端隐藏管理栏请勾选这里邮箱正确,但用户名错误用户名正确,但邮箱错误您已使用以下身份登陆如果你的用户在完成付款后没收到自动生成的邮件,那么你可以在这里手动生成注册完成链接,并发送给你的用户邮编搜索languages/simple-membership-fi.mo000064400000121512147206617610013101 0ustar00 l!.!4"E"b"D{""#1Q$$- % 7%X% h%+s%%% %%%;&?&^& m&{&&&&&& & &' ''5'='!M'o'''M'@(B(%Y((s() ) &)3)S) o)y) ))T) *&*C*b**)*'* *** + +%+(-+ V+ b+p+++*++-+9,%R,x, ,,,,0,,,-0-K-b-y--- --$-- -. .*. @.K.i.. .. ....1.&$/ K/Y/r///////Y0[l0=011:2RX2B2[2<J3N3L3J#4@n4>4F4.55 d55#5 555 556 6667I(7r77777 7%7'8=*8h8 88598999::1:9:J:]: s:(}::_:;0;@; Y;f;l;{;;;; ;; ;!;<#<$+< P<[<#l<%<<<&<==,=>=9U== =4==>1 ><>A>@>A,?n???&? ? ???$@(@7@@@[@j@@@@#@ @@A(ABAQAcAxAAAAAAAABB2BGB YBeBmBXB BBC CC1C/KC8{C CCC CCCD D DDD/D* EKE `EmEE3EiEp:FF9?G yG3GG$GHH4HTHjHHH-HHH$HI8IXIvI'IIkI!GJiJ%JJJJJJ;J2K#AKeK lK zKKKKK#KKGL#.MRMCrM!M8MSNeNaOvqO^OUGPGP=P#Q)Q 8QEQJZQQQQQQmlRRRS S##SGS\S nS {SS1T2@TsT0UULVLV2(WwWWX!,XNXL!Y3nYIYhYUZ [w[0\7\3\(\ ]]]D]?%^ae^^^ ^ ^__/`:`!&aHa?caaSb7b5c,c)c d d?$ddd{d dd d0d&e'e :e EePeee~e#e e ee eef f)f4>f!sf*ff=f7gJg$bgggh(h ?h#Mh-qhhh hhThGi&Yi.ii i9i)j :jDjTj qj |jj6jjjjjk-=kkk:tk<k&kll)l2l6l;Ell l'l;lmm0m 7mCm^m%em$m mmmmmn)*nTnkn~nnn"nn,n@$o-eoo ooo p&'pNp!jpp9pUp3/qcqrrBr5slNs^sLtPgtZtTuYhu\u#vCv`v&yvv vvvvw,w&wx*xVHxx x"xxy y& y&Gy4nyyyyzz k{x{{{{{||7|0@|q|i|| }}7}R}l} }}}}}}}~)$~N~9W~ ~ ~~!~~(=L [g/ < +,6clOFiƁہ3*G^b-u!+F#Uy( 0? F P#^#Ʉ ##,[P ' ߅109b  ʆՆ ҇/ׇ/7 MZtE_̈L,yCC\_"6ߊ.'Fn ‹>̋ -""Psʌ$`.,"֍ 9(b#q *Ȏ'7U1@)r^$3@ltooߒphkٓIE> Δ#ؔ P q $zȕjC(ǖ$2'Z"v 7@7xZt/KM6>u <&YKf7QU<sBj5!W43%Yޡ@ 4Kw " 7ERl/]t~!@d%  _3IyJwgAu+v.8|q  x% ,Vy("+s2frdO4M;:w]pmZZ(g>;?a{abXOLB{#U`fnGp<Y.zC)7$ >bESXL2h\j!)P**oGT cq'<6 Qk3,[:_eYTR oN|6rN\CI-}E5t}m#l9WJ&SvnziFi $`=e17@M0~5'-HjAK[ /W0 H1&=QPhFB4kDsxuV9^KDc"8?U^ Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. your account to gain access to this content.(Access expires on a fixed date)(Please Select)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd LevelAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdvanced SettingsAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Already taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApt, Suite, Bldg. (optional)Aready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCaptcha validation failed on login form.Category IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.Comments not allowed by a non-member.CompanyCompany NameCountCountryCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDisable Access to WP DashboardDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit ProfileEdit Profile Page URLEdit User Edit existing member details.Edit membership levelEmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Error! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! The membership level ID (Error! This action (Example Content Protection SettingsExpire AfterExpiredExpiry: First NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForgot PasswordFree Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo back to the home page by Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed DateLast Accessed From IPLast NameLeave empty to keep the current passwordLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Publishable KeyLive Secret KeyLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProtectionManage Payment ButtonsMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Merchant Account IDMerchant IDMonths (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No member found.No membership levels found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPage Setup and URL Related settings.Pages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy NowPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal SubscriptionPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePlease Login to Comment.Please correct the followingPlease correct the following:Please login again.Please login to comment.Plugin DocumentationPostal / Zip CodePrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Public KeyRe-attempt on FailureRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordReset PasswordReturn URLRetype password HereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here.Save ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect how long you want to keep "pending" account.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!Show Adminbar to AdminSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the access starts date value.StateState / Province / RegionStreetStreet AddressStrength indicatorStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The following details are optional.The selected entry was deleted!This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This page allows you to configure some advanced features of the plugin.This value gets updated when this member logs into your site.ToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodType password HereUpdateUse WordPress TimezoneUse this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredUsername or EmailView ProfileWP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Weeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a sandard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use the following option to bulk update the membership level of users who belong to the level you select below.You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You need to login to view the rest of the content. You need to login to view this content. You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodeclicking hereincompleterenewProject-Id-Version: Simple Membership POT-Creation-Date: 2018-02-17 13:47+1000 PO-Revision-Date: 2018-03-15 11:08+0100 Last-Translator: No one Language-Team: Finnish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 2.2.3 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Plural-Forms: nplurals=2; plural=(n != 1); Language: fi Report-Msgid-Bugs-To: X-Poedit-SearchPath-0: . Sähköpostiasetukset (Tilin päivitysilmoitus)Sähköpostiasetukset (Tilin massa-aktivoinnista ilmoitus)Kentässä on virheellinen merkkiSalasanat eivät täsmääJäsenyystasosi ei mahdollista lopun sisällön näyttämistä. Käytä eri sähköpostiosoitetta rekisteröinnin tekemiseen. Jos haluat käyttää samaa sähköpostiosoitetta, sinun pitää antaa siihen liitetty oikea käyttäjätunnus. Käytä eri käyttätunnusta rekisteröinnin tekemiseen. Jos haluat käyttää samaa käyttäjätunnusta, sinun pitää antaa siihen liitetty oikea sähköpostiosoite. Muokkaat tällä hetkellä jäsentä tunnisteella (ID):Voit laittaa useita osoitteita pilkulla erotettuna (,) ylläolevaan kenttään lähettääksesi ilmoituksen useaan osoitteeseen. tilisi päästäksesi tähän sisältöön.(Jäsenyys vanhenee tiettynä päivänä)(Valitse)(pakollinen)(kahdesti, jätä tyhjäksi säilyttääksesi vanhan salasanan)(kahdesti, pakollinen)Pääsyn kestoPääsy alkaaPääsyn loppumisaikaPääsyn kesto pitää olla > 0.Pääsyn aloitusajan muutos tehty onnistuneesti.Pääsyn alku -kenttä on virheellinenTilin vanheneminenTilin tilaTilin tilaTili on vanhentunut.Tili ei ole käytössä.Tili odottaa aktivointia.Tilin tila -kenttä on virheellinenAktiivinenLisää tasoLisää jäsenLisää uusiLisää uusi jäsenLisää uusi jäsenyystasoLisäosatLisäosien asetuksetYlläpitäjän käyttöliittymään pääsynhallintaYlläpitäjän sähköpostiosoiteYlläpitäjäilmoituksen viestin sisältöLaajemmat asetuksetKaikki jäsenyysnapit jotka olet luonut näytetään tässä.Kaikki jäsentesi maksutransaktiot tallennetaan tänne.Salli tilin poistaminenSalli käyttäjien poistaa tilinsä.On jo varattu.Vaihtoehtoisesti voit kirjautua toisella selaimella (jossa et ole kirjautuneen ylläpitäjänä) testataksesi jäsenenä kirjautumista.MääräOsoite 2 (valinnainen)On jo varattuAseta ilmaisjäsenyystason tunnistePoista automaattisesti "Vireillä" oleva tiliKäytettävissäToistuvan maksun määräLaskutusväliLaskutusjaksojen määräBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationMassamuutoksen pääsyn aloituspäivämääräJäsenyystason massamuutosMassamuutosMassapäivityksen jäsenten pääsy alkaa päivämääräJäsenten jäsenyystasojen massapäivitysButton IDNapin kuvan URLNapin lyhytkoodi (shortcode)Napin nimiNapin tyyppiOsta nytCAPTCHA varmennus epäonnistui kirjautumislomakkeella.Kategoriatunnus (ID)Kategorian nimiKategoriasuojausKategoria tyyppi (Taksonomia)Kategorian suojaus päivitetty.Valitse tämä kytkeäksesi debug lokituksen.KaupunkiKlikkaa tästä päättääksesi maksetun rekisteröintisiKlikkaa seuraavaa linkkiä päättääksesi rekisteröinnin.Kommentointi sallittu vain jäsenille.YritysYrityksen nimiMääräMaaLuo uusi nappiLuo kokonaan uusi käyttäjä ja lisää se tälle sivulle.Luo uusi jäsenyystaso.PäiväysPäivämäärän muoto on virheellinen.Päivää (Pääsy vanhenee näin monen päivän päästä)Oletus tilin tilaOletus WordPress rooliPoistaPoista tiliPoista käyttäjäprofiiliKuvausEstä pääsy WP käyttöliittymäänHaluatko suojata tämän sisällön?SähköpostiMuokkaa jäsentäMuokkaa jäsenyystasoaMuokkaa profiiliaMuokkaa profiilia sivun URLMuokkaa käyttäjääMuokkaa olemassa olevan jäsenen tietoja.Muokkaa jäsenyystasoaSähköpostiosoiteSähköpostiosoiteSähköpostiosoite: Sähköpostin sisältöSähköpostin sekalaiset asetuksetSähköpostiasetuksetSähköpostiasetukset (Salasanan resetointi)Sähköpostiasetukset (Kehota tekemään rekisteröinti loppuun)Sähköpostiasetukset (Rekisteröinti valmis)Sähköpostin aihe kenttäVirheellinen sähköpostiosoite.Sähköposti on jo käytössä.Sähköposti on virheellinenSähköposti on pakollinenSalli vanhentuneen tilin kirjautuminenMahdollista ilmaisjäsenyysKytke "Lisää..." tägin suojausKytke maksutestausAseta tämä valinta jos sallit vain jäsenten kommentit.Aseta tämä jos haluat ylläpitäjän saavan viestin kun käyttäjä rekisteröityy.Valitse tämä jos haluat testata maksuliikennettäKytke/poiskytke ilmaisjäsenyystasolle rekisteröityminen. Kytkiessäsi päälle tätä valintaa, määrittelethän alle ilmaisjäsenyystason tason tunnisteen.Kytkee/poiskytkee "Lisää..." tägin suojauksen postauksissa ja sivuilla. Kaikki "Lisää.." tägin jälkeen on suojattu. Kaikki ennen "Lisää..." tägiä on "teaser" sisältöä.Syötä jäsenyystasotunnusKirjoita osoite johon haluat ylläpitäjäilmoituksen lähettää.Virhe! Valitulle sapluunalle ei löydy polkua (path):Virhe! Virheellinen pyyntö. Annetun turvakoodin ja käyttäjätunnuksen välille ei löytynyt vastaavuutta.Virhe! Kertakäyttöavaimen varmennus epäonnistui edustan profiilin muokkaamisen yhteydessä.Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystasoa luotaessa.Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystasoa poistettaessa.Virhe! Kertakäyttöavaimen varmistus epäonnistui jäsenyystason muokkauksen yhteydessä.Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän poiston yhteydessä.Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän muokkaamisen yhteydessä.Virhe! Kertakäyttöavaimen varmennus epäonnistui käyttäjän rekisteröinnin yhteydessä.Virhe! Valitse jäsenyystaso ensin.Virhe! Jäsenyystasotunnus (Virhe! Tämä toiminto (Esimerkki sisällön suojaus asetuksetPääsy vanheneeVanhentunutPäättymispäivä:EtunimiAluksi, suojaa kategoria järjestelmänlaajuisesti sivustollasi valitsemalla alla olevast valikosta "Yleinen suojaus" ja sitten valitse ne kategoriat jotka tulisi suojata rekisteröimättömiltä käyttäjiltä.Kiinteä vanheneminenKaikille keskeneräisille rekisteröinneilleTietylle jäsentunnukselle (Member ID)Unohdettu salasanaIlmaisjäsenyystason tunnisteIlmaisjäsenyys on poistettu käytöstä tällä sivustolla. Teethän maksusuorituksenFrom: SähköpostiosoiteSukupuoliSukupuoli -kenttä on virheellinenYleiset liitännäisasetukset.Yleiset asetuksetLuo koodiLuo rekisteröinnin päättämislinkkiLuo rekisteröinnin päättämislinkkiLuo "Advanced Variables" koodi PayPal maksunapillesiMene takaisin kotisivulle Piilota ylläpitäjän palkkiVinkki: Salasanan tulisi olla vähintään seitsemän(7) merkkiä pitkä. Vahvistaaksesi sitä, käytä isoja ja pieniä kirjaimia, numeroita ja symboleja kuten ! " ? $ % ^ & ).TunnisteJos ole juuri suorittanut jäsenmaksusi saattaa maksusi olla vielä prosessoitavana. Tarkista muutaman minuutin päästä tilanne uudestaan. Saat hetken päästä sähköpostin yksityiskohtaisilla tiedoilla.InaktiivinenVirheellinen sähköpostiosoiteVirheellinen käyttäjätunnus.Virheellinen jäsenyystasoLuo tunnukset täälläLiity meihin sivun URLViimeksi kirjautunutViimeisin IP mistä kirjauduttuSukunimiJätä tyhjäksi pitääksesi nykyisen salasananTaso jolle päivitetään:Linkki/linkit luotu onnistuneesti. ao. linkkiä/linkkejä voi käyttää rekisteröinnin vahvistamiseksi.Live Publishable KeyLive Secret KeyUloskirjautuminen onnistui.Kirjautunut käyttäjänäKirjaudu sisään tästäKirjautumissivun URLKirjaudu ulosHallinnoi sisällön suojaustaHallinnoi maksunappejaJäsenJäsenen kirjautuminenJäsenprofiiliJäsenyys alkanutJäsenen lisääminen onnistui.Jäsenyyden alku -kenttä on virheellinenJäsenetKäyttäjien pitää olla kirjautuneita kommentoidakseen.JäsenyysJäsenyystasoJäsenyystasoa ei löydy.Jäsenyystason luominen onnistui.Jäsenyystason tunnus (ID)Jäsenyystason nimiJäsenyystaso päivitetty onnistuneesti.Jäsenyystaso:Jäsenyystaso:JäsentasotJäsenyyden uusimis URLJäsenyystason vaihto suoritettu onnistuneesti.Merchant Account IDMerchant IDKuukautta (Pääsy vanhenee näin monen kuukauden päästä)Nimessä on kelpaamaton merkkiEi koskaanUusi salasana on lähetetty sähköpostiisi.SeuraavaSeuraavaksi, valitse olemassa oleva jäsenyystaso alla olevasta pudotusvalikosta ja sitten valitse ne kategoriat joihin haluat sallia pääsyn kyseisellä jäsenyystasolla.Ei vanhentumista (Pääsy tällä tasolla ei vanhene ennen kuin se peruutetaan)Ei vanhenemista (Tämän tason pääsy ei vanhene ennen peruuttamista)Kategoriaa ei löydy.Jäsentä ei löydy.Jäsenyystasoja ei löydy.Kyseiselle sähköpostille ei löydy käyttäjää.Eikö sinulla ole tunnuksia?Ilmoita käyttäjälleTAIValinnaiset tiedotSivun asetteluun ja URL liittyvät asetukset.Sivujen asetuksetSalasanaSalasana tyhjä tai virheellinen.Salasanan resetointiSalasanan resetointi sivun URLSalasana on pakollinenSalasanat eivät täsmääPayPal Buy NowPayPal Buy Now Button ConfigurationPayPal sähköpostiPayPal integraatio asetuksetPayPal SubscriptionPayPal Subscription Button ConfigurationMaksun määräMaksunapin tunnus (ID)Maksunapin otsakeMaksun valuuttaMaksuasetuksetMaksutVireilläPuhelinnumeroKirjaudu sisään kommentoidaksesi.Korjaathan seuraavat kohdat:Korjaathan seuraavat:Kirjaudu uudelleen.Kirjaudu sisään kommentoidaksesi.Liitännäisten dokumentaatioPostinumeroPrivate KeyProfiiliProfiili päivitetty onnistuneesti.Profiili päivitetty onnistuneesti. Joudut kirjautumaan uudestaan salasanan vaihdon vuoksi.Public KeyUudelleen yritä maksun epäonnistuessaRekisteröidyRekisteröintiRekisteröitymissivun URLRekisteröinti onnistui. Rekisteröinnin vahvistuslinkit ilmestyvät alle.Rekisteröinti päätetty. Nyt voit kirjautua sivustolle.Muista minutToista salasanaResetoi salasanaReturn URLToista salasana tähänRooliRivitunniste (Row ID)SWPM ylläpitäjän käyttöliittymään on oletuksen pääsy ainoastaan ylläpitäjä käyttäjillä. Tässä voit sallia pääsyn muulla WP käyttäjäroolilla.Tallenna muutoksetTallenna maksudataHakuEtsi transaktiota sähköpostilla tai nimellä.Turvatarkistus: captcha varmistus epäonnistui.Valitse nykyinen tasoValitse tasoValitse maksunapin tyyppiValitse kohdetasoValitse kuinka pitkään pidät tiliä "Vireillä" ennen poistamista.Valitse jäsenyystaso (kaikkien tämän tason jäsenten aloituspäivämäärä päivitetään).Valitse nykyinen taso (kaikkien tämän tason jäsenyystaso päivitetään).Aseta rekisteröityvien käyttäjien oletustila. Jos haluat manuaalisesti hyväksyä jäsenet voit asettaa oletustilaksi "Vireillä".Valitse mikä jäsenyystaso pääsee käsiksi tähän sisältöön:Valitse uusi jäsenyystaso.Lähetä jäsenelle sähköposti kun lisäys tehdään ylläpitäjän käyttöliittymästä.Lähetä ilmoitus ylläpitäjälleLähetä rekisteröinnin muistutus sähköposti myös.Istunto on vanhentunut.Aseta tila aktiiviseksiAseta tila aktiiviseksi ja tee ilmoitusAseta tila vanhentuneeksiAseta tila pois käytöstäAseta tila vireillä olevaksiAsetuksetTämän osion asetukset vaikuttavat kaikkiin sähköposteihin.Asetukset päivitetty!Näytä ylläpitäjän palkki ylläpitäjilleSimple Membership suojausasetuksetSimple Membership::MaksutSimple WP Membership suojausSimple WP Membership::LisäosatSimple WP Membership::JäsenetSimple WP Membership::JäsenyystasotSimple WP Membership::AsetuksetJoitain Simple Membership -lisäosan asetuksia ja valintoja näytetään tässä (jos niitä on)Kertakäyttöavaimen varmistus epäonnistui.Salasana ei ollut oikein.Määritä aloituspäivämäärä.MaakuntaLääniKatuOsoiteSalasanan vahvuusStripe API avaimet. Saat nämä tiedot Stripe tililtäsi.Stripe Buy NowStripe Buy Now Button ConfigurationLähetäTilaa nytTilaajatunniste (Subscriber ID)Tilaajatunniste (Subscriber ID)/ReferenssiTestaus ja debuggaus asetuksetTest Publishable KeyTest Secret KeyTestaus ja debuggausasetuksetPääsy alkaa on asetettu päiväksi jona käyttäjä rekisteröityy. Tätä päivää käytetään laskemaan kuinka pitkään kyseinen käyttäjä pääsee sisältöön joka on suojaus on toteutettu jäsenyystason keston perusteella.Ylläpitäjä ei salli hallintapaneelinäkymää.Seuraavat yksityiskohdat ovat valinnaisiaValittu merkintä on poistettu!Tämän sisällön näkevät vain jäsenet jotka ovat liittyneet tähän päivään mennessä:Tämä sisältö on vain jäsenille.Tätä sisältöä ei näytetä jäsenyystasollasi.Tämä sähköposti lähetetään kehottamaan käyttäjää päättämään rekisteröinnin maksun jälkeen.Tämä sähköposti lähetetään kun uusi käyttäjä rekisteröityy. Toimii vain mikäli "Lähetä ilmoitus ylläpitäjälle" on aktivoitu.Tämä sähköposti lähetetään käyttäjille kun käytät tilien massa-aktivointi ja -ilmoitus ominaisuutta.Tämä sähköposti lähetetään käyttäjälle kun tili päivittyy (kun olemassa oleva käyttäjä maksaa uudesta käyttäjätasosta).Tämä sähköposti lähetetään käyttäjille kun rekisteröinti on suoritettu ja heistä on tullut jäseniä.Tämä sähköposti lähetetään käyttäjille kun he käyttävät salasanan resetointi toiminnallisuutta.Tämä sivu sallii muokata eräitä lisäosan edistyneitä ominaisuuksia.Tämä arvo päivittyy kun tämä jäsen kirjautuu sivustolle.TyökalutTransaktiotunniste (Transaction ID)TransaktiotKoeajan maksun määräKoeajan laskutustiedot (Jätä tyhjäksi jos sinulla ei ole koeaika käytössä)Koejan pituusKirjoita salasana tähänPäivitäKäytä WordPressin aikavyöhykettäValitse tämä jos haluat näyttää ylläpitäjän palkin vain ylläpitäjille. Muilta käyttäjiltä palkki piilotetaan.Käytä tätä asetusta jos haluat käyttää WordPress yleisissä asetuksissa asetettua aikavyöhykettä.Käyttäjää ei löydy.Käyttäjä ei ole kirjautunut sisään.KäyttäjätunnusKäyttäjätunnus on jo käytössä.Käyttäjätunnuksessa on virheellisiä merkkejä.Käyttäjätunnus tarvitaanKäyttäjätunnus tai sähköpostiKatso profiiliaWP MembershipVaroitus! Simple Membership lisäosa ei voi käsitellä kirjautumispyyntöä estääkseen tahattoman uloskirjautumisen WP ylläpidosta. Viikkoa (Pääsy vanhenee näin monen viikon päästä)Viikkoa (Pääsy vanhenee näin monen viikon päästä)Kun sallittu, vanhentuneen tilin käyttäjä pystyy kirjautumaan järjestelmään muttei näe mitään suojattua sisältöä. Tämä mahdollistaa tilin helpon uusimisen.WordPress sallii peruskäyttäjän pääsyn wp-admin osoitteeseen ja pääsyn omaan profiiliinsa WP käyttöliittymässä. Tällä valinnalla estetään muiden kuin ylläpitäjien pääsy WP käyttöliittymään.WordPress näyttää ylläpitäjän palkin kirjautuneille käyttäjille. Valitse tämä jos haluat piilottaa palkin.Sähköpostille löytyy tili, mutta annettu käyttäjätunnus ei täsmää.Käyttäjätunnukselle löytyy tili, mutta annettu sähköposti ei täsmää.Vuotta (Pääsy vanhenee näin monen vuoden päästä)Parhaillaan muokkaat:Olet kirjautunut käyttäjänä:Olet kirjautunut sivustolle tässä selaimessa ylläpitäjänä. Kirjaudu ensin ulos WP ylläpidosta, jonka jälkeen voit kirjautua jäsenenä.Et ole kirjautunut sisään.Et ole kirjautunut jäsenenä sisäänVoit luoda tilin uusimissivun sivustollesi. Lue (englanniksi)tämä dokumentaatio, jossa kerrotaan miten uusimissivu luodaan. Voit luoda uuden maksunapin jäsenyyksillesi tällä käyttöliittymällä.Voit muokata maksunappia tällä käyttöliittymällä.Voit muokata valitun jäsenyystason yksityiskohtia tästä käyttöliittymästä.Voit manuaalisesti muuttaa minkä tahansa jäsenen jäsenyystasoa jäsenyysvalikosta.Voi manuaalisesti luoda rekisteröinnin päättämislinkin tässä ja antaa sen asiakkaalle jos he eivät jostain syystä ole saaneet automaattisesti luotua vahvistusviestiä.Voit seuraavalla valinnalla asettaa manuaalisesti tietyn aloituspäivämäärän kaikkille tietyn tason jäsenille.Voit käyttää seuraavaa valintaa alla valitsemasi tason kaikkien jäsenten jäsenyystason muuttamiseksi.Sinulla ei ole käyttöoikeutta tähän sisältöön.Sinulla on testimaksutila kytkettynä lisäosan asetuksissa. Varmista että kytket testimaksutilan pois päältä kun haluat käyttää oikeita maksuja.Kirjaudu sisään nähdäksesi loput sisällöstä. Kirjaudu sisään nähdäksesi tämän sisällön. Saat yksilöllisen linkin sähköpostiin maksun jälkeen. Linkin avulla voit suorittaa loppuun Premium-jäsenyyden rekisteröinnin. Tilisi on vanhentunut. Nykyinen salasanasiJäsenyystasollasi ei ole käyttöoikeutta tähän sisältöön.Jäsenyysprofiilisi on päivitety maksun mukaisesti.Tavalliset vierailijat tai jäsenet eivät näe tätä viestiä. Tämä viesti näytetään ainoastaan ylläpitäjille.Profiilisi käyttäjätunnus:Postinumeroklikkaamalla tästäpuutteellinenuusilanguages/simple-membership-ja.mo000064400000220256147206617610013102 0ustar00`+&2.242"-3P3m3D3}3I4515 6N66e6\7&s777 7B7-8 G8ih88 8+89 +959J96`99 999;9%:D: S:a:p::::: ::V;R_;; ; ;;;;;<<1<A<!I<k<< <<<< =M=@\==%=2= > ->;>sJ>>#>>?&?-? I?S? m?{???T??&@(@G@d@)s@'@@ @@@ A A%A-AHA(dAA A A AAAAXB*pBB B B-B9B C9C%?CeC mCzCC $D.D4D'lRFR.R !SBSWS#S TTT #T.TTU UU!V6VTVeVI~VVVVVW&W 7W%EW'kW=WWW*W X,X X XXX@Xm;YY2ZZ ZZ [[3[6L[[[[[[[[ [[([\$\_9\\\ \\\ \\] ]].]5]T]n]]]] ] ]] ]!]]^$^ D^O^#`^%^^^&^^ _ _2_9I_"__ __4_`$`1*`\`a` a a@aAbCbVbfbwb&b b bbb b c c$cCcIcXcac|ccccc cc#d (d 6dCd_dQud*dd(e/e>ePeeeve eeIef ffff%f>fYfvffIf9f6gJgcgxggggg gggXh[h xhhh h hh hhh/i8Bi {ii ii"i iiiijjj j jjk k/'k Wk*akk kkkkkll31lgelilp7mm9? $!  /3-*.Y*w'pr' $$7=\" +`e $W&~< Wax{%5H!g#BRq-0*[<b3'!40Gx0* 4 @*K0v W  33*'>!f*T9B` ~ ' 3 >(]$*3 %2Xn!o1(Z$n  f | B-*"-M-{^N'WB!! +9 eo-{$, Q[!q 0Ng: 6Qdk K aMk!! ,'Hp9{vwR $sZ0'@!h*'!!!K(t) ! ")L%i u0,B]'  L*w$!.BB *!!tC;Qp3=6q[D-Q ~6u+}`2f$WiT`  5Noj 34(;d)'s!0>9=w-]]"c-6:R= '*x    k  ' 3  y$!-l9O.~~c`<"?#-<KXCRI0vzK=(cKz/c 90! - F _  u   'TD9)QMS\5P\ Mih/HKT88C8C{~,1j<_* <zkK7@rRV^>$5|g$-@aA! `Ya4+|[vFP_kL(OUQOJ0{x%uoFl}j)%J&wh>N Nd? c#D BB.LGI!QE.];P=  A4G$;0s7(~[3X-CqzRUG 9Fg:#J9Y%t)&!} @*Df oX pyS/,(71B MK_N 4AR]e #Z:V6i?+6""3sdl+w6c.-3 eETb2O<L2,H\['qIWZW;=bm"`VI]2r>S?p/Z E'0:`1tfmUx&*Yuvy=HWn^Xn^5 Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Field has invalid character Password does not match The rest of the content is not permitted for your membership level. This can be useful when troubleshooting an issue. Turn it off and reset the log files after the troubleshooting is complete. Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. page to pay for a premium membership. to learn how to do it. to learn how to use it. to login. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterA prompt to complete registration email was also sent.Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd Membership LevelAdd NewAdd New Member Add New Membership Level Add-onsAdditional SettingsAddons SettingsAddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Logout Redirect URLAfter Registration Redirect URLAllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlready taken.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountApostrophe character is not allowedApt, Suite, Bldg. (optional)Assign free membership level IDAuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCan't find member account.Cannot find member account.Captcha validation failed on login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this box to delete the image. The image will be deleted when you save the profile.Check this option to enable debug logging.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.Collect Customer AddressColorComments not allowed by a non-member.CompanyCompany NameConfirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.Continue?CountCountryCreate Member Accounts for New WP UsersCreate New ButtonCreate a brand new user and add it to this site.Create new membership level.Custom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDisable Access to WP DashboardDo you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEmailEmail ActivationEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty payment data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable DebugEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Privacy PolicyEnable Sandbox TestingEnable Terms and ConditionsEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the subject for the admin notification email.Error occured during PayPal Smart Checkout process.Error occured during payment verification. Error code: %d. Message: %sError! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Please select a membership level first.Error! The membership level ID (Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry: First NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonGo back to the home page by GoldHTTP error occured during payment process:Hide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).HorizontalI accept the I agree to the IDIPN product validation failed. Check debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelIt will also delete associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Client IDLive Publishable KeyLive SecretLive Secret KeyLogged Out Successfully.Logged in asLogged in as: LoginLogin HereLogin Page URLLogoutLogout Member on Browser CloseManage Content ProtectionManage Payment ButtonsMediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level change operation completed successfully.Membership level has been updated.Merchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No category found.No items found.No member found.No membership levels found.No user found with that email address.No, Do not protect this content.Not a Member?Not a member? Note:Notify UserOROptional DetailsPage Setup and URL Related settings.PagesPages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPassword must contain at least:Password: PayPal Buy NowPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal Integration SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment MethodsPayment Notification Forward URLPayment SettingsPayment check failed: invalid amount received. Expected %s %s, got %s %s.PaymentsPendingPhonePillPleasePlease Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Plugin DocumentationPost and Page ProtectionPostal / Zip CodePostsPrivacy PolicyPrivacy Policy Page URLPrivate KeyProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRead the RectangularRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRegistration is complete. You can now log into the site.Remember MeRepeat PasswordRepsonsiveReset PasswordReset debug log files by clicking Return URLRetype password hereRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here.Sandbox Client IDSandbox SecretSave ChangesSave DataSave Membership Level Save Payment DataSearchSearch for a transaction by using email or nameSearch...Security check: captcha validation failed.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect button color.Select button layout.Select button shape.Select button size.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Select the new membership level.Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminSilverSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSizeSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the access starts date value.StateState / Province / RegionStatusStreetStreet AddressStrength indicatorStripe API SettingsStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe Plan IDStripe SubscriptionStripe Subscription Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceSuccess! Your account has been activated successfully.Terms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This field is requiredThis interface lets you custsomize the various emails that gets sent to your members for various actions. The default settings should be good to get your started.This is the member's account status. If you want to manually activate an expired member's account then readThis page allows you to configure some advanced features of the plugin.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This value gets updated when this member logs into your site.TitleToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTypeType password hereUpdateUse WordPress TimezoneUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVerificationVerticalView DocumentationView ProfileView general debug log file by clicking View login related debug log file by clicking WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Webook Endpoint URLWeeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashbaord. Using this option will prevent any non admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)Yes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the payments menu of this plugin (useful if you want to offer paid membership on the site).You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to confirm your email address. Please check your email and follow instructions to complete your registration.You need to login to view the rest of the content. You need to login to view this content. You will be automatically redirected in a few seconds. If not, please %s.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herehereincompleterenewthis documentationProject-Id-Version: Plugins - Simple Membership - Development (trunk) PO-Revision-Date: 2020-01-30 00:23-0600 Last-Translator: Language-Team: Language: ja_JP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 2.2.4 メール設定(アカウントのアップグレード通知) メール設定(複数アカウント一括有効化通知) メール設定(メールでの有効化) フィールドに無効な文字が含まれています パスワードが一致していません ここからの先のコンテンツはあなたの会員レベルでは閲覧できません。 これは問題をトラブルシューティングする際に便利です。トラブルシューティングが完了したらオフにして、ログファイルをリセットしましょう。 別のメールアドレスで登録を完了してください。もし、このメールアドレスをお使いになりたい場合は、既存のWPユーザーアカウントと紐づいている正しいユーザー名を入力してください。 別のユーザー名で登録を完了してください。もし、このユーザー名をお使いにな離たい場合は、既存のWPユーザーアカウントと紐づいている正しいメールアドレスを入力してください。 現在編集している会員のIDは: 上のフィールドにカンマ(,)区切りで複数のメールアドレスを記入すると、複数のメールアドレスへ通知を配信できます。 このメールには置き換えタグは使えません。一般的なテキスト文のみ使えます。 必要な文字数 は、メール本文をカスタマイズするために、どんな置き換えタグが使えるかを説明しています(ご希望の場合)。 詳細を説明しています。 ページからお願いします。 をご覧ください。 使い方について。 ログインするために。 あなたが今このブラウザでログインしているプロフィールが確認できます。 すると、このコンテンツにアクセスできるようになります。(指定した日付まで有効)(注記:安全理由から、このプラグインではWordPressアカウントの管理者権限を持つアカウントは削除できないようになっています)。(選択してください)(必須)(二度入力。同じパスワードを利用する場合は空欄にする。)(二度入力、必須)- 半角数字1文字- 半角小文字1文字- 半角大文字1文字登録完了を促すメールも送信されました。有効期限アクセス開始日アクセス有効期限有効期限の数値を1以上に設定してください。アクセス開始日の変更が完了しました。アクセス開始日のフィールドが無効ですアカウントの有効期限アカウントの状態アカウント状態アカウントは既に有効化されています。 アカウントが期限切れです。アカウントが無効です。アカウントが保留中です。アカウントの状態の項目が無効ですアクション状態有効化が必要有効化コードが一致しないため、このアカウントを有効化できません。 サイト管理者に連絡してください。有効化するためのメールが送信されました。 メールを確認してアカウントを有効にしてください。有効レベルの追加会員の追加新規会員レベルの追加新規追加新規メンバーの追加 新しい会員レベルの追加 アドオン追加設定アドオンの設定アドレス管理ダッシュボードのアクセス許可管理者のメールアドレス管理者通知メールの本文管理者通知メールの件名詳細設定ログアウト後のリダイレクトURL登録後のリダイレクト先URL全てこのプラグインで作成した全ての入会用ボタンはこちらに表示されます。会員のすべての支払い/トランザクションがここに記録されます。アカウント削除の許可会員によるアカウント削除を許可。許可されている文字:英文字、番号、 .-*@既にこの会員レベルです。すでに使われていますすでに使われています。別の方法として、違うブラウザー(管理者としてログインしていない)からメンバーログインをテストすることもできます。金額アポストロフィー(‘)は使えませんアパート・スイート・建物(任意)無料会員のレベルIDを指定作者保留中アカウントの自動削除利用できます各サイクルの請求額請求サイクル請求サイクルカウント黒青Braintree APIキーとアカウント詳細。この情報はBraintreeアカウントから入手できます。Braintree今すぐ購入Braintree今すぐ購入ボタン設定アクセス開始日を一括変更会員レベルを一括変更一括操作会員のアクセス開始日を一括更新複数会員の会員レベルを一括更新ボタン外観設定ボタン IDボタン画像 URLボタンショートコードボタンタイトルボタンタイプ今すぐ購入会員アカウントが見つかりません。会員アカウントが見つかりません。ログインフォームでキャプチャ認証に失敗しました。キャプチャ認証に失敗しました。カテゴリーカテゴリーIDカテゴリー名カテゴリー保護カテゴリータイプ(タクソノミー)カテゴリー保護を更新しました!画像を削除するにはこのボックスをチェック。プロフィールを保存すると画像は削除されます。デバッグログを有効にする場合はこのオプションをチェック。市区町村検索リセットこちらをクリック有料登録を完了するにはこちらをクリック以下のリンクをクリックして会員登録を完了してください。正しいお客様住所色会員以外はコメント書き込みできません。会社会社名アカウント削除の確認サイト管理者に、WPユーザーメニューであなたのユーザー名を検索してもらい、WPユーザーリストでのあなたのアカウント状態を確認してもらってください。続行しますか?数国新しいWPユーザー用に会員アカウントを作成新規ボタン作成新しいユーザーを作成し、このサイトに追加します。新規会員レベルを作成。決済ページのカスタムロゴ画像カスタム投稿日付日付の形式が有効ではありません。日(指定した日数の間有効)デフォルトアカウントステータスデフォルト会員レベルWordPress のデフォルトユーザー権限削除アカウントの削除ユーザープロフィールを削除説明WPダッシュボードへのアクセスを無効化このコンテンツを保護しますか ?メールELV会員の編集プロフィールの編集プロフィールの編集ページ URL既存会員の詳細を編集.会員レベルを編集メールメールでの有効化メールアドレスメールアドレス: メール本文その他メール設定メール設定メール設定(パスワードリセット)メール設定(登録完了を促す)メール設定(登録完了)メール設定概要メール件名メールアドレスが有効ではありません。メールアドレスがすでに登録済みです。メールアドレスが無効ですメールアドレスは必須です空の支払いデータを受領しました。メンバーアカウントの自動作成を有効化登録後の自動ログインを有効化デバッグを有効化有効期限切れのアカウントのログインを有効にする無料会員を有効にしますMore タグ以下のコンテンツを保護プライバシーポリシーを有効化サンドボックステストを有効化利用規約を有効化新規ユーザーのメールでの有効化を有効にします。有効にすると、会員はアカウントを有効化するために、登録メールアドレスに送られたメールの有効化リンクをクリックする必要があります。無料会員制に便利です。新規ユーザーのメールでの有効化を有効にします。有効にすると、会員はアカウントを有効化するために、登録メールアドレスに送られたメールの有効化リンクをクリックする必要があります。無料会員制に便利です。 ユーザーに強力なパスワードを使うよう強制したい場合はこれを有効にします。このサイトの会員だけにコメント投稿を許可したい場合は、このオプションを有効にします。管理者が会員登録の通知を受信したい場合は、このオプションを有効にします。会員がブラウザーを閉じた時にログアウトさせたい場合は、このオプションを有効にします。サンドボックスで支払いテストをしたい場合は、このオプションを有効にします。会員ログインとWPユーザーアカウントの同期化を強制したい場合はこのオプションを有効にします。これは、WPユーザー情報を利用している他のプラグインを使っている場合に便利です。例:bbPressプラグイン。他のプラグインが新しいWPユーザーを作成した時に、自動的に会員アカウントを作成したい場合、このオプションを有効化します。無料会員レベル登録の有効化 / 無効化。この機能を有効にする場合は、無料会員レベルIDを以下の欄に必ず指定してください。投稿や固定ページの「More タグ」保護を有効化/無効化。More タグ以降のコンテンツはすべて保護されます。Moreタグ以前のコンテンツはティーザーです。会員レベルID を入力してくださいプライバシーポリシーページのURLを入力してください。利用規約ページのURLを入力してください。WordPressの規約ページを作成して、そのページのURLを上の欄に入力することもできます。管理者通知メールの送信先メールアドレスを入力してください。管理者通知メールの件名を記入。PayPalスマートペイメント処理中にエラー発生。支払い認証時にエラーが起こりました。エラーコード:%d。メッセージ:%sエラー!指定のテンプレートへのパスが見つかりません: エラー!無効なリクエスト。入力されたセキュリティーコードとユーザーIDが一致しません。エラー!ユーザー画面からのプロフィール編集の際、認証に失敗しました。エラー!管理画面からの会員レベル作成の際、認証に失敗しました。エラー!管理画面から会員レベル削除の際、認証に失敗しました。エラー!管理画面からの会員レベル編集の際、認証に失敗しました。エラー!管理画面からユーザー削除する際、認証に失敗しました。エラー!管理画面からのユーザー編集の際、認証に失敗しました。エラー!管理画面からのユーザー登録の際、認証に失敗しました。エラー!まず会員レベルを選択してください。エラー!会員レベルID(エラー!このアクション(エラー!このサイトはWPユーザーでログインさせるように設定しています。ご指定のユーザー名はWPユーザーの記録では見当たりませんでした: コンテンツ保護の設定例有効期限期限切れ有効期限: 名まず、サイト全体で投稿や固定ページを保護するには、ドロップダウンメニューから「一般保護」を選び、ログインしていないユーザーに非公開にする投稿や固定ページを選択します。まず、サイト全体でカテゴリーを保護するには、ドロップダウンメニューから「一般保護」を選び、ログインしていないユーザーに非公開にするカテゴリーを選択します。有効期限日を指定すべての未完了な登録に対して特定の会員IDに対して会員に強力なパスワードを強制WPユーザー同期を強制パスワードをお忘れですか?無料会員レベル IDこのサイトでは無料会員は受け付けておりません。。有料会員のお支払い手続きは 送信元メールアドレス性別性別のフィールドが無効です一般プラグイン設定。一般保護一般設定コードを生成する登録完了リンクを生成する登録完了リンクを生成するPayPal ボタンの「詳細変数」コードを生成するホームページに戻るには ゴールド支払い処理中にHTTPエラー発生:管理バーを非表示ヒント: パスワードは7文字以上。より強力なパスワードにするために、大文字・小文字を使い、数字や ! \" ? $ % ^ & ) 等の記号の使用を推奨します。横承諾します 同意します IDIPN商品認証に失敗しました。詳細はデバッグログを確認してください。有効にした場合、アカウントが有効化されるまで、復号可能な会員パスワードがデータベースに仮保存されます。プラグインのインストール時に自動作成された必要なページを誤って削除してしまった場合、このオプションを使って再度作成できます。会員登録のためのお支払いを完了したばかりでしたら、まだ手続きの処理中です。数分後にもう一度ご確認ください。間もなく詳細についてメールが送付されます。無効不完全無効なメールアドレス無効なユーザー名メールアドレスが無効です会員レベルが無効ですこれにより紐づいたWordPressユーザーアカウントも削除されます。今すぐ登録入会のご案内会員登録案内ページ URL大最終アクセス日最終アクセスしたIP前回のログイン日姓配置同じパスワードを利用する場合は空欄にするレベル変更後のレベル: リンクが生成されました。登録を完了するために、以下のリンクをお使いいただけます。本番用クライアントID本番用公開鍵本番用秘密本番用秘密鍵ログアウトしました。ログイン中のアカウントログイン中のアカウント: ログインしてくださいここからログインログインページ URLログアウトブラウザーを閉じた時に会員をログアウトさせるコンテンツ保護を管理支払いボタンの管理中会員会員ディレクトリ会員IDメンバーログイン会員プロフィール会員登録日会員情報の追加が完了しました。会員登録日のフィールドが無効です会員コメントするには会員のログインが必要ですメンバーシップ会員レベル会員レベルが見つかりませんでした。会員レベルを作成しました。会員レベル ID会員レベル名会員レベルの更新が完了しました。会員レベル:会員レベル: 会員レベル会員更新URL会員レベルの変更が完了しました。会員レベルが更新されました。販売者アカウントID販売者ID最低限 ヶ月(指定した月数の間有効)名前に無効な文字が含まれています期限なし新しいパスワードがあなたのメールアドレスに送信されました。次次に、下のドロップダウンメニューから既存の会員レベルを選択し、アクセス許可したい投稿や固定ページを選択します(その特定の会員レベルのユーザーに対し)。次にドロップダウンメニューから既存の会員レベルを選択し、その会員レベルのユーザーにのみ公開するカテゴリーを選びます。無期限無期限(キャンセルしない限り有効)無期限(キャンセルしない限り有効)カテゴリーが見つかりません。アイテムが見つかりません。会員が見つかりません。会員レベルが見つかりません。そのメールアドレスで登録されたユーザーが見つかりません。いいえ、このコンテンツを保護しません。会員ではないですか ?会員ではないですか? 注記:会員に知らせるまたは設定の詳細ページ構成とURL関連の設定。ページページ設定パスワードパスワードが未記入または無効です。パスワードのリセットパスワードリセットページ URLパスワードは入力必須ですパスワードが一致していませんパスワードに最低限使用する文字列:パスワード: PayPal今すぐ購入PayPal 今すぐ購入ボタン設定PayPalクレジットPayPal メールPayPal の統合設定PayPalスマートペイメントPayPalスマートペイメントAPI認証情報(あなたのPayPalアカウントから取得できます)PayPal スマートペイメントボタン設定PayPal 定期購入PayPal定期購入ボタンの設定支払金額支払ボタン ID支払ボタンタイトル支払通貨支払い方法支払い通知転送URL支払い設定支払い確認に失敗しました:無効な金額を受領。請求額 %s %s、受領額 %s %s。支払い保留電話番号ピル形状どうぞコメントを書き込むにはログインしてください。1つ以上チェックしてください。下記の内容を修正してください下記の内容を修正してください。以下の内容を修正してください:2つの数字をスペースなしで入力してください(例:12)2つの数字をスペースなしで入力してください(例:12)*再度ログインしてください。コメントを書き込むにはログインしてください。プラグインのマニュアル投稿や固定ページの保護郵便番号投稿プライバシーポリシープライバシーポリシーページ URL秘密鍵プロフィールプロフィールが更新されました。プロフィールが更新されました。パスワードが変更されたので、再度ログインが必要です。保護設定を更新しました!公開鍵失敗時の再試行必要なページを再度作成参照 長方形登録登録登録ページ URL登録が完了しました。 登録完了リンクが下に表示されます登録が完了しました。サイトに今すぐログインできます。ログイン情報を保存パスワードを再入力レスポンシブパスワードリセットデバッグログファイルをリセットするには リターン URLここにパスワードを再入力してください権限グループ列 IDSWPM管理ダッシュボードは管理ユーザーのみアクセス可能です(他のプラグインと同じ)。他のWP権限グループのユーザーにSWPM管理ダッシュボードへのアクセスを許可する場合は、ここでその権限を選択します。テスト用クライアントIDテスト用秘密変更を保存データを保存会員レベルを保存 支払データ保存検索メールまたは名前を使ってトランザクションを検索する検索…セキュリティチェック: キャプチャ認証に失敗しました。現在のレベルを選択レベルを選択支払ボタンタイプを選択ターゲットレベルを選択ボタンの色を選択。ボタンのレイアウトを選択。ボタンの形を選択。ボタンサイズを選択。「保留中」アカウントの保留期間を選択。お客様にご利用いただける支払い方法を選択してください。なお、カード払いは常に有効になっています。会員レベルを選択(このレベルに属するすべての会員のアクセス開始日が更新されます)。現在の会員レベルを選択(更新したい会員レベルに属するすべての会員が一括で更新されます)。新しく会員登録したユーザーのデフォルトステータスを選択。管理者が手動で会員を承認する場合は「保留中」を選びます。このコンテンツを閲覧できる会員レベルを選択してください:新しい会員レベルを選択。管理画面から会員登録した場合、登録された会員宛にメールを送信管理者へ通知を送信登録リマインダーメールを送信するセッションが期限切れです。ステータスを有効に設定ステータスを有効に設定し通知ステータスを期限切れに設定ステータスを無効に設定ステータスを保留に設定設定このセクションの設定はすべてのメールに適用します。設定を更新しました!形状Adminツールバーを管理者に表示シルバーSimple WP Membership 保護設定Simple Membership::支払Simple WP Membership 保護Simple WP Membership::アドオンSimple WP Membership::会員Simple WP Membership::会員レベルSimple WP Membership::設定サイズアドオンの設定やオプションがここに表示されます(インストールされている場合)。残念ながら、認証に失敗しました。残念ながら、パスワードが一致しませんでした。アクセス開始日の値を指定。都道府県都道府県ステータス番地住所・番地強度の指標Stripe API設定Stripe API鍵。あなたのStripeアカウントから取得できます。Stripe今すぐ購入Stripe今すぐ購入ボタン設定StripeプランIDStripe定期購入Stripe定期購入ボタン設定送信今すぐ定期購入する定期購読者ID購読者 ID/参照成功!あなたのアカウントが有効になりました。利用規約利用規約ページURLテスト & デバッグ設定テスト用公開鍵テスト用秘密鍵テスト & デバッグ関連の設定。会員のアクセス開始日は、ユーザー登録された日に設定されています。有効期限付きのコンテンツを閲覧できるレベルの会員が、あとどのぐらいの期間アクセスできるかを計算するために、この日付が使われます。 このサイトの管理者はユーザーのWPダッシュボードへのアクセスを許可していません。この投稿のカテゴリー、または親カテゴリーは保護されています。カテゴリー保護の設定変更は 次の詳細は任意次の詳細は任意です。以下のページは、プラグインが正しく機能するために必要なものです。これらのページは、プラグインのインストール時に自動的に作成されています。必要なページが再度作成されました。選択したエントリーは削除されました!サイト管理者は設定画面で、WPユーザー強制同期を無効にできます。そうすることでこのエラーが出なくなります。このコンテンツを閲覧できるのは、入会日がこの日以前の会員です このコンテンツは会員専用です。このコンテンツはあなたの会員レベルでは閲覧できません。このマニュアルこのメールは、会員レベルで「メールによる有効化」を有効にしている場合に送信されます。このメールは、支払い後、登録を完了するようにユーザーに促すために送信されます。このメールは新しいユーザーが会員登録を完了した時に管理者に送られます。上の「管理者へ通知を送信」オプションを有効にした場合のみ作動します。このメールは、あなたがアカウントの一括有効化と通知機能を使った時に会員に送信されます。このメールは、アカウントをアップグレード後(既存会員が新しい会員レベルの会費を払った時)すべてのユーザーに送信されます。このメールは、登録を完了して会員になったユーザーに配信されます。このメールは、パスワードリセット機能を使ったユーザーに送信されます。メンバーアカウントがWPユーザーアカウントに連携していない場合にこのエラーが出ます。このプラグインは、ユーザーをWPユーザーシステムへログインできませんでした。このフィールドは必須ですこの画面では、様々な行為に対して会員に送信される諸々のメールをカスタマイズできます。デフォルト設定でもサイト立ち上げには十分使えるはずです。これは会員のアカウントステータスです。期限切れの会員アカウントを手動で有効にする方法についてはこのページでは、このプラグインの高度な機能を設定できます。このセクションでは、他のプラグインが新規WPユーザーデータを作成した時に、会員アカウントを自動作成するように設定できます。WPユーザーデータを作成する他のプラグインを使っていて、その情報をこちらの会員情報に反映したい場合に便利です。このセクションでは、ユーザー登録時に同意させる利用規約やプライバシーポリシーを設定できます。この会員があなたのサイトにログインした時、この値が更新されます。タイトルツールトランザクション IDトランザクショントライアル請求金額トライアル請求詳細(もしトライアル期間を設定していなければ空欄にすること)トライアル請求期間タイプここにパスワードを入力してください更新WordPress のタイムゾーンを使う新規会員が登録完了した直後にサイトに自動ログインさせるには、このオプションを使います。このオプションは他の登録リダイレクトを無効にし、代わりにログイン後のリダイレクトを作動させます。詳細は このマニュアルをご覧ください。管理者のみにadminツールバーを表示したい場合にこのオプションを使います。それ以外のユーザーにはadminツールバーは表示されません。WordPressの一般設定画面で設定されているタイムゾーンの値を使いたい場合は、このオプションを使います。ユーザーが見つかりません。ログインしていません。ユーザー名ユーザー名がすでに登録済みです。ユーザー名に使える文字:英文字、番号、 .-*@ユーザー名に無効な文字が含まれていますユーザー名は必須ですユーザー名またはメールアドレスユーザー名に使用できる文字:半角アルファベット、半角数字と .-_*@登録を完了するには、ユーザーはこれに同意しなければなりません。登録を完了するには、ユーザーは利用規約に同意しなければなりません。認証しています、お待ちください認証縦マニュアルを閲覧プロフィールを見る一般デバッグログファイルを閲覧するには ログイン関連のデバッグログを閲覧するには WP Membership警告!WP管理画面からあなたが間違ってログアウトするのを防ぐため、Simple Membershipプラグインはこのログインリクエストを処理することができません。WebhookエンドポイントURL週(指定した週数の間有効)週(指定した数の週の間有効)この機能を使って会員アカウントを自動作成する時、そのユーザーの会員アカウントステータスはここで指定した状態に設定されます。この機能を使って会員アカウントを自動作成する時、そのユーザーの会員レベルはここで指定したレベルに設定されます。この機能を有効にした場合、有効期限切れの会員はシステムにログインできますが、会員限定コンテンツは閲覧できません。これは会員が支払いをして更新手続きしやすいようにするためのものです。WordPressは、標準のWPユーザーがwp-admin URLからWPダッシュボードの自分のプロフィールにアクセスすることを許可します。このオプションを使うことで管理者以外がWPダッシュボードへアクセスできないようにします。WordPressはサイトにログインしたユーザーにadminツールバーを表示します。Webサイトにツールバーを表示したくない場合はチェックしてください。同一のメールアドレスの WordPress アカウントが存在しますが、入力されたユーザー名は一致しません。同一のユーザー名の WordPress アカウントが存在しますが、入力されたメールアドレスは一致しません。年(指定した年数の間有効)はい、このコンテンツを保護します。アカウントを削除しようとしています。これで、このアカウントに紐づいたユーザーデータがすべて削除されます。 現在編集中: ログイン中のアカウント:あなたは今このブラウザーに管理者としてログインしています。まず、WP管理画面からログアウトすれば、普通のメンバーとしてログインできるようになります。ログインしていません。会員としてログインしていませんこのサイトで更新ページを作成できます。更新サイト作成方法はthis documentation をご覧ください。このプラグインの支払いメニューから、会費支払いボタンを作成できます(サイト上で有料会員への入会を募集している場合に便利)。この画面からメンバーシップの新しい支払いボタンを作成することができます。この画面より支払ボタンを編集できます。この画面より選択中の会員レベルの詳細を編集できます。 このプラグインで会費の支払いが処理された後、お支払い通知を転送するURLをここに入力できます。お支払い通知を外部スクリプトに転送して、さらに処理する必要がある場合に便利です。「ログアウト」リンクをクリックしてサイトからログアウトした会員をリダイレクトしたいURLをここに入力できます。登録フォームを提出した後でその会員をリダイレクトする先のURLをここに入力できます。登録後のリダイレクトの設定方法につきましてはthis documentation をご覧ください。個別会員の会員レベルを手動で変更するには、会員メニューから該当する情報を編集します。 支払い後に自動的に送信されたメールが紛失した場合、ここで手動で登録完了リンクを生成し、会員に渡すことができます。次のオプションを使って、ある会員レベルに属するすべての会員のアクセス開始日を手動で設定できます。あなたのブラウザーの「戻る」ボタンでサイトに戻ることができます。次のオプションを使って、以下で選択した会員レベルに属するすべての会員を一括更新できます。このオプションを使って、このメンバーに今すぐ通知メールを送ることができます(下の「保存」ボタンを押すとすぐにメールが送られます)このコンテンツを閲覧する権限がありません。プラグイン設定でサンドボックス支払いモードが有効になっています。本番の決済をする時には、サンドボックスモードを必ず無効にしてください。ご利用条件への同意が必要です。プライバシーポリシーへの同意が必要です。会員レベルのアップグレードにはログインが必要です。アカウントを有効にする必要があります。 アクティベーションメールが見当たらない場合は %s すれば再送されます。メールアドレスの確認が必要です。メールボックスにお届けしたメールの手順に従って登録を完了してください。このコンテンツの続きを閲覧するにはログインが必要です。 このコンテンツを閲覧するにはログインが必要です。 数秒後に自動でリダイレクトされます。リダイレクトされない場合は %s してください。パスワードを変更したので、再度ログインが必要です。お支払い完了後、メールで専用リンクが配信されます。そのリンクから有料会員登録を完了していただけます。アカウントが期限切れです。 現在のパスワードあなたの会員レベルでは、このコンテンツを閲覧する権限がありません。お支払いを反映して会員プロフィールが更新されます。普通の訪問者やメンバーがこのメッセージを見ることはありません。このメッセージは管理者にのみ表示されます。あなたのプロフィールユーザー名: 郵便番号投稿や固定ページの一括保護のマニュアルカテゴリー保護に関するマニュアルカテゴリー保護メニューこちらをクリックこちらをクリックここをクリック不完全アカウントを更新このマニュアルlanguages/simple-membership-pl_PL.po000064400000331027147206617610013520 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership\n" "POT-Creation-Date: 2019-05-26 13:48+0600\n" "PO-Revision-Date: 2019-05-29 00:39+0200\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.2.3\n" "X-Poedit-KeywordsList: __;_e;e\n" "X-Poedit-Basepath: .\n" "Last-Translator: Marcin J. Gajewski \n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 " "|| n%100>14) ? 1 : 2);\n" "Language: pl_PL\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:180 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "Administrator tej strony nie zezwala użytkownikom na dostęp do panelu " "administracyjnego wp dashboard." #: classes/class.simple-wp-membership.php:181 msgid "Go back to the home page by " msgstr "Wróć do strony głównej przez " #: classes/class.simple-wp-membership.php:181 msgid "clicking here" msgstr "kliknij tutaj" #: classes/class.simple-wp-membership.php:242 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "Błąd! Ta strona ma włączoną w ustawieniach funkcję wymuszenia logowania " "użytkownika WP. Nie mogliśmy znaleźć rekordu użytkownika WP dla podanej " "nazwy użytkownika: " #: classes/class.simple-wp-membership.php:243 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "Błąd ten jest wyzwalany, gdy konto członkowskie nie posiada odpowiedniego " "konta użytkownika WP. Wtyczka nie pozwala na zalogowanie użytkownika do " "systemu użytkownika WP." #: classes/class.simple-wp-membership.php:244 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Skontaktuj się z administratorem strony i poproś, aby sprawdzili Twoją nazwę " "użytkownika w menu Użytkownicy WP i zobaczyli, co się stało z wpisem " "użytkownika WP na Twoim koncie." #: classes/class.simple-wp-membership.php:245 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" "Administrator strony może wyłączyć funkcję wymuszenia synchronizacji z WP w " "ustawieniach, wyłączenie tej funkcji spowoduje, że ten błąd zniknie." #: classes/class.simple-wp-membership.php:246 msgid "You can use the back button of your browser to go back to the site." msgstr "" "Możesz użyć przycisku Wstecz swojej przeglądarki, aby wrócić na stronę." #: classes/class.simple-wp-membership.php:407 msgid "You are not logged in." msgstr "Nie jesteś zalogowany." #: classes/class.simple-wp-membership.php:458 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "W ustawieniach wtyczki włączono tryb płatności w Sandbox. Upewnij się, że " "wyłączasz tryb Sandbox, gdy chcesz robić transakcje na żywo." #: classes/class.simple-wp-membership.php:473 msgid "Simple WP Membership Protection" msgstr "Simple WP Membership Protection" #: classes/class.simple-wp-membership.php:485 msgid "Simple Membership Protection options" msgstr "Simple Membership Protection options" #: classes/class.simple-wp-membership.php:503 msgid "Do you want to protect this content?" msgstr "Czy chcesz chronić tę zawartość?" #: classes/class.simple-wp-membership.php:504 msgid "No, Do not protect this content." msgstr "Nie, nie chroń tej treści." #: classes/class.simple-wp-membership.php:505 msgid "Yes, Protect this content." msgstr "Tak, chroń tę treść." #: classes/class.simple-wp-membership.php:508 msgid "Select the membership level that can access this content:" msgstr "Wybierz poziom dostępu do tej zawartości:" #: classes/class.simple-wp-membership.php:646 #: classes/class.simple-wp-membership.php:650 msgid "Validating, please wait" msgstr "Walidacja, proszę zaczekać" #: classes/class.simple-wp-membership.php:653 msgid "Invalid email address" msgstr "Nieprawidłowy adres email" #: classes/class.simple-wp-membership.php:656 msgid "This field is required" msgstr "To pole jest wymagane" #: classes/class.simple-wp-membership.php:659 classes/class.swpm-auth.php:296 msgid "Invalid Username" msgstr "Nieprawidłowa Nazwa Użytkownika" #: classes/class.simple-wp-membership.php:659 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Nazwy użytkowników mogą zawierać tylko: litery, cyfry i .-_*@" #: classes/class.simple-wp-membership.php:662 msgid "Minimum " msgstr "Minimum " #: classes/class.simple-wp-membership.php:663 msgid " characters required" msgstr " znaki są wymagane" #: classes/class.simple-wp-membership.php:666 msgid "Apostrophe character is not allowed" msgstr "Znak apostrofu nie jest dozwolony" #: classes/class.simple-wp-membership.php:697 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:698 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:581 msgid "Members" msgstr "Członkowie" #: classes/class.simple-wp-membership.php:699 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:265 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Poziomy członkostwa" #: classes/class.simple-wp-membership.php:700 msgid "Settings" msgstr "Ustawienia" #: classes/class.simple-wp-membership.php:701 msgid "Payments" msgstr "Płatności" #: classes/class.simple-wp-membership.php:702 msgid "Add-ons" msgstr "Dodatki" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Musisz się zalogować aby zobaczyć zawartość. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Twoje konto wygasło. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Ta zawartość może być oglądana tylko przez członków, którzy dołączyli " "wcześniej " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Ta zawartość nie jest dozwolona dla Twojego poziomu członkostwa." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Musisz się zalogować, aby zobaczyć resztę zawartości. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr " Reszta treści nie jest dozwolona dla Twojego poziomu członkostwa." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "Błąd! Weryfikacja bezskuteczna nie powiodła się w przypadku rejestracji " "użytkownika przez administratora." #: classes/class.swpm-admin-registration.php:71 msgid "Member record added successfully." msgstr "Rekord członka dodany z powodzeniem." #: classes/class.swpm-admin-registration.php:76 #: classes/class.swpm-admin-registration.php:124 #: classes/class.swpm-admin-registration.php:151 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Popraw następujące:" #: classes/class.swpm-admin-registration.php:87 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "Błąd! Chwilowo weryfikacja nie powiodła się z trybu edycji użytkownika z " "panelu administracyjnego." #: classes/class.swpm-admin-registration.php:139 msgid "Your current password" msgstr "Twoje aktualne hasło" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Nieprawidłowy adres e-mail" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "Zajęte" #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Nazwa zawiera nieprawidłowy znak" #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Dostępny" #: classes/class.swpm-auth.php:57 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Ostrzeżenie! Wtyczka Simple Membership nie może przetworzyć tego żądania " "logowania, by zapobiec przypadkowemu wylogowaniu się z WP Admin." #: classes/class.swpm-auth.php:58 msgid "Click here" msgstr "Kliknij tutaj" #: classes/class.swpm-auth.php:58 msgid " to see the profile you are currently logged into in this browser." msgstr "" " aby zobaczyć profil, do którego jesteś aktualnie zalogowany w tej " "przeglądarce." #: classes/class.swpm-auth.php:59 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "Jesteś zalogowany na stronie jako użytkownik ADMIN w tej przeglądarce. " "Najpierw wyloguj się od administratora WP, a następnie będziesz mógł " "zalogować się jako zwykły użytkownik." #: classes/class.swpm-auth.php:60 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Alternatywnie, możesz użyć innej przeglądarki (w której nie jesteś " "zalogowany jako ADMIN), aby przetestować logowanie się." #: classes/class.swpm-auth.php:61 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Twoi zwykli goście lub członkowie nigdy nie zobaczą tej wiadomości. Ten " "komunikat jest WYŁĄCZNIE dla użytkownika ADMIN." #: classes/class.swpm-auth.php:68 msgid "Captcha validation failed on login form." msgstr "Walidacja Captcha nie powiodła się na formularzu logowania." #: classes/class.swpm-auth.php:93 msgid "User Not Found." msgstr "Nie znaleziono użytkownika." #: classes/class.swpm-auth.php:100 msgid "Password Empty or Invalid." msgstr "Brak hasła lub hasło błędne." #: classes/class.swpm-auth.php:133 msgid "Account is inactive." msgstr "Konto jest nieaktywne." #: classes/class.swpm-auth.php:136 classes/class.swpm-auth.php:162 msgid "Account has expired." msgstr "Konto wygasło." #: classes/class.swpm-auth.php:139 msgid "Account is pending." msgstr "Konto jest oczekujące." #: classes/class.swpm-auth.php:146 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Musisz aktywować swoje konto. Jeśli nie otrzymałeś emaila, wówczas %s " "ponownie wysyła email aktywacyjny." #: classes/class.swpm-auth.php:146 #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 #: classes/class.swpm-utils-misc.php:169 msgid "click here" msgstr "kliknij tu" #: classes/class.swpm-auth.php:170 msgid "You are logged in as:" msgstr "Jesteś zalogowany jako:" #: classes/class.swpm-auth.php:234 msgid "Logged Out Successfully." msgstr "Wylogowano poprawnie." #: classes/class.swpm-auth.php:287 msgid "Session Expired." msgstr "Sesja wygasła." #: classes/class.swpm-auth.php:304 msgid "Please login again." msgstr "Proszę się ponownie zalogować." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:40 views/admin_member_form_common_part.php:2 views/edit.php:75 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:229 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:273 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:99 msgid "Membership Level" msgstr "Poziom dostępu" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "ID kategorii" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Nazwa kategorii" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Typ Kategorii (Taksonomia)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Opis" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Licznik" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "Aktualizacja ochrony kategorii uaktualniona!" #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "Nie znaleziono żadnej kategorii." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Proszę się zalogować, aby skomentować." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Proszę się zalogować, aby skomentować." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Komentarze niedozwolone przez osoby niebędące członkami." #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Konto Wordpress istnieje z podaną nazwą użytkownika. Ale podany e-mail nie " "pasuje." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" " Użyj innej nazwy użytkownika, aby zakończyć rejestrację. Jeśli chcesz użyć " "tej nazwy użytkownika, musisz podać poprawny adres e-mail powiązany z " "istniejącym użytkownikiem WP, aby połączyć się z tym kontem." #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Konto Wordpress istnieje z podanym adresem e-mail. Ale podana nazwa " "użytkownika nie pasuje." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" " Użyj innego adresu e-mail, aby dokończyć rejestrację. Jeśli chcesz użyć " "tego e-maila, musisz wpisać poprawną nazwę użytkownika powiązaną z " "istniejącym użytkownikiem WP, aby połączyć się z tym kontem." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "To pole jest wymagane. Podaj nazwę użytkownika" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "Nazwa użytkownika zawiera nieprawidłowy znak" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Taka nazwa użytkownika już istnieje." #: classes/class.swpm-form.php:83 msgid "Password is required" msgstr "Wymagane hasło" #: classes/class.swpm-form.php:90 msgid "Password mismatch" msgstr "Podano różne hasła" #: classes/class.swpm-form.php:101 msgid "Email is required" msgstr "Wymagany email" #: classes/class.swpm-form.php:105 msgid "Email is invalid" msgstr "Błędny email" #: classes/class.swpm-form.php:121 msgid "Email is already used." msgstr "Taki adres email jest już użyty." #: classes/class.swpm-form.php:179 msgid "Member since field is invalid" msgstr "Pole \"użytkownik\" jest nieprawidłowe" #: classes/class.swpm-form.php:190 msgid "Access starts field is invalid" msgstr "Pole 'początek subskrypcji' - błędne" #: classes/class.swpm-form.php:200 msgid "Gender field is invalid" msgstr "Pole \"płeć\" jest nieprawidłowa" #: classes/class.swpm-form.php:211 msgid "Account state field is invalid" msgstr "Pole \"Account State\" jest nieprawidłowe" #: classes/class.swpm-form.php:218 msgid "Invalid membership level" msgstr "Błędny poziom członkostwa" #: classes/class.swpm-front-registration.php:33 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "Błąd! Nieprawidłowe żądanie. Nie udało się znaleźć zgodności z podanym kodem " "bezpieczeństwa i identyfikatorem użytkownika." #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:274 views/login.php:36 msgid "Join Us" msgstr "Przyłącz się" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "Darmowe członkostwo jest wyłączone na tej stronie. Prosimy o dokonanie " "płatności " #: classes/class.swpm-front-registration.php:49 msgid " page to pay for a premium membership." msgstr " Strona płatności za członkostwo premium." #: classes/class.swpm-front-registration.php:51 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Otrzymasz unikalny link poprzez e-mail po dokonaniu płatności. Będziesz mógł " "skorzystać z tego linku, aby dokończyć rejestrację członkostwa premium." #: classes/class.swpm-front-registration.php:79 msgid "Security check: captcha validation failed." msgstr "Kontrola bezpieczeństwa: walidacja Captcha nie powiodła się." #: classes/class.swpm-front-registration.php:89 msgid "You must accept the terms and conditions." msgstr "Musisz zaakceptować warunki i zasady." #: classes/class.swpm-front-registration.php:100 msgid "You must agree to the privacy policy." msgstr "Musisz wyrazić zgodę na politykę prywatności." #: classes/class.swpm-front-registration.php:140 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "Musisz potwierdzić swój adres e-mail. Sprawdź swój adres e-mail i postępuj " "zgodnie z instrukcjami, aby dokończyć rejestrację." #: classes/class.swpm-front-registration.php:145 msgid "Registration Successful. " msgstr "Instalacja zakończona powodzeniem. " #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 classes/class.swpm-utils-misc.php:285 msgid "Please" msgstr "Proszę" #: classes/class.swpm-front-registration.php:145 #: classes/class.swpm-utils-misc.php:273 views/login.php:30 msgid "Login" msgstr "Login" #: classes/class.swpm-front-registration.php:159 msgid "Please correct the following" msgstr "Proszę poprawić następujące" #: classes/class.swpm-front-registration.php:207 msgid "Membership Level Couldn't be found." msgstr "Pozim członkostwa nie znaleziony." #: classes/class.swpm-front-registration.php:258 msgid "Error! Nonce verification failed for front end profile edit." msgstr "Błąd! Chwilowo weryfikacja nie powiodła się." #: classes/class.swpm-front-registration.php:266 msgid "Profile updated successfully." msgstr "Aktualizacja pomyślna." #: classes/class.swpm-front-registration.php:275 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profil został pomyślnie zaktualizowany. Musisz się ponownie zalogować, " "ponieważ zmieniłeś hasło." #: classes/class.swpm-front-registration.php:289 msgid "Please correct the following." msgstr "Proszę poprawić następujące." #: classes/class.swpm-front-registration.php:301 msgid "Captcha validation failed." msgstr "Zatwierdzenie Captcha nie powiodła się." #: classes/class.swpm-front-registration.php:309 msgid "Email address not valid." msgstr "Błędny adres e-mail." #: classes/class.swpm-front-registration.php:320 msgid "No user found with that email address." msgstr "Nie znaleziono żadnego użytkownika z tym adresem e-mail." #: classes/class.swpm-front-registration.php:321 #: classes/class.swpm-front-registration.php:350 msgid "Email Address: " msgstr "Adres e-mail: " #: classes/class.swpm-front-registration.php:349 msgid "New password has been sent to your email address." msgstr "Nowe hasło zostało wysłane na podany adres email." #: classes/class.swpm-front-registration.php:371 msgid "Can't find member account." msgstr "Nie mogę znaleźć konta członka." #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid "Account already active. " msgstr "Konto już aktywne. " #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid " to login." msgstr " aby się zalogować." #: classes/class.swpm-front-registration.php:383 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "Niedopasowanie kodu aktywacji. Nie można aktywować tego konta. Prosimy o " "kontakt z administratorem strony." #: classes/class.swpm-front-registration.php:397 msgid "Success! Your account has been activated successfully." msgstr "Sukces! Twoje konto zostało pomyślnie aktywowane." #: classes/class.swpm-front-registration.php:421 msgid "Cannot find member account." msgstr "Nie można znaleźć konta użytkownika." #: classes/class.swpm-front-registration.php:443 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "E-mail aktywacyjny został wysłany. Proszę sprawdzić swoją skrzynkę e-mail i " "aktywować konto." #: classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Nonce verification failed." msgstr "Przykro nam, ale chwilowo weryfikacja się nie powiodła." #: classes/class.swpm-init-time-tasks.php:125 msgid "Sorry, Password didn't match." msgstr "Podane hasła się różnią." #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "Niewłaściwy format daty." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "Czas trwania subskrypcji musi być większy od 0." #: classes/class.swpm-members.php:10 msgid "Member" msgstr "Członek" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:20 views/add.php:16 views/admin_add.php:11 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Użytkownik" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:32 views/admin_member_form_common_part.php:15 #: views/edit.php:39 includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Imię" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:36 views/admin_member_form_common_part.php:19 #: views/edit.php:43 includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Nazwisko" #: classes/class.swpm-members.php:23 views/add.php:20 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "Email" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Dostęp rozpoczyna się" #: classes/class.swpm-members.php:26 includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Account State" #: classes/class.swpm-members.php:27 msgid "Last Login Date" msgstr "Data ostatniego logowania" #: classes/class.swpm-members.php:46 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Skasuj" #: classes/class.swpm-members.php:47 msgid "Set Status to Active" msgstr "Ustaw status na Aktywny" #: classes/class.swpm-members.php:48 msgid "Set Status to Active and Notify" msgstr "Ustaw status na Aktywny i Powiadom" #: classes/class.swpm-members.php:49 msgid "Set Status to Inactive" msgstr "Ustaw status na Nieaktywny" #: classes/class.swpm-members.php:50 msgid "Set Status to Pending" msgstr "Ustaw status na oczekujący" #: classes/class.swpm-members.php:51 msgid "Set Status to Expired" msgstr "Ustaw status na wygasły" #: classes/class.swpm-members.php:72 msgid "incomplete" msgstr "niekompletny" #: classes/class.swpm-members.php:191 msgid "No member found." msgstr "Nie znaleziono użytkownika." #: classes/class.swpm-members.php:337 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "Błąd! Weryfikacja chwilowo nie powiodła się w przypadku usuwania użytkownika " "z końcówki administracyjnej." #: classes/class.swpm-members.php:406 classes/class.swpm-members.php:436 msgid "Error! Please select a membership level first." msgstr "Błąd!. Najpierw wybierz poziom dostępu." #: classes/class.swpm-members.php:423 msgid "Membership level change operation completed successfully." msgstr "Dodano nowy poziom członkostwa." #: classes/class.swpm-members.php:453 msgid "Access starts date change operation successfully completed." msgstr "" "Dostęp rozpoczyna operację zmiany daty, która została pomyślnie zakończona." #: classes/class.swpm-members.php:462 msgid "Bulk Update Membership Level of Members" msgstr "Masowa aktualizacja poziomu członkostwa użytkowników" #: classes/class.swpm-members.php:465 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Możesz ręcznie zmienić poziom członkostwa każdego członka, edytując rekord z " "menu członków. " #: classes/class.swpm-members.php:466 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "Możesz użyć tej opcji, aby masowo aktualizować poziom członkostwa " "użytkowników, którzy należą do poziomu, który wybierzesz poniżej." #: classes/class.swpm-members.php:472 classes/class.swpm-members.php:520 msgid "Membership Level: " msgstr "Poziom członkostwa: " #: classes/class.swpm-members.php:476 msgid "Select Current Level" msgstr "Wybierz bieżący poziom" #: classes/class.swpm-members.php:479 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" "Wybierz aktualny poziom członkostwa (poziom członkostwa wszystkich członków, " "którzy znajdują się na tym poziomie, zostanie zaktualizowany)." #: classes/class.swpm-members.php:485 msgid "Level to Change to: " msgstr "Poziom do zmiany na: " #: classes/class.swpm-members.php:489 msgid "Select Target Level" msgstr "Wybierz poziom docelowy" #: classes/class.swpm-members.php:492 msgid "Select the new membership level." msgstr "Wybierz nowy poziom członkostwa." #: classes/class.swpm-members.php:498 msgid "Bulk Change Membership Level" msgstr "Masowa zmiana poziomu członkostwa" #: classes/class.swpm-members.php:508 msgid "Bulk Update Access Starts Date of Members" msgstr "Masowa aktualizacja daty rozpoczęcia członkostwa" #: classes/class.swpm-members.php:512 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "Data rozpoczęcia dostępu członka jest ustawiana na dzień, w którym " "użytkownik się zarejestruje. Ta wartość daty jest używana do obliczenia, jak " "długo członek może uzyskiwać dostęp do treści, które są chronione przez czas " "trwania ochrony typu w tym poziomie członkostwa. " #: classes/class.swpm-members.php:513 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Możesz ręcznie ustawić konkretną wartość daty rozpoczęcia dostępu dla " "wszystkich członków, którzy należą do danego poziomu, korzystając z " "następującej opcji." #: classes/class.swpm-members.php:523 msgid "Select Level" msgstr "Wybierz poziom" #: classes/class.swpm-members.php:526 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Wybierz poziom członkostwa (data rozpoczęcia dostępu wszystkich członków, " "którzy znajdują się na tym poziomie, zostanie zaktualizowana)." #: classes/class.swpm-members.php:535 msgid "Specify the access starts date value." msgstr "Określ wartość daty rozpoczęcia dostępu." #: classes/class.swpm-members.php:541 msgid "Bulk Change Access Starts Date" msgstr "Masowa zmiana daty rozpoczęcie dostępu" #: classes/class.swpm-members.php:576 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Użytkownicy" #: classes/class.swpm-members.php:577 #: classes/class.swpm-membership-levels.php:226 views/admin_members_list.php:44 msgid "Add New" msgstr "Dodaj nowy" #: classes/class.swpm-members.php:582 views/admin_add.php:6 msgid "Add Member" msgstr "Dodaj użytkownika" #: classes/class.swpm-members.php:583 msgid "Bulk Operation" msgstr "Operacja masowa" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" "Błąd! Weryfikacja chwilowo nie powiodła się dla tworzenia poziomu " "członkostwa z końcówki administracyjnej." #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Pomyślnie utworzono poziom członkostwa." #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "Błąd! Weryfikacja chwilowo nie powiodła się dla edycji poziomu członkostwa z " "końcówki administracyjnej." #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Poziom członkostwa zaktualizowany pomyślnie." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Uprawnienia" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Subskrypcja ważna do" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "Nie znaleziono żadnych poziomów członkostwa." #: classes/class.swpm-membership-levels.php:197 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" "Błąd! Weryfikacja chwilowo nie powiodła się dla usuwania poziomu członkostwa " "z końcówki administracyjnej." #: classes/class.swpm-membership-levels.php:216 views/admin_members_list.php:31 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Szukaj" #: classes/class.swpm-membership-levels.php:261 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Poziom członkowstwa" #: classes/class.swpm-membership-levels.php:266 msgid "Add Level" msgstr "Dodaj nowy poziom dostępu" #: classes/class.swpm-membership-levels.php:267 msgid "Manage Content Protection" msgstr "Zarządzanie ustawieniami ochrony zawartości" #: classes/class.swpm-membership-levels.php:268 msgid "Category Protection" msgstr "Ochrona kategorii" #: classes/class.swpm-membership-levels.php:269 msgid "Post and Page Protection" msgstr "Ochrona wpisu i strony internetowej" #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Data" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Tytuł" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Autor" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Status" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Kategorie" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Typ" #: classes/class.swpm-post-list.php:125 msgid "Protection settings updated!" msgstr "Aktualizacja ustawień ochrony dokonana!" #: classes/class.swpm-post-list.php:230 msgid "No items found." msgstr "Nie znaleziono wyników." #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "Kategoria lub kategoria rodzicielska tego postu jest chroniona. Ustawienia " "ochrony kategorii można zmienić w " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "menu ochrony kategorii" #: classes/class.swpm-settings.php:26 classes/class.swpm-settings.php:54 msgid "General Settings" msgstr "Główne ustawienia" #: classes/class.swpm-settings.php:27 msgid "Payment Settings" msgstr "Ustawienia płatności" #: classes/class.swpm-settings.php:28 msgid "Email Settings" msgstr "Ustawienia e-mail" #: classes/class.swpm-settings.php:29 msgid "Tools" msgstr "Narzędzia" #: classes/class.swpm-settings.php:30 classes/class.swpm-settings.php:187 msgid "Advanced Settings" msgstr "Ustawienia zaawansowane" #: classes/class.swpm-settings.php:31 msgid "Addons Settings" msgstr "Ustawienia dodatków" #: classes/class.swpm-settings.php:53 msgid "Plugin Documentation" msgstr "Plugin Documentation" #: classes/class.swpm-settings.php:55 msgid "Enable Free Membership" msgstr "Pozwól na darmowe członkostwo" #: classes/class.swpm-settings.php:56 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Włączenie/wyłączenie rejestracji dla bezpłatnego poziomu członkostwa. Po " "włączeniu tej opcji, upewnij się, że w polu poniżej podano identyfikator " "bezpłatnego poziomu członkostwa." #: classes/class.swpm-settings.php:57 msgid "Free Membership Level ID" msgstr "Level ID darmowego członkowstwa" #: classes/class.swpm-settings.php:58 msgid "Assign free membership level ID" msgstr "Przyciel Level ID do darmowego członkowstwa" #: classes/class.swpm-settings.php:59 msgid "Enable More Tag Protection" msgstr "Włącz ochrony znaczników \"więcej\"" #: classes/class.swpm-settings.php:60 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Włącza lub wyłącza ochronę znaczników \"więcej\" w postach i stronach. " "Wszystko po oznaczeniu \"więcej\" jest chronione. Wszystko, co znajduje się " "przed tagiem więcej, to zawartość zajawki." #: classes/class.swpm-settings.php:61 msgid "Hide Adminbar" msgstr "Showaj Adminibar" #: classes/class.swpm-settings.php:62 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress pokazuje pasek narzędzi administratora zalogowanym użytkownikom " "witryny. Zaznacz to, jeśli chcesz ukryć pasek narzędzi administratora w " "przedniej części witryny." #: classes/class.swpm-settings.php:63 msgid "Show Adminbar to Admin" msgstr "Pokaż belkę administracyjną do konta administratora" #: classes/class.swpm-settings.php:64 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Użyj tej opcji, jeśli chcesz, aby pasek narzędzi administratora był widoczny " "tylko dla administratorów. Pasek narzędzi administratora zostanie ukryty dla " "wszystkich pozostałych użytkowników." #: classes/class.swpm-settings.php:65 msgid "Disable Access to WP Dashboard" msgstr "Wyłączyć dostęp do panelu WP" #: classes/class.swpm-settings.php:66 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashbaord. Using this option will prevent any " "non admin users from going to the wp dashboard." msgstr "" "WordPress pozwala standardowemu użytkownikowi na przejście do adresu URL wp-" "admin i uzyskanie dostępu do jego profilu z panelu wp. Użycie tej opcji " "uniemożliwi użytkownikom bez uprawnień administratora przejście do panelu " "administracyjnego wp." #: classes/class.swpm-settings.php:68 classes/class.swpm-settings.php:242 msgid "Default Account Status" msgstr "Domyślny status konta" #: classes/class.swpm-settings.php:71 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Wybierz domyślny status konta dla nowo zarejestrowanych użytkowników. Jeśli " "chcesz ręcznie zatwierdzić członków, możesz ustawić status \"oczekujący\"." #: classes/class.swpm-settings.php:73 msgid "Members Must be Logged in to Comment" msgstr "Członkowie muszą być zalogowani aby komentować" #: classes/class.swpm-settings.php:74 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Włącz tę opcję, jeśli chcesz, aby tylko członkowie serwisu mogli zamieszczać " "komentarze." #: classes/class.swpm-settings.php:83 msgid "Pages Settings" msgstr "Ustawienia strony" #: classes/class.swpm-settings.php:84 msgid "Login Page URL" msgstr "Strona logowania" #: classes/class.swpm-settings.php:86 msgid "Registration Page URL" msgstr "Strona rejestracji" #: classes/class.swpm-settings.php:88 msgid "Join Us Page URL" msgstr "Strona dołącz do nas" #: classes/class.swpm-settings.php:90 msgid "Edit Profile Page URL" msgstr "Strona edycji profilu" #: classes/class.swpm-settings.php:92 msgid "Password Reset Page URL" msgstr "Strona zmiany hasła" #: classes/class.swpm-settings.php:95 msgid "Test & Debug Settings" msgstr "Ustawienia testów i debugowania" #: classes/class.swpm-settings.php:97 msgid "Check this option to enable debug logging." msgstr "Zaznacz tę opcję, aby włączyć debugowanie rejestracji." #: classes/class.swpm-settings.php:98 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" " Może to być przydatne przy rozwiązywaniu problemów. Wyłącz i zresetuj pliki " "dziennika po zakończeniu rozwiązywania problemów." #: classes/class.swpm-settings.php:100 msgid "View general debug log file by clicking " msgstr "Obejrzyj ogólnu pliku dziennik debugowania klikając przycisk " #: classes/class.swpm-settings.php:100 classes/class.swpm-settings.php:101 #: classes/class.swpm-settings.php:102 msgid "here" msgstr "tutaj" #: classes/class.swpm-settings.php:101 msgid "View login related debug log file by clicking " msgstr "" "Wyświetl plik dziennika debugowania związany z logowaniem, klikając przycisk " #: classes/class.swpm-settings.php:102 msgid "Reset debug log files by clicking " msgstr "Zresetuj pliki dziennika debugowania klikając przycisk " #: classes/class.swpm-settings.php:103 msgid "Enable Debug" msgstr "Włącz debugowanie" #: classes/class.swpm-settings.php:105 msgid "Enable Sandbox Testing" msgstr "Włącz testy Sandbox" #: classes/class.swpm-settings.php:106 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Włącz tę opcję, jeśli chcesz zrobić testy płatności (sandbox)" #: classes/class.swpm-settings.php:119 msgid "Email Settings Overview" msgstr "Przegląd ustawień poczty elektronicznej" #: classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "Różne ustawienia email" #: classes/class.swpm-settings.php:122 msgid "From Email Address" msgstr "Z adresu email" #: classes/class.swpm-settings.php:126 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Ustawienia poczty e-mail (Podpowiedź do zakończenia rejestracji )" #: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:158 classes/class.swpm-settings.php:163 #: classes/class.swpm-settings.php:168 classes/class.swpm-settings.php:173 msgid "Email Subject" msgstr "Temat email" #: classes/class.swpm-settings.php:129 classes/class.swpm-settings.php:142 #: classes/class.swpm-settings.php:159 classes/class.swpm-settings.php:164 #: classes/class.swpm-settings.php:169 classes/class.swpm-settings.php:174 msgid "Email Body" msgstr "Treść email" #: classes/class.swpm-settings.php:133 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Wprowadź adres e-mail, na który ma zostać wysłana wiadomość e-mail z " "powiadomieniem od administratora." #: classes/class.swpm-settings.php:134 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" " Możesz umieścić wiele adresów e-mail oddzielonych przecinkiem (,) w " "powyższym polu, aby wysłać powiadomienie na wiele adresów e-mail." #: classes/class.swpm-settings.php:136 msgid "Enter the subject for the admin notification email." msgstr "Wprowadź temat wiadomości e-mail z powiadomieniem administratora." #: classes/class.swpm-settings.php:137 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Ten e-mail zostanie wysłany do administratora, gdy nowy użytkownik zakończy " "rejestrację członkostwa. Działa tylko wtedy, gdy włączono opcję \"Wyślij " "powiadomienie do administratora\" powyżej." #: classes/class.swpm-settings.php:139 msgid "Email Settings (Registration Complete)" msgstr "Ustawienia email (rejestracja zakończona)" #: classes/class.swpm-settings.php:144 msgid "Send Notification to Admin" msgstr "Wyślij powiadomienie do administratora" #: classes/class.swpm-settings.php:145 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Włącz tę opcję, jeśli chcesz, aby administrator otrzymywał powiadomienia " "podczas rejestracji członka." #: classes/class.swpm-settings.php:146 msgid "Admin Email Address" msgstr "Adres email administratora" #: classes/class.swpm-settings.php:148 msgid "Admin Notification Email Subject" msgstr "Powiadomienie administratora: Temat wiadomości e-mail" #: classes/class.swpm-settings.php:150 msgid "Admin Notification Email Body" msgstr "Treść powiadomienia wysyłanego do administratora" #: classes/class.swpm-settings.php:153 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "Wyślij email to dodanego użytkownika przez panel administratora" #: classes/class.swpm-settings.php:157 msgid "Email Settings (Password Reset)" msgstr "Ustawienia email (reset hasła)" #: classes/class.swpm-settings.php:162 msgid " Email Settings (Account Upgrade Notification)" msgstr " Ustawienie email ( Informacja o aktualizacji konta )" #: classes/class.swpm-settings.php:167 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "" " Ustawienia poczty elektronicznej (powiadomienie o masowej aktywacji kont )" #: classes/class.swpm-settings.php:172 msgid " Email Settings (Email Activation)" msgstr " Ustawienia poczty elektronicznej (Aktywacja poczty elektronicznej)" #: classes/class.swpm-settings.php:189 msgid "Enable Expired Account Login" msgstr "Włączenie wygasłego logowania do konta" #: classes/class.swpm-settings.php:190 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Po włączeniu tej opcji, członkowie, których okres ważności upłynął, będą " "mogli zalogować się do systemu, ale nie będą mogli przeglądać żadnych " "chronionych treści. Pozwala to na łatwe odnowienie konta poprzez dokonanie " "kolejnej wpłaty." #: classes/class.swpm-settings.php:192 msgid "Membership Renewal URL" msgstr "Adres URL odnowienia członkostwa" #: classes/class.swpm-settings.php:193 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Możesz stworzyć stronę odnowienia rejestracji dla swojej witryny. Przeczytaj " "tę dokumentację, aby dowiedzieć się, jak " "utworzyć stronę odnowienia." #: classes/class.swpm-settings.php:195 msgid "After Registration Redirect URL" msgstr "Adres URL przekierowania po rejestracji" #: classes/class.swpm-settings.php:196 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after registration " "redirect." msgstr "" "Możesz wprowadzić adres URL tutaj, aby przekierować członków na tę stronę po " "wysłaniu formularza rejestracyjnego. Przeczytaj tę dokumentację, aby dowiedzieć się, jak skonfigurować " "konfigurację po przekierowaniu rejestracji." #: classes/class.swpm-settings.php:198 msgid "Enable Auto Login After Registration" msgstr "Włącz automatyczne logowanie po rejestracji" #: classes/class.swpm-settings.php:199 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" "Użyj tej opcji, jeśli chcesz, aby członkowie byli automatycznie zalogowani " "na Twoją stronę zaraz po zakończeniu rejestracji. Opcja ta zastąpi każde " "przekierowanie po rejestracji i zamiast tego wyzwoli przekierowanie po " "zalogowaniu. Przeczytaj tę " "dokumentację, aby dowiedzieć się więcej." #: classes/class.swpm-settings.php:201 msgid "After Logout Redirect URL" msgstr "Po wylogowaniu przekieruj na adres strony" #: classes/class.swpm-settings.php:202 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" "Możesz wprowadzić adres URL tutaj, aby przekierować członków na tę stronę po " "kliknięciu linku wylogowania z Twojej strony." #: classes/class.swpm-settings.php:204 msgid "Logout Member on Browser Close" msgstr "Wylogowanie członka lub zamknięcie przeglądarki" #: classes/class.swpm-settings.php:205 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" "Włącz tę opcję, jeśli chcesz, aby użytkownik był wylogowany z konta, gdy " "zamknie przeglądarkę." #: classes/class.swpm-settings.php:207 msgid "Allow Account Deletion" msgstr "Zezwól na usunięcie konta" #: classes/class.swpm-settings.php:208 msgid "Allow users to delete their accounts." msgstr "Pozwól użytkownikom usunąć swoje konta." #: classes/class.swpm-settings.php:210 msgid "Force Strong Password for Members" msgstr "Wymuś silne hasło dla członków" #: classes/class.swpm-settings.php:211 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" "Włącz to, jeśli chcesz, aby użytkownicy byli zmuszeni do używania silnego " "hasła do swoich kont." #: classes/class.swpm-settings.php:213 msgid "Use WordPress Timezone" msgstr "Użyj strefy czasowej WordPressa" #: classes/class.swpm-settings.php:214 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" "Użyj tej opcji, jeśli chcesz użyć wartości strefy czasowej określonej w " "interfejsie ogólnych ustawień WordPressa." #: classes/class.swpm-settings.php:216 msgid "Auto Delete Pending Account" msgstr "Automatyczne usuwanie konta oczekującego" #: classes/class.swpm-settings.php:219 msgid "Select how long you want to keep \"pending\" account." msgstr "Wybierz, jak długo chcesz tolerować konto \"oczekujące\"." #: classes/class.swpm-settings.php:221 msgid "Admin Dashboard Access Permission" msgstr "Zezwolenie na dostęp do panelu administratora" #: classes/class.swpm-settings.php:224 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here." msgstr "" "Panel administracyjny SWPM jest dostępny tylko dla administratorów (tak jak " "każda inna wtyczka). Możesz tutaj zezwolić użytkownikom z innymi rolami w WP " "na dostęp do panelu administracyjnego SWPM poprzez wybór odpowiedniej " "wartości ." #: classes/class.swpm-settings.php:226 msgid "Force WP User Synchronization" msgstr "Wymuszenie synchronizacji użytkowników WP" #: classes/class.swpm-settings.php:227 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" "Włącz tę opcję, jeśli chcesz wymusić synchronizację loginu użytkownika z " "kontem użytkownika WP. Może to być przydatne, jeśli używasz innej wtyczki, " "która wykorzystuje rekordy użytkownika WP. Na przykład: bbPress plugin." #: classes/class.swpm-settings.php:230 msgid "Create Member Accounts for New WP Users" msgstr "Tworzenie kont członkowskich dla nowych użytkowników WP" #: classes/class.swpm-settings.php:232 msgid "Enable Auto Create Member Accounts" msgstr "Włącz automatyczne tworzenie kont użytkowników" #: classes/class.swpm-settings.php:233 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" "Włącz tę opcję, aby automatycznie tworzyć konta członkowskie dla każdego " "nowego użytkownika WP, który jest tworzony przez inną wtyczkę." #: classes/class.swpm-settings.php:236 msgid "Default Membership Level" msgstr "Domyślny poziom członkostwa" #: classes/class.swpm-settings.php:239 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" "Podczas automatycznego tworzenia konta członkowskiego za pomocą tej funkcji, " "poziom członkostwa użytkownika zostanie ustawiony na ten, który tutaj " "określisz." #: classes/class.swpm-settings.php:245 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" "Podczas automatycznego tworzenia konta członkowskiego za pomocą tej funkcji, " "status konta członkowskiego użytkownika zostanie ustawiony na ten, który " "tutaj określisz." #: classes/class.swpm-settings.php:247 msgid "Payment Notification Forward URL" msgstr "URL przekierowania do potwierdzenia płatności" #: classes/class.swpm-settings.php:248 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" "Możesz wpisać tutaj adres URL, aby przekazać powiadomienie o płatności po " "tym, jak płatność członkowska zostanie przetworzona przez tę wtyczkę. " "Przydatne, jeśli chcesz przekazać powiadomienie o płatności do zewnętrznego " "skryptu w celu dalszego przetwarzania." #: classes/class.swpm-settings.php:251 views/add.php:65 msgid "Terms and Conditions" msgstr "Regulamin Serwisu" #: classes/class.swpm-settings.php:253 msgid "Enable Terms and Conditions" msgstr "Udostępnij regulamin strony" #: classes/class.swpm-settings.php:254 msgid "Users must accept the terms before they can complete the registration." msgstr "" "Użytkownicy muszą zaakceptować warunki, zanim będą mogli dokończyć " "rejestrację." #: classes/class.swpm-settings.php:255 msgid "Terms and Conditions Page URL" msgstr "Warunki i regulaminy URL strony" #: classes/class.swpm-settings.php:256 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" "Wprowadź adres URL strony z regulaminem. Możesz utworzyć stronę WordPressa i " "określić tam swoje warunki, a następnie podać adres URL tej strony w " "powyższym polu." #: classes/class.swpm-settings.php:257 msgid "Enable Privacy Policy" msgstr "Włączyć politykę prywatności" #: classes/class.swpm-settings.php:258 msgid "Users must accept it before they can complete the registration." msgstr "" "Użytkownicy muszą zaakceptować warunki, zanim będą mogli dokończyć " "rejestrację." #: classes/class.swpm-settings.php:259 msgid "Privacy Policy Page URL" msgstr "Adres URL strony polityki prywatności" #: classes/class.swpm-settings.php:260 msgid "Enter the URL of your privacy policy page." msgstr "Wprowadź adres URL strony z polityką prywatności." #: classes/class.swpm-settings.php:350 classes/class.swpm-settings.php:396 #: classes/class.swpm-settings.php:425 msgid "Settings updated!" msgstr "Ustawienia zaktualizowane!" #: classes/class.swpm-settings.php:355 msgid "General Plugin Settings." msgstr "Ogólne ustawienia wtyczki." #: classes/class.swpm-settings.php:359 msgid "Page Setup and URL Related settings." msgstr "Ustawienia strony i ustawienia powiązane z URL ." #: classes/class.swpm-settings.php:362 msgid "" "The following pages are required for the plugin to function correctly. These " "pages were automatically created by the plugin at install time." msgstr "" "Aby wtyczka działała prawidłowo, te strony są wymagane. Strony te zostały " "automatycznie utworzone przez wtyczkę w momencie instalacji." #: classes/class.swpm-settings.php:367 msgid "Testing and Debug Related Settings." msgstr "Testowanie i ustawienia związane z debugowaniem." #: classes/class.swpm-settings.php:371 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Ten e-mail zostanie wysłany do Twoich użytkowników, gdy zakończą rejestrację " "i staną się członkami." #: classes/class.swpm-settings.php:375 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Ten e-mail zostanie wysłany do użytkowników, gdy użyją funkcji resetowania " "hasła." #: classes/class.swpm-settings.php:381 msgid "" "This interface lets you custsomize the various emails that gets sent to your " "members for various actions. The default settings should be good to get your " "started." msgstr "" "Interfejs ten pozwala na dostosowywanie różnych wiadomości e-mail, które są " "wysyłane do członków podczas różnych działań. Domyślne ustawienia powinny " "być odpowiednie, abyś mógł rozpocząć pracę." #: classes/class.swpm-settings.php:385 views/admin_tools_settings.php:82 msgid "This documentation" msgstr "Ta dokumentacja" #: classes/class.swpm-settings.php:386 msgid "" " explains what email merge tags you can use in the email body field to " "customize it (if you want to)." msgstr "" " wyjaśnia, jakich tagów scalania wiadomości e-mail można użyć w polu treść " "wiadomości e-mail, aby je dostosować (jeśli chcesz)." #: classes/class.swpm-settings.php:399 msgid "Settings in this section apply to all emails." msgstr "Ustawienia w tej sekcji dotyczą wszystkich wiadomości e-mail." #: classes/class.swpm-settings.php:403 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Ten e-mail zostanie wysłany do Twoich użytkowników po aktualizacji konta " "(gdy istniejący członek płaci za nowy poziom członkostwa)." #: classes/class.swpm-settings.php:407 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Ten e-mail zostanie wysłany do członków, gdy użyjesz zbiorczej aktywacji " "kont i akcji zbiorczego powiadomienia." #: classes/class.swpm-settings.php:408 msgid "" " You cannot use email merge tags in this email. You can only use generic " "text." msgstr "" " W tej wiadomości e-mail nie można używać tagów scalających wiadomości e-" "mail. Możesz używać tylko domyślnego tekstu." #: classes/class.swpm-settings.php:413 msgid "" "This email will be sent if Email Activation is enabled for a Membership " "Level." msgstr "" "Ten e-mail zostanie wysłany, jeśli aktywowanie poczty elektronicznej jest " "włączone dla poziomu członkostwa." #: classes/class.swpm-settings.php:417 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Ten e-mail zostanie wysłany do użytkowników, którzy chcą dokończyć " "rejestrację po dokonaniu płatności." #: classes/class.swpm-settings.php:428 msgid "This page allows you to configure some advanced features of the plugin." msgstr "Ta strona umożliwia skonfigurowanie zaawansowanych funkcji wtyczki." #: classes/class.swpm-settings.php:432 msgid "" "This section allows you to configure automatic creation of member accounts " "when new WP User records are created by another plugin. It can be useful if " "you are using another plugin that creates WP user records and you want them " "to be recognized in the membership plugin." msgstr "" "Ta sekcja pozwala skonfigurować automatyczne tworzenie kont członkowskich, " "gdy nowe rekordy użytkowników WP są tworzone przez inną wtyczkę. Może to być " "przydatne, jeśli używasz innej wtyczki, która tworzy rekordy użytkowników WP " "i chcesz, aby zostały one rozpoznane we wtyczce członkowskiej." #: classes/class.swpm-settings.php:436 msgid "" "This section allows you to configure terms and conditions and privacy policy " "that users must accept at registration time." msgstr "" "Ta sekcja pozwala skonfigurować warunki i zasady oraz politykę prywatności, " "które użytkownicy muszą zaakceptować podczas rejestracji." #: classes/class.swpm-settings.php:565 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Ustawienia" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 msgid "User is not logged in." msgstr "Użytkownik nie jest zalogowany." #: classes/class.swpm-utils-member.php:80 msgid "No Expiry" msgstr "Nie wygasło" #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Rejestracja" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Strona logowania" #: classes/class.swpm-utils-misc.php:96 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:117 msgid "Profile" msgstr "Twój profil" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Reset hasła" #: classes/class.swpm-utils-misc.php:168 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "" "Zostaniesz automatycznie przekierowany w kilka sekund. Jeśli nie, proszę " "podać %s." #: classes/class.swpm-utils-misc.php:172 msgid "Action Status" msgstr "Status akcji" #: classes/class.swpm-utils-misc.php:274 msgid "Not a Member?" msgstr "Nie masz konta?" #: classes/class.swpm-utils-misc.php:285 msgid "renew" msgstr "odnów" #: classes/class.swpm-utils-misc.php:285 msgid " your account to gain access to this content." msgstr " twoje konto aby uzyskać dostęp do tej zawartości." #: classes/class.swpm-utils-misc.php:343 classes/class.swpm-utils-misc.php:349 msgid "Error! This action (" msgstr "Błąd! To działanie (" #: classes/class.swpm-utils-misc.php:421 msgid "(Please Select)" msgstr "(Proszę wybrać)" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "Błąd! Nie udało się znaleźć ścieżki szablonu dla określonego szablonu " #: classes/class.swpm-utils.php:101 msgid "Never" msgstr "Nigdy" #: classes/class.swpm-utils.php:116 views/admin_members_list.php:19 msgid "Active" msgstr "Aktywuj" #: classes/class.swpm-utils.php:117 views/admin_members_list.php:20 msgid "Inactive" msgstr "Nieaktywny" #: classes/class.swpm-utils.php:118 views/admin_members_list.php:21 msgid "Activation Required" msgstr "Wymagana aktywacja" #: classes/class.swpm-utils.php:119 views/admin_members_list.php:22 msgid "Pending" msgstr "Oczekuje" #: classes/class.swpm-utils.php:120 views/admin_members_list.php:24 msgid "Expired" msgstr "Wygasło" #: classes/class.swpm-utils.php:414 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Usuń Konto" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "Identyfikator przycisku płatności" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Przycisk płatności Tytuł" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "ID poziomu subskrypcji" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Typ przycisku" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Shortcode przycisku" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "Wybrana pozycja została usunięta!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple WP Membership::Płatności" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "Transakcje" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "Zarządzanie przyciskami płatności" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Stwórz nowy przycisk" #: classes/admin-includes/class.swpm-payments-list-table.php:57 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Zobacz Profil" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "Identyfikator wiersza" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Adres email" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Profil Członka" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "ID Transkacji" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "Identyfikator abonenta" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Kwota" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Your membership profile will be updated to reflect the payment." msgstr "" "Twój profil członkowski zostanie zaktualizowany w wyniku potwierdzenia " "płatności." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Your profile username: " msgstr "Nazwa twojego profil użytkownika " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:73 msgid "Click on the following link to complete the registration." msgstr "Kliknij na poniższy link, aby zakończyć rejestrację." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:74 msgid "Click here to complete your paid registration" msgstr "Kliknij tutaj, aby zakończyć płatną rejestrację" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:79 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Jeśli właśnie dokonałeś płatności członkowskiej, wówczas płatność ta nie " "została jeszcze zrealizowana. Proszę sprawdzić za kilka minut. Wkrótce " "zostanie do Ciebie wysłana wiadomość e-mail z podaniem szczegółów." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:93 msgid "Expiry: " msgstr "Ważność rejestracji: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "You are not logged-in as a member" msgstr "Nie jesteś zalogowany jako członek" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:115 msgid "Logged in as: " msgstr "Zalogowany jako: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:118 #: views/loggedin.php:31 msgid "Logout" msgstr "Wyloguj" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 msgid "Login Here" msgstr "Zaloguj się tutaj" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:122 msgid "Not a member? " msgstr "Nie masz konta? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:123 msgid "Join Now" msgstr "Przyłącz się" #: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285 #, php-format msgid "Error occured during payment verification. Error code: %d. Message: %s" msgstr "" "Błąd wystąpił podczas weryfikacji płatności. Kod błędu: %d. Wiadomość: %s" #: ipn/swpm-smart-checkout-ipn.php:298 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %s %s, got %s %s." msgstr "" "Weryfikacja płatności nie powiodła się: otrzymana kwota jest niewłaściwa. " "Oczekiwane było %s %s, otrzymano %s %s." #: ipn/swpm-smart-checkout-ipn.php:315 msgid "Empty payment data received." msgstr "Otrzymane pusty zapis danych dotyczących płatności." #: ipn/swpm-smart-checkout-ipn.php:355 msgid "IPN product validation failed. Check debug log for more details." msgstr "" "Walidacja produktu IPN nie powiodła się. Sprawdź dziennik debugów, aby " "uzyskać więcej szczegółów." #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "Masz zamiar usunąć konto. Spowoduje to usunięcie danych użytkownika " "związanych z tym kontem. " #: views/account_delete_warning.php:8 msgid "It will also delete associated WordPress user account." msgstr "Usuwa również powiązane z nim konto użytkownika WordPressa." #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(UWAGA: dla bezpieczeństwa, nie zezwalamy na usunięcie żadnego powiązanego " "konta WordPressa z rolą administratora)." #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "Kontynuować?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Hasło: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Potwierdź usunięcie konta" #: views/add.php:24 views/admin_add.php:19 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:17 msgid "Password" msgstr "Hasło" #: views/add.php:28 views/edit.php:35 msgid "Repeat Password" msgstr "Powtórz hasło" #: views/add.php:65 msgid "I accept the " msgstr "Akceptuję " #: views/add.php:77 msgid "I agree to the " msgstr "Zgadzam się " #: views/add.php:77 msgid "Privacy Policy" msgstr "Polityka prywatności" #: views/add.php:88 msgid "Register" msgstr "Rejestruj" #: views/admin_add.php:7 msgid "Create a brand new user and add it to this site." msgstr "Dodaj nowego użytkownika do tej strony." #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(wymagane)" #: views/admin_add.php:15 views/admin_edit.php:40 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:19 msgid "(twice, required)" msgstr "(dwukrotnie, wymagane)" #: views/admin_add.php:24 views/admin_edit.php:48 msgid "Strength indicator" msgstr "Wskaźnik siły" #: views/admin_add.php:25 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Podpowiedź: Hasło powinno mieć conajmniej 7 znaków. Aby było silniejsze " "można używać dużych i małych liter, znaków, symboli takich jak ! \" ? $ % ^ " "& )" #: views/admin_add.php:29 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Status konta" #: views/admin_add.php:39 msgid "Add New Member " msgstr "Dodaj nowego członka " #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Niektóre ustawienia i opcje dodatków do wtyczki Simple Membership będą " "wyświetlane tutaj (jeśli je posiadasz)" #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Zapisz zmiany" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Dodaj nowy poziom członkostwa" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "Stwórz nowy poziom dostępu." #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "Nazwa poziomu dostępu" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "Domyślna uprawnienia WordPress" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "Czas dostępu" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Bezterminowo (dostęp do tego poziomu nie wygaśnie do czasu anulowania" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "Wygasa po" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "Dni (dostęp wygasa po określonej liczbie dni)" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "Tygodnie (dostęp wygasa po określonej liczbie tygodni)" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "Miesiące (dostęp wygasa po określonej liczbie miesięcy)" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "Lata (dostęp wygasa po określonej liczbie lat)" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "Stała data wygaśnięcia ważności" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "(Dostęp wygasa w ustalonym terminie)" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "Aktywacja za pomocą poczty elektronicznej" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" "Włączenie aktywacji nowego użytkownika za pośrednictwem poczty " "elektronicznej. Po włączeniu, członkowie będą musieli kliknąć na link " "aktywacyjny, który jest wysyłany na ich adres e-mail, aby aktywować konto. " "Przydatne dla darmowego członkostwa. " #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "Zobacz dokumentację" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "Uwaga:" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" "Jeśli opcja jest włączona, hasło członka, które można odszyfrować, jest " "tymczasowo przechowywane w bazie danych do momentu aktywacji konta." #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "Dodaj nowy poziom dostępu " #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Dodatki" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Na początek, globalnie chroń kategorię na swojej stronie, wybierając opcję " "\"Ochrona ogólna\" z rozwijanego pola poniżej, a następnie wybierz " "kategorie, które powinny być chronione przed niezalogowanymi użytkownikami." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Następnie wybierz istniejący poziom członkostwa z rozwijanej listy poniżej, " "a następnie wybierz kategorie, do których chcesz przyznać dostęp (dla tego " "konkretnego poziomu członkostwa)." #: views/admin_category_list.php:11 views/admin_post_list.php:11 msgid "Read the " msgstr "Przeczytaj " #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "dokumentacja zabezpieczenia kategorii" #: views/admin_category_list.php:17 views/admin_post_list.php:27 msgid "Membership Level:" msgstr "Poziom członkostwa:" #: views/admin_category_list.php:19 views/admin_post_list.php:29 msgid "General Protection" msgstr "Ochrona ogólna" #: views/admin_category_list.php:23 views/admin_post_list.php:33 #: views/edit.php:83 msgid "Update" msgstr "Aktualizacja" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "Edycja użytkownika" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "Edytuj istniejącego użytkownika." #: views/admin_edit.php:14 msgid " You are currenty editing member with member ID: " msgstr " Obecnie edytujesz użytkownika z identyfikatorem: " #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(dwukrotnie, pozostawić puste, aby zachować stare hasło)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" "Jest to status konta członka. Jeśli chcesz ręcznie aktywować konto członka, " "którego okres ważności upłynął, przeczytaj" #: views/admin_edit.php:60 msgid "this documentation" msgstr "ta dokumentacja" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr " by nauczyć się, jak to zrobić." #: views/admin_edit.php:66 msgid "Notify User" msgstr "Powiadom użytkownika" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" "Możesz skorzystać z tej opcji, aby wysłać szybkie powiadomienie do tego " "członka (email zostanie wysłany po naciśnięciu przycisku \"Zapisz\" poniżej)." #: views/admin_edit.php:75 msgid "Subscriber ID/Reference" msgstr "Identyfikator abonenta/referencja abonenta" #: views/admin_edit.php:79 msgid "Last Accessed Date" msgstr "Data ostatniego logowania" #: views/admin_edit.php:82 views/admin_edit.php:89 msgid "This value gets updated when this member logs into your site." msgstr "" "Wartość ta jest aktualizowana po zalogowaniu się tego członka na Twoją " "stronę internetową." #: views/admin_edit.php:86 msgid "Last Accessed From IP" msgstr "Ostatni dostęp z IP" #: views/admin_edit.php:97 msgid "Save Data" msgstr "Zapisz dane" #: views/admin_edit.php:102 msgid "Delete User Profile" msgstr "Usuń profil użytkownika" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "Edycja poziomu dostępu" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "Z tego interfejsu można edytować szczegóły wybranego poziomu członkostwa. " #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "Obecnie dokonujesz edycji: " #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Bezterminowo (dostęp do tego poziomu nie wygaśnie do czasu anulowania)" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "Tygodnie (dostęp wygasa po określonej liczbie tygodni)" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" "Włączenie aktywacji nowego użytkownika za pośrednictwem poczty " "elektronicznej. Po włączeniu, członkowie będą musieli kliknąć na link " "aktywacyjny, który jest wysyłany na ich adres e-mail, aby aktywować konto. " "Przydatne dla darmowego członkostwa." #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "Zapisz poziom członkostwa " #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Przykład ustawienia ochrony zawartości" #: views/admin_members_list.php:18 msgid "All" msgstr "Wszystko" #: views/admin_members_list.php:23 msgid "Incomplete" msgstr "Niekompletne" #: views/admin_member_form_common_part.php:23 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "Płeć" #: views/admin_member_form_common_part.php:30 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "Nr telefonu" #: views/admin_member_form_common_part.php:34 views/edit.php:51 msgid "Street" msgstr "Ulica" #: views/admin_member_form_common_part.php:38 views/edit.php:55 msgid "City" msgstr "Miasto" #: views/admin_member_form_common_part.php:42 views/edit.php:59 msgid "State" msgstr "Województwo" #: views/admin_member_form_common_part.php:46 views/edit.php:63 msgid "Zipcode" msgstr "Kod pocztowy" #: views/admin_member_form_common_part.php:50 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "Kraj" #: views/admin_member_form_common_part.php:54 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "Firma" #: views/admin_member_form_common_part.php:58 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "Użytkownik od" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" "Po pierwsze, globalnie chroń posty i strony na swojej stronie wybierając " "\"Ochrona ogólna\" z rozwijanej listy poniżej, a następnie wybierz posty i " "strony, które powinny być chronione przed niezalogowanymi użytkownikami." #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" "Następnie wybierz istniejący poziom członkostwa z rozwijanej listy poniżej, " "a następnie wybierz posty i strony, do których chcesz przyznać dostęp (dla " "tego konkretnego poziomu członkostwa)." #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "zbiorcza ochrona wpisów i stron dokumentacji" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr " by nauczyć się, jak tego używać." #: views/admin_post_list.php:21 msgid "Posts" msgstr "Wpisy" #: views/admin_post_list.php:22 msgid "Pages" msgstr "Strony" #: views/admin_post_list.php:23 msgid "Custom Posts" msgstr "Wybrane wpisy" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "Wymagane strony zostały odtworzone." #: views/admin_tools_settings.php:21 msgid "Generate a Registration Completion link" msgstr "Generowanie linku zakończenia rejestracji" #: views/admin_tools_settings.php:24 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Tutaj można ręcznie wygenerować link zakończenia rejestracji i wysłać go do " "klienta , jeśli nie został pominięty e-mail , który został automatycznie " "wysłany po dokonaniu płatności ." #: views/admin_tools_settings.php:29 msgid "Generate Registration Completion Link" msgstr "Generowanie linku zakończenia rejestracji" #: views/admin_tools_settings.php:30 msgid "For a Particular Member ID" msgstr "Dla szczególnego identyfikatora członka" #: views/admin_tools_settings.php:32 msgid "OR" msgstr "LUB" #: views/admin_tools_settings.php:33 msgid "For All Incomplete Registrations" msgstr "Dla wszystkich niekompletnych rejestracji" #: views/admin_tools_settings.php:38 msgid "Send Registration Reminder Email Too" msgstr "Wyślij również przypomnienie o rejestracji" #: views/admin_tools_settings.php:44 msgid "Submit" msgstr "Wyślij" #: views/admin_tools_settings.php:53 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Łącze(-a) wygenerowane pomyślnie. Poniższy link(y) może(ą) być użyty(e) w " "celu uzupełnienia rejestracji." #: views/admin_tools_settings.php:55 msgid "Registration completion links will appear below" msgstr "Odnośniki zakończenia rejestracji pojawią się poniżej" #: views/admin_tools_settings.php:65 msgid "A prompt to complete registration email was also sent." msgstr "Wysłano również prośbę o wypełnienie e-maila rejestracyjnego." #: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88 msgid "Re-create the Required Pages" msgstr "Odtwórz wymagane strony" #: views/admin_tools_settings.php:81 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" "Jeśli przypadkowo usunąłeś wymagane strony, które plugin tworzy podczas " "instalacji, możesz użyć tej opcji do ich ponownego utworzenia." #: views/admin_tools_settings.php:82 msgid " has full explanation." msgstr " ma pełne wyjaśnienie." #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "Zostaw puste, aby zachować aktualne hasło" #: views/edit.php:71 msgid "Company Name" msgstr "Nazwa firmy" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "Reset hasła" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Jesteś zalogowany jako" #: views/loggedin.php:14 msgid "Membership" msgstr "Członkostwo" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Konto straciło ważność" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Edytuj profil" #: views/login.php:11 msgid "Username or Email" msgstr "Nazwa użytkownika lub email" #: views/login.php:24 msgid "Remember Me" msgstr "Pamiętaj mnie" #: views/login.php:33 msgid "Forgot Password?" msgstr "Zapomniałeś hasła?" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Wszystkie płatności/transakcje członków są rejestrowane tutaj." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Wyszukaj transakcję za pomocą wiadomości e-mail lub nazwy" #: views/payments/admin_create_payment_buttons.php:15 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Za pomocą tego interfejsu możesz utworzyć nowy przycisk płatności za " "członkostwo." #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "Wybierz typ przycisku płatności" #: views/payments/admin_create_payment_buttons.php:26 msgid "PayPal Buy Now" msgstr "PayPal Kup teraz" #: views/payments/admin_create_payment_buttons.php:28 msgid "PayPal Subscription" msgstr "Subskrypcja PayPal" #: views/payments/admin_create_payment_buttons.php:30 msgid "PayPal Smart Checkout" msgstr "PayPal Smart Checkout" #: views/payments/admin_create_payment_buttons.php:32 msgid "Stripe Buy Now" msgstr "Stripe (kup teraz)" #: views/payments/admin_create_payment_buttons.php:34 msgid "Stripe Subscription" msgstr "Subskrypcja Stripe" #: views/payments/admin_create_payment_buttons.php:36 msgid "Braintree Buy Now" msgstr "Braintree (Kup teraz)" #: views/payments/admin_create_payment_buttons.php:43 msgid "Next" msgstr "Dalej" #: views/payments/admin_edit_payment_buttons.php:15 msgid "You can edit a payment button using this interface." msgstr "Za pomocą tego interfejsu można edytować przycisk płatności." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" "Tutaj wyświetlane są wszystkie przyciski członkowskie, które utworzyłeś w " "wtyczce." #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "Błąd! Identyfikator poziomu członkostwa (" #: views/payments/admin_payment_settings.php:28 msgid "" "You can create membership payment buttons from the payments menu of this " "plugin (useful if you want to offer paid membership on the site)." msgstr "" "Możesz utworzyć przyciski płatności członkowskich z menu płatności tej " "wtyczki (przydatne, jeśli chcesz zaoferować płatne członkostwo na stronie)." #: views/payments/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "PayPal Ustawienia integracyjne" #: views/payments/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Genrowany \"Advanced Variables\" kod dla twojego przycisku PayPal" #: views/payments/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "Wpisz ID poziomu" #: views/payments/admin_payment_settings.php:41 msgid "Generate Code" msgstr "Wygeneruj kod" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Konfiguracja przycisków \"Kup teraz\" Braintree" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:213 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:301 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:83 msgid "Button ID" msgstr "ID Przycisku" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:221 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:309 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:266 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:91 msgid "Button Title" msgstr "Tytuł przycisku" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:239 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:282 msgid "Payment Amount" msgstr "Kwota płatności" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Klucz API Braintree i szczegóły dotyczące konta. Możesz to uzyskać ze " "swojego konta Braintree." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Identyfikator sprzedawcy" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Klucz publiczny" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Klucz prywatny" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "Identyfikator konta handlowego" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "The following details are optional." msgstr "Poniższe szczegóły są opcjonalne." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:287 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:456 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:149 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:373 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:191 msgid "Return URL" msgstr "Zwrotny adres URL" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:321 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:200 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:484 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:159 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:383 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:212 msgid "Save Payment Data" msgstr "Zapisz dane dotyczące płatności" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:204 msgid "PayPal Buy Now Button Configuration" msgstr "Konfiguracja przycisków PayPal \"Kup Teraz\"" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:247 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:327 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:289 msgid "Payment Currency" msgstr "Waluta Płatności" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:295 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:367 msgid "PayPal Email" msgstr "PayPal e-mail" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:303 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:464 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:199 msgid "Button Image URL" msgstr "Adres obrazka Przycisku" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:311 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:472 msgid "Custom Checkout Page Logo Image" msgstr "Obrazek logo własnej strony potwierdzenia płatności" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "Konfiguracja przycisku PayPal Smart Checkout" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" "PayPal Smart Checkout API Credentials (można to uzyskać z konta PayPal)" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "Live Client ID" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "Live Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "ID Klienta Sandbox" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "Sandbox Secret" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "Przycisk - ustawienia wyglądu" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "Rozmiar" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 msgid "Medium" msgstr "Średni" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Large" msgstr "Duży" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "Responsywny" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "Wybierz rozmiar przycisku." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "Kolor" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 msgid "Gold" msgstr "Złoty" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 msgid "Blue" msgstr "Niebieski" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 msgid "Silver" msgstr "Srebrny" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 msgid "Black" msgstr "Czarny" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 msgid "Select button color." msgstr "Wybierz kolor przycisku." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "Kształt" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 msgid "Rectangular" msgstr "Prostokątny" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 msgid "Pill" msgstr "Pigułka" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 msgid "Select button shape." msgstr "Wybierz kształt przycisku." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "Układ" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 msgid "Vertical" msgstr "Pionowo" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 msgid "Horizontal" msgstr "Poziomy" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 msgid "Select button layout." msgstr "Wybierz układ przycisku." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "Dodatkowe ustawienia" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "Metody płatności" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "PayPal Credit" msgstr "Kredyt PayPal" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "ELV" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" "Wybierz metody płatności, z których mogą korzystać klienci. Należy pamiętać, " "że płatność kartą jest zawsze włączona." #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "Poniższe szczegóły są opcjonalne" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:295 msgid "PayPal Subscription Button Configuration" msgstr "Konfiguracja przycisku subskrypcji PayPal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:375 msgid "Billing Amount Each Cycle" msgstr "Kwota rozliczeniowa każdego cykl" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:383 msgid "Billing Cycle" msgstr "Okres rozliczeniowy" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:396 msgid "Billing Cycle Count" msgstr "Licznik cykli rozliczeniowych" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:404 msgid "Re-attempt on Failure" msgstr "Niepowodzenie ponownej próby" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:419 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Szczegóły rozliczania próbnego (zostaw puste, jeśli nie oferujesz okresu " "próbnego)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:425 msgid "Trial Billing Amount" msgstr "Płatność w okresie próbnym" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:433 msgid "Trial Billing Period" msgstr "Próbny okres rozliczeniowy" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:450 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:177 msgid "Optional Details" msgstr "Dane opcjonalne" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:250 msgid "Stripe Buy Now Button Configuration" msgstr "Konfiguracja przycisku \"Kup teraz \" Stripe'a" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:328 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Klucze API Stripe. Możesz je uzyskać ze swojego konta Stripe." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:131 msgid "Test Publishable Key" msgstr "Testowy klucz publiczny" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:139 msgid "Test Secret Key" msgstr "Testowy klucz prywatny" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:147 msgid "Live Publishable Key" msgstr "Produkcyjny klucz publiczny" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:353 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:155 msgid "Live Secret Key" msgstr "Sekretny klucz" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:365 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:183 msgid "Collect Customer Address" msgstr "Pobierz adres klienta" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:75 msgid "Stripe Subscription Button Configuration" msgstr "Czas trwania subskrypcji" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:109 msgid "Stripe Plan ID" msgstr "Identyfikator planu paskowego" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:125 msgid "Stripe API Settings" msgstr "Ustawienia API Stripe" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:163 msgid "Webook Endpoint URL" msgstr "Adres URL punktu końcowego Webooka" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:20 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:91 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:93 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:150 msgid "Buy Now" msgstr "Kup teraz" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:226 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:228 msgid "Subscribe Now" msgstr "Przyłącz się" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137 msgid "Error occured during PayPal Smart Checkout process." msgstr "Błąd wystąpił podczas procesu płatności PayPal Smart Checkout." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165 msgid "HTTP error occured during payment process:" msgstr "Błąd HTTP wystąpił podczas procesu płatności:" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Wpisz tutaj hasło" msgid "Retype password here" msgstr "Wpisz tutaj hasło ponownie" msgid "Registration is complete. You can now log into the site." msgstr "Rejestracja jest zakończona. Teraz możesz zalogować się na stronie." msgid " Field has invalid character" msgstr " Pole ma nieprawidłowy znak" msgid " Password does not match" msgstr " Hasło nie pasuje" msgid "Already taken." msgstr "Już zajęte." msgid "Street Address" msgstr "Ulica i numer" msgid "Apt, Suite, Bldg. (optional)" msgstr "Apt, Suite, Bldg. (nieobowiązkowo)" msgid "State / Province / Region" msgstr "Województwo / Prowincja / Region" msgid "Postal / Zip Code" msgstr "Poczta / kod pocztowy" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Zaznacz to pole, aby usunąć zdjęcie. Obraz zostanie usunięty po zapisaniu " "profilu." msgid "You will need to re-login since you changed your password." msgstr "Musisz się ponownie zalogować, ponieważ zmieniłeś hasło." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" "Proszę podać jakiekolwiek dwie cyfry bez spacji (Przykład: " "12)" msgid "Verification" msgstr "Weryfikacja" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Proszę wpisać dowolne dwie cyfry bez spacji (przykład: 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Nazwa użytkownika może zawierać tylko: litery, cyfry i .-*@" #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Nie masz uprawnień do przeglądania tej zawartości." msgid "Your membership level does not have permission to view this content." msgstr "" "Twój poziom członkostwa nie ma uprawnień do przeglądania tej zawartości." msgid "This content is for members only." msgstr "Ta zawartość jest przeznaczona wyłącznie dla członków." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Lista członków" #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "ID użytkownika" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Poziom" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adres" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Szukaj..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Wyczyść wyszukiwanie" languages/simple-membership-fr_FR.po000064400000250757147206617610013522 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple Membership Plugin\n" "POT-Creation-Date: 2017-05-01 06:45+0200\n" "PO-Revision-Date: 2017-05-22 07:09+0200\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0\n" "X-Poedit-KeywordsList: __;_e;e\n" "X-Poedit-Basepath: .\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "Language: fr\n" "X-Poedit-SearchPath-0: .\n" #: classes/class.simple-wp-membership.php:172 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "L'administrateur de ce site n'autorise pas les utilisateurs à accéder au " "tableau de bord wp." #: classes/class.simple-wp-membership.php:173 msgid "Go back to the home page by " msgstr "Retour à la page d'accueil via " #: classes/class.simple-wp-membership.php:173 msgid "clicking here" msgstr "cliquant ici" #: classes/class.simple-wp-membership.php:311 msgid "You are not logged in." msgstr "Vous n'êtes pas connecté." #: classes/class.simple-wp-membership.php:358 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "Vous avez le mode de paiement sandbox activé dans la configuration du " "plugin. Veillez à désactiver le mode sandbox, quand vous voulez faire vivre " "les transactions." #: classes/class.simple-wp-membership.php:373 msgid "Simple WP Membership Protection" msgstr "Protection Simple WP Membership" #: classes/class.simple-wp-membership.php:385 msgid "Simple Membership Protection options" msgstr "Options de protection simple WP Membership" #: classes/class.simple-wp-membership.php:403 msgid "Do you want to protect this content?" msgstr "Voulez-vous protéger ce contenu ?" #: classes/class.simple-wp-membership.php:408 msgid "Select the membership level that can access this content:" msgstr "Sélectionnez le niveau d’abonnement de qui peut accéder à ce contenu :" #: classes/class.simple-wp-membership.php:543 msgid "WP Membership" msgstr "WP Membership" #: classes/class.simple-wp-membership.php:544 classes/class.swpm-members.php:11 #: classes/class.swpm-members.php:575 msgid "Members" msgstr "Abonnés" #: classes/class.simple-wp-membership.php:545 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:257 msgid "Membership Levels" msgstr "Niveaux d'abonnement" #: classes/class.simple-wp-membership.php:546 msgid "Settings" msgstr "Paramètres" #: classes/class.simple-wp-membership.php:547 msgid "Payments" msgstr "Paiements" #: classes/class.simple-wp-membership.php:548 msgid "Add-ons" msgstr "Add-ons" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Vous devez vous connecter pour voir le contenu." #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Votre compte a expiré" #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Ce contenu ne peut être consulté que par les abonnés depuis ou avant le " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Vous n'avez pas le niveau d'abonnement suffisant pour voir ce contenu." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Vous devez vous connecter pour voir le contenu." #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr "" "Vous n'avez pas le niveau d'abonnement suffisant pour lire la suite de ce " "contenu." #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "Erreur ! Nonce vérification a échoué pour l’enregistrement de l’utilisateur " "depuis l’admin." #: classes/class.swpm-admin-registration.php:66 msgid "Member record added successfully." msgstr "Enregistrement du membre ajouté avec succès." #: classes/class.swpm-admin-registration.php:71 #: classes/class.swpm-admin-registration.php:102 #: classes/class.swpm-admin-registration.php:126 #: classes/class.swpm-membership-level.php:69 #: classes/class.swpm-membership-level.php:97 msgid "Please correct the following:" msgstr "S’il vous plait, veuillez corriger ce qui suit :" #: classes/class.swpm-admin-registration.php:82 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "Erreur ! Nonce vérification a échoué pour l’enregistrement de l’utilisateur " "depuis l’admin." #: classes/class.swpm-admin-registration.php:117 msgid "Your current password" msgstr "Votre mot de passe actuel" #: classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Adresse e-mail non valide." #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "Déjà pris." #: classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Le nom contient des caractères invalides." #: classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Disponible" #: classes/class.swpm-auth.php:46 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "Avertissement ! Simple Membership ne peut pas traiter cette demande de " "connexion pour vous empêcher de vous déconnecter accidentellement de l'admin." #: classes/class.swpm-auth.php:47 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a member." msgstr "" "Vous êtes connecté au site en tant qu’utilisateur ADMIN dans ce navigateur. " "Tout d’abord, déconnexion de WP Admin puis vous sera en mesure d’ouvrir une " "session tant que membre." #: classes/class.swpm-auth.php:48 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Alternativement, vous pouvez utiliser un autre navigateur (où vous n’êtes " "pas connecté en tant qu’ADMIN) pour tester la connexion de l’abonnement." #: classes/class.swpm-auth.php:49 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Vos visiteurs normaux ou les abonnés ne verront jamais ce message. Ce " "message est seulement pour l’utilisateur ADMIN." #: classes/class.swpm-auth.php:56 msgid "Captcha validation failed on login form." msgstr "La validation de Captcha a échoué sur le formulaire de connexion." #: classes/class.swpm-auth.php:81 msgid "User Not Found." msgstr "Utilisateur non trouvé." #: classes/class.swpm-auth.php:88 msgid "Password Empty or Invalid." msgstr "Mot de passe vide ou non valide." #: classes/class.swpm-auth.php:125 msgid "Account is inactive." msgstr "Ce compte est inactif" #: classes/class.swpm-auth.php:128 classes/class.swpm-auth.php:146 msgid "Account has expired." msgstr "Ce compte est expiré." #: classes/class.swpm-auth.php:131 msgid "Account is pending." msgstr "Ce compte est en attente." #: classes/class.swpm-auth.php:154 msgid "You are logged in as:" msgstr "Vous êtes connecté en tant que : " #: classes/class.swpm-auth.php:200 msgid "Logged Out Successfully." msgstr "Déconnecté avec succès." #: classes/class.swpm-auth.php:252 msgid "Session Expired." msgstr "La session a expiré." #: classes/class.swpm-auth.php:261 msgid "Invalid Username" msgstr "Identifiant non valide" #: classes/class.swpm-auth.php:269 msgid "Please login again." msgstr "Veuillez vous reconnecter, s'il vous plait." #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:85 #: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:62 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:307 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259 msgid "Membership Level" msgstr "Niveau d'abonnement" #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "ID de catégorie" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Nom de catégorie" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Type de catégorie (taxonomie)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Description" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Nombre (compte)" #: classes/class.swpm-category-list.php:92 msgid "Category protection updated!" msgstr "Protection de catégorie mise à jour" #: classes/class.swpm-category-list.php:130 msgid "No category found." msgstr "Aucune catégorie trouvée." #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Veuillez vous connecter pour laisser un commentaire" #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Veuillez vous connecter pour laisser un commentaire" #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Commentaires non autorisés par un non-membre." #: classes/class.swpm-form.php:29 msgid "" "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Un compte existe déjà avec cet identifiant. Mais l’adresse e-mail ne " "correspond pas." #: classes/class.swpm-form.php:34 msgid "" "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Un compte existe avec cette adresse, mais le nom d’utilisateur n’est pas " "valide" #: classes/class.swpm-form.php:43 msgid "Username is required" msgstr "Le nom d'utilisateur est requis" #: classes/class.swpm-form.php:47 msgid "Username contains invalid character" msgstr "Le nom d'utilisateur contient un caractère invalide" #: classes/class.swpm-form.php:55 msgid "Username already exists." msgstr "Le nom d’utilisateur existe déjà." #: classes/class.swpm-form.php:78 msgid "Password is required" msgstr "Le mot de passe est obligatoire" #: classes/class.swpm-form.php:85 msgid "Password mismatch" msgstr "Les mots de passe ne correspondent pas" #: classes/class.swpm-form.php:96 msgid "Email is required" msgstr "Une adresse électronique est requise" #: classes/class.swpm-form.php:100 msgid "Email is invalid" msgstr "Adresse e-mail non valide." #: classes/class.swpm-form.php:116 msgid "Email is already used." msgstr "E-mail déjà utilisé" #: classes/class.swpm-form.php:173 msgid "Member since field is invalid" msgstr "Le champ \"membre depuis\" est invalide" #: classes/class.swpm-form.php:184 msgid "Access starts field is invalid" msgstr "Le champ du début d'accès est invalide" #: classes/class.swpm-form.php:194 msgid "Gender field is invalid" msgstr "Le champ « genre » est invalide" #: classes/class.swpm-form.php:205 msgid "Account state field is invalid" msgstr "Le champ d’état du compte est invalide" #: classes/class.swpm-form.php:212 msgid "Invalid membership level" msgstr "Le niveau d'abonnement est incorrect." #: classes/class.swpm-front-registration.php:33 msgid "" "Error! Invalid Request. Could not find a match for the given security code " "and the user ID." msgstr "" "Erreur ! Requête non valide. Ne peut pas trouver une correspondance pour le " "code de sécurité donné et l’ID utilisateur." #: classes/class.swpm-front-registration.php:45 #: classes/class.swpm-utils-misc.php:219 views/login.php:36 msgid "Join Us" msgstr "Vous abonner" #: classes/class.swpm-front-registration.php:47 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "La formule d'abonnement gratuit est désactivée sur ce site. S’il vous plaît " "faire un paiement depuis " #: classes/class.swpm-front-registration.php:49 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Vous recevrez un lien unique par e-mail après le paiement. Vous serez en " "mesure d'utiliser ce lien pour terminer l'enregistrement d'abonnement " "premium." #: classes/class.swpm-front-registration.php:77 msgid "Security check: captcha validation failed." msgstr "Contrôle de sécurité : la validation du captcha a échoué." #: classes/class.swpm-front-registration.php:100 msgid "Registration Successful. " msgstr "Inscription réussie. " #: classes/class.swpm-front-registration.php:100 #: classes/class.swpm-utils-misc.php:218 classes/class.swpm-utils-misc.php:230 msgid "Please" msgstr "SVP" #: classes/class.swpm-front-registration.php:100 #: classes/class.swpm-utils-misc.php:218 views/login.php:30 msgid "Login" msgstr "Connexion" #: classes/class.swpm-front-registration.php:113 #: classes/class.swpm-front-registration.php:236 msgid "Please correct the following" msgstr "Veuillez corriger ce qui suit" #: classes/class.swpm-front-registration.php:158 msgid "Membership Level Couldn't be found." msgstr "Le niveau d'abonnement est introuvable." #: classes/class.swpm-front-registration.php:209 msgid "Error! Nonce verification failed for front end profile edit." msgstr "Erreur ! Nonce vérification a échoué pour le profil de l’utilisateur." #: classes/class.swpm-front-registration.php:217 msgid "Profile updated successfully." msgstr "Mise à jour du profil réussie." #: classes/class.swpm-front-registration.php:225 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Le profil a été mis à jour avec succès. Vous allez devoir vous reconnecter " "avec votre nouveau mot de passe." #: classes/class.swpm-front-registration.php:246 msgid "Email address not valid." msgstr "L'adresse e-mail n'est pas valide." #: classes/class.swpm-front-registration.php:257 msgid "No user found with that email address." msgstr "Aucun utilisateur n'a été trouvé avec cet e-mail." #: classes/class.swpm-front-registration.php:258 #: classes/class.swpm-front-registration.php:284 msgid "Email Address: " msgstr "E-mail : " #: classes/class.swpm-front-registration.php:283 msgid "New password has been sent to your email address." msgstr "Votre nouveau mot de passe vous a été envoyé." #: classes/class.swpm-init-time-tasks.php:112 msgid "Sorry, Nonce verification failed." msgstr "Désolé , la vérification Nonce a échoué." #: classes/class.swpm-init-time-tasks.php:119 msgid "Sorry, Password didn't match." msgstr "Les mots de passe ne correspondent pas." #: classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Format de la date non valide." #: classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "La durée de l'abonnement doit être > 0." #: classes/class.swpm-members.php:10 msgid "Member" msgstr "Membre" #: classes/class.swpm-members.php:19 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "ID" #: classes/class.swpm-members.php:20 views/add.php:6 views/admin_add.php:10 #: views/admin_edit.php:13 views/edit.php:14 msgid "Username" msgstr "Nom d’utilisateur" #: classes/class.swpm-members.php:21 #: classes/admin-includes/class.swpm-payments-list-table.php:78 #: views/add.php:22 views/admin_member_form_common_part.php:15 #: views/edit.php:30 msgid "First Name" msgstr "Prénom" #: classes/class.swpm-members.php:22 #: classes/admin-includes/class.swpm-payments-list-table.php:79 #: views/add.php:26 views/admin_member_form_common_part.php:19 #: views/edit.php:34 msgid "Last Name" msgstr "Nom" #: classes/class.swpm-members.php:23 views/add.php:10 views/edit.php:18 msgid "Email" msgstr "E-mail" #: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11 msgid "Access Starts" msgstr "Démarrage de l'accès" #: classes/class.swpm-members.php:26 msgid "Account State" msgstr "État du compte" #: classes/class.swpm-members.php:42 #: classes/class.swpm-membership-levels.php:36 #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94 #: classes/admin-includes/class.swpm-payments-list-table.php:102 msgid "Delete" msgstr "Supprimer" #: classes/class.swpm-members.php:43 msgid "Set Status to Active" msgstr "Placer le statut sur actif" #: classes/class.swpm-members.php:44 msgid "Set Status to Active and Notify" msgstr "Définir l’état actif et notifier" #: classes/class.swpm-members.php:45 msgid "Set Status to Inactive" msgstr "Définir le statut inactif" #: classes/class.swpm-members.php:46 msgid "Set Status to Pending" msgstr "Régler le statut sur \"En attente\" " #: classes/class.swpm-members.php:47 msgid "Set Status to Expired" msgstr "Régler le statut sur \"Expiré\" " #: classes/class.swpm-members.php:68 msgid "incomplete" msgstr "incomplet" #: classes/class.swpm-members.php:187 msgid "No member found." msgstr "Aucun membre trouvé." #: classes/class.swpm-members.php:331 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "Erreur ! Vérification Nonce a échoué pour l’enregistrement de l’utilisateur " "depuis l’admin." #: classes/class.swpm-members.php:400 classes/class.swpm-members.php:430 msgid "Error! Please select a membership level first." msgstr "Erreur ! Veuillez d’abord sélectionner un niveau d’abonnement." #: classes/class.swpm-members.php:417 msgid "Membership level change operation completed successfully." msgstr "La modification du niveau d'abonnement a été réalisée avec succès." #: classes/class.swpm-members.php:447 msgid "Access starts date change operation successfully completed." msgstr "Date d'accès modifiée avec succès." #: classes/class.swpm-members.php:456 msgid "Bulk Update Membership Level of Members" msgstr "Bulk Update niveau d’abonnement des membres" #: classes/class.swpm-members.php:459 msgid "" "You can manually change the membership level of any member by editing the " "record from the members menu. " msgstr "" "Vous pouvez modifier manuellement le niveau d’abonnement de tout membre en " "éditant l’enregistrement dans le menu membres. " #: classes/class.swpm-members.php:460 msgid "" "You can use the following option to bulk update the membership level of " "users who belong to the level you select below." msgstr "" "Vous pouvez utiliser l’option suivante de mise à jour le niveau d’abonnement " "des utilisateurs qui appartiennent au niveau que vous sélectionnez ci-" "dessous." #: classes/class.swpm-members.php:466 classes/class.swpm-members.php:514 msgid "Membership Level: " msgstr "Niveau d'abonnement : " #: classes/class.swpm-members.php:470 msgid "Select Current Level" msgstr "Sélectionnez le niveau actuel" #: classes/class.swpm-members.php:473 msgid "" "Select the current membership level (the membership level of all members who " "are in this level will be updated)." msgstr "" "Sélectionnez le niveau d’abonnement actuel (le niveau de tous les abonnés " "qui se trouvent dans ce niveau sera actualisé)." #: classes/class.swpm-members.php:479 msgid "Level to Change to: " msgstr "Modifier le niveau d'abonnement : " #: classes/class.swpm-members.php:483 msgid "Select Target Level" msgstr "Sélectionnez le niveau cible" #: classes/class.swpm-members.php:486 msgid "Select the new membership level." msgstr "Sélectionnez le nouveau niveau d’abonnement." #: classes/class.swpm-members.php:492 msgid "Bulk Change Membership Level" msgstr "Modifier le niveau Membership" #: classes/class.swpm-members.php:502 msgid "Bulk Update Access Starts Date of Members" msgstr "Modification d'accès (date de début pour les abonnés)" #: classes/class.swpm-members.php:506 msgid "" "The access starts date of a member is set to the day the user registers. " "This date value is used to calculate how long the member can access your " "content that are protected with a duration type protection in the membership " "level. " msgstr "" "Le début d’accès date d’un membre est indiqué au jour de l'inscription de " "l’utilisateur. Cette valeur de date est utilisée pour calculer combien de " "temps le membre peut accéder à votre contenu protégé. " #: classes/class.swpm-members.php:507 msgid "" "You can manually set a specific access starts date value of all members who " "belong to a particular level using the following option." msgstr "" "Vous pouvez définir manuellement une valeur de date de début de l'accès " "spécifique pour tous les membres qui appartiennent à un niveau déterminé à " "l’aide de l’option suivante." #: classes/class.swpm-members.php:517 msgid "Select Level" msgstr "Sélectionner un niveau" #: classes/class.swpm-members.php:520 msgid "" "Select the Membership level (the access start date of all members who are in " "this level will be updated)." msgstr "" "Sélectionnez le niveau d’abonnement (la date de début de l’accès de tous les " "membres qui se trouvent dans ce même niveau sera actualisée)." #: classes/class.swpm-members.php:529 msgid "Specify the access starts date value." msgstr "Spécifiez la date à laquelle débute l'accès." #: classes/class.swpm-members.php:535 msgid "Bulk Change Access Starts Date" msgstr "Modification d'accès (date de début) " #: classes/class.swpm-members.php:570 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Abonnés" #: classes/class.swpm-members.php:571 #: classes/class.swpm-membership-levels.php:225 views/admin_members_list.php:43 msgid "Add New" msgstr "Créer" #: classes/class.swpm-members.php:576 views/admin_add.php:5 msgid "Add Member" msgstr "Ajouter un membre" #: classes/class.swpm-members.php:577 msgid "Bulk Operation" msgstr "Bulk Actions" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" "Erreur ! Vérification Nonce a échoué pour l’enregistrement du niveau " "d'abonnement depuis l’admin." #: classes/class.swpm-membership-level.php:64 msgid "Membership Level Creation Successful." msgstr "Création du niveau d'abonnement réussie." #: classes/class.swpm-membership-level.php:80 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "Erreur ! Vérification Nonce a échoué pour l’enregistrement du niveau " "d'abonnement depuis l’admin." #: classes/class.swpm-membership-level.php:92 msgid "Membership Level Updated Successfully." msgstr "Niveau d'abonnement mis à jour avec succès." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Rôle" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Accès valable pour /jusqu’à" #: classes/class.swpm-membership-levels.php:133 msgid "No membership levels found." msgstr "Aucun niveau d’abonnement trouvé." #: classes/class.swpm-membership-levels.php:196 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" "Erreur ! Nonce vérification a échoué pour supprimer niveau d'abonnement." #: classes/class.swpm-membership-levels.php:215 views/admin_members_list.php:30 #: views/payments/admin_all_payment_transactions.php:16 msgid "Search" msgstr "Recherche" #: classes/class.swpm-membership-levels.php:253 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Niveaux d'abonnement" #: classes/class.swpm-membership-levels.php:258 msgid "Add Level" msgstr "Ajouter un niveau" #: classes/class.swpm-membership-levels.php:259 msgid "Manage Content Protection" msgstr "Gérer la protection du contenu" #: classes/class.swpm-membership-levels.php:260 msgid "Category Protection" msgstr "Protection de catégorie" #: classes/class.swpm-settings.php:27 classes/class.swpm-settings.php:55 msgid "General Settings" msgstr "Réglages généraux" #: classes/class.swpm-settings.php:28 msgid "Payment Settings" msgstr "Paramètres de paiement Paypal" #: classes/class.swpm-settings.php:29 msgid "Email Settings" msgstr "Paramètres des e-mails" #: classes/class.swpm-settings.php:30 msgid "Tools" msgstr "Outils" #: classes/class.swpm-settings.php:31 classes/class.swpm-settings.php:184 msgid "Advanced Settings" msgstr "Règlages avancés" #: classes/class.swpm-settings.php:32 msgid "Addons Settings" msgstr "Paramètres des extensions" #: classes/class.swpm-settings.php:54 msgid "Plugin Documentation" msgstr "Documention du plugin" #: classes/class.swpm-settings.php:56 msgid "Enable Free Membership" msgstr "Activer l’accès gratuit" #: classes/class.swpm-settings.php:57 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Activer/désactiver l'enregistrement pour le niveau d'abonnement gratuit. " "Lorsque vous activez cette option, assurez-vous de spécifier un ID de niveau " "d'abonnement libre dans le champ ci-dessous." #: classes/class.swpm-settings.php:58 msgid "Free Membership Level ID" msgstr "ID du niveau d'abonnement gratuit" #: classes/class.swpm-settings.php:59 msgid "Assign free membership level ID" msgstr "Attribuer un ID pour le niveau \"accès gratuit\"" #: classes/class.swpm-settings.php:60 msgid "Enable More Tag Protection" msgstr "Activer la protection de la balise \"plus/more\"" #: classes/class.swpm-settings.php:61 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Active ou désactive la protection de balise « more » dans les messages et " "les pages. Tout ce qui vient après cette balise est protégé. Tout ce qui " "vient avant est du contenu de teasing." #: classes/class.swpm-settings.php:62 msgid "Hide Adminbar" msgstr "Cacher la barre d’administration" #: classes/class.swpm-settings.php:63 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress montre une barre d’admin pour les utilisateurs connectés au site. " "Cochez cette case si vous souhaitez masquer cette barre d’admin sur votre " "site." #: classes/class.swpm-settings.php:64 msgid "Show Adminbar to Admin" msgstr "Montrer la barre Admin aux administrateurs" #: classes/class.swpm-settings.php:65 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Utilisez cette option si vous souhaitez afficher la barre d’outils admin aux " "seuls administrateurs. La barre d’outils admin est cachée pour tous les " "autres utilisateurs." #: classes/class.swpm-settings.php:66 msgid "Disable Access to WP Dashboard" msgstr "Désactiver l'accès au tableau de bord WP" #: classes/class.swpm-settings.php:67 msgid "" "WordPress allows a sandard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashbaord. Using this option will prevent any " "non admin users from going to the wp dashboard." msgstr "" "WordPress permet à un utilisateur de wp de sandard pouvoir accéder à l’URL " "de wp-admin et accéder à son profil de la wp accédez. À l’aide de cette " "option empêchera les utilisateurs non admin de se rendre dans le tableau de " "bord wp." #: classes/class.swpm-settings.php:69 msgid "Default Account Status" msgstr "État de compte par défaut" #: classes/class.swpm-settings.php:72 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Sectionner le compte par défaut des nouveaux abonnés. Si vous souhaitez " "approuver manuellement les abonnés, vous pouvez mettre ce statut sur \"En " "attente\"." #: classes/class.swpm-settings.php:74 msgid "Members Must be Logged in to Comment" msgstr "Les abonnés doivent être connectés pour commenter" #: classes/class.swpm-settings.php:75 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Activez cette option si vous souhaitez que seuls les abonnés puissent " "publier un commentaire." #: classes/class.swpm-settings.php:84 msgid "Pages Settings" msgstr "Réglages des pages" #: classes/class.swpm-settings.php:85 msgid "Login Page URL" msgstr "Adresse de la page de connexion" #: classes/class.swpm-settings.php:87 msgid "Registration Page URL" msgstr "Adresse de la page d'enregistrement" #: classes/class.swpm-settings.php:89 msgid "Join Us Page URL" msgstr "Adresse de la page \"Vous abonner\"" #: classes/class.swpm-settings.php:91 msgid "Edit Profile Page URL" msgstr "Adresse de la page pour l'édition du profil" #: classes/class.swpm-settings.php:93 msgid "Password Reset Page URL" msgstr "Adresse de la page de réinitialisation du mot de passe" #: classes/class.swpm-settings.php:96 msgid "Test & Debug Settings" msgstr "Réglages pour les tests et le débugage" #: classes/class.swpm-settings.php:98 msgid "Check this option to enable debug logging." msgstr "Cochez cette option pour activer les logs." #: classes/class.swpm-settings.php:103 msgid "Enable Sandbox Testing" msgstr "Activer le test Sandbox" #: classes/class.swpm-settings.php:104 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "Activez cette option si vous voulez faire des tests de paiement via Sandbox." #: classes/class.swpm-settings.php:117 classes/class.swpm-settings.php:179 #: classes/class.swpm-settings.php:296 msgid "Settings updated!" msgstr "Réglages mis à jour !" #: classes/class.swpm-settings.php:122 msgid "Email Misc. Settings" msgstr "Paramètres e-mail additionnels" #: classes/class.swpm-settings.php:123 msgid "From Email Address" msgstr "Depuis l'e-mail" #: classes/class.swpm-settings.php:127 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Paramètres de messagerie (demande pour achever l’enregistrement)" #: classes/class.swpm-settings.php:128 classes/class.swpm-settings.php:138 #: classes/class.swpm-settings.php:154 classes/class.swpm-settings.php:159 #: classes/class.swpm-settings.php:164 msgid "Email Subject" msgstr "Sujet de l'e-mail" #: classes/class.swpm-settings.php:130 classes/class.swpm-settings.php:140 #: classes/class.swpm-settings.php:155 classes/class.swpm-settings.php:160 #: classes/class.swpm-settings.php:165 msgid "Email Body" msgstr "Corps de l'e-mail" #: classes/class.swpm-settings.php:134 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "Inscrivez l'adresse e-mail de destination pour la notification." #: classes/class.swpm-settings.php:135 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" "Vous pouvez mettre plusieurs adresses e-mail séparées par une virgule (,) " "dans le champ ci-dessus pour envoyer la notification à plusieurs adresses e-" "mail." #: classes/class.swpm-settings.php:136 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Cet e-mail sera envoyé à l’administrateur lorsqu’un nouvel utilisateur " "termine l’enregistrement de l’abonnement. Ne fonctionne que si vous avez " "activé l’option « Envoyer la notification à l'administrateur » ci-dessus." #: classes/class.swpm-settings.php:137 msgid "Email Settings (Registration Complete)" msgstr "Paramètres de l'e-mail (enregistrement complet)" #: classes/class.swpm-settings.php:142 msgid "Send Notification to Admin" msgstr "Envoyer une notification à l’administrateur" #: classes/class.swpm-settings.php:143 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Activez cette option si vous voulez que l'administrateur reçoive une " "notification lors d'un nouvel abonnement." #: classes/class.swpm-settings.php:144 msgid "Admin Email Address" msgstr "Adresse e-mail de l'administrateur" #: classes/class.swpm-settings.php:146 msgid "Admin Notification Email Body" msgstr "Corps de l'e-mail de l'admin pour la notification" #: classes/class.swpm-settings.php:149 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Envoie un e-mail au membre quand il est ajouté depuis le panneau " "d'administration" #: classes/class.swpm-settings.php:153 msgid "Email Settings (Password Reset)" msgstr "Paramètres de messagerie (réinitialisation du mot de passe)" #: classes/class.swpm-settings.php:158 msgid " Email Settings (Account Upgrade Notification)" msgstr "Paramètres de messagerie (notification de modification d’abonnement)" #: classes/class.swpm-settings.php:163 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "Paramètres de messagerie (notification de modification d’abonnement)" #: classes/class.swpm-settings.php:186 msgid "Enable Expired Account Login" msgstr "Activer la connexion de compte expiré" #: classes/class.swpm-settings.php:187 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Quand activé, les abonnés dont le compte est expiré pourront se connecter " "mais n'auront pas accès au contenu réservé aux abonnés. Cela les poussera " "peut être à renouveler leur abonnement." #: classes/class.swpm-settings.php:189 msgid "Membership Renewal URL" msgstr "Lien de renouvellement d'abonnement" #: classes/class.swpm-settings.php:190 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Vous pouvez créer une page de renouvellement pour votre site. Consultez cette documentation pour savoir comment " "créer une page de renouvellement." #: classes/class.swpm-settings.php:192 msgid "Allow Account Deletion" msgstr "Autoriser la suppression du compte" #: classes/class.swpm-settings.php:193 msgid "Allow users to delete their accounts." msgstr "Autorise les utilisateurs à supprimer leur compte." #: classes/class.swpm-settings.php:195 msgid "Use WordPress Timezone" msgstr "Utiliser le fuseau horaire WordPress" #: classes/class.swpm-settings.php:196 msgid "" "Use this option if you want to use the timezone value specified in your " "WordPress General Settings interface." msgstr "" "Utilisez cette option si vous souhaitez utiliser la valeur de fuseau horaire " "spécifiée dans votre interface de paramètres généraux de WordPress." #: classes/class.swpm-settings.php:198 msgid "Auto Delete Pending Account" msgstr "Effacement automatique des comptes en attente" #: classes/class.swpm-settings.php:201 msgid "Select how long you want to keep \"pending\" account." msgstr "" "Choisissez la durée pendant laquelle vous souhaitez conserver les comptes en " "attente." #: classes/class.swpm-settings.php:203 msgid "Admin Dashboard Access Permission" msgstr "Autorisation d’accès au panneau d'administration" #: classes/class.swpm-settings.php:206 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here." msgstr "" "SWPM admin dashboard est accessible aux utilisateurs admin uniquement (tout " "comme n’importe quel autre plugin). Vous pouvez autoriser les utilisateurs " "avec le rôle d’autres WP utilisateur accéder au tableau de bord SWPM admin " "en sélectionnant une valeur ici." #: classes/class.swpm-settings.php:301 msgid "General Plugin Settings." msgstr "Réglages généraux du plugin." #: classes/class.swpm-settings.php:305 msgid "Page Setup and URL Related settings." msgstr "Paramètres des pages et liens connexes." #: classes/class.swpm-settings.php:309 msgid "Testing and Debug Related Settings." msgstr "Tester et déboguer des paramètres connexes." #: classes/class.swpm-settings.php:313 msgid "" "This email will be sent to your users when they complete the registration " "and become a member." msgstr "" "Cet e-mail sera envoyé à vos utilisateurs lorsqu’ils complètent une " "inscription." #: classes/class.swpm-settings.php:317 msgid "" "This email will be sent to your users when they use the password reset " "functionality." msgstr "" "Cet e-mail sera envoyé à vos abonnés lorsqu’ils utilisent la fonctionnalité " "de mot de passe réinitialisé." #: classes/class.swpm-settings.php:321 msgid "Settings in this section apply to all emails." msgstr "Les réglages de cette section s’appliquent à tous les e-mails." #: classes/class.swpm-settings.php:325 msgid "" "This email will be sent to your users after account upgrade (when an " "existing member pays for a new membership level)." msgstr "" "Cet e-mail sera envoyé aux utilisateurs après que leur compte soit mis à " "niveau (lorsqu’un membre existant paie pour un nouveau niveau d’abonnement)." #: classes/class.swpm-settings.php:329 msgid "" "This email will be sent to your members when you use the bulk account " "activate and notify action." msgstr "" "Cet e-mail sera envoyé à vos membres lorsque vous utilisez le compte en vrac " "activer et action de notifier." #: classes/class.swpm-settings.php:333 msgid "" "This email will be sent to prompt users to complete registration after the " "payment." msgstr "" "Cet e-mail sera envoyé pour inviter les utilisateurs à s’inscrire après le " "paiement." #: classes/class.swpm-settings.php:337 msgid "This page allows you to configure some advanced features of the plugin." msgstr "" "Cette page vous permet de configurer certaines fonctionnalités avancées du " "plugin." #: classes/class.swpm-settings.php:445 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Réglages" #: classes/class.swpm-utils-member.php:21 #: classes/class.swpm-utils-member.php:29 #: classes/class.swpm-utils-member.php:37 #: classes/class.swpm-utils-member.php:47 msgid "User is not logged in." msgstr "Utilisateur non connecté." #: classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Enregistrement" #: classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Identifiant du membre (login)" #: classes/class.swpm-utils-misc.php:96 msgid "Profile" msgstr "Profil" #: classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Réinitialisation du mot de passe" #: classes/class.swpm-utils-misc.php:219 msgid "Not a Member?" msgstr "Pas encore abonné ?" #: classes/class.swpm-utils-misc.php:230 msgid "renew" msgstr "Renouveler" #: classes/class.swpm-utils-misc.php:230 msgid " your account to gain access to this content." msgstr " votre compte pour accéder à ce contenu." #: classes/class.swpm-utils-misc.php:272 classes/class.swpm-utils-misc.php:278 msgid "Error! This action (" msgstr "Erreur ! Cette action (" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "" "Erreur ! Impossible de trouver un chemin d’accès de modèle pour le modèle " "spécifié : " #: classes/class.swpm-utils.php:100 msgid "Never" msgstr "Jamais" #: classes/class.swpm-utils.php:115 msgid "Active" msgstr "Actif" #: classes/class.swpm-utils.php:116 msgid "Inactive" msgstr "Inactif" #: classes/class.swpm-utils.php:117 msgid "Pending" msgstr "En attente" #: classes/class.swpm-utils.php:118 msgid "Expired" msgstr "Expiré" #: classes/class.swpm-utils.php:450 msgid "Delete Account" msgstr "Supprimer le compte" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75 msgid "Payment Button ID" msgstr "ID du bouton de paiement" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button Title" msgstr "Titre du bouton de paiement" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Membership Level ID" msgstr "ID du niveau d'abonnement" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Button Type" msgstr "Type de bouton" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Shortcode" msgstr "Shortcode du bouton" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127 #: views/admin_members_list.php:9 #: views/payments/admin_all_payment_transactions.php:32 msgid "The selected entry was deleted!" msgstr "L'entrée sélectionnée a été effacée !" #: classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple WP Membership::Paiements" #: classes/admin-includes/class.swpm-payments-admin-menu.php:25 msgid "Transactions" msgstr "Transactions" #: classes/admin-includes/class.swpm-payments-admin-menu.php:26 msgid "Manage Payment Buttons" msgstr "Gérer les boutons de paiement" #: classes/admin-includes/class.swpm-payments-admin-menu.php:27 #: views/payments/admin_payment_buttons.php:27 msgid "Create New Button" msgstr "Créer un nouveau bouton" #: classes/admin-includes/class.swpm-payments-list-table.php:57 msgid "View Profile" msgstr "Voir le profil" #: classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "ID de la ligne" #: classes/admin-includes/class.swpm-payments-list-table.php:77 #: views/forgot_password.php:5 msgid "Email Address" msgstr "Adresse e-mail" #: classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Profil membre" #: classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Date" #: classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "ID de transaction" #: classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "ID de l'abonné" #: classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Montant" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:56 msgid "Your membership profile will be updated to reflect the payment." msgstr "Votre niveau d'abonnement va être revu en fonction de votre paiement." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:57 msgid "Your profile username: " msgstr "Votre nom d'utilisateur : " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:69 msgid "Click on the following link to complete the registration." msgstr "Cliquez sur ce lien pour terminer votre inscription." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:70 msgid "Click here to complete your paid registration" msgstr "Cliquez ici pour terminer votre inscription." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:75 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Votre paiement est en cours de finalisation. Il sera pris en compte dans " "quelques instants. Un e-mail vous sera envoyé avec les détails sous peu." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:89 msgid "Expiry: " msgstr "Expiration : " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:91 msgid "You are not logged-in as a member" msgstr "Vous n'êtes pas connecté en tant que membre" #: views/add.php:14 views/admin_add.php:18 views/admin_edit.php:38 #: views/edit.php:22 views/login.php:17 msgid "Password" msgstr "Mot de passe" #: views/add.php:18 views/edit.php:26 msgid "Repeat Password" msgstr "Répéter le mot de passe" #: views/add.php:52 msgid "Register" msgstr "Inscription" #: views/admin_add.php:6 msgid "Create a brand new user and add it to this site." msgstr "Créer un nouveau utilisateur et l’ajouter à ce site." #: views/admin_add.php:10 views/admin_add.php:14 views/admin_add_level.php:11 #: views/admin_add_level.php:15 views/admin_add_level.php:19 #: views/admin_edit.php:13 views/admin_edit.php:34 #: views/admin_edit_level.php:15 views/admin_edit_level.php:19 #: views/admin_edit_level.php:23 msgid "(required)" msgstr "(obligatoire)" #: views/admin_add.php:14 views/admin_edit.php:34 msgid "E-mail" msgstr "E-mail" #: views/admin_add.php:18 msgid "(twice, required)" msgstr "(deux fois, obligatoire)" #: views/admin_add.php:23 views/admin_edit.php:42 msgid "Strength indicator" msgstr "Indicateur de sécurité" #: views/admin_add.php:24 views/admin_edit.php:43 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Remarque : Le mot de passe doit comporter au moins sept caractères. Pour le " "rendre plus solide, utiliser des majuscules et des minuscules, des chiffres " "et des symboles comme ! «  ? $ % ^)." #: views/admin_add.php:28 views/admin_edit.php:47 views/loggedin.php:10 msgid "Account Status" msgstr "Statut du compte" #: views/admin_add.php:38 msgid "Add New Member " msgstr "Ajouter un nouveau membre " #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Quelques modules complémentaires au module Simple Membership vont être " "affichés ici (si vous les avez installés)." #: views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Enregistrer les modifications" #: views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Créer un nouveau niveau d’abonnement." #: views/admin_add_level.php:11 views/admin_edit_level.php:15 msgid "Membership Level Name" msgstr "Nom du niveau d'abonnement" #: views/admin_add_level.php:15 views/admin_edit_level.php:19 msgid "Default WordPress Role" msgstr "Rôle WordPress par défaut" #: views/admin_add_level.php:19 views/admin_edit_level.php:23 msgid "Access Duration" msgstr "Durée de l'abonnement" #: views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" "N’expire pas (l’accès à ce niveau n’expirera pas jusqu’à son annulation)" #: views/admin_add_level.php:23 views/admin_add_level.php:25 #: views/admin_add_level.php:27 views/admin_add_level.php:29 #: views/admin_edit_level.php:27 views/admin_edit_level.php:30 #: views/admin_edit_level.php:33 views/admin_edit_level.php:36 msgid "Expire After" msgstr "Expire après" #: views/admin_add_level.php:24 views/admin_edit_level.php:28 msgid "Days (Access expires after given number of days)" msgstr "Jours (l'accès expire après un nombre de jours donné)" #: views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Semaines (l'accès expire après un nombre de semaines donné)" #: views/admin_add_level.php:28 views/admin_edit_level.php:34 msgid "Months (Access expires after given number of months)" msgstr "Mois (l'accès expire après un nombre de mois donné)" #: views/admin_add_level.php:30 views/admin_edit_level.php:37 msgid "Years (Access expires after given number of years)" msgstr "Ans (l'accès expire après un nombre d’années donné)" #: views/admin_add_level.php:31 views/admin_edit_level.php:39 msgid "Fixed Date Expiry" msgstr "Expire à une date donnée" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "(Access expires on a fixed date)" msgstr "(L'accès expire à une date fixe)" #: views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Ajouter un nouveau niveau d'abonnement " #: views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Modules Complémentaires" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Tout d’abord, protéger globalement la catégorie sur votre site en " "sélectionnant « Protection générale » dans la boîte déroulante ci-dessous et " "sélectionnez les catégories qui doivent être protégés des utilisateurs non-" "connectés." #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Ensuite, sélectionnez un niveau existant dans la liste ci-dessous et enfin " "choisissez les catégories autorisées (pour ce niveau en particulier)." #: views/admin_category_list.php:17 msgid "Membership Level:" msgstr "Niveau d'abonnement :" #: views/admin_category_list.php:23 views/edit.php:69 msgid "Update" msgstr "Mettre à jour" #: views/admin_edit.php:5 msgid "Edit Member" msgstr "Modifier le membre" #: views/admin_edit.php:7 msgid "Edit existing member details." msgstr "Modifier les détails du membre." #: views/admin_edit.php:8 msgid " You are currenty editing member with member ID: " msgstr " Vous éditez le membre avec l’ID : " #: views/admin_edit.php:38 msgid "(twice, leave empty to retain old password)" msgstr "(deux fois, laisser vide pour conserver le mot de passe actuel)" #: views/admin_edit.php:54 msgid "Notify User" msgstr "Notifier l’utilisateur" #: views/admin_edit.php:61 msgid "Subscriber ID/Reference" msgstr "ID membre/référence" #: views/admin_edit.php:65 msgid "Last Accessed Date" msgstr "Dernière date de consultation" #: views/admin_edit.php:68 views/admin_edit.php:75 msgid "This value gets updated when this member logs into your site." msgstr "" "Cette valeur est actualisée lorsque ce membre se connecte à votre site." #: views/admin_edit.php:72 msgid "Last Accessed From IP" msgstr "Dernier accès via l'IP" #: views/admin_edit.php:83 msgid "Edit User " msgstr "Modifier l'utilisateur " #: views/admin_edit.php:88 msgid "Delete User Profile" msgstr "Supprimer le profil utilisateur" #: views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Modifier le niveau d’abonnement" #: views/admin_edit_level.php:8 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" "Vous pouvez modifier les détails des membres sélectionnés depuis cette " "interface. " #: views/admin_edit_level.php:9 msgid "You are currently editing: " msgstr "Vous êtes actuellement en train d'éditer : " #: views/admin_edit_level.php:26 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" "N’expire pas (l’accès à ce niveau n’expirera pas jusqu’à son annulation)" #: views/admin_edit_level.php:31 msgid "Weeks (Access expires after given number of weeks)" msgstr "Semaines (accès expire après un nombre de semaines donné)" #: views/admin_edit_level.php:46 msgid "Edit Membership Level " msgstr "Modifier le niveau d’abonnement " #: views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Exemple de paramètres de protection du contenu" #: views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Sexe" #: views/admin_member_form_common_part.php:30 views/edit.php:38 msgid "Phone" msgstr "Téléphone" #: views/admin_member_form_common_part.php:34 views/edit.php:42 msgid "Street" msgstr "Rue" #: views/admin_member_form_common_part.php:38 views/edit.php:46 msgid "City" msgstr "Localité" #: views/admin_member_form_common_part.php:42 views/edit.php:50 msgid "State" msgstr "État/région" #: views/admin_member_form_common_part.php:46 views/edit.php:54 msgid "Zipcode" msgstr "Code postal" #: views/admin_member_form_common_part.php:50 views/edit.php:58 msgid "Country" msgstr "Pays" #: views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Société" #: views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Membre depuis" #: views/admin_tools_settings.php:6 msgid "Generate a Registration Completion link" msgstr "Générer le lien de fin d’inscription" #: views/admin_tools_settings.php:9 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Vous pouvez manuellement générer un lien de fin d'inscription ici et le " "donner à vos clients s'ils ont raté l'email qui leur est automatiquement " "envoyé après le paiement." #: views/admin_tools_settings.php:14 msgid "Generate Registration Completion Link" msgstr "Générer le lien de fin d’inscription" #: views/admin_tools_settings.php:15 msgid "For a Particular Member ID" msgstr "Pour un ID particulier de membre" #: views/admin_tools_settings.php:17 msgid "OR" msgstr "OU" #: views/admin_tools_settings.php:18 msgid "For All Incomplete Registrations" msgstr "Pour tous les inscriptions incomplètes" #: views/admin_tools_settings.php:23 msgid "Send Registration Reminder Email Too" msgstr "Envoyer aussi l’e-mail de rappel d’enregistrement" #: views/admin_tools_settings.php:29 msgid "Submit" msgstr "Soumettre" #: views/admin_tools_settings.php:38 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Lien (s) généré avec succès. Le lien (s) suivant peut être utilisé pour " "effectuer l'enregistrement." #: views/admin_tools_settings.php:40 msgid "Registration completion links will appear below" msgstr "Les liens de finalisation d'inscription apparaîtront ci-dessous" #: views/forgot_password.php:11 msgid "Reset Password" msgstr "Réinitialisation du mot de passe" #: views/loggedin.php:6 msgid "Logged in as" msgstr "Connecté en tant que" #: views/loggedin.php:14 msgid "Membership" msgstr "Abonnement" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "Expiration du compte" #: views/loggedin.php:22 msgid "Logout" msgstr "Déconnexion" #: views/login.php:11 msgid "Username or Email" msgstr "Nom d’utilisateur ou adresse e-mail" #: views/login.php:24 msgid "Remember Me" msgstr "Se souvenir de moi" #: views/login.php:33 msgid "Forgot Password" msgstr "Mot de passe oublié" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "Tous les paiements de vos abonnés sont ici." #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "Rechercher une transaction par le nom ou l'email" #: views/payments/admin_create_payment_buttons.php:15 msgid "" "You can create new payment button for your memberships using this interface." msgstr "" "Vous pouvez créer de nouveaux boutons pour vos abonnements en utilisant " "cette interface." #: views/payments/admin_create_payment_buttons.php:23 msgid "Select Payment Button Type" msgstr "Sélectionner le type du bouton de paiement" #: views/payments/admin_create_payment_buttons.php:26 msgid "PayPal Buy Now" msgstr "Paypal Acheter maintenant" #: views/payments/admin_create_payment_buttons.php:28 msgid "PayPal Subscription" msgstr "Abonnement PayPal" #: views/payments/admin_create_payment_buttons.php:30 msgid "Stripe Buy Now" msgstr "Stripe Acheter maintenant" #: views/payments/admin_create_payment_buttons.php:32 msgid "Braintree Buy Now" msgstr "Braintree Acheter maintenant" #: views/payments/admin_create_payment_buttons.php:39 msgid "Next" msgstr "Suivant" #: views/payments/admin_edit_payment_buttons.php:13 msgid "You can edit a payment button using this interface." msgstr "" "Vous pouvez modifier un bouton de paiement en utilisant cette interface." #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" "Tous les boutons d'abonnement que vous avez créé dans le module sont " "affichés ici." #: views/payments/admin_payment_settings.php:21 msgid "Error! The membership level ID (" msgstr "Erreur ! L’abonnement de niveau ID (" #: views/payments/admin_payment_settings.php:27 msgid "PayPal Integration Settings" msgstr "Paramètres d'intégration Paypal" #: views/payments/admin_payment_settings.php:30 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Générer le code « Advanced Variables » pour votre bouton PayPal" #: views/payments/admin_payment_settings.php:33 msgid "Enter the Membership Level ID" msgstr "ID du niveau d'abonnement" #: views/payments/admin_payment_settings.php:35 msgid "Generate Code" msgstr "Générer le code" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "Braintree Acheter maintenant - configuration du bouton" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:291 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:245 msgid "Button ID" msgstr "ID du bouton" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:299 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:252 msgid "Button Title" msgstr "Titre du bouton" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:268 msgid "Payment Amount" msgstr "Montant du paiement" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" "Braintree API key et les détails du compte. Vous pouvez obtenir cela à " "partir de votre compte Braintree." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "Identifiant marchand" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "Clé de licence publique" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "Clé de licence privée" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "ID du compte marchand" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:347 msgid "The following details are optional." msgstr "Les détails suivants sont facultatifs." #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:91 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:171 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:443 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:351 msgid "Return URL" msgstr "URL de retour" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:191 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:463 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:151 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361 msgid "Save Payment Data" msgstr "Enregistrement des données de paiement" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192 msgid "PayPal Buy Now Button Configuration" msgstr "PayPal® (Acheter maintenant) configuration" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:317 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:275 msgid "Payment Currency" msgstr "Devise de paiement" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:99 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:84 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:356 msgid "PayPal Email" msgstr "E-mail Paypal" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:107 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:179 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:451 msgid "Button Image URL" msgstr "URL pour l'image du bouton." #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:285 msgid "PayPal Subscription Button Configuration" msgstr "Configuration du bouton Paypal" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:92 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:364 msgid "Billing Amount Each Cycle" msgstr "Montant de facturation à chaque cycle:" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:100 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:372 msgid "Billing Cycle" msgstr "Cycle de facturation" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:113 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:385 msgid "Billing Cycle Count" msgstr "Cycle de facturation (compte)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:121 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:393 msgid "Re-attempt on Failure" msgstr "Réessayer en cas d'erreur" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:134 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:406 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" "Détails de la période d'essai (laisser vide si vous ne proposez pas de " "période d'essai)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:140 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:412 msgid "Trial Billing Amount" msgstr "Montant de facturation (essai)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:148 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:420 msgid "Trial Billing Period" msgstr "Période de facturation (essai)" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:165 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:437 msgid "Optional Details" msgstr "Détails optionels" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:236 msgid "Stripe Buy Now Button Configuration" msgstr "Stripe acheter maintenant le bouton Configuration" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:314 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "Obtenez vos clés API via votre compte Stripe." #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:318 msgid "Test Secret Key" msgstr "Clé Test secrète" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:325 msgid "Test Publishable Key" msgstr "Clé Test publiable" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332 msgid "Live Secret Key" msgstr "Clé Live secrète" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 msgid "Live Publishable Key" msgstr "Clé Live publiable" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:17 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:85 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:87 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:17 msgid "Buy Now" msgstr "Acheter maintenant" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:213 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:215 msgid "Subscribe Now" msgstr "Abonnez-vous maintenant" msgid "Leave empty to keep the current password" msgstr "Laissez vide pour conserver le mot de passe actuel" #: Translation strings from addons Form builder addon msgid "Type password Here" msgstr "Entrez ici un mot de passe" msgid "Retype password Here" msgstr "Retaper le mot de passe" msgid "Registration is complete. You can now log into the site." msgstr "" "L'inscription est complète. Vous pouvez maintenant vous connecter au site." msgid " Field has invalid character" msgstr " Ce champ comporte un caractère non valide" msgid " Password does not match" msgstr " Les mots de passe ne correspondent pas" msgid "Already taken." msgstr "Déjà pris." msgid "Street Address" msgstr "Rue" msgid "Apt, Suite, Bldg. (optional)" msgstr "Appartement, bureau, unité (facultatif)" msgid "State / Province / Region" msgstr "État / Province / Région" msgid "Postal / Zip Code" msgstr "Code postal ou ZIP" #: Partial protection addon strings msgid "You do not have permission to view this content." msgstr "Vous n’avez pas l’autorisation de voir ce contenu." msgid "Your membership level does not have permission to view this content." msgstr "" "Votre niveau d'abonnement n'a pas la permission de visualiser ce contenu." msgid "This content is for members only." msgstr "Ce contenu est réservé aux abonnés." #: classes/class.simple-wp-membership.php:646 #: classes/class.simple-wp-membership.php:650 msgid "Validating, please wait" msgstr "Validation en cours, veuillez patienter" #: classes/class.simple-wp-membership.php:653 msgid "Invalid email address" msgstr "Addresse email invalide" #: classes/class.simple-wp-membership.php:656 msgid "This field is required" msgstr "Ce champ est requis" msgid "Password must contain at least:" msgstr "Le mot de passe doit contenir au minimum:" msgid "- a digit" msgstr "- un chiffre" msgid "- an uppercase letter" msgstr "- une majuscule" msgid "- a lowercase letter" msgstr "- une minuscule" #: classes/class.simple-wp-membership.php:659 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Le nom d'utilisateur ne peut contenir que: lettres, chiffres et .-_*@" #: classes/class.simple-wp-membership.php:662 msgid "Minimum " msgstr "Au moins " #: classes/class.simple-wp-membership.php:663 msgid " characters required" msgstr " caractères sont requis" #: classes/class.simple-wp-membership.php:666 msgid "Apostrophe character is not allowed" msgstr "Le caractere Apostrophe n'est pas autorisé" #: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36 msgid "Already taken" msgstr "Déjà utilisé" #: classes/class.swpm-auth.php:58 msgid "Click here" msgstr "Cliquez ici" #: classes/class.swpm-auth.php:58 msgid " to see the profile you are currently logged into in this browser." msgstr " pour voir le profil avec lequel vous êtes actuellement connecté" #: classes/class.swpm-auth.php:146 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Vous devez activer votre compte. Si vous n'avez pas reçu d'email, alors %s pour " "envoyer un nouvel email d'activation" #: classes/class.swpm-auth.php:146 #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 #: classes/class.swpm-utils-misc.php:169 msgid "click here" msgstr "cliquez ici" #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" "Utilisez un nom d'utilisateur différent pour terminer l'enregistrement. Si vous souhaitez " "utiliser ce nom d'utilisateur, vous devez entrer l'adresse email correcte associé à " "l'utilisateur WP existant pour vous connecter à ce compte." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" "Utilisez une adresse e-mail différente pour terminer l'enregistrement. Si vous souhaitez " "utiliser cet e-mail, vous devez entrer le nom d'utilisateur correct associé à " "l'utilisateur WP existant pour vous connecter à ce compte." #: classes/class.swpm-front-registration.php:49 msgid " page to pay for a premium membership." msgstr " page pour acheter un abonnement premium" #: classes/class.swpm-front-registration.php:89 msgid "You must accept the terms and conditions." msgstr "Vous devez accepter les termes et conditions." #: classes/class.swpm-front-registration.php:100 msgid "You must agree to the privacy policy." msgstr "Vous devez accepter la politique de confidentialité" #: classes/class.swpm-front-registration.php:140 msgid "You need to confirm your email address. Please check your email and follow instructions to complete your registration." msgstr "Vous devez confirmer votre adresse e-mail. Veuillez vérifier vos emails et suivre les instructions pour terminer votre inscription." #: classes/class.swpm-front-registration.php:301 msgid "Captcha validation failed." msgstr "La validation du captcha a échoué." #: classes/class.swpm-front-registration.php:371 msgid "Can't find member account." msgstr "Impossible de trouver le compte membre." #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid "Account already active. " msgstr "Compte déjà actif. " #: classes/class.swpm-front-registration.php:376 #: classes/class.swpm-front-registration.php:426 msgid " to login." msgstr " pour se connecter." #: classes/class.swpm-front-registration.php:383 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "Incompatibilité du code d'activation. Impossible d'activer ce compte. Veuillez contacter" "l'administrateur du site." #: classes/class.swpm-front-registration.php:397 msgid "Success! Your account has been activated successfully." msgstr "Succès! Votre compte a été activé avec succès." #: classes/class.swpm-front-registration.php:421 msgid "Cannot find member account." msgstr "Impossible de trouver le compte membre." #: classes/class.swpm-front-registration.php:443 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "Un e-mail d'activation a été envoyé. Veuillez vérifier votre messagerie et activer " "votre compte." #: classes/class.swpm-members.php:27 msgid "Last Login Date" msgstr "Date de la dernière connexion" #: classes/class.swpm-membership-levels.php:269 msgid "Post and Page Protection" msgstr "Protection des publications et des pages" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Titre" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Auteur" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Statut" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Catégories" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Type" #: classes/class.swpm-post-list.php:125 msgid "Protection settings updated!" msgstr "Paramètres de protection mis à jour!" #: classes/class.swpm-post-list.php:230 msgid "No items found." msgstr "Aucun élément trouvé." #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "La catégorie ou la catégorie parent de ce message est protégée. Vous pouvez " "modifier les paramètres de protection de catégorie à partir du " #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "menu de protection de catégorie" #: classes/class.swpm-utils-member.php:80 msgid "No Expiry" msgstr "Pas d'expiration" #: classes/class.swpm-utils-misc.php:168 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "" "Vous serez automatiquement redirigé dans quelques secondes. Sinon, veuillez %s." #: classes/class.swpm-utils-misc.php:172 msgid "Action Status" msgstr "État de l'action" #: classes/class.swpm-utils-misc.php:421 msgid "(Please Select)" msgstr "(Veuillez sélectionner)" #: classes/class.swpm-utils.php:118 views/admin_members_list.php:21 msgid "Activation Required" msgstr "Activation requise" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Homme" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Femme" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "Ne se prononce pas" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:115 msgid "Logged in as: " msgstr "Connecté en tant que:" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:121 msgid "Login Here" msgstr "Connectez-vous ici" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:122 msgid "Not a member? " msgstr "Pas un membre?" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:123 msgid "Join Now" msgstr "Créer un compte maintenant" #: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285 #, php-format msgid "Error occured during payment verification. Error code: %d. Message: %s" msgstr "Une erreur s'est produite lors de la vérification du paiement. Code d'erreur: %d. Messages :%s" #: ipn/swpm-smart-checkout-ipn.php:298 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %s %s, got %s %s." msgstr "" "Le chèque de paiement a échoué: montant non valide reçu. Attendu %s %s, obtenu %s %s." #: ipn/swpm-smart-checkout-ipn.php:315 msgid "Empty payment data received." msgstr "Données de paiement vides reçues." #: ipn/swpm-smart-checkout-ipn.php:355 msgid "IPN product validation failed. Check debug log for more details." msgstr "La validation du produit IPN a échoué. Consultez le journal de débogage pour plus de détails." #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "Vous êtes sur le point de supprimer un compte. Cela supprimera les données " "utilisateur associées à ce compte." #: views/account_delete_warning.php:8 msgid "It will also delete associated WordPress user account." msgstr "Cela supprimera également le compte d'utilisateur WordPress associé." #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(REMARQUE: pour des raisons de sécurité, nous n'autorisons pas la suppression " "de tout compte WordPress associé avec le rôle d'administrateur)." #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "Continuer?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Mot de passe:" #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Confirmer la suppression du compte" #: views/add.php:65 msgid "I accept the " msgstr "J'accepte les" #: views/add.php:77 msgid "I agree to the " msgstr "Je suis d'accord avec la" #: views/add.php:77 msgid "Privacy Policy" msgstr "Politique de confidentialité" #: views/edit.php:71 msgid "Company Name" msgstr "Nom de l'entreprise" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "Editer le profil" #: views/login.php:33 msgid "Forgot Password?" msgstr "Mot de passe oublié?" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137 msgid "Error occured during PayPal Smart Checkout process." msgstr "Une erreur s'est produite lors du processus de paiement PayPal Smart Checkout." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165 msgid "HTTP error occured during payment process:" msgstr "Une erreur HTTP s'est produite lors du processus de paiement:" #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Tapez le mot de passe ici" msgid "Retype password here" msgstr "Retapez le mot de passe ici" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Cochez cette case pour supprimer l'image. L'image sera supprimée lorsque vous " "enregistrez le profil." msgid "You will need to re-login since you changed your password." msgstr "Vous allez devoir vous reconnecter car vous avez changé votre mot de passe." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "" "Veuillez saisir deux chiffres avec aucun espace (Exemple: 12)" msgid "Verification" msgstr "Vérification" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Veuillez saisir deux chiffres sans espace (Exemple: 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "Le nom d'utilisateur ne peut contenir que: des lettres, des chiffres et .-*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Les caractères autorisés sont: lettres, chiffres et .-_*@" msgid "Please check at least one." msgstr "Veuillez en cocher au moins un." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Annuaire des membres" #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "ID Membre" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Niveau" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Adresse" #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Chercher..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Effacer la recherche" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Vous devez être connecté pour mettre à niveau un abonnement." msgid "Membership level has been updated." msgstr "Le niveau d'adhésion a été mis à jour." msgid "Already a member of this level." msgstr "Déjà membre de ce niveau." #: classes/class.simple-wp-membership.php:242 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "Erreur! Ce site a la fonction de connexion utilisateur de force WP activée " "dans les paramètres. Nous n'avons pas pu trouver d'enregistrement " "d'utilisateur WP pour le nom d'utilisateur donné: " #: classes/class.simple-wp-membership.php:243 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "Cette erreur est déclenchée lorsqu'un compte membre n'a pas de compte utilisateur WP correspondant." " Le plugin ne parvient donc pas à connecter l'utilisateur au système WP User." #: classes/class.simple-wp-membership.php:244 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Contactez l'administrateur du site et demandez-lui de vérifier votre nom d'utilisateur dans le " "menu Utilisateurs WP pour voir ce qui s'est passé avec votre utilisateur WP." #: classes/class.simple-wp-membership.php:245 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" "L'administrateur du site peut désactiver la fonctionnalité Force WP User Synchronization " "dans les paramètres pour désactiver cette fonctionnalité et cette erreur disparaîtra." #: classes/class.simple-wp-membership.php:246 msgid "You can use the back button of your browser to go back to the site." msgstr "Vous pouvez utiliser le bouton retour de votre navigateur pour revenir sur le site." #: classes/class.simple-wp-membership.php:504 msgid "No, Do not protect this content." msgstr "Non, ne pas protéger ce contenu." #: classes/class.simple-wp-membership.php:505 msgid "Yes, Protect this content." msgstr "Oui, protéger ce contenu." #: classes/class.swpm-auth.php:59 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "Vous êtes connecté au site en tant qu'utilisateur ADMIN dans ce navigateur. Tout d'abord, " "déconnectez-vous de WP Admin, puis vous pourrez vous connecter en tant que membre normal." #: classes/class.swpm-settings.php:251 views/add.php:65 msgid "Terms and Conditions" msgstr "Termes et Conditions" languages/simple-membership-es_MX.po000064400000322420147206617610013522 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "POT-Creation-Date: 2022-07-19 17:38+0600\n" "PO-Revision-Date: 2022-11-17 15:33-0800\n" "Last-Translator: \n" "Language-Team: \n" "Language: es_MX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.2\n" "X-Poedit-Basepath: ..\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: simple-wp-membership.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76 msgid "Payment Button ID" msgstr "Identificación del botón de pago" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77 msgid "Payment Button Title" msgstr "Título del botón de pago" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78 msgid "Membership Level ID" msgstr "ID de nivel de membresía" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79 msgid "Button Type" msgstr "Tipo de botón" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80 msgid "Button Shortcode" msgstr "Código corto de botón" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:95 #: classes/admin-includes/class.swpm-payments-list-table.php:118 #: classes/class.swpm-members.php:51 #: classes/class.swpm-membership-levels.php:36 msgid "Delete" msgstr "Borrar" #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:132 #: views/admin_members_list.php:8 #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "¡La entrada seleccionada fue eliminada!" #: classes/admin-includes/class.swpm-payments-admin-menu.php:23 msgid "Simple Membership::Payments" msgstr "Membresía Simple::Pagos" #: classes/admin-includes/class.swpm-payments-list-table.php:73 #: views/template-1.php:95 views/template-2.php:97 msgid "View Profile" msgstr "Ver perfil" #: classes/admin-includes/class.swpm-payments-list-table.php:91 msgid "Row ID" msgstr "ID de fila" #: classes/admin-includes/class.swpm-payments-list-table.php:92 #: views/forgot_password.php:5 #: views/payments/admin_add_edit_transaction_manually.php:75 msgid "Email Address" msgstr "Dirección de correo electrónico" #: classes/admin-includes/class.swpm-payments-list-table.php:93 #: classes/class.swpm-members.php:23 views/add.php:34 #: views/admin_member_form_common_part.php:6 views/edit.php:39 #: views/payments/admin_add_edit_transaction_manually.php:83 #: includes/swpm_mda_show_profile.php:28 msgid "First Name" msgstr "Primer nombre" #: classes/admin-includes/class.swpm-payments-list-table.php:94 #: classes/class.swpm-members.php:24 views/add.php:38 #: views/admin_member_form_common_part.php:10 views/edit.php:43 #: views/payments/admin_add_edit_transaction_manually.php:91 #: includes/swpm_mda_show_profile.php:29 msgid "Last Name" msgstr "Apellido" #: classes/admin-includes/class.swpm-payments-list-table.php:95 msgid "Member Profile" msgstr "Perfil de miembro" #: classes/admin-includes/class.swpm-payments-list-table.php:96 #: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52 #: classes/class.swpm-post-list.php:62 #: views/payments/admin_add_edit_transaction_manually.php:125 msgid "Date" msgstr "Fecha" #: classes/admin-includes/class.swpm-payments-list-table.php:97 #: views/payments/admin_add_edit_transaction_manually.php:133 msgid "Transaction ID" msgstr "ID de transacción" #: classes/admin-includes/class.swpm-payments-list-table.php:98 #: views/payments/admin_add_edit_transaction_manually.php:141 msgid "Subscriber ID" msgstr "Identificación de suscriptor" #: classes/admin-includes/class.swpm-payments-list-table.php:99 #: views/payments/admin_add_edit_transaction_manually.php:117 msgid "Amount" msgstr "Monto" #: classes/admin-includes/class.swpm-payments-list-table.php:100 #: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:26 #: classes/class.swpm-membership-levels.php:11 #: classes/class.swpm-membership-levels.php:21 #: classes/class.swpm-post-list.php:20 views/add.php:42 views/admin_add.php:37 #: views/admin_edit.php:74 views/admin_members_list.php:50 views/edit.php:75 #: views/payments/admin_add_edit_transaction_manually.php:107 #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:232 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:35 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:320 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:330 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:44 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:312 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:108 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:108 msgid "Membership Level" msgstr "Nivel de membresía" #: classes/admin-includes/class.swpm-payments-list-table.php:101 #: views/payments/admin_add_edit_transaction_manually.php:149 msgid "Status/Note" msgstr "Estado/Nota" #: classes/class-swpm-member-subscriptions.php:121 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:164 msgid "No active subscriptions" msgstr "Sin suscripciones activas" #: classes/class-swpm-member-subscriptions.php:132 msgid "Cancel Subscription" msgstr "Cancelar suscripción" #: classes/class-swpm-member-subscriptions.php:134 msgid "Are you sure that you want to cancel the subscription?" msgstr "¿Estás seguro de que deseas cancelar la suscripción?" #: classes/class.simple-wp-membership.php:237 msgid "The admin of this site does not allow users to access the wp dashboard." msgstr "" "El administrador de este sitio no permite que los usuarios accedan al panel " "de wp." #: classes/class.simple-wp-membership.php:238 msgid "Go back to the home page by " msgstr "Volver a la página de inicio por " #: classes/class.simple-wp-membership.php:238 msgid "clicking here" msgstr "haciendo clic aquí" #: classes/class.simple-wp-membership.php:303 msgid "" "Error! This site has the force WP user login feature enabled in the " "settings. We could not find a WP user record for the given username: " msgstr "" "¡Error! Este sitio tiene la función de inicio de sesión de usuario forzado " "de WP habilitada en la configuración. No pudimos encontrar un registro de " "usuario de WP para el nombre de usuario dado: " #: classes/class.simple-wp-membership.php:304 msgid "" "This error is triggered when a member account doesn't have a corresponding " "WP user account. So the plugin fails to log the user into the WP User system." msgstr "" "Este error se activa cuando una cuenta de miembro no tiene una cuenta de " "usuario de WP correspondiente. Por lo tanto, el complemento no puede iniciar " "sesión en el sistema de usuario de WP." #: classes/class.simple-wp-membership.php:305 msgid "" "Contact the site admin and request them to check your username in the WP " "Users menu to see what happened with the WP user entry of your account." msgstr "" "Comuníquese con el administrador del sitio y solicite que verifiquen su " "nombre de usuario en el menú Usuarios de WP para ver qué sucedió con la " "entrada de usuario de WP de su cuenta." #: classes/class.simple-wp-membership.php:306 msgid "" "The site admin can disable the Force WP User Synchronization feature in the " "settings to disable this feature and this error will go away." msgstr "" "El administrador del sitio puede deshabilitar la función Forzar " "sincronización de usuarios de WP en la configuración para deshabilitar esta " "función y este error desaparecerá." #: classes/class.simple-wp-membership.php:307 msgid "You can use the back button of your browser to go back to the site." msgstr "Puede utilizar el botón Atrás de su navegador para volver al sitio." #: classes/class.simple-wp-membership.php:484 #: classes/class.swpm-wp-loaded-tasks.php:141 msgid "You are not logged in." msgstr "Usted no se ha identificado." #: classes/class.simple-wp-membership.php:535 msgid "" "You have the sandbox payment mode enabled in plugin settings. Make sure to " "turn off the sandbox mode when you want to do live transactions." msgstr "" "Tienes el modo de pago sandbox habilitado en la configuración del " "complemento. Asegúrese de desactivar el modo sandbox cuando desee realizar " "transacciones en vivo." #: classes/class.simple-wp-membership.php:550 msgid "Simple WP Membership Protection" msgstr "Protección de membresía simple de WP" #: classes/class.simple-wp-membership.php:562 msgid "Simple Membership Protection options" msgstr "Opciones simples de protección de membresía" #: classes/class.simple-wp-membership.php:580 msgid "Do you want to protect this content?" msgstr "" "Un complemento de membresía de WordPress flexible, bien respaldado y fácil " "de usar para ofrecer contenido gratuito y premium desde su sitio de " "WordPress. " #: classes/class.simple-wp-membership.php:581 msgid "No, Do not protect this content." msgstr "No, no proteja este contenido." #: classes/class.simple-wp-membership.php:582 msgid "Yes, Protect this content." msgstr "Sí, protege este contenido." #: classes/class.simple-wp-membership.php:585 msgid "Select the membership level that can access this content:" msgstr "Seleccione el nivel de membresía que puede acceder a este contenido:" #: classes/class.simple-wp-membership.php:728 #: classes/class.simple-wp-membership.php:732 msgid "Validating, please wait" msgstr "Validando, por favor espere" #: classes/class.simple-wp-membership.php:735 msgid "Invalid email address" msgstr "Dirección de correo electrónico no válida" #: classes/class.simple-wp-membership.php:738 msgid "This field is required" msgstr "Este campo es obligatorio" #: classes/class.simple-wp-membership.php:741 msgid "Password must contain at least:" msgstr "La contraseña debe contener al menos:" #: classes/class.simple-wp-membership.php:741 msgid "- a digit" msgstr "- un dígito" #: classes/class.simple-wp-membership.php:741 msgid "- an uppercase letter" msgstr "- una letra mayúscula" #: classes/class.simple-wp-membership.php:741 msgid "- a lowercase letter" msgstr "- una letra minúscula" #: classes/class.simple-wp-membership.php:744 classes/class.swpm-auth.php:310 msgid "Invalid Username" msgstr "Nombre de usuario no válido" #: classes/class.simple-wp-membership.php:744 msgid "Usernames can only contain: letters, numbers and .-_*@" msgstr "Los nombres de usuario solo pueden contener: letras, números y .-_*@" #: classes/class.simple-wp-membership.php:747 msgid "Minimum " msgstr "Mínimo" #: classes/class.simple-wp-membership.php:748 msgid " characters required" msgstr "caracteres requeridos" #: classes/class.simple-wp-membership.php:751 msgid "Apostrophe character is not allowed" msgstr "No se permite el carácter de apóstrofe" #: classes/class.simple-wp-membership.php:791 msgid "WP Membership" msgstr "Membresía de WP" #: classes/class.simple-wp-membership.php:792 classes/class.swpm-members.php:12 #: classes/class.swpm-members.php:729 msgid "Members" msgstr "Miembros" #: classes/class.simple-wp-membership.php:793 #: classes/class.swpm-category-list.php:20 #: classes/class.swpm-membership-levels.php:12 #: classes/class.swpm-membership-levels.php:273 #: classes/class.swpm-post-list.php:21 msgid "Membership Levels" msgstr "Niveles de membresía" #: classes/class.simple-wp-membership.php:794 msgid "Settings" msgstr "Ajustes" #: classes/class.simple-wp-membership.php:795 msgid "Payments" msgstr "Pagos" #: classes/class.simple-wp-membership.php:796 msgid "Add-ons" msgstr "Complementos" #: classes/class.swpm-access-control.php:47 #: classes/class.swpm-access-control.php:120 msgid "You need to login to view this content. " msgstr "Necesita iniciar sesión para ver este contenido. " #: classes/class.swpm-access-control.php:56 #: classes/class.swpm-access-control.php:128 #: classes/class.swpm-access-control.php:212 msgid "Your account has expired. " msgstr "Su cuenta ha expirado. " #: classes/class.swpm-access-control.php:66 #: classes/class.swpm-access-control.php:138 msgid "This content can only be viewed by members who joined on or before " msgstr "" "Este contenido solo puede ser visto por miembros que se unieron en o antes " #: classes/class.swpm-access-control.php:79 #: classes/class.swpm-access-control.php:148 msgid "This content is not permitted for your membership level." msgstr "Este contenido no está permitido para su nivel de membresía." #: classes/class.swpm-access-control.php:204 msgid "You need to login to view the rest of the content. " msgstr "Necesitas iniciar sesión para ver el resto del contenido. " #: classes/class.swpm-access-control.php:217 msgid " The rest of the content is not permitted for your membership level." msgstr "El resto del contenido no está permitido para su nivel de membresía. " #: classes/class.swpm-admin-registration.php:25 msgid "Error! Nonce verification failed for user registration from admin end." msgstr "" "¡Error! La verificación de Nonce falló para el registro de usuario desde el " "extremo del administrador." #: classes/class.swpm-admin-registration.php:79 msgid "Member record added successfully." msgstr "Registro de miembro agregado con éxito." #: classes/class.swpm-admin-registration.php:87 #: classes/class.swpm-admin-registration.php:149 #: classes/class.swpm-admin-registration.php:187 #: classes/class.swpm-membership-level.php:73 #: classes/class.swpm-membership-level.php:105 msgid "Please correct the following:" msgstr "Por favor, corrija el siguiente:" #: classes/class.swpm-admin-registration.php:100 msgid "Error! Nonce verification failed for user edit from admin end." msgstr "" "¡Error! La verificación de Nonce falló para la edición del usuario desde el " "extremo del administrador." #: classes/class.swpm-admin-registration.php:166 msgid "Your current password" msgstr "Tu contraseña actual" #: classes/class.swpm-ajax.php:14 classes/class.swpm-ajax.php:34 #: ipn/swpm-smart-checkout-ipn.php:333 msgid "Nonce check failed. Please reload the page." msgstr "La comprobación de Nonce falló. Por favor recarga la página." #: classes/class.swpm-ajax.php:18 msgid "Invalid Email Address" msgstr "Dirección de correo electrónico no válida" #: classes/class.swpm-ajax.php:25 classes/class.swpm-ajax.php:44 msgid "Already taken" msgstr "Ya apartadas" #: classes/class.swpm-ajax.php:25 classes/class.swpm-ajax.php:45 msgid "Available" msgstr "Disponible" #: classes/class.swpm-ajax.php:38 msgid "Name contains invalid character" msgstr "El nombre contiene un carácter no válido" #: classes/class.swpm-auth.php:60 msgid "" "Warning! Simple Membership plugin cannot process this login request to " "prevent you from getting logged out of WP Admin accidentally." msgstr "" "¡Advertencia! El complemento Simple Membership no puede procesar esta " "solicitud de inicio de sesión para evitar que se desconecte accidentalmente " "de WP Admin." #: classes/class.swpm-auth.php:61 msgid "Click here" msgstr "haga clic aquí" #: classes/class.swpm-auth.php:61 msgid " to see the profile you are currently logged into in this browser." msgstr "" "para ver el perfil en el que está conectado actualmente en este navegador." #: classes/class.swpm-auth.php:62 msgid "" "You are logged into the site as an ADMIN user in this browser. First, logout " "from WP Admin then you will be able to log in as a normal member." msgstr "" "Ha iniciado sesión en el sitio como usuario ADMIN en este navegador. " "Primero, cierre sesión en WP Admin y luego podrá iniciar sesión como miembro " "normal." #: classes/class.swpm-auth.php:63 msgid "" "Alternatively, you can use a different browser (where you are not logged-in " "as ADMIN) to test the membership login." msgstr "" "Alternativamente, puede usar un navegador diferente (donde no haya iniciado " "sesión como ADMIN) para probar el inicio de sesión de membresía." #: classes/class.swpm-auth.php:64 msgid "" "Your normal visitors or members will never see this message. This message is " "ONLY for ADMIN user." msgstr "" "Sus visitantes normales o miembros nunca verán este mensaje. Este mensaje es " "SOLO para el usuario ADMIN." #: classes/class.swpm-auth.php:71 msgid "Captcha validation failed on login form." msgstr "La validación de Captcha falló en el formulario de inicio de sesión." #: classes/class.swpm-auth.php:96 msgid "User Not Found." msgstr "Usuario no encontrado." #: classes/class.swpm-auth.php:103 msgid "Password Empty or Invalid." msgstr "Contraseña vacía o no válida." #: classes/class.swpm-auth.php:144 msgid "Account is inactive." msgstr "La cuenta está inactiva." #: classes/class.swpm-auth.php:147 classes/class.swpm-auth.php:176 msgid "Account has expired." msgstr "La cuenta ha caducado." #: classes/class.swpm-auth.php:150 msgid "Account is pending." msgstr "La cuenta está pendiente." #: classes/class.swpm-auth.php:160 #, php-format msgid "" "You need to activate your account. If you didn't receive an email then %s to " "resend the activation email." msgstr "" "Necesitas activar tu cuenta. Si no recibiste un correo electrónico, entonces " "%s para volver a enviar el correo electrónico de activación." #: classes/class.swpm-auth.php:160 #: classes/class.swpm-front-registration.php:461 #: classes/class.swpm-front-registration.php:514 #: classes/class.swpm-utils-misc.php:196 msgid "click here" msgstr "haga clic aquí" #: classes/class.swpm-auth.php:184 msgid "You are logged in as:" msgstr "Has iniciado sesión como:" #: classes/class.swpm-auth.php:248 msgid "Logged Out Successfully." msgstr "Cierre de sesión con éxito." #: classes/class.swpm-auth.php:301 msgid "Session Expired." msgstr "Sesión expirada." #: classes/class.swpm-auth.php:318 msgid "Please login again." msgstr "Inicie sesión de nuevo." #: classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "Categoria ID" #: classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Nombre de la Categoría" #: classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Tipo de Categoría (taxonomía)" #: classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Description" #: classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Cuenta" #: classes/class.swpm-category-list.php:78 msgid "" "Error! Nonce security verification failed for Category Protection Update " "action. Clear cache and try again." msgstr "" "¡Error! La verificación de seguridad de Nonce falló para la acción de " "actualización de protección de categoría. Borre el caché y vuelva a " "intentarlo." #: classes/class.swpm-category-list.php:99 msgid "Category protection updated!" msgstr "¡Protección de categoría actualizada!" #: classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Por favor, inicia sesión para comentar." #: classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Por favor, inicia sesión para comentar." #: classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Comentarios no permitidos por un no miembro." #: classes/class.swpm-form.php:30 msgid "" "Wordpress account exists with given username. But the given email doesn't " "match." msgstr "" "La cuenta de WordPress existe con el nombre de usuario dado. Pero el correo " "electrónico dado no coincide." #: classes/class.swpm-form.php:31 msgid "" " Use a different username to complete the registration. If you want to use " "that username then you must enter the correct email address associated with " "the existing WP user to connect with that account." msgstr "" "Utilice un nombre de usuario diferente para completar el registro. Si desea " "usar ese nombre de usuario, debe ingresar la dirección de correo electrónico " "correcta asociada con el usuario de WP existente para conectarse con esa " "cuenta." #: classes/class.swpm-form.php:37 msgid "" "Wordpress account exists with given email. But the given username doesn't " "match." msgstr "" "La cuenta de Wordpress existe con el correo electrónico dado. Pero el nombre " "de usuario dado no coincide." #: classes/class.swpm-form.php:38 msgid "" " Use a different email address to complete the registration. If you want to " "use that email then you must enter the correct username associated with the " "existing WP user to connect with that account." msgstr "" "Utilice una dirección de correo electrónico diferente para completar el " "registro. Si desea usar ese correo electrónico, debe ingresar el nombre de " "usuario correcto asociado con el usuario de WP existente para conectarse con " "esa cuenta." #: classes/class.swpm-form.php:48 msgid "Username is required" msgstr "Se requiere nombre de usuario" #: classes/class.swpm-form.php:52 msgid "Username contains invalid character" msgstr "El nombre de usuario contiene un carácter no válido" #: classes/class.swpm-form.php:60 msgid "Username already exists." msgstr "Nombre de usuario ya existe." #: classes/class.swpm-form.php:81 msgid "Password is required" msgstr "Se requiere contraseña" #: classes/class.swpm-form.php:88 msgid "Password mismatch" msgstr "Contraseña no coincide" #: classes/class.swpm-form.php:99 msgid "Email is required" msgstr "Correo electronico es requerido" #: classes/class.swpm-form.php:103 msgid "Email is invalid" msgstr "El correo electrónico es invalido" #: classes/class.swpm-form.php:119 msgid "Email is already used." msgstr "El email ya está en uso." #: classes/class.swpm-form.php:171 msgid "Member since field is invalid" msgstr "Miembro ya que el campo no es válido" #: classes/class.swpm-form.php:182 msgid "Access starts field is invalid" msgstr "El campo de inicio de acceso no es válido" #: classes/class.swpm-form.php:192 msgid "Gender field is invalid" msgstr "El campo de género no es válido" #: classes/class.swpm-form.php:203 msgid "Account state field is invalid" msgstr "El campo de estado de la cuenta no es válido" #: classes/class.swpm-form.php:210 msgid "Invalid membership level" msgstr "Nivel de membresía no válido" #: classes/class.swpm-front-registration.php:26 msgid "" "You are already logged in. You don't need to create another account. So the " "registration form is hidden." msgstr "" "Ya estás conectado. No necesitas crear otra cuenta. Entonces el formulario " "de registro está oculto." #: classes/class.swpm-front-registration.php:60 #: classes/class.swpm-utils-misc.php:364 views/login.php:53 msgid "Join Us" msgstr "Únete a nosotros" #: classes/class.swpm-front-registration.php:62 msgid "" "Free membership is disabled on this site. Please make a payment from the " msgstr "" "La membresía gratuita está deshabilitada en este sitio. Por favor haga un " "pago desde el " #: classes/class.swpm-front-registration.php:64 msgid " page to pay for a premium membership." msgstr "página para pagar una membresía premium. " #: classes/class.swpm-front-registration.php:66 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Recibirá un enlace único por correo electrónico después del pago. Podrá usar " "ese enlace para completar el registro de membresía premium." #: classes/class.swpm-front-registration.php:98 msgid "Security check: captcha validation failed." msgstr "Comprobación de seguridad: la validación de captcha falló." #: classes/class.swpm-front-registration.php:111 msgid "You must accept the terms and conditions." msgstr "Debe aceptar los Términos y Condiciones." #: classes/class.swpm-front-registration.php:125 msgid "You must agree to the privacy policy." msgstr "Debe aceptar la política de privacidad." #: classes/class.swpm-front-registration.php:166 msgid "" "You need to confirm your email address. Please check your email and follow " "instructions to complete your registration." msgstr "" "Necesitas confirmar tu dirección de correo electrónico. Por favor revise su " "correo electrónico y siga las instrucciones para completar su registro." #: classes/class.swpm-front-registration.php:179 msgid "Registration Successful. " msgstr "Registro exitoso. " #: classes/class.swpm-front-registration.php:179 #: classes/class.swpm-utils-misc.php:363 classes/class.swpm-utils-misc.php:375 msgid "Please" msgstr "Por favor" #: classes/class.swpm-front-registration.php:179 #: classes/class.swpm-utils-misc.php:363 views/login.php:47 msgid "Login" msgstr "Acceso" #: classes/class.swpm-front-registration.php:198 msgid "Please correct the following" msgstr "Por favor, corrija el siguiente" #: classes/class.swpm-front-registration.php:246 msgid "Membership Level Couldn't be found." msgstr "No se pudo encontrar el nivel de membresía." #: classes/class.swpm-front-registration.php:298 msgid "Error! Nonce verification failed for front end profile edit." msgstr "" "¡Error! La verificación de Nonce falló para la edición del perfil de front-" "end." #: classes/class.swpm-front-registration.php:306 msgid "Profile updated successfully." msgstr "Perfil actualizado con éxito." #: classes/class.swpm-front-registration.php:326 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Perfil actualizado con éxito. Deberá volver a iniciar sesión ya que cambió " "su contraseña." #: classes/class.swpm-front-registration.php:354 msgid "Please correct the following." msgstr "Por favor, corrija el siguiente." #: classes/class.swpm-front-registration.php:370 msgid "Captcha validation failed." msgstr "La validación de Captcha falló." #: classes/class.swpm-front-registration.php:381 msgid "Email address not valid." msgstr "Dirección de correo electrónico no válida." #: classes/class.swpm-front-registration.php:395 msgid "No user found with that email address." msgstr "No se encontró ningún usuario con esa dirección de correo electrónico." #: classes/class.swpm-front-registration.php:396 #: classes/class.swpm-front-registration.php:428 msgid "Email Address: " msgstr "Dirección de correo electrónico: " #: classes/class.swpm-front-registration.php:427 msgid "New password has been sent to your email address." msgstr "" "Se ha enviado una nueva contraseña a su dirección de correo electrónico." #: classes/class.swpm-front-registration.php:456 msgid "Can't find member account." msgstr "No se puede encontrar la cuenta de miembro." #: classes/class.swpm-front-registration.php:461 #: classes/class.swpm-front-registration.php:514 msgid "Account already active. " msgstr "Cuenta ya activa. " #: classes/class.swpm-front-registration.php:461 #: classes/class.swpm-front-registration.php:514 msgid " to login." msgstr "iniciar sesión. " #: classes/class.swpm-front-registration.php:468 msgid "" "Activation code mismatch. Cannot activate this account. Please contact the " "site admin." msgstr "" "No coincide el código de activación. No se puede activar esta cuenta. " "Póngase en contacto con el administrador del sitio." #: classes/class.swpm-front-registration.php:482 msgid "Success! Your account has been activated successfully." msgstr "¡Éxito! Su cuenta se ha activado correctamente." #: classes/class.swpm-front-registration.php:509 msgid "Cannot find member account." msgstr "No se puede encontrar la cuenta de miembro." #: classes/class.swpm-front-registration.php:531 msgid "" "Activation email has been sent. Please check your email and activate your " "account." msgstr "" "Se ha enviado el correo electrónico de activación. Por favor revise su " "correo electrónico y active su cuenta." #: classes/class.swpm-init-time-tasks.php:137 msgid "Sorry, Nonce verification failed." msgstr "Lo sentimos, la verificación de Nonce falló." #: classes/class.swpm-init-time-tasks.php:144 msgid "Sorry, Password didn't match." msgstr "Lo sentimos, la contraseña no coincide." #: classes/class.swpm-level-form.php:50 msgid "Date format is not valid." msgstr "El formato de fecha no es válido." #: classes/class.swpm-level-form.php:58 msgid "Access duration must be > 0." msgstr "La duración del acceso debe ser > 0." #: classes/class.swpm-members.php:11 msgid "Member" msgstr "Miembro" #: classes/class.swpm-members.php:21 #: classes/class.swpm-membership-levels.php:20 msgid "ID" msgstr "IDENTIFICACIÓN" #: classes/class.swpm-members.php:22 views/add.php:18 views/admin_add.php:12 #: views/admin_edit.php:19 views/edit.php:23 #: includes/swpm_mda_show_profile.php:27 msgid "Username" msgstr "Nombre de usuario" #: classes/class.swpm-members.php:25 views/add.php:22 views/edit.php:27 #: includes/swpm_mda_show_profile.php:35 msgid "Email" msgstr "Correo electrónico" #: classes/class.swpm-members.php:27 views/admin_member_form_common_part.php:2 msgid "Access Starts" msgstr "Inicios de acceso" #: classes/class.swpm-members.php:28 views/admin_members_list.php:45 #: includes/swpm_mda_show_profile.php:31 msgid "Account State" msgstr "Estado de la cuenta" #: classes/class.swpm-members.php:29 msgid "Last Login Date" msgstr "Última fecha de inicio de sesión" #: classes/class.swpm-members.php:52 msgid "Set Status to Active" msgstr "Establecer estado en activo" #: classes/class.swpm-members.php:53 msgid "Set Status to Active and Notify" msgstr "Establecer estado en activo y notificar" #: classes/class.swpm-members.php:54 msgid "Set Status to Inactive" msgstr "Establecer estado en Inactivo" #: classes/class.swpm-members.php:55 msgid "Set Status to Pending" msgstr "Establecer estado en Pendiente" #: classes/class.swpm-members.php:56 msgid "Set Status to Expired" msgstr "Establecer estado en caducado" #: classes/class.swpm-members.php:83 msgid "incomplete" msgstr "incompleto" #: classes/class.swpm-members.php:226 msgid "No member found." msgstr "Ningún miembro encontrado." #: classes/class.swpm-members.php:383 msgid "Error! Nonce verification failed for user delete from admin end." msgstr "" "¡Error! La verificación de Nonce falló para la eliminación del usuario desde " "el extremo del administrador." #: classes/class.swpm-members.php:533 msgid "" "Error! Nonce security verification failed for Bulk Change Membership Level " "action. Clear cache and try again." msgstr "" "¡Error! La verificación de seguridad de Nonce falló para la acción de cambio " "masivo de nivel de membresía. Borre el caché y vuelva a intentarlo." #: classes/class.swpm-members.php:541 classes/class.swpm-members.php:578 msgid "Error! Please select a membership level first." msgstr "¡Error! Seleccione primero un nivel de membresía." #: classes/class.swpm-members.php:558 msgid "Membership level change operation completed successfully." msgstr "La operación de cambio de nivel de membresía se completó con éxito." #: classes/class.swpm-members.php:570 msgid "" "Error! Nonce security verification failed for Bulk Change Access Starts Date " "action. Clear cache and try again." msgstr "" "¡Error! La verificación de seguridad de Nonce falló para la acción de fecha " "de inicio de acceso de cambio masivo. Borre el caché y vuelva a intentarlo." #: classes/class.swpm-members.php:595 msgid "Access starts date change operation successfully completed." msgstr "" "La operación de cambio de fecha de inicio de acceso se completó con éxito." #: classes/class.swpm-members.php:724 msgid "Simple WP Membership::Members" msgstr "Membresía simple de WP::Miembros" #: classes/class.swpm-members.php:725 views/admin_members_list.php:70 msgid "Add New" msgstr "Agregar nuevo" #: classes/class.swpm-members.php:730 views/admin_add.php:7 msgid "Add Member" msgstr "Añadir miembro" #: classes/class.swpm-members.php:731 msgid "Bulk Operation" msgstr "Operación a granel" #: classes/class.swpm-membership-level.php:52 msgid "" "Error! Nonce verification failed for membership level creation from admin " "end." msgstr "" "¡Error! La verificación de Nonce falló para la creación del nivel de " "membresía desde el extremo del administrador." #: classes/class.swpm-membership-level.php:68 msgid "Membership Level Creation Successful." msgstr "Creación de nivel de membresía exitosa." #: classes/class.swpm-membership-level.php:84 msgid "" "Error! Nonce verification failed for membership level edit from admin end." msgstr "" "¡Error! La verificación de Nonce falló para la edición del nivel de " "membresía desde el extremo del administrador." #: classes/class.swpm-membership-level.php:100 msgid "Membership Level Updated Successfully." msgstr "Nivel de membresía actualizado con éxito." #: classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Role" #: classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Acceso V álido para / Hasta" #: classes/class.swpm-membership-levels.php:203 msgid "" "Error! Nonce verification failed for membership level delete from admin end." msgstr "" "¡Error! La verificación de Nonce falló para la eliminación del nivel de " "membresía desde el extremo del administrador." #: classes/class.swpm-membership-levels.php:222 views/admin_members_list.php:56 #: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53 #: views/template-2.php:54 msgid "Search" msgstr "Búsqueda" #: classes/class.swpm-membership-levels.php:269 msgid "Simple WP Membership::Membership Levels" msgstr "Membresía simple de WP::Niveles de membresía" #: classes/class.swpm-membership-levels.php:274 msgid "Add Level" msgstr "Add Level" #: classes/class.swpm-membership-levels.php:275 msgid "Manage Content Protection" msgstr "Administrar la protección de contenido" #: classes/class.swpm-membership-levels.php:276 msgid "Category Protection" msgstr "Categoría Protección" #: classes/class.swpm-membership-levels.php:277 msgid "Post and Page Protection" msgstr "Protección de publicaciones y páginas" #: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53 #: classes/class.swpm-post-list.php:63 msgid "Title" msgstr "Título" #: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54 #: classes/class.swpm-post-list.php:64 msgid "Author" msgstr "Author" #: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56 #: classes/class.swpm-post-list.php:66 msgid "Status" msgstr "Estado" #: classes/class.swpm-post-list.php:55 msgid "Categories" msgstr "Categorías" #: classes/class.swpm-post-list.php:65 msgid "Type" msgstr "Tipo" #: classes/class.swpm-post-list.php:109 msgid "" "Error! Nonce security verification failed for Post Protection Update action. " "Clear cache and try again." msgstr "" "¡Error! La verificación de seguridad de Nonce falló para la acción de " "actualización de protección posterior. Borre el caché y vuelva a intentarlo." #: classes/class.swpm-post-list.php:132 msgid "Protection settings updated!" msgstr "¡Configuración de protección actualizada!" #: classes/class.swpm-protection.php:22 msgid "" "The category or parent category of this post is protected. You can change " "the category protection settings from the " msgstr "" "La categoría o categoría principal de esta publicación está protegida. Puede " "cambiar la configuración de protección de categoría desde el" #: classes/class.swpm-protection.php:23 msgid "category protection menu" msgstr "menú de protección de categorías" #: classes/class.swpm-settings.php:42 classes/class.swpm-settings.php:70 msgid "General Settings" msgstr "Configuración General" #: classes/class.swpm-settings.php:43 msgid "Payment Settings" msgstr "Configuración de Pago" #: classes/class.swpm-settings.php:44 msgid "Email Settings" msgstr "Configuracion del correo electrónico" #: classes/class.swpm-settings.php:45 msgid "Tools" msgstr "Instrumentos" #: classes/class.swpm-settings.php:46 classes/class.swpm-settings.php:625 msgid "Advanced Settings" msgstr "Ajustes Avanzados" #: classes/class.swpm-settings.php:47 msgid "Addons Settings" msgstr "Configuración de Complementos" #: classes/class.swpm-settings.php:69 msgid "Plugin Documentation" msgstr "Documentación del Complemento" #: classes/class.swpm-settings.php:73 msgid "Enable Free Membership" msgstr "Habilitar membresía gratuita" #: classes/class.swpm-settings.php:79 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." #: classes/class.swpm-settings.php:84 msgid "Free Membership Level ID" msgstr "Identificación de nivel de membresía gratis" #: classes/class.swpm-settings.php:90 msgid "Assign free membership level ID" msgstr "Asignar ID de nivel de membresía gratis" #: classes/class.swpm-settings.php:95 msgid "Enable More Tag Protection" msgstr "Habilitar más Protección de Etiquetas" #: classes/class.swpm-settings.php:101 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Habilita o deshabilita la protección de etiquetas \"más\" en las " "publicaciones y páginas. Cualquier cosa después de la etiqueta Más está " "protegida. Cualquier cosa antes de la etiqueta más es contenido teaser." #: classes/class.swpm-settings.php:106 msgid "Hide Adminbar" msgstr "Ocultar barra de administración" #: classes/class.swpm-settings.php:112 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress muestra una barra de herramientas de administración para los " "usuarios registrados del sitio. Marque esto si desea ocultar esa barra de " "herramientas de administración en la interfaz de su sitio." #: classes/class.swpm-settings.php:117 msgid "Show Adminbar to Admin" msgstr "Mostrar la barra de administración al administrador" #: classes/class.swpm-settings.php:123 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Utilice esta opción si desea mostrar la barra de herramientas de " "administración solo a los usuarios administradores. La barra de herramientas " "de administración estará oculta para todos los demás usuarios." #: classes/class.swpm-settings.php:128 msgid "Disable Access to WP Dashboard" msgstr "Deshabilitar el acceso al panel de WP" #: classes/class.swpm-settings.php:134 msgid "" "WordPress allows a standard wp user to be able to go to the wp-admin URL and " "access his profile from the wp dashboard. Using this option will prevent any " "non-admin users from going to the wp dashboard." msgstr "" "WordPress permite que un usuario estándar de wp pueda ir a la URL de wp-" "admin y acceder a su perfil desde el panel de control de wp. El uso de esta " "opción evitará que cualquier usuario que no sea administrador acceda al " "panel de control de wp." #: classes/class.swpm-settings.php:140 classes/class.swpm-settings.php:817 msgid "Default Account Status" msgstr "Estado de cuenta predeterminado" #: classes/class.swpm-settings.php:148 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Seleccione el estado de cuenta predeterminado para los usuarios recién " "registrados. Si desea aprobar manualmente a los miembros, puede establecer " "el estado en \"Pendiente\"." #: classes/class.swpm-settings.php:154 msgid "Members Must be Logged in to Comment" msgstr "Los miembros deben iniciar sesión para comentar" #: classes/class.swpm-settings.php:160 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Habilite esta opción si solo desea que los miembros del sitio puedan " "publicar un comentario." #: classes/class.swpm-settings.php:166 msgid "Enable Toggle Password Visibility in Login Form" msgstr "" "Habilitar alternar la visibilidad de la contraseña en el formulario de " "inicio de sesión" #: classes/class.swpm-settings.php:172 msgid "" "You can use it to show a toggle password visibility option in the login " "form. It will add a Show Password checkbox." msgstr "" "Puede usarlo para mostrar una opción de alternar la visibilidad de la " "contraseña en el formulario de inicio de sesión. Agregará una casilla de " "verificación Mostrar contraseña." #: classes/class.swpm-settings.php:183 msgid "Pages Settings" msgstr "Configuración de páginas" #: classes/class.swpm-settings.php:186 msgid "Login Page URL" msgstr "URL de la página de inicio de sesión" #: classes/class.swpm-settings.php:197 msgid "Registration Page URL" msgstr "Registration Page URL" #: classes/class.swpm-settings.php:208 msgid "Join Us Page URL" msgstr "URL de la página Únase a nosotros" #: classes/class.swpm-settings.php:219 msgid "Edit Profile Page URL" msgstr "Edit Profile Page URL" #: classes/class.swpm-settings.php:230 msgid "Password Reset Page URL" msgstr "URL de la página de restablecimiento de contraseña" #: classes/class.swpm-settings.php:240 msgid "Test & Debug Settings" msgstr "URL de la página de restablecimiento de contraseña" #: classes/class.swpm-settings.php:269 msgid "Check this option to enable debug logging." msgstr "Marque esta opción para habilitar el registro de depuración." #: classes/class.swpm-settings.php:270 msgid "" " This can be useful when troubleshooting an issue. Turn it off and reset the " "log files after the troubleshooting is complete." msgstr "" "Esto puede ser útil al solucionar un problema. Apáguelo y restablezca los " "archivos de registro después de que se complete la solución de problemas. " #: classes/class.swpm-settings.php:272 msgid "View general debug log file by clicking " msgstr "Ver el archivo de registro de depuración general haciendo clic en" #: classes/class.swpm-settings.php:272 classes/class.swpm-settings.php:273 #: classes/class.swpm-settings.php:274 msgid "here" msgstr "aquí" #: classes/class.swpm-settings.php:273 msgid "View login related debug log file by clicking " msgstr "" "Para ver el archivo de registro de depuración relacionado con el inicio de " "sesión, haga clic en" #: classes/class.swpm-settings.php:274 msgid "Reset debug log files by clicking " msgstr "Restablezca los archivos de registro de depuración haciendo clic en" #: classes/class.swpm-settings.php:277 msgid "Enable Debug" msgstr "Habilitar depuración" #: classes/class.swpm-settings.php:288 msgid "Enable Sandbox Testing" msgstr "Habilitar prueba de espacio aislado" #: classes/class.swpm-settings.php:294 msgid "Enable this option if you want to do sandbox payment testing." msgstr "" "Habilite esta opción si desea realizar pruebas de pago en la zona de pruebas." #: classes/class.swpm-settings.php:302 msgid "Stripe Global Settings" msgstr "Ajustes globales de la raya" #: classes/class.swpm-settings.php:305 msgid "Pre-fill Member Email Address" msgstr "Habilitar depuración" #: classes/class.swpm-settings.php:311 msgid "" "Pre-fills the email address of the logged-in member on the Stripe checkout " "form when possible" msgstr "" "Rellena previamente la dirección de correo electrónico del miembro que ha " "iniciado sesión en el formulario de pago de Stripe cuando es posible" #: classes/class.swpm-settings.php:316 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:399 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:115 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:381 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:156 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:148 msgid "Test Publishable Key" msgstr "Clave publicable de prueba" #: classes/class.swpm-settings.php:322 msgid "Stripe API Test publishable key" msgstr "Clave publicable de la prueba API de Stripe" #: classes/class.swpm-settings.php:327 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:406 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:122 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:388 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:164 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:156 msgid "Test Secret Key" msgstr "Clave secreta de prueba" #: classes/class.swpm-settings.php:333 msgid "Stripe API Test secret key" msgstr "Clave secreta de la prueba API de Stripe" #: classes/class.swpm-settings.php:338 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:413 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:129 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:395 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:172 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:164 msgid "Live Publishable Key" msgstr "Clave publicable en vivo" #: classes/class.swpm-settings.php:344 msgid "Stripe API Live publishable key" msgstr "Clave publicable de Stripe API Live" #: classes/class.swpm-settings.php:349 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:420 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:136 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:402 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:180 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:172 msgid "Live Secret Key" msgstr "Clave secreta en vivo" #: classes/class.swpm-settings.php:355 msgid "Stripe API Live secret key" msgstr "Clave secreta de Stripe API Live" #: classes/class.swpm-settings.php:365 msgid "Email Settings Overview" msgstr "Descripción general de la configuración de correo electrónico" #: classes/class.swpm-settings.php:366 msgid "Email Misc. Settings" msgstr "Miscelánea de correo electrónico Ajustes" #: classes/class.swpm-settings.php:370 msgid "From Email Address" msgstr "De la dirección de correo electrónico" #: classes/class.swpm-settings.php:382 msgid "Allow HTML in Emails" msgstr "Permitir HTML en correos electrónicos" #: classes/class.swpm-settings.php:393 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Email Settings (Prompt to Complete Registration )" #: classes/class.swpm-settings.php:396 classes/class.swpm-settings.php:427 #: classes/class.swpm-settings.php:508 classes/class.swpm-settings.php:533 #: classes/class.swpm-settings.php:569 classes/class.swpm-settings.php:594 msgid "Email Subject" msgstr "Asunto del email" #: classes/class.swpm-settings.php:407 classes/class.swpm-settings.php:438 #: classes/class.swpm-settings.php:519 classes/class.swpm-settings.php:544 #: classes/class.swpm-settings.php:580 classes/class.swpm-settings.php:605 msgid "Email Body" msgstr "Cuerpo del correo electronico" #: classes/class.swpm-settings.php:418 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "" "Ingrese la dirección de correo electrónico a la que desea que se envíe el " "correo electrónico de notificación del administrador." #: classes/class.swpm-settings.php:419 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" "Puede colocar varias direcciones de correo electrónico separadas por comas " "(,) en el campo anterior para enviar la notificación a varias direcciones de " "correo electrónico." #: classes/class.swpm-settings.php:421 msgid "Enter the subject for the admin notification email." msgstr "Enter the subject for the admin notification email." #: classes/class.swpm-settings.php:422 msgid "" "This email will be sent to the admin when a new user completes the " "membership registration. Only works if you have enabled the \"Send " "Notification to Admin\" option above." msgstr "" "Este correo electrónico se enviará al administrador cuando un nuevo usuario " "complete el registro de membresía. Solo funciona si ha habilitado la opción " "anterior \"Enviar notificación al administrador\"." #: classes/class.swpm-settings.php:424 msgid "Email Settings (Registration Complete)" msgstr "Configuración de correo electrónico (registro completo)" #: classes/class.swpm-settings.php:449 msgid "Send Notification to Admin" msgstr "Enviar notificación al administrador" #: classes/class.swpm-settings.php:455 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Habilite esta opción si desea que el administrador reciba una notificación " "cuando se registre un miembro." #: classes/class.swpm-settings.php:460 msgid "Admin Email Address" msgstr "Admin Email Address" #: classes/class.swpm-settings.php:471 msgid "Admin Notification Email Subject" msgstr "Dirección de correo electrónico del administrador" #: classes/class.swpm-settings.php:482 msgid "Admin Notification Email Body" msgstr "Dirección de correo electrónico del administrador" #: classes/class.swpm-settings.php:494 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Enviar correo electrónico al miembro cuando se agregue a través del panel de " "administración" #: classes/class.swpm-settings.php:505 msgid "Email Settings (Password Reset)" msgstr "Configuración de correo electrónico (restablecimiento de contraseña)" #: classes/class.swpm-settings.php:530 msgid " Email Settings (Account Upgrade Notification)" msgstr "" "Configuración de correo electrónico (notificación de actualización de cuenta)" #: classes/class.swpm-settings.php:555 msgid "Disable Email Notification After Upgrade" msgstr "" "Deshabilitar la notificación por correo electrónico después de la " "actualización" #: classes/class.swpm-settings.php:561 msgid "" "You can use this option to disable the email notification that gets sent to " "the members when they make a payment for upgrade or renewal." msgstr "" "Puede usar esta opción para deshabilitar la notificación por correo " "electrónico que se envía a los miembros cuando realizan un pago por una " "actualización o renovación." #: classes/class.swpm-settings.php:566 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "" "Configuración de correo electrónico (notificación de activación de cuenta " "masiva)" #: classes/class.swpm-settings.php:591 msgid " Email Settings (Email Activation)" msgstr "Configuración de correo electrónico (activación de correo electrónico)" #: classes/class.swpm-settings.php:629 msgid "Enable Expired Account Login" msgstr "Habilitar inicio de sesión de cuenta caducada" #: classes/class.swpm-settings.php:635 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Cuando está habilitado, los miembros vencidos podrán iniciar sesión en el " "sistema pero no podrán ver ningún contenido protegido. Esto les permite " "renovar fácilmente su cuenta haciendo otro pago." #: classes/class.swpm-settings.php:641 msgid "Membership Renewal URL" msgstr "URL de renovación de membresía" #: classes/class.swpm-settings.php:647 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Puede crear una página de renovación para su sitio. Lea esta documentación para aprender a crear una página de " "renovación." #: classes/class.swpm-settings.php:653 msgid "After Registration Redirect URL" msgstr "URL de redirección después del registro" #: classes/class.swpm-settings.php:659 msgid "" "You can enter an URL here to redirect the members to this page after they " "submit the registration form. Read this documentation to learn how to setup after registration " "redirect." msgstr "" #: classes/class.swpm-settings.php:665 msgid "Enable Auto Login After Registration" msgstr "" #: classes/class.swpm-settings.php:671 msgid "" "Use this option if you want the members to be automatically logged into your " "site right after they complete the registration. This option will override " "any after registration redirection and instead it will trigger the after " "login redirection. Read this " "documentation to learn more." msgstr "" #: classes/class.swpm-settings.php:677 msgid "Hide Registration Form to Logged Users" msgstr "" #: classes/class.swpm-settings.php:683 msgid "" "Use this option if you want to hide the registration form to the logged-in " "members. If logged-in members visit the registration page, they will see a " "message instead of the registration form." msgstr "" #: classes/class.swpm-settings.php:689 msgid "After Logout Redirect URL" msgstr "" #: classes/class.swpm-settings.php:695 msgid "" "You can enter an URL here to redirect the members to this page after they " "click the logout link to logout from your site." msgstr "" #: classes/class.swpm-settings.php:701 msgid "Logout Member on Browser Close" msgstr "" #: classes/class.swpm-settings.php:707 msgid "" "Enable this option if you want the member to be logged out of the account " "when he closes the browser." msgstr "" #: classes/class.swpm-settings.php:713 msgid "Allow Account Deletion" msgstr "" #: classes/class.swpm-settings.php:719 msgid "Allow users to delete their accounts." msgstr "" #: classes/class.swpm-settings.php:725 msgid "Force Strong Password for Members" msgstr "" #: classes/class.swpm-settings.php:731 msgid "" "Enable this if you want the users to be forced to use a strong password for " "their accounts." msgstr "" #: classes/class.swpm-settings.php:737 msgid "Auto Delete Pending Account" msgstr "" #: classes/class.swpm-settings.php:749 msgid "Select how long you want to keep \"pending\" account." msgstr "" #: classes/class.swpm-settings.php:755 msgid "Admin Dashboard Access Permission" msgstr "" #: classes/class.swpm-settings.php:768 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user roles to access the SWPM " "admin dashboard by selecting a value here. Note that this option cannot work " "if you enabled the \"Disable Access to WP Dashboard\" option in General " "Settings." msgstr "" #: classes/class.swpm-settings.php:774 msgid "Force WP User Synchronization" msgstr "" #: classes/class.swpm-settings.php:780 msgid "" "Enable this option if you want to force the member login to be synchronized " "with WP user account. This can be useful if you are using another plugin " "that uses WP user records. For example: bbPress plugin." msgstr "" #: classes/class.swpm-settings.php:785 msgid "Create Member Accounts for New WP Users" msgstr "" #: classes/class.swpm-settings.php:789 msgid "Enable Auto Create Member Accounts" msgstr "" #: classes/class.swpm-settings.php:795 msgid "" "Enable this option to automatically create member accounts for any new WP " "user that is created by another plugin." msgstr "" #: classes/class.swpm-settings.php:802 msgid "Default Membership Level" msgstr "" #: classes/class.swpm-settings.php:810 msgid "" "When automatically creating a member account using this feature, the " "membership level of the user will be set to the one you specify here." msgstr "" #: classes/class.swpm-settings.php:825 msgid "" "When automatically creating a member account using this feature, the " "membership account status of the user will be set to the one you specify " "here." msgstr "" #: classes/class.swpm-settings.php:831 msgid "Payment Notification Forward URL" msgstr "" #: classes/class.swpm-settings.php:837 msgid "" "You can enter an URL here to forward the payment notification after the " "membership payment has been processed by this plugin. Useful if you want to " "forward the payment notification to an external script for further " "processing." msgstr "" #: classes/class.swpm-settings.php:842 views/add.php:68 msgid "Terms and Conditions" msgstr "" #: classes/class.swpm-settings.php:846 msgid "Enable Terms and Conditions" msgstr "" #: classes/class.swpm-settings.php:852 msgid "Users must accept the terms before they can complete the registration." msgstr "" #: classes/class.swpm-settings.php:857 msgid "Terms and Conditions Page URL" msgstr "" #: classes/class.swpm-settings.php:863 msgid "" "Enter the URL of your terms and conditions page. You can create a WordPress " "page and specify your terms in there then specify the URL of that page in " "the above field." msgstr "" #: classes/class.swpm-settings.php:868 msgid "Enable Privacy Policy" msgstr "" #: classes/class.swpm-settings.php:874 msgid "Users must accept it before they can complete the registration." msgstr "" #: classes/class.swpm-settings.php:879 msgid "Privacy Policy Page URL" msgstr "" #: classes/class.swpm-settings.php:885 msgid "Enter the URL of your privacy policy page." msgstr "" #: classes/class.swpm-settings.php:983 #, php-format msgid "Visit the %s to read setup and configuration documentation." msgstr "" #: classes/class.swpm-settings.php:983 msgid "Simple Membership Plugin Site" msgstr "" #: classes/class.swpm-settings.php:984 #, php-format msgid "Please %s if you like the plugin." msgstr "" #: classes/class.swpm-settings.php:984 msgid "give us a rating" msgstr "Danos una calificación" #: classes/class.swpm-settings.php:1002 classes/class.swpm-settings.php:1048 #: classes/class.swpm-settings.php:1076 msgid "Settings updated!" msgstr "¡Ajustes actualizan!" #: classes/class.swpm-settings.php:1037 views/admin_tools_settings.php:82 msgid "This documentation" msgstr "esta documentación" #: classes/class.swpm-settings.php:1091 msgid "" "Note: You cannot enable both the \"Disable Access to WP Dashboard\" and " "\"Admin Dashboard Access Permission\" options at the same time. Only use one " "of those options." msgstr "" "Nota: No puede habilitar las opciones \"Deshabilitar acceso al panel de WP\" " "y \"Permiso de acceso al panel de administración\" al mismo tiempo. Solo usa " "una de esas opciones." #: classes/class.swpm-settings.php:1258 msgid "Simple WP Membership::Settings" msgstr "Membresía simple de WP::Configuración" #: classes/class.swpm-utils-member.php:36 #: classes/class.swpm-utils-member.php:44 #: classes/class.swpm-utils-member.php:52 #: classes/class.swpm-utils-member.php:62 #: classes/class.swpm-utils-member.php:68 msgid "User is not logged in." msgstr "El usuario no ha iniciado sesión." #: classes/class.swpm-utils-member.php:88 msgid "No Expiry" msgstr "No Expiry" #: classes/class.swpm-utils-misc.php:57 msgid "Registration" msgstr "Registro" #: classes/class.swpm-utils-misc.php:85 msgid "Member Login" msgstr "Inicio de sesión de miembro" #: classes/class.swpm-utils-misc.php:113 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:135 msgid "Profile" msgstr "Perfil" #: classes/class.swpm-utils-misc.php:141 msgid "Password Reset" msgstr "Restablecimiento de contraseña" #: classes/class.swpm-utils-misc.php:195 #, php-format msgid "" "You will be automatically redirected in a few seconds. If not, please %s." msgstr "Será redirigido automáticamente en unos segundos. Si no, por favor %s." #: classes/class.swpm-utils-misc.php:199 msgid "Action Status" msgstr "Estado de la acción" #: classes/class.swpm-utils-misc.php:364 msgid "Not a Member?" msgstr "¿No es un miembro?" #: classes/class.swpm-utils-misc.php:375 msgid "renew" msgstr "renovar" #: classes/class.swpm-utils-misc.php:375 msgid " your account to gain access to this content." msgstr "su cuenta para obtener acceso a este contenido." #: classes/class.swpm-utils-misc.php:433 classes/class.swpm-utils-misc.php:439 msgid "Error! This action (" msgstr "¡Error! Esta acción (" #: classes/class.swpm-utils-misc.php:684 msgid "(Please Select)" msgstr "(Por favor seleccione)" #: classes/class.swpm-utils-misc.php:700 msgid "PayPal Buy Now" msgstr "PayPal Comprar ahora" #: classes/class.swpm-utils-misc.php:701 msgid "PayPal Subscription" msgstr "Suscripción de PayPal" #: classes/class.swpm-utils-misc.php:702 msgid "PayPal Smart Checkout" msgstr "Pago inteligente de PayPal" #: classes/class.swpm-utils-misc.php:703 msgid "Stripe Buy Now" msgstr "Raya Comprar ahora" #: classes/class.swpm-utils-misc.php:704 msgid "Stripe Subscription" msgstr "Suscripción a rayas" #: classes/class.swpm-utils-misc.php:705 msgid "Stripe SCA Buy Now" msgstr "Stripe SCA Comprar ahora" #: classes/class.swpm-utils-misc.php:706 msgid "Stripe SCA Subscription" msgstr "Suscripción a Stripe SCA" #: classes/class.swpm-utils-misc.php:707 msgid "Braintree Buy Now" msgstr "Braintree Comprar ahora" #: classes/class.swpm-utils-template.php:38 msgid "Error! Failed to find a template path for the specified template: " msgstr "" "¡Error! No se pudo encontrar una ruta de plantilla para la plantilla " "especificada:" #: classes/class.swpm-utils.php:111 msgid "Never" msgstr "Nunca" #: classes/class.swpm-utils.php:119 msgid "Male" msgstr "Masculino" #: classes/class.swpm-utils.php:120 msgid "Female" msgstr "Female" #: classes/class.swpm-utils.php:121 msgid "Not Specified" msgstr "No especificado" #: classes/class.swpm-utils.php:126 views/admin_members_list.php:33 msgid "Active" msgstr "Activo" #: classes/class.swpm-utils.php:127 views/admin_members_list.php:34 msgid "Inactive" msgstr "Inactivo" #: classes/class.swpm-utils.php:128 views/admin_members_list.php:35 msgid "Activation Required" msgstr "Activación necesaria" #: classes/class.swpm-utils.php:129 views/admin_members_list.php:36 msgid "Pending" msgstr "Pendiente" #: classes/class.swpm-utils.php:130 views/admin_members_list.php:38 msgid "Expired" msgstr "Expirado" #: classes/class.swpm-utils.php:494 views/account_delete_warning.php:3 msgid "Delete Account" msgstr "Borrar cuenta" #: classes/class.swpm-wp-loaded-tasks.php:118 msgid "" "You will be redirected to the previous page in a few seconds. If not, please " "click here." msgstr "" "Será redirigido a la página anterior en unos segundos. De lo contrario, haga clic aquí." #: classes/class.swpm-wp-loaded-tasks.php:121 msgid "Success!" msgstr "¡Éxito!" #: classes/class.swpm-wp-loaded-tasks.php:129 msgid "No token provided." msgstr "No se proporciona token." #: classes/class.swpm-wp-loaded-tasks.php:136 msgid "Nonce check failed." msgstr "Nonce check failed.La comprobación de Nonce falló." #: classes/class.swpm-wp-loaded-tasks.php:161 msgid "Subscription has been cancelled." msgstr "La suscripción ha sido cancelada." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:70 msgid "Your membership profile will be updated to reflect the payment." msgstr "Su perfil de membresía se actualizará para reflejar el pago." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:71 msgid "Your profile username: " msgstr "Nombre de usuario de tu perfil: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:89 msgid "Click on the following link to complete the registration." msgstr "Haga clic en el siguiente enlace para completar el registro." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:90 msgid "Click here to complete your paid registration" msgstr "Haga clic aquí para completar su registro pagado" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:95 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Si acaba de realizar un pago de membresía, su pago aún no se ha procesado. " "Por favor verifique nuevamente en unos minutos. En breve se le enviará un " "correo electrónico con los detalles." #: classes/shortcode-related/class.swpm-shortcodes-handler.php:109 msgid "Expiry: " msgstr "Expiración: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:111 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:156 #: classes/shortcode-related/class.swpm-shortcodes-handler.php:238 msgid "You are not logged-in as a member" msgstr "No has iniciado sesión como miembro" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:133 msgid "Logged in as: " msgstr "Conectado como: " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:136 #: views/loggedin.php:31 msgid "Logout" msgstr "Cerrar sesión" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:139 msgid "Login Here" msgstr "Entre aquí" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:140 msgid "Not a member? " msgstr "¿No es un miembro? " #: classes/shortcode-related/class.swpm-shortcodes-handler.php:141 msgid "Join Now" msgstr "Únete ahora" #: classes/shortcode-related/class.swpm-shortcodes-handler.php:218 msgid "Unsubscribe from PayPal" msgstr "Darse de baja de PayPal" #. translators: %1$d is error code; %2$s is error message. #: ipn/swpm-smart-checkout-ipn.php:271 ipn/swpm-smart-checkout-ipn.php:298 #, php-format msgid "" "Error occured during payment verification. Error code: %1$d. Message: %2$s" msgstr "" "Ocurrió un error durante la verificación del pago. Código de error: %1$d. " "Mensaje: %2$s" #. translators: %1$s is expected amount, %2$s is expected currency. #: ipn/swpm-smart-checkout-ipn.php:312 #, php-format msgid "" "Payment check failed: invalid amount received. Expected %1$s %2$s, got %3$s " "%4$s." msgstr "" "Comprobación de pago fallida: importe recibido no válido. Esperaba %1$s " "%2$s, obtuvo %3$s %4$s." #: ipn/swpm-smart-checkout-ipn.php:348 msgid "Empty payment data received." msgstr "Datos de pago vacíos recibidos." #: ipn/swpm-smart-checkout-ipn.php:407 msgid "IPN product validation failed. Check the debug log for more details." msgstr "" "La validación del producto IPN falló. Consulte el registro de depuración " "para obtener más detalles." #: views/account_delete_warning.php:7 msgid "" "You are about to delete an account. This will delete user data associated " "with this account. " msgstr "" "Está a punto de eliminar una cuenta. Esto eliminará los datos de usuario " "asociados con esta cuenta. " #: views/account_delete_warning.php:8 msgid "It will also delete the associated WordPress user account." msgstr "También eliminará la cuenta de usuario de WordPress asociada." #: views/account_delete_warning.php:9 msgid "" "(NOTE: for safety, we do not allow deletion of any associated WordPress " "account with administrator role)." msgstr "" "(NOTA: por seguridad, no permitimos la eliminación de ninguna cuenta de " "WordPress asociada con función de administrador)." #: views/account_delete_warning.php:10 msgid "Continue?" msgstr "¿Continuar?" #: views/account_delete_warning.php:13 msgid "Password: " msgstr "Contraseña: " #: views/account_delete_warning.php:14 msgid "Confirm Account Deletion" msgstr "Confirmar eliminación de cuenta" #: views/add.php:26 views/admin_add.php:20 views/admin_edit.php:44 #: views/edit.php:31 views/login.php:28 msgid "Password" msgstr "Contraseña" #: views/add.php:30 views/edit.php:35 msgid "Repeat Password" msgstr "Repita la contraseña" #: views/add.php:68 msgid "I accept the " msgstr "acepto el " #: views/add.php:80 msgid "I agree to the " msgstr "Estoy de acuerdo con la " #: views/add.php:80 msgid "Privacy Policy" msgstr "Política de privacidad" #: views/add.php:91 msgid "Register" msgstr "Registro" #: views/admin_add.php:8 msgid "Create a brand new user and add it to this site." msgstr "Crea un nuevo usuario y agrégalo a este sitio." #: views/admin_add.php:12 views/admin_add.php:16 views/admin_add_level.php:12 #: views/admin_add_level.php:16 views/admin_add_level.php:20 #: views/admin_edit.php:19 views/admin_edit.php:40 #: views/admin_edit_level.php:16 views/admin_edit_level.php:20 #: views/admin_edit_level.php:24 msgid "(required)" msgstr "(requerido)" #: views/admin_add.php:16 views/admin_edit.php:40 msgid "E-mail" msgstr "Correo electrónico" #: views/admin_add.php:20 msgid "(twice, required)" msgstr "(dos veces, requerido)" #: views/admin_add.php:25 views/admin_edit.php:48 msgid "Strength indicator" msgstr "(dos veces, requerido)" #: views/admin_add.php:26 views/admin_edit.php:49 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? " "$ % ^ & )." msgstr "" "Sugerencia: la contraseña debe tener al menos siete caracteres. Para hacerlo " "más fuerte, use letras mayúsculas y minúsculas, números y símbolos como ! " "\" ? $ % ^ & )." #: views/admin_add.php:30 views/admin_edit.php:53 views/loggedin.php:10 msgid "Account Status" msgstr "Estado de la Cuenta" #: views/admin_add.php:49 msgid "Add New Member " msgstr "Agregar nuevo miembro" #: views/admin_add_level.php:6 msgid "Add Membership Level" msgstr "Agregar nivel de membresía" #: views/admin_add_level.php:7 msgid "Create new membership level." msgstr "" #: views/admin_add_level.php:12 views/admin_edit_level.php:16 msgid "Membership Level Name" msgstr "" #: views/admin_add_level.php:16 views/admin_edit_level.php:20 msgid "Default WordPress Role" msgstr "" #: views/admin_add_level.php:20 views/admin_edit_level.php:24 msgid "Access Duration" msgstr "" #: views/admin_add_level.php:23 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "" #: views/admin_add_level.php:24 views/admin_add_level.php:26 #: views/admin_add_level.php:28 views/admin_add_level.php:30 #: views/admin_edit_level.php:28 views/admin_edit_level.php:31 #: views/admin_edit_level.php:34 views/admin_edit_level.php:37 msgid "Expire After" msgstr "" #: views/admin_add_level.php:25 views/admin_edit_level.php:29 msgid "Days (Access expires after given number of days)" msgstr "" #: views/admin_add_level.php:27 msgid "Weeks (Access expires after given number of weeks" msgstr "" #: views/admin_add_level.php:29 views/admin_edit_level.php:35 msgid "Months (Access expires after given number of months)" msgstr "" #: views/admin_add_level.php:31 views/admin_edit_level.php:38 msgid "Years (Access expires after given number of years)" msgstr "" #: views/admin_add_level.php:32 views/admin_edit_level.php:40 msgid "Fixed Date Expiry" msgstr "" #: views/admin_add_level.php:33 views/admin_edit_level.php:41 msgid "(Access expires on a fixed date)" msgstr "" #: views/admin_add_level.php:38 views/admin_edit_level.php:46 msgid "Email Activation" msgstr "Activación de correo electrónico" #: views/admin_add_level.php:43 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership. " msgstr "" "Habilitar la activación de nuevos usuarios por correo electrónico. Cuando " "esté habilitado, los miembros deberán hacer clic en un enlace de activación " "que se envía a su dirección de correo electrónico para activar la cuenta. " "Útil para la membresía gratuita." #: views/admin_add_level.php:44 views/admin_edit_level.php:52 msgid "View Documentation" msgstr "" #: views/admin_add_level.php:45 views/admin_edit_level.php:53 msgid "Note:" msgstr "" #: views/admin_add_level.php:45 msgid "" "If enabled, the member's decryptable password is temporarily stored in the " "database until the account is activated." msgstr "" #: views/admin_add_level.php:52 msgid "Add New Membership Level " msgstr "" #: views/admin_add_ons_page.php:11 msgid "Simple WP Membership::Add-ons" msgstr "" #: views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" #: views/admin_addon_settings.php:9 msgid "Save Changes" msgstr "" #: views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" #: views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_category_list.php:11 views/admin_post_list.php:11 msgid "Read the " msgstr "" #: views/admin_category_list.php:11 msgid "category protection documentation" msgstr "" #: views/admin_category_list.php:11 msgid "to learn more." msgstr "" #: views/admin_category_list.php:21 views/admin_post_list.php:34 msgid "General Protection" msgstr "" #: views/admin_edit.php:11 msgid "Edit Member" msgstr "" #: views/admin_edit.php:13 msgid "Edit existing member details." msgstr "" #: views/admin_edit.php:14 msgid " You are currently editing member with member ID: " msgstr "" #: views/admin_edit.php:44 msgid "(twice, leave empty to retain old password)" msgstr "(Dos veces, deje vacío para retener la contraseña antigua)" #: views/admin_edit.php:59 msgid "" "This is the member's account status. If you want to manually activate an " "expired member's account then read" msgstr "" #: views/admin_edit.php:60 msgid "this documentation" msgstr "" #: views/admin_edit.php:61 msgid " to learn how to do it." msgstr "" #: views/admin_edit.php:66 msgid "Notify User" msgstr "" #: views/admin_edit.php:69 msgid "" "You can use this option to send a quick notification email to this member " "(the email will be sent when you hit the save button below)." msgstr "" #: views/admin_edit.php:103 msgid "Subscriber ID/Reference" msgstr "" #: views/admin_edit.php:107 msgid "Expiry Date" msgstr "" #: views/admin_edit.php:114 msgid "" "This is calculated based on the current membership level assigned to this " "member and the expiry condition that you have set for that membership level." msgstr "" #: views/admin_edit.php:119 msgid "Last Accessed Date" msgstr "" #: views/admin_edit.php:122 views/admin_edit.php:129 msgid "This value gets updated when this member logs into your site." msgstr "" #: views/admin_edit.php:126 msgid "Last Accessed From IP" msgstr "" #: views/admin_edit.php:137 msgid "Save Data" msgstr "" #: views/admin_edit.php:142 msgid "Delete User Profile" msgstr "" #: views/admin_edit_level.php:6 msgid "Edit membership level" msgstr "" #: views/admin_edit_level.php:9 msgid "" "You can edit details of a selected membership level from this interface. " msgstr "" #: views/admin_edit_level.php:10 msgid "You are currently editing: " msgstr "" #: views/admin_edit_level.php:27 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "" #: views/admin_edit_level.php:32 msgid "Weeks (Access expires after given number of weeks)" msgstr "" #: views/admin_edit_level.php:51 msgid "" "Enable new user activation via email. When enabled, members will need to " "click on an activation link that is sent to their email address to activate " "the account. Useful for free membership." msgstr "" #: views/admin_edit_level.php:53 msgid "" "If enabled, decryptable member password is temporarily stored in the " "database until the account is activated." msgstr "" #: views/admin_edit_level.php:60 msgid "Save Membership Level " msgstr "" #: views/admin_member_form_common_part.php:14 #: includes/swpm_mda_show_profile.php:37 msgid "Gender" msgstr "" #: views/admin_member_form_common_part.php:21 views/edit.php:47 #: includes/swpm_mda_show_profile.php:34 msgid "Phone" msgstr "" #: views/admin_member_form_common_part.php:25 views/edit.php:51 msgid "Street" msgstr "" #: views/admin_member_form_common_part.php:29 views/edit.php:55 msgid "City" msgstr "" #: views/admin_member_form_common_part.php:33 views/edit.php:59 msgid "State" msgstr "" #: views/admin_member_form_common_part.php:37 views/edit.php:63 msgid "Zipcode" msgstr "" #: views/admin_member_form_common_part.php:41 views/edit.php:67 #: includes/swpm_mda_show_profile.php:33 msgid "Country" msgstr "" #: views/admin_member_form_common_part.php:45 #: includes/swpm_mda_show_profile.php:38 msgid "Company" msgstr "" #: views/admin_member_form_common_part.php:49 #: includes/swpm_mda_show_profile.php:36 msgid "Member Since" msgstr "" #: views/admin_members_list.php:32 msgid "All" msgstr "" #: views/admin_members_list.php:37 views/admin_members_list.php:47 msgid "Incomplete" msgstr "" #: views/admin_membership_manage.php:19 msgid "Example Content Protection Settings" msgstr "" #: views/admin_post_list.php:5 msgid "" "First of all, globally protect posts and pages on your site by selecting " "\"General Protection\" from the drop-down box below and then select posts " "and pages that should be protected from non-logged in users." msgstr "" #: views/admin_post_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select posts and pages you want to grant access to (for that particular " "membership level)." msgstr "" #: views/admin_post_list.php:11 msgid "bulk protect posts and pages documentation" msgstr "" #: views/admin_post_list.php:11 msgid " to learn how to use it." msgstr "" #: views/admin_tools_settings.php:14 msgid "The required pages have been re-created." msgstr "" #: views/admin_tools_settings.php:21 msgid "Generate a Registration Completion link" msgstr "" #: views/admin_tools_settings.php:24 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" #: views/admin_tools_settings.php:29 msgid "Generate Registration Completion Link" msgstr "" #: views/admin_tools_settings.php:32 msgid "OR" msgstr "" #: views/admin_tools_settings.php:33 msgid "For All Incomplete Registrations" msgstr "" #: views/admin_tools_settings.php:38 msgid "Send Registration Reminder Email Too" msgstr "" #: views/admin_tools_settings.php:44 msgid "Submit" msgstr "" #: views/admin_tools_settings.php:53 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" #: views/admin_tools_settings.php:55 msgid "Registration completion links will appear below" msgstr "" #: views/admin_tools_settings.php:65 msgid "A prompt to complete registration email was also sent." msgstr "" "También se envió un mensaje para completar el correo electrónico de registro." #: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88 msgid "Re-create the Required Pages" msgstr "" #: views/admin_tools_settings.php:81 msgid "" "If you have accidentally deleted the required pages that this plugin creates " "at install time, you can use this option to re-create them." msgstr "" #: views/admin_tools_settings.php:82 msgid " has full explanation." msgstr "" #: views/edit.php:32 views/edit.php:36 msgid "Leave empty to keep the current password" msgstr "" #: views/edit.php:71 msgid "Company Name" msgstr "" #: views/edit.php:84 msgid "Update" msgstr "" #: views/forgot_password.php:12 msgid "Reset Password" msgstr "" #: views/loggedin.php:6 msgid "Logged in as" msgstr "" #: views/loggedin.php:14 msgid "Membership" msgstr "" #: views/loggedin.php:18 msgid "Account Expiry" msgstr "" #: views/loggedin.php:26 msgid "Edit Profile" msgstr "" #: views/login.php:7 msgid "Username or Email" msgstr "Nombre de usuario o correo electrónico" #: views/login.php:36 msgid "Show password" msgstr "Mostrar contraseña" #: views/login.php:41 msgid "Remember Me" msgstr "Recuérdame" #: views/login.php:50 msgid "Forgot Password?" msgstr "¿Has olvidado tu contraseña?" #: views/payments/admin_add_edit_transaction_manually.php:68 msgid "Add New Transaction" msgstr "" #: views/payments/admin_add_edit_transaction_manually.php:99 #: includes/swpm_mda_show_profile.php:26 msgid "Member ID" msgstr "" #: views/payments/admin_add_edit_transaction_manually.php:160 msgid "Save Transaction Data" msgstr "" #: views/payments/admin_all_payment_transactions.php:6 msgid "All the payments/transactions of your members are recorded here." msgstr "" #: views/payments/admin_all_payment_transactions.php:12 msgid "Search for a transaction by using email or name" msgstr "" #: views/payments/admin_all_payment_transactions.php:50 msgid "Add a Transaction Manually" msgstr "" #: views/payments/admin_create_payment_buttons.php:17 msgid "" "You can create a new payment button for your memberships using this " "interface." msgstr "" #: views/payments/admin_create_payment_buttons.php:25 msgid "Select Payment Button Type" msgstr "" #: views/payments/admin_create_payment_buttons.php:58 msgid "Next" msgstr "" #: views/payments/admin_edit_payment_buttons.php:17 msgid "You can edit a payment button using this interface." msgstr "" #: views/payments/admin_payment_buttons.php:6 msgid "" "All the membership buttons that you created in the plugin are displayed here." msgstr "" #: views/payments/admin_payment_settings.php:33 msgid "PayPal Integration Settings" msgstr "" #: views/payments/admin_payment_settings.php:36 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "" #: views/payments/admin_payment_settings.php:39 msgid "Enter the Membership Level ID" msgstr "" #: views/payments/admin_payment_settings.php:41 msgid "Generate Code" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22 msgid "Braintree Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:216 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:304 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:316 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:298 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:92 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:92 msgid "Button ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:224 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:27 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:312 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:323 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:36 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:305 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:100 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:100 msgid "Button Title" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:242 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:54 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:321 msgid "Payment Amount" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68 msgid "" "Braintree API key and account details. You can get this from your Braintree " "account." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72 msgid "Merchant ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80 msgid "Public Key" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87 msgid "Private Key" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95 msgid "Merchant Account ID" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:429 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:145 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:411 msgid "The following details are optional." msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:172 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:459 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:442 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:158 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:424 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:227 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:219 msgid "Return URL" msgstr "" #: views/payments/payment-gateway/admin_braintree_buy_now_button.php:128 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:127 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:325 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:215 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:201 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:488 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:472 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:188 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:454 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:248 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:240 msgid "Save Payment Data" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:207 msgid "PayPal Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:250 #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:45 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:330 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:62 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:328 msgid "Payment Currency" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:298 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:85 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:370 msgid "PayPal Email" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:306 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:180 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:467 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:450 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:166 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:432 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:235 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:227 msgid "Button Image URL" msgstr "" #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116 #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:314 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:188 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:475 msgid "Custom Checkout Page Logo Image" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21 msgid "PayPal Smart Checkout Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107 msgid "" "PayPal Smart Checkout API Credentials (you can get this from your PayPal " "account)" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111 msgid "Live Client ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119 msgid "Live Secret" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127 msgid "Sandbox Client ID" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135 msgid "Sandbox Secret" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143 msgid "Button Appearance Settings" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147 msgid "Size" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150 msgid "Medium" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151 msgid "Large" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152 msgid "Repsonsive" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154 msgid "Select button size." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158 msgid "Color" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161 msgid "Gold" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162 msgid "Blue" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163 msgid "Silver" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164 msgid "Black" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166 msgid "Select button color." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170 msgid "Shape" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172 msgid "Rectangular" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173 msgid "Pill" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174 msgid "Select button shape." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178 msgid "Layout" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180 msgid "Vertical" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181 msgid "Horizontal" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182 msgid "Select button layout." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187 msgid "Additional Settings" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191 msgid "Payment Methods" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193 msgid "PayPal Credit" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194 msgid "ELV" msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195 msgid "" "Select payment methods that could be used by customers. Note that payment " "with cards is always enabled." msgstr "" #: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200 msgid "The following details are optional" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:18 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:298 msgid "PayPal Subscription Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:93 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:378 msgid "Billing Amount Each Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:101 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:386 msgid "Billing Cycle" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:114 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:399 msgid "Billing Cycle Count" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:122 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:407 msgid "Re-attempt on Failure" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:135 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:422 msgid "" "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:141 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:428 msgid "Trial Billing Amount" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:149 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:436 msgid "Trial Billing Period" msgstr "" #: views/payments/payment-gateway/admin_paypal_subscription_button.php:166 #: views/payments/payment-gateway/admin_paypal_subscription_button.php:453 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:213 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:205 msgid "Optional Details" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:26 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:307 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:289 msgid "Stripe Buy Now Button Configuration" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:386 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:102 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:368 msgid "Stripe API keys. You can get this from your Stripe account." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:391 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:107 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:373 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:148 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:140 msgid "Use Global API Keys Settings" msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:394 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:110 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:376 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:151 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:143 msgid "" "Use API keys from Payment " "Settings tab." msgstr "" #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_buy_now_button.php:434 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:150 #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:416 #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:219 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:211 msgid "Collect Customer Address" msgstr "Recopilar dirección del cliente" #: views/payments/payment-gateway/admin_stripe_sca_buy_now_button.php:26 msgid "Stripe SCA Buy Now Button Configuration" msgstr "Configuración del botón Comprar ahora de Stripe SCA" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:84 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:84 msgid "Stripe Subscription Button Configuration" msgstr "Configuración del Botón de Suscripción de Stripe" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:118 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:118 msgid "Stripe API ID" msgstr "ID de API de Stripe" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:129 msgid "Trial Period" msgstr "Periodo de prueba" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:142 #: views/payments/payment-gateway/admin_stripe_subscription_button.php:134 msgid "Stripe API Settings" msgstr "Configuración de la API de Stripe" #: views/payments/payment-gateway/admin_stripe_sca_subscription_button.php:188 msgid "Webhook Endpoint URL" msgstr "URL de punto final de webhook" #: views/payments/payment-gateway/admin_stripe_subscription_button.php:180 msgid "Webook Endpoint URL" msgstr "URL de punto final de Webook" #: views/payments/payment-gateway/braintree_button_shortcode_view.php:21 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:100 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:102 #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_button_shortcode_view.php:161 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:20 #: views/payments/payment-gateway/stripe_sca_button_shortcode_view.php:144 msgid "Buy Now" msgstr "Comprar Ahora" #: views/payments/payment-gateway/paypal_button_shortcode_view.php:235 #: views/payments/payment-gateway/paypal_button_shortcode_view.php:237 msgid "Subscribe Now" msgstr "Suscríbase Ahora" #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:155 msgid "Error occurred during PayPal Smart Checkout process." msgstr "Se produjo un error durante el proceso de pago inteligente de PayPal." #: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:184 msgid "HTTP error occurred during payment process:" msgstr "Se produjo un error HTTP durante el proceso de pago:" #. Description of the plugin/theme msgid "" "A flexible, well-supported, and easy-to-use WordPress membership plugin for " "offering free and premium content from your WordPress site." msgstr "" "Un complemento de membresía de WordPress flexible, bien respaldado y fácil " "de usar para ofrecer contenido gratuito y premium desde su sitio de " "WordPress." #: Translation strings from addons === Form builder addon msgid "Type password here" msgstr "Escriba la contraseña aquí" msgid "Retype password here" msgstr "Vuelva a escribir la contraseña aquí" msgid "Registration is complete. You can now log into the site." msgstr "El registro está completo. Ahora puede iniciar sesión en el sitio." msgid " Field has invalid character" msgstr "El campo tiene un carácter no válido " msgid " Password does not match" msgstr "Las contraseñas no coinciden " msgid "Already taken." msgstr "Ya apartadas." msgid "Street Address" msgstr "Dirección" msgid "Apt, Suite, Bldg. (optional)" msgstr "Edificio de apartamentos. (opcional)" msgid "State / Province / Region" msgstr "Estado / Provincia / Región" msgid "Postal / Zip Code" msgstr "Código postal" msgid "" "Check this box to delete the image. The image will be deleted when you save " "the profile." msgstr "" "Marque esta casilla para eliminar la imagen. La imagen se eliminará cuando " "guardes el perfil." msgid "You will need to re-login since you changed your password." msgstr "Deberá volver a iniciar sesión ya que cambió su contraseña." msgid "" "Please enter any two digits with no spaces (Example: 12)" msgstr "Ingrese dos dígitos sin sin espacios (Ejemplo: 12)" msgid "Verification" msgstr "Verificación" msgid "Please enter any two digits with no spaces (Example: 12)*" msgstr "Ingrese dos dígitos cualesquiera sin espacios (Ejemplo: 12)*" msgid "Username can only contain: letters, numbers and .-*@" msgstr "El nombre de usuario solo puede contener: letras, números y .-*@" msgid "Allowed characters are: letters, numbers and .-_*@" msgstr "Los caracteres permitidos son: letras, números y .-_*@" msgid "Please check at least one." msgstr "Por favor marque al menos uno." #: === Partial protection addon strings msgid "You do not have permission to view this content." msgstr "No tienes permiso para ver este contenido." msgid "Your membership level does not have permission to view this content." msgstr "Su nivel de membresía no tiene permiso para ver este contenido." msgid "This content is for members only." msgstr "Este contenido es solo para miembros." #: === Member Directory Listing addon strings swpm-member-directory-admin.php:9 msgid "Member Directory" msgstr "Directorio de miembros" #: includes/swpm_mda_show_profile.php:30 msgid "Level" msgstr "Nivel" #: includes/swpm_mda_show_profile.php:32 msgid "Address" msgstr "Dirección " #: views/template-1.php:52 views/template-2.php:53 msgid "Search..." msgstr "Búsqueda..." #: views/template-1.php:60 views/template-2.php:62 msgid "Clear Search" msgstr "Borrar búsqueda" # === Misc Shortcodes Addon === msgid "You must be logged in to upgrade a membership." msgstr "Debe iniciar sesión para actualizar una membresía." msgid "Membership level has been updated." msgstr "El nivel de membresía ha sido actualizado." msgid "Already a member of this level." msgstr "Ya eres miembro de este nivel." languages/simple-membership-ar.mo000064400000323235147206617610013113 0ustar007I3D D.D4D""EEE F FDF>[FFaG2+H^HNH3I"HIekIINIK7J&JJJ JBJ-*K XKiyKK K L+ L8L JLTLiL|L6L3M CMQMfM}M;MMM NN!N:NONdNxNN NNVNROrO yO OOOOOOOOP!"PDPXP vPP2PPPQQMQ@Q@R WRbR%wR2RR RsRrSyS#OT.sT6TTT TU U.UBUHUhUUTUU&UV6VSV)bV'VV V V VV W W W 1W RW _WkW }WWW)XDXXX,tXX X X XXXYK+YXwYY1Y Z Z Z-(Z9VZZ%ZZ Z Z%ZA[F[_[[[['\:\L\0c\\\ \\\0\']$>]c]|]]]]] ]](]!^&1^$X^}^^ ^ ^^^^C^/_5_ F_T_"o__ _____1 `&<`c` {``````` a 'a"Ha$kaaa aaa/bKb c[cY$d[~ded=@e~eqKfqf/gwg?Ch>hah*$iOiRiIjj3bk k*k-k+l. qFKq6q.qq r#r rr rr rQrLCsQsPs3t :tEtuu uv!+vMvkvI|vvvvvw$w%5w'[w www w&ww/x xx xx yyDymYysy;zIz{{ {{{{|(|||:}}}}~ ~ ~6~ F~P~(W~~~_~~Z*% `Y=9р؀  '.MRl' ʁ ԁ !1O`w$ ݂#%C&W~̃9"=S gs4|ф1ׄ  c@mA+<8X &*Շ$c%fw h+Zɉ$ 6 A O]l$* ً͋h$Čӌ"BWi8 ͍э؍Je+Ŏ-#G k yQ*)=2[(ǐ֐ .O`Qoʑґؑ!";VsI93GE`ѓړ]\k $XڔG3{  ֕ 5S &/@ p|  1`"Ps(cЙ\4< Κ ۚD$iKp *ƛ* 1>Ym|Ԝ3,g`iȝp2&9ʟ %73T$Ƞ۠:Pge}-,2 IW^$|ݢ'A`ekk!ף%=C] dpwŤ;<#Ko"'ѥ  !/G\ s&Ӧ6ܦc2ۧ# :DWkkGתt7;̫LRU"#ˬA|MI(Cj!8Я NSkaiv˱^BUvBSaVkYGE, r;y;6WrzʹEݻ=ݼ^BH WdJyĽٽ޽^vx}b4#Qu6?F3z  ; [`12"UtP&Pw2]hx!djN33%IY@y(Ahjs Cw<0L}) %3.Yi:/-v]Ig:PD?aP*! 8 C Qr  0]2Ub_cZ cIqP^ MkD[7y|a=.)~85?- ^Icl~s!-M*j!%#?,V+)!(>P)d"$.2;A;}BH#EgiI:=V~d"H<NA/ J9O$It 5) 4"Nq3z5" +.:Z9PB>  /6fz6g6^6P "&? TFUg:wF N S`t(e6 %$AJ"K-6B!y*X(.<W,*)1 A3LM.0!Hjy"<8$(lM!,, N6S-& 2. =a 0 ^ _/ N I ,( =U < 1 , */ 3Z 9 ? B IK R : T#&x(\^%^x{BN?jG?_$QBTesc`6LJHPNd3 '093B$v(#,3L`;UU^55, 0M #~ % E 1! @!!K!<m!!!-!-"B">X""""J"c #Kp##/####$4$.=$l$4%&~&t' ((<$(#a(<()((5)f*Jw***-*++:+%R+x++O++0+>/,/n,$,B,/-)6-`-(r-%-&-L-5.(M.%v.&..1./?(/h/$o/ /=/ //0010I0 [0-i00(0070 )1"J1/m11C111725Q2"252223*43"_3K3*3 3494O4Xe4344g4 c5p5m6"S7v77'8'808,9>19"p9 9'9c9u-:1:1:1;19;+k;&;%;';$ < 1<?<O<a<s< ===#>'>,>2J>}>P>>>?+-?EY?<?8?F@"\@'@F@w@fA }A AA3BB7B! CT/CDC0CCD(D%ED}kD1DEM6E]E,E/F?FSFlFFFF<FGG,GGG G!GG HC%H4iH6HH H If7IMI5I4"J|WJ.J3K7KQKKdKKyL5LLKL1M3IM4}MmM. NON-iN1NNN N*N()O3ROOP%P(4P]P:}PPP P+P!Q ?QJQ\QER$HRmR(RR1RRSH+StSS SS$Sr T~TT $UK.U<zU$UUU(V=V UVvVVVVV& W1WSIWMWWXd1Y_Y0Y/'Z>WZrZ+ [e5[-[+[[%\;4\:p\*\'\;\:]M]#] ]"^ #^D^BK^3^)^%^&_(9_7b_,_ ___3r`9`/` a2a Pa]a{aa2a.a8a33b"gbb%b,b*b:%c`ccc c cc c d#d!Bd"dd=d dd5de'ee7f Lf3Yf&f?f f$g'g8ggiShmhN+izi j7j=j0k1Fknxkxk`l6l;&m(bmm|;n,nGn-oCooqpqqr2sssSt*umGuLuvv*wwrxeyyZWzzZp{{O||d~~xu },~*e . ;Ԃ,1Ä0 \>@H܅"%>HehsV8ʇ   &<M[& Ј^݈ <$]_`X*zl3<WMS:1&Ǐi(X-m&*Dhoؑc~8;MWe %ߕCҗƘ_wE4</ql7ޝDD[OkMP ZZ>hág,P#$ N.I}\ǣ;$`Hz ä $%Jdv  cݥA@\{[R"gt7,)1Nc1#k3Gr~?L; |YI 3xiz/XZ7\j,~ cB6PJ^\/wE `.mKA"C C'T68rhzQ<6hqs^6+FUy`T%iYdxd.Vj* YL)v8=|&]"n01lo ,l%f;U5[oJ#'A(}!&WRk$z2L*O!a;NH<[i>m JaAp,-)us0}gpMZ7%W$D=(R4$  X<G@T=/FP *+Hk09 w>25y:"WQ! ? pu] 3- /'-Et#&Fj Ze}HKGvy1oe`> vNUb4 @MeI(wB a dblI~8n@:tDg2 Om?5&EuPKqnM\__(D7s#^9- 9r.*3X0bQ2|5%'C4:4ff)_VcV SBS{+!]{hO+.qS$x (Level ID: Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) Email Settings (Email Activation) Read this documentation to learn how to recreate them (if needed). Read the Success! The rest of the content is not permitted for your membership level. To learn more about membership level configuration, refer to Use a different email address to complete the registration. If you want to use that email then you must enter the correct username associated with the existing WP user to connect with that account. Use a different username to complete the registration. If you want to use that username then you must enter the correct email address associated with the existing WP user to connect with that account. You are currently editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. You cannot use email merge tags in this email. You can only use generic text. characters required explains how to use this feature. explains what email merge tags you can use in the email body field to customize it (if you want to). has full explanation. of our documentation to learn more about creating membership payment buttons. of this plugin (useful if you want to offer paid memberships on the site). page to pay for a premium membership. to learn how to do it. to learn how to use it. to log in. to see the profile you are currently logged into in this browser. your account to gain access to this content.(Access expires on a fixed date)(NOTE: for safety, we do not allow deletion of any associated WordPress account with administrator role).(Please Select)(Select Item)(required)(twice, leave empty to retain old password)(twice, required)- a digit- a lowercase letter- an uppercase letterthis documentation.A prompt to complete registration email was also sent.Access DurationAccess StartsAccess Starts Date: Access Valid For/UntilAccess duration must be > 0.Access starts date change operation successfully completed.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount already active. Account has expired.Account is inactive.Account is pending.Account state field is invalidAccount statusAction StatusActivation RequiredActivation code mismatch. Cannot activate this account. Please contact the site admin.Activation email has been sent. Please check your email and activate your account.ActiveAdd LevelAdd MemberAdd NewAdd New Membership Level Add New TransactionAdd a Transaction ManuallyAdd-onsAdditional SettingsAdditional Settings (Optional)AddressAdmin Dashboard Access PermissionAdmin Email AddressAdmin Notification Email BodyAdmin Notification Email SubjectAdvanced SettingsAfter Email Activation Redirection Page (optional)After Logout Redirect URLAfter Registration Redirect URLAfter how many cycles should billing stop. Leave this field empty (or enter 0) if you want the payment to continue until the subscription is canceled.AllAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow HTMLAllow HTML in EmailsAllow users to delete their accounts.Allowed characters are: letters, numbers and .-_*@Already a member of this level.Already takenAlternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountAmount to be charged on every billing cycle. If used with a trial period then this amount will be charged after the trial period is over. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Apostrophe character is not allowedAre you enjoying the Simple Membership plugin?Are you sure that you want to cancel the subscription?AuthorAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountBlackBlacklist Message CustomizationBlacklisting & WhitelistingBlueBraintree API key and account details. You can get this from your Braintree account.Braintree Buy NowBraintree Buy Now Button ConfigurationBulk Change Access Starts DateBulk Change Membership LevelBulk OperationBulk Update Access Starts Date of MembersBulk Update Membership Level of MembersButton Appearance SettingsButton ColorButton HeightButton IDButton Image URLButton LayoutButton ShapeButton ShortcodeButton Style Settings (Optional)Button TitleButton TypeButton Type/LabelButton WidthBuy NowBy default, funding source eligibility is smartly decided based on a variety of factors. You can force disable funding options by selecting them here.Can't find member account.Cancel SubscriptionCannot find member account.Captcha validation failed on the login form.Captcha validation failed.CategoriesCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check the membership levels that should have access to that page's content.Check this box to delete the image. The image will be deleted when you save the profile.CheckoutChoose the membership level for email recipients.CityClear SearchClick hereClick here to complete your paid registrationClick on the following link to complete the registration.ColorComments not allowed by a non-member.CompanyCompany NameCompany nameConfigure Blacklisting & WhitelistingConfigure the PayPal API credentials for the new PayPal checkout.Confirm Account DeletionContact the site admin and request them to check your username in the WP Users menu to see what happened with the WP user entry of your account.CountCountryCreate Live WebhookCreate Member Accounts for New WP UsersCreate New ButtonCreate Sandbox WebhookCreate a brand new user and add it to this site.Credit or debit cardsCustom Checkout Page Logo ImageCustom PostsDateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault Account Status After PaymentDefault Membership LevelDefault WordPress RoleDeleteDelete AccountDelete User ProfileDelete WebhooksDescriptionDisable Access to WP DashboardDisable Email Notification After UpgradeDisable FundingDo you really want to delete the form?Do you want to protect this content?E-mailELVEdit MemberEdit ProfileEdit Profile Page URLEdit existing member details.Edit membership levelEdit the Post or Page that you want to protect in WordPress editor.EmailEmail ActivationEmail AddressEmail Address BlacklistingEmail Address Pattern BlacklistingEmail Address: Email BodyEmail Misc. SettingsEmail Sent Successfully!Email SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email Settings OverviewEmail SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEmpty data received.Empty order ID received.Empty payment data received.Empty transaction data received.Enable Auto Create Member AccountsEnable Auto Login After RegistrationEnable Expired Account LoginEnable More Tag ProtectionEnable Password Reset Using LinkEnable Privacy PolicyEnable Terms and ConditionsEnable Toggle Password Visibility in Login FormEnable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership.Enable new user activation via email. When enabled, members will need to click on an activation link that is sent to their email address to activate the account. Useful for free membership. Enable this if you want the users to be forced to use a strong password for their accounts.Enable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want the member to be logged out of the account when he closes the browser.Enable this option if you want to do sandbox payment testing.Enable this option if you want to force the member login to be synchronized with WP user account. This can be useful if you are using another plugin that uses WP user records. For example: bbPress plugin.Enable this option to automatically create member accounts for any new WP user that is created by another plugin.Enables HTML support in the email. For optimal email delivery rate, we suggest using plain text (non-HTML) email.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter a list (comma separated) of email addresses pattern to blacklist. Example value: @baddomain.com, @crazydomain.comEnter a list (comma separated) of email addresses to blacklist.Enter member IDs separated by comma to specify the recipients.Enter payment amount. Example values: 9.90 or 25.00 or 299.90 etc (do not enter currency symbol).Enter the URL of your privacy policy page.Enter the URL of your terms and conditions page. You can create a WordPress page and specify your terms in there then specify the URL of that page in the above field.Enter the email address where you want the admin notification email to be sent to.Enter the email content that will be sent to members. You can utilize the following email merge tags in this message (click to copy tags to clipboard).Enter the message you want to show to the user when the blacklisted condition is met. Leave it empty to use the default message.Enter the subject for the admin notification email.Enter the subject for the email.Enter your PayPal Client ID for live mode.Enter your PayPal Client ID for sandbox mode.Enter your PayPal Secret Key for live mode.Enter your PayPal Secret Key for sandbox mode.Error occured during payment verification. Error code: %1$d. Message: %2$sError! A password reset request has been submitted but the password reset key is invalid. Please generate a new request.Error! Failed to find a template path for the specified template: Error! Invalid Request. Could not find a match for the given security code and the user ID.Error! Invalid password reset request.Error! Nonce security verification failed for Bulk Change Access Starts Date action. Clear cache and try again.Error! Nonce security verification failed for Bulk Change Membership Level action. Clear cache and try again.Error! Nonce security verification failed for Category Protection Update action. Clear cache and try again.Error! Nonce security verification failed for Post Protection Update action. Clear cache and try again.Error! Nonce verification failed for front end profile edit.Error! Nonce verification failed for membership level creation from admin end.Error! Nonce verification failed for membership level delete from admin end.Error! Nonce verification failed for membership level edit from admin end.Error! Nonce verification failed for user delete from admin end.Error! Nonce verification failed for user edit from admin end.Error! Nonce verification failed for user registration from admin end.Error! Password fields do not match. Please try again.Error! Please select a membership level first.Error! This action (Error! This site has the force WP user login feature enabled in the settings. We could not find a WP user record for the given username: Example Content Protection SettingsExpire AfterExpiredExpiry DateExpiry: Extra LargeFailed to create the order. Enable the debug logging feature to get more details.Failed to generate access token. check debug log file for any error message.Failed to get seller API credentials. check debug log file for any error message.Failed to get seller account status. check debug log file for any error message.FemaleFirst NameFirst of all, globally protect posts and pages on your site by selecting "General Protection" from the drop-down box below and then select posts and pages that should be protected from non-logged in users.First of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsFor a Particular Member IDForce Strong Password for MembersForce WP User SynchronizationForgot Password?Free membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General ProtectionGeneral SettingsGenerate Registration Completion LinkGenerate a Registration Completion linkGive FeedbackGo back to the home page by GoldHide AdminbarHide Registration Form to Logged UsersHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).Hit the Update/Save Button to save the changes.HorizontalHow to Apply Content ProtectionI accept the I agree to the I already didIDIPN product validation failed. Check the debug log for more details.If enabled, decryptable member password is temporarily stored in the database until the account is activated.If enabled, the member's decryptable password is temporarily stored in the database until the account is activated.If you have accidentally deleted the required pages that this plugin creates at install time, you can use this option to re-create them.If you have issues with the webhooks, you can delete it and create again.If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveIncompleteInvalid Email AddressInvalid UsernameInvalid email addressInvalid membership levelInvalid or Missing API Credentials! Check the plugin settings and enter valid API credentials in the PayPal Credentials section for %s mode.Invalid webhook URL.It is useful to use a thank you page in your payment button configuration. Read this documentation to learn more.It will also delete the associated WordPress user account.Join NowJoin UsJoin Us Page URLLargeLast Accessed DateLast Accessed From IPLast Login DateLast NameLayoutLeave empty to keep the current passwordLevelLevel to Change to: Link(s) generated successfully. The following link(s) can be used to complete the registration.Live Account Connnection StatusLive Client IDLive PayPal API credentials are not set. Please set the Live PayPal API credentials first.Live PayPal account is not connected.Live Publishable KeyLive SecretLive Secret KeyLive Webhook exists. If you still have issues with webhooks, you can delete it and create again.Live account is connected. If you experience any issues, please disconnect and reconnect.Live mode credentials are not set. Cannot create webhook.Log InLogged Out Successfully.Logged in asLogged in as: Login HereLogin Page URLLogoutLogout Member on Browser CloseMaleManage Content ProtectionManage Payment ButtonsManual transaction added successfully. MediumMemberMember DirectoryMember IDMember LoginMember ProfileMember SinceMember record added successfully.Member since dateMember since field is invalidMember's addressMember's email addressMember's first nameMember's last nameMember's usernameMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level Updated Successfully.Membership Level:Membership Level: Membership LevelsMembership Renewal URLMembership level IDMembership level change operation completed successfully.Membership level has been updated.Membership level nameMerchant Account IDMerchant IDMinimum Months (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select posts and pages you want to grant access to (for that particular membership level).Next, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No ExpiryNo Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No active subscriptionsNo category found.No items found.No member found.No membership levels found.No recipient selected. Please select email recipient(s).No thanksNo token provided.No user found with that email address.No user found with that username or email.No webhook found. Nothing to delete.No webhook found. Use the following Create Live Webhook link to create a new webhook automatically.No webhook found. Use the following Create Sandbox Webhook link to create a new webhook automatically.No webhook found. Use the following Create Webhook button to create a new webhook automatically in your PayPal account.No, Do not protect this content.Nonce check failed.Nonce check failed. Please reload the page.Nonce check failed. The page was most likely cached. Please reload the page and try again.Nope, maybe laterNot ReallyNot SpecifiedNot a Member?Not a member? Note that the PayPal subscription API requires your site to use HTTPS URLs. You must use an SSL certificate with HTTPS URLs to complete the setup of the subscription addon and use it.Note:Note: You cannot enable both the "Disable Access to WP Dashboard" and "Admin Dashboard Access Permission" options at the same time. Only use one of those options.Notify UserOK, you deserve itOROptional DetailsOptional Pages SettingsOptional page. It is automatically created by the plugin when you install the plugin for the first time.Page Setup and URL Related settings.PagesPages SettingsPasswordPassword ResetPassword Reset Page URLPassword Reset Successful. Password empty or invalid.Password field cannot be empty.Password is requiredPassword mismatchPassword must contain at least:Password reset link has been sent to your email address.Password: PayPayPalPayPal API Credential information is missing in settings. Please enter valid PayPal API Credentials in the General Settings tab for %s mode.PayPal API credentials are missing. Please set the PayPal API credentials.PayPal Account SetupPayPal Billing Plan Details for This ButtonPayPal Buy NowPayPal Buy Now (New API)PayPal Buy Now (New API) Button ConfigurationPayPal Buy Now Button ConfigurationPayPal CreditPayPal EmailPayPal SettingsPayPal Smart CheckoutPayPal Smart Checkout API Credentials (you can get this from your PayPal account)PayPal Smart Checkout Button ConfigurationPayPal SubscriptionPayPal Subscription (New API)PayPal Subscription (New API) Button ConfigurationPayPal Subscription Button ConfigurationPayPal WebhooksPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment DetailsPayment MethodsPayment Notification Forward URLPayment SettingsPayment buttonPayment check failed: invalid amount received. Expected %1$s %2$s, got %3$s %4$s.PaymentsPendingPhonePhone number (if available)PillPleasePlease %s if you like the plugin.Please Login to Comment.Please check at least one.Please correct the followingPlease correct the following.Please correct the following:Please enter any two digits with no spaces (Example: 12)Please enter any two digits with no spaces (Example: 12)*Please login again.Please login to comment.Please note that the following merge tag does not work in this email.Post and Page ProtectionPostal / Zip CodePostcodePostsPre-fill Member Email AddressPre-fills the email address of the logged-in member on the Stripe checkout form when possiblePrivacy PolicyPrivacy Policy Page URLPrivate KeyProcessing password reset request...ProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Prompt visitors to take action with a simple membership payment button.Protection settings updated!Public KeyRe-attempt on FailureRe-create the Required PagesRead the Read this documentationRectangularRecurring Billing AmountRecurring Billing CycleRecurring Billing Cycle CountRefer to this documentation page for more details.RegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRemember MeRepeat PasswordRepsonsiveReset PasswordReturn URLRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user roles to access the SWPM admin dashboard by selecting a value here. Note that this option cannot work if you enabled the "Disable Access to WP Dashboard" option in General Settings.Sanbbox PayPal API credentials are not set. Please set the Sandbox PayPal API credentials first.Sandbox Account Connnection StatusSandbox Client IDSandbox PayPal account is not connected.Sandbox SecretSandbox Secret KeySandbox Webhook exists. If you still have issues with webhooks, you can delete it and create again.Sandbox account is connected. If you experience any issues, please disconnect and reconnect.Sandbox mode credentials are not set. Cannot create webhook.Save ChangesSave DataSave Membership Level Save Payment DataSave Transaction DataScroll down to the section titled 'Simple WP Membership Protection'.SearchSearch for a transaction by using email, name, transaction ID or Subscr ID.Search...Security check: captcha validation failed.Select 'Yes, Protect this content' option.Select Current LevelSelect LevelSelect Payment Button TypeSelect Target LevelSelect a levelSelect an item to viewSelect button color.Select button height.Select button layout.Select button shape.Select button size.Select button type/label.Select button width.Select how long you want to keep "pending" account.Select payment methods that could be used by customers. Note that payment with cards is always enabled.Select the Membership level (the access start date of all members who are in this level will be updated).Select the current membership level (the membership level of all members who are in this level will be updated).Select the default account status for newly registered users. The default value should be active. If you want to manually approve the members then read this documentation to learn more.Select the membership level that can access this content:Select the new membership level.Send Direct EmailSend Direct Email to MembersSend Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSend to Member IDsSend to Membership LevelSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSet the interval of the recurring payment. Example value: 1 Month (if you want to charge every month)SettingsSettings in this section apply to all emails.Settings updated!ShapeShow Adminbar to AdminShow passwordSilverSimple Membership Plugin SiteSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSizeSmallSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.Specify the Access Starts date value.StateState / Province / RegionStatusStatus/NoteStreetStrength indicatorStripe API Live publishable keyStripe API Live secret keyStripe API Test publishable keyStripe API Test secret keyStripe API keys. You can get this from your Stripe account.Stripe Buy NowStripe Buy Now Button ConfigurationStripe Global SettingsStripe Legacy Buy Now (deprecated)Stripe Legacy Subscription (deprecated)Stripe SCA Buy NowStripe SCA SubscriptionStripe SubscriptionSubmitSubscribeSubscriber IDSubscriber ID/ReferenceSubscription Plan IDSubscription Plan ModeSubscription has been cancelled.Subscription start dateSubscription/Recurring Billing DetailsSuccess!Success! Your account has been activated successfully.System-related Additional DataTake the following steps to apply protection to your content so only members can have access to it.Target RecipientsTerms and ConditionsTerms and Conditions Page URLTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.Thank YouThank You Page URLThat's great! Could you please do me a big favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?The PayPal payment buttons that uses the new API require webhooks. The plugin will auto-create the required webhooks when you create a PayPal payment button.The access starts date of a member is set to the day the user registers. This date value is used to calculate how long the member can access your content that are protected with a duration type protection in the membership level. The account status that will be applied to the profile after a payment. The default value should be active.The admin of this site does not allow users to access the wp dashboard.The category or parent category of this post is protected. You can change the category protection settings from the The email address you used is blacklisted on this site.The email address you used is not whitelisted on this site.The email body field is empty. Please enter a value in the email body field.The email subject field is empty. Please enter a value in the email subject field.The following details are optionalThe following details are optional.The following pages are required for the plugin to function correctly. These pages were automatically created by the plugin at install time.The following validation failed. Please correct it and try again.The plugin saves this information for system purposes for some profiles. There is no need for you to take any action regarding this value.The recipients list is currently empty. There must be at least one recipient.The required pages have been re-created.The selected entry was deleted!The site admin can disable the Force WP User Synchronization feature in the settings to disable this feature and this error will go away.This content can only be viewed by members who joined on or before This content is for members only.This content is not permitted for your membership level.This documentationThis email will be sent if Email Activation is enabled for a Membership Level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to the admin when a new user completes the membership registration. Only works if you have enabled the "Send Notification to Admin" option above.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This error is triggered when a member account doesn't have a corresponding WP user account. So the plugin fails to log the user into the WP User system.This feature allows you to send emails to a group of members based on their membership level or individual member IDs.This field is requiredThis interface contains useful tools for various admin operations.This interface lets you configure blacklisting & whitelisting for email addresses. This interface lets you customize the various emails that get sent to your members for various actions. The default settings should be good to get your started.This is calculated based on the current membership level assigned to this member and the expiry condition that you have set for that membership level.This is the member's account status. If you want to manually activate an expired member's account then readThis option can be used to redirect the users to a designated page after they click on the email activation link and activate the account.This page allows you to configure some advanced features of the plugin.This section allows you to configure Stripe payment related settings.This section allows you to configure automatic creation of member accounts when new WP User records are created by another plugin. It can be useful if you are using another plugin that creates WP user records and you want them to be recognized in the membership plugin.This section allows you to configure blacklisting settings.This section allows you to configure terms and conditions and privacy policy that users must accept at registration time.This section allows you to configure whitelisting settings.This section allows you to enable/disable sandbox or test mode for the payment buttons.This section shows a preview image of a PayPal button to demonstrate where the PayPal button will appear on the front end.This tag will not work in this email since the password is stored in the database using a one-way hash, which means that the plugin cannot retrieve the plain text password once the account has been created.This unique registration link (see the URL in the browser's address bar) has already been used. You don't need to create another account. Log into the existing account to access the protected content.This unique registration link (see the URL in the browser's address bar) is invalid. Could not find a match for the given member ID and the security code. Please contact the site administrator.This value gets updated when this member logs into your site.TitleTo proceed with the deletion process, please enter the current password for this user account.ToolsTransaction IDTransactionsTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodTypeUnexpected Error! Failed to update the member record. Enable the debug log file then try the process again to get more details.Unsubscribe from PayPalUpdateUse API keys from Payment Settings tab.Use Global API Keys SettingsUse this option if you want the members to be automatically logged into your site right after they complete the registration. This option will override any after registration redirection and instead it will trigger the after login redirection. Read this documentation to learn more.Use this option if you want to hide the registration form to the logged-in members. If logged-in members visit the registration page, they will see a message instead of the registration form.Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.User is not logged in.UsernameUsername already exists.Username can only contain: letters, numbers and .-*@Username contains invalid characterUsername field cannot be empty.Username is requiredUsername or EmailUsernames can only contain: letters, numbers and .-_*@Users must accept it before they can complete the registration.Users must accept the terms before they can complete the registration.Validating, please waitVenmoVerificationVerticalView DocumentationView ProfileVisit the %s to read setup and configuration documentation.WP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.We're sorry to hear you aren't enjoying the Simple Membership plugin. We would love a chance to improve. Could you take a minute and let us know what we can do better by using our contact form? Webhook exists. If you still have issues with webhooks, you can delete it and create again.Webhook has been created.Webhook has been deleted.Weeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When automatically creating a member account using this feature, the membership account status of the user will be set to the one you specify here.When automatically creating a member account using this feature, the membership level of the user will be set to the one you specify here.When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled.When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WhiteWordPress allows a standard wp user to be able to go to the wp-admin URL and access his profile from the wp dashboard. Using this option will prevent any non-admin users from going to the wp dashboard.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But the given username doesn't match.Wordpress account exists with given username. But the given email doesn't match.Years (Access expires after given number of years)YesYes, Protect this content.You are about to delete an account. This will delete user data associated with this account. You are already logged in. You don't need to create another account. So the registration form is hidden.You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a normal member.You are not logged in.You are not logged-in as a memberYou can add a new transaction record manually using this interface. It can be useful if you manually accept cash payment for your memberships.You can also use payment buttons from the following plugins to accept payments for your memberships.You can create a new payment button for your memberships using this interface.You can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create membership payment buttons from the You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can enable this option if you want to handle the password reset functionality using a reset link that is emailed to the member. Read this documentation to learn more about the password reset function.You can enter an URL here to forward the payment notification after the membership payment has been processed by this plugin. Useful if you want to forward the payment notification to an external script for further processing.You can enter an URL here to redirect the members to this page after they click the logout link to logout from your site.You can enter an URL here to redirect the members to this page after they submit the registration form. Read this documentation to learn how to setup after registration redirect.You can manually change the membership level of any member by editing the record from the members menu. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You can manually set a specific access starts date value of all members who belong to a particular level using the following option.You can use it to show a toggle password visibility option in the login form. It will add a Show Password checkbox.You can use the back button of your browser to go back to the site.You can use the following option to bulk update the membership level of users who belong to the level you select below.You can use this option to disable the email notification that gets sent to the members when they make a payment for upgrade or renewal.You can use this option to send a quick notification email to this member (the email will be sent when you hit the save button below).You do not have permission to view this content.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You must accept the terms and conditions.You must agree to the privacy policy.You must be logged in to upgrade a membership.You need to activate your account. If you didn't receive an email then %s to resend the activation email.You need to be logged in to view the rest of the content. You need to be logged in to view this content. You need to confirm your email address. Please check your email and follow instructions to complete your registration.You will be automatically redirected in a few seconds. If not, please %s.You will be redirected to the previous page in a few seconds. If not, please click here.You will need to re-login since you changed your password.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your PayPal account email is not confirmed. Check your PayPal account inbox for an email from PayPal to confirm your PayPal email address.Your PayPal account is limited so you cannot accept payment. Contact PaPal support or check your PayPal account inbox for an email from PayPal for the next steps to remove the account limit.Your account has expired. Your current passwordYour membership level does not have permission to view this content.Your membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: Zipcodebulk protect posts and pages documentationcategory protection documentationcategory protection menuclick hereclicking herecontent protection documentationgive us a ratingincompletemembership payment sectionpayments menurenewsubscription createdto learn how to get your PayPal API credentials.to learn more.~ Simple Membership Plugin TeamProject-Id-Version: Simple WordPress Membership Report-Msgid-Bugs-To: PO-Revision-Date: 2024-01-27 21:29+0100 Last-Translator: Language-Team: Language: ar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5); X-Loco-Source-Locale: nl_NL X-Generator: Poedit 3.4.2 X-Poedit-Basepath: .. X-Poedit-Flags-xgettext: --add-comments=translators: X-Poedit-WPHeader: simple-wp-membership.php X-Poedit-SourceCharset: UTF-8 X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2 X-Loco-Parser: loco_parse_po X-Poedit-SearchPath-0: . X-Poedit-SearchPathExcluded-0: *.min.js (معرف المستوى:إعدادات البريد الإلكتروني (إشعار ترقية الحساب)إعدادات البريد الإلكتروني (إشعار تنشيط الحساب المجمع)إعدادات البريد الإلكتروني (تنشيط البريد الإلكتروني)اقرأ هذه الوثائق اقرأالنجاح!باقي المحتوى غير مسموح به لمستوى عضويتك.لمعرفة المزيد حول تكوين مستوى العضوية، راجعاستخدم عنوان بريد إلكتروني مختلفًا لإكمال التسجيل. استخدم اسم مستخدم مختلفًا لإكمال التسجيل. تقوم حاليًا بتحرير العضو بمعرف العضو:يمكنك وضع عناوين بريد إلكتروني متعددة مفصولة بفاصلة (،) في الحقل أعلاه لإرسال الإشعار إلى عناوين بريد إلكتروني متعددة.لا يمكنك استخدام علامات دمج البريد الإلكتروني في هذا البريد الإلكتروني. الحروف المطلوبةيشرح كيفية استخدام هذه الميزة.يشرح علامات دمج البريد الإلكتروني التي يمكنك استخدامها في حقل نص البريد الإلكتروني لتخصيصها (إذا كنت تريد ذلك).فيه الشرح الكامل.من وثائقنا لمعرفة المزيد حول إنشاء أزرار دفع العضوية.من هذا البرنامج المساعد (مفيد إذا كنت تريد تقديم عضويات مدفوعة على الموقع).صفحة الدفع مقابل العضوية المميزة.لمعرفة كيفية القيام بذلك.لمعرفة كيفية استخدامه.لتسجيل الدخول.لرؤية الملف الشخصي الذي قمت بتسجيل الدخول إليه حاليًا في هذا المتصفح.حسابك للوصول إلى هذا المحتوى.(تنتهي صلاحية الوصول في تاريخ محدد)(ملاحظة: من أجل السلامة، لا نسمح بحذف أي حساب WordPress مرتبط بدور المسؤول).(يرجى التحديد)(اختر البند)(مطلوب)(مرتين، اتركه فارغًا للاحتفاظ بكلمة المرور القديمة)(مرتين، مطلوب)- رقم- حرف صغير- حرف كبيرهذه الوثائق.تم أيضًا إرسال رسالة مطالبة بإكمال التسجيل بالبريد الإلكتروني.مدة الوصولبدء الوصولتاريخ بدء الوصول:الوصول صالح لـ/حتىمدة الوصول يجب أن تكون > 0.اكتملت عملية تغيير تاريخ بدء الوصول بنجاح.حقل بدء الوصول غير صالحانتهاء الحسابحالة الحسابحالة الحسابالحساب نشط بالفعل.انتهت صلاحية الحساب.الحساب غير نشط.الحساب معلق.حقل حالة الحساب غير صالححالة الحسابحالة الإجراءالتنشيط مطلوبرمز التفعيل غير متطابق. تم إرسال بريد التنشيط. نشطإضافة مستوىإضافة عضوإضافة جديدإضافة مستوى عضوية جديدإضافة معاملة جديدةإضافة معاملة يدويًاالإضافاتإعدادات إضافيةاعدادات اضافية (اختيارية)العنوانإذن الوصول إلى لوحة تحكم المسؤولعنوان البريد الإلكتروني للمسؤولنص البريد الإلكتروني لإشعار المسؤولموضوع البريد الإلكتروني لإشعار المسؤولالإعدادات المتقدمةصفحة إعادة التوجيه بعد تنشيط البريد الإلكتروني (اختياري)عنوان URL لإعادة التوجيه بعد تسجيل الخروجبعد إعادة توجيه عنوان URL للتسجيلبعد كم دورة يجب أن تتوقف الفواتير.الكليتم عرض كافة أزرار العضوية التي قمت بإنشائها في البرنامج الإضافي هنا.يتم تسجيل جميع المدفوعات/المعاملات الخاصة بأعضائك هنا.السماح بحذف الحسابالسماح بـ HTMLالسماح بـ HTML في رسائل البريد الإلكترونيالسماح للمستخدمين بحذف حساباتهم.الأحرف المسموح بها هي: الحروف والأرقام و.-_*@عضو بالفعل في هذا المستوى.مأخوذة بالفعلبدلاً من ذلك، يمكنك استخدام متصفح مختلف (حيث لم تقم بتسجيل الدخول كمسؤول) لاختبار تسجيل دخول العضوية.المبلغالمبلغ الذي سيتم تحصيله في كل دورة فوترة.حرف الفاصلة العليا غير مسموح بههل تستمتع بالمكون الإضافي للعضوية البسيطة؟هل أنت متأكد من رغبتك في إلغاء الاشتراك؟المؤلفالحذف التلقائي للحساب المعلقمتاحمبلغ الفاتورة لكل دورةدورة الفواتيرعدد دورات الفواتيرأسودتخصيص رسائل القائمة السوداءالقائمة السوداءأزرقمفتاح Braintree API وتفاصيل الحساب.برينتري اشتري الآنتكوين زر شراء Braintree الآنتاريخ بدء الوصول للتغيير المجمعالتغيير الجماعي لمستوى العضويةالتشغيل بالجملةتاريخ بدء الوصول إلى التحديث المجمع للأعضاءالتحديث المجمع لمستوى عضوية الأعضاءإعدادات مظهر الزرلون الزرارتفاع الزرمعرف الزررابط صورة الزرتخطيط الزرشكل الزرزر الرمز القصيرإعدادات نمط الزر (اختياري)عنوان الزرنوع الزرنوع الزر/الملصقعرض الزراشتري الآنافتراضيًا، يتم تحديد أهلية مصدر التمويل بذكاء استنادًا إلى مجموعة متنوعة من العوامل.لا يمكن العثور على حساب العضو.إلغاء الاشتراكلا يمكن العثور على حساب العضو.فشل التحقق من صحة كلمة التحقق في نموذج تسجيل الدخول.فشل التحقق من صحة كلمة التحقق.الفئاتمعرف الفئةاسم الفئةحماية الفئةنوع الفئة (التصنيف)تم تحديث حماية الفئة!تحقق من مستويات العضوية التي يجب أن يكون لها حق الوصول إلى محتوى تلك الصفحة.ضع علامة في هذا المربع لحذف الصورة.الخروجاختر مستوى العضوية لمستلمي البريد الإلكتروني.المدينةمسح البحثاضغط هناانقر هنا لإكمال التسجيل المدفوعاضغط على الرابط التالي لإكمال التسجيل.اللونالتعليقات غير مسموح بها من قبل غير الأعضاء.الشركةاسم الشركةاسم الشركةتكوين القائمة السوداءقم بتكوين بيانات اعتماد PayPal API لعملية الدفع PayPal الجديدة.تأكيد حذف الحساباتصل بمسؤول الموقع واطلب منهم التحقق من اسم المستخدم الخاص بك في قائمة مستخدمي WP لمعرفة ما حدث مع إدخال مستخدم WP لحسابك.العدالبلدإنشاء خطاف ويب مباشرإنشاء حسابات أعضاء لمستخدمي WP الجددإنشاء زر جديدإنشاء خطاف ويب Sandboxإنشاء مستخدم جديد وإضافته إلى هذا الموقع.بطاقات الائتمان أو الخصمصورة شعار صفحة الخروج المخصصةالمشاركات المخصصةالتاريختنسيق التاريخ غير صالح.أيام (تنتهي صلاحية الوصول بعد عدد محدد من الأيام)حالة الحساب الافتراضيحالة الحساب الافتراضية بعد الدفعمستوى العضوية الافتراضيدور ووردبريس الافتراضيحذفحذف الحسابحذف ملف تعريف المستخدمحذف Webhooksالوصفتعطيل الوصول إلى لوحة تحكم WPتعطيل إعلام البريد الإلكتروني بعد الترقيةتعطيل التمويلهل تريد حقًا حذف النموذج؟هل تريد حماية هذا المحتوى؟البريد الإلكترونيإي إل فيتحرير العضوتحرير الملف الشخصيتحرير عنوان URL لصفحة الملف الشخصيتحرير تفاصيل الأعضاء الموجودة.تعديل مستوى العضويةقم بتحرير المنشور أو الصفحة التي تريد حمايتها في محرر WordPress.البريد الإلكترونيتفعيل البريد الإلكترونيعنوان البريد الإلكترونيالقائمة السوداء لعناوين البريد الإلكترونيالقائمة السوداء لنمط عنوان البريد الإلكترونيعنوان البريد الإلكتروني:نص البريد الإلكترونيمتفرقات البريد الإلكتروني. تم إرسال البريد الإلكتروني بنجاح!إعدادات البريد الإلكترونيإعدادات البريد الإلكتروني (إعادة تعيين كلمة المرور)إعدادات البريد الإلكتروني (المطالبة بإكمال التسجيل)إعدادات البريد الإلكتروني (اكتمال التسجيل)نظرة عامة على إعدادات البريد الإلكترونيموضوع البريد الإلكترونيعنوان البريد الإلكتروني غير صالح.البريد الإلكتروني مستخدم بالفعل.البريد الإلكتروني غير صالحالبريد الإلكتروني مطلوبتم استلام بيانات فارغة.تم استلام معرف الطلب الفارغ.تم استلام بيانات الدفع الفارغة.تم استلام بيانات المعاملة الفارغة.تمكين إنشاء حسابات الأعضاء تلقائيًاتمكين تسجيل الدخول التلقائي بعد التسجيلتمكين تسجيل الدخول إلى الحساب منتهي الصلاحيةتمكين المزيد من الحماية للعلامةتمكين إعادة تعيين كلمة المرور باستخدام الرابطتمكين سياسة الخصوصيةتمكين الشروط والأحكامتمكين تبديل رؤية كلمة المرور في نموذج تسجيل الدخولتفعيل تفعيل المستخدم الجديد عبر البريد الإلكتروني. تمكين تنشيط المستخدم الجديد عبر البريد الإلكتروني. قم بتمكين هذا إذا كنت تريد إجبار المستخدمين على استخدام كلمة مرور قوية لحساباتهم.قم بتمكين هذا الخيار إذا كنت تريد فقط أن يتمكن أعضاء الموقع من نشر تعليق.قم بتمكين هذا الخيار إذا كنت تريد أن يتلقى المسؤول إشعارًا عندما يقوم أحد الأعضاء بالتسجيل.قم بتمكين هذا الخيار إذا كنت تريد تسجيل خروج العضو من الحساب عندما يقوم بإغلاق المتصفح.قم بتمكين هذا الخيار إذا كنت تريد إجراء اختبار الدفع في وضع الحماية.قم بتمكين هذا الخيار إذا كنت تريد فرض مزامنة تسجيل دخول العضو مع حساب مستخدم WP. قم بتمكين هذا الخيار لإنشاء حسابات أعضاء تلقائيًا لأي مستخدم WP جديد يتم إنشاؤه بواسطة مكون إضافي آخر.تمكين دعم HTML في البريد الإلكتروني. تمكين أو تعطيل حماية علامة "المزيد" في المنشورات والصفحات. أدخل قائمة (مفصولة بفواصل) لنمط عناوين البريد الإلكتروني في القائمة السوداء. أدخل قائمة (مفصولة بفواصل) لعناوين البريد الإلكتروني في القائمة السوداء.أدخل معرفات الأعضاء مفصولة بفاصلة لتحديد المستلمين.أدخل مبلغ الدفع.أدخل عنوان URL لصفحة سياسة الخصوصية الخاصة بك.أدخل عنوان URL لصفحة الشروط والأحكام الخاصة بك. أدخل عنوان البريد الإلكتروني الذي تريد إرسال إشعار البريد الإلكتروني إليه.أدخل محتوى البريد الإلكتروني الذي سيتم إرساله للأعضاء. أدخل الرسالة التي تريد إظهارها للمستخدم عند استيفاء شرط القائمة السوداء. أدخل الموضوع لرسالة البريد الإلكتروني لإشعار المسؤول.أدخل موضوع البريد الإلكتروني.أدخل معرف عميل PayPal الخاص بك للوضع المباشر.أدخل معرف عميل PayPal الخاص بك لوضع الحماية.أدخل مفتاح PayPal السري الخاص بك للوضع المباشر.أدخل مفتاح PayPal السري الخاص بك لوضع الحماية.حدث خطأ أثناء التحقق من الدفع. رمز الخطأ: %1$d. الرسالة: %2$sخطأ! خطأ! خطأ! خطأ! خطأ! خطأ!خطأ! خطأ! خطأ! خطأ! خطأ! خطأ! خطأ! خطأ! خطأ! خطأ! خطأ! خطأ! خطأ! مثال لإعدادات حماية المحتوىانتهاء الصلاحية بعدانتهت صلاحيتهتاريخ انتهاء الصلاحيةانتهاء الصلاحية:كبير جدًافشل في إنشاء الأمر. فشل في إنشاء رمز الوصول. فشل في الحصول على بيانات اعتماد API للبائع. فشل الحصول على حالة حساب البائع. أنثىالاسم الأولأولاً وقبل كل شيء، قم بحماية المنشورات والصفحات على موقعك عالميًا عن طريق تحديد "حماية عامة" من المربع المنسدل أدناه ثم حدد المنشورات والصفحات التي يجب حمايتها من المستخدمين غير المسجلين.أولاً وقبل كل شيء، قم بحماية الفئة الموجودة على موقعك عالميًا عن طريق تحديد "حماية عامة" من المربع المنسدل أدناه ثم حدد الفئات التي يجب حمايتها من المستخدمين الذين لم يقوموا بتسجيل الدخول.تاريخ انتهاء الصلاحية المحددلجميع التسجيلات غير المكتملةللحصول على معرف عضو معينفرض كلمة مرور قوية للأعضاءفرض مزامنة مستخدم WPهل نسيت كلمة المرور؟العضوية المجانية معطلة في هذا الموقع. من عنوان البريد الإلكترونيالجنسحقل الجنس غير صالحإعدادات البرنامج المساعد العامة.الحماية العامةالإعدادات العامةإنشاء رابط إكمال التسجيلإنشاء رابط إكمال التسجيلإبداء الرأيالرجوع إلى الصفحة الرئيسية بواسطةذهبإخفاء شريط الإدارةإخفاء نموذج التسجيل للمستخدمين المسجلينتلميح: يجب أن تتكون كلمة المرور من سبعة أحرف على الأقل. اضغط على زر التحديث/الحفظ لحفظ التغييرات.أفقيكيفية تطبيق حماية المحتوىأقبلأوافق علىلقد فعلت ذلك بالفعلمعرففشل التحقق من صحة منتج IPN. في حالة التمكين، يتم تخزين كلمة مرور العضو القابلة لفك التشفير مؤقتًا في قاعدة البيانات حتى يتم تنشيط الحساب.في حالة التمكين، يتم تخزين كلمة المرور القابلة لفك التشفير للعضو مؤقتًا في قاعدة البيانات حتى يتم تنشيط الحساب.إذا قمت عن طريق الخطأ بحذف الصفحات المطلوبة التي أنشأها هذا البرنامج المساعد في وقت التثبيت، يمكنك استخدام هذا الخيار لإعادة إنشائها.إذا كانت لديك مشكلات في خطافات الويب، فيمكنك حذفها وإنشائها مرة أخرى.إذا كنت قد قمت للتو بسداد دفعة العضوية، فهذا يعني أن دفعتك لم تتم معالجتها بعد. غير نشطغير مكتملعنوان البريد الإلكتروني غير صالحاسم مستخدم غير صالحعنوان البريد الإلكتروني غير صالحمستوى العضوية غير صالحبيانات اعتماد API غير صالحة أو مفقودة! تحقق من إعدادات البرنامج المساعد وأدخل بيانات اعتماد API صالحة في قسم بيانات اعتماد PayPal لوضع %s.عنوان URL لخطاف الويب غير صالح.من المفيد استخدام صفحة الشكر في تكوين زر الدفع الخاص بك. سيتم أيضًا حذف حساب مستخدم WordPress المرتبط.انضم الآنانضم إلينارابط صفحة الانضمام إليناكبيرتاريخ آخر دخولآخر دخول من IPتاريخ آخر تسجيل دخولالاسم الأخيرالتخطيطاتركه فارغًا للاحتفاظ بكلمة المرور الحاليةالمستوىالمستوى المراد تغييره إلى:تم إنشاء الارتباط (الروابط) بنجاح. حالة اتصال الحساب المباشرمعرف العميل المباشرلم يتم تعيين بيانات اعتماد Live PayPal API. حساب PayPal المباشر غير متصل.مفتاح مباشر قابل للنشرالسر الحيالمفتاح السري المباشريوجد خطاف ويب مباشر. الحساب الحقيقي متصل. لم يتم تعيين بيانات اعتماد الوضع المباشر. تسجيل الدخولتم تسجيل الخروج بنجاح.تم تسجيل الدخول باسمتم تسجيل الدخول باسم:سجل الدخول هناعنوان URL لصفحة تسجيل الدخولتسجيل الخروجتسجيل خروج العضو من المتصفح، إغلاقذكرإدارة حماية المحتوىإدارة أزرار الدفعتمت إضافة المعاملة اليدوية بنجاح.متوسطعضودليل الأعضاءمعرف العضودخول الأعضاءملف العضوعضو منذتم اضافة سجل العضو بنجاح.عضو منذ تاريخهعضو لأن الحقل غير صالحعنوان العضوعنوان البريد الإلكتروني للعضوالاسم الأول للعضوالاسم الأخير للعضواسم المستخدم الخاص بالعضوالأعضاءيجب على الأعضاء تسجيل الدخول للتعليقالعضويةمستوى العضويةتعذر العثور على مستوى العضوية.تم إنشاء مستوى العضوية بنجاح.معرف مستوى العضويةتم تحديث مستوى العضوية بنجاح.مستوى العضوية:مستوى العضوية:مستويات العضويةعنوان URL لتجديد العضويةمعرف مستوى العضويةتم إتمام عملية تغيير مستوى العضوية بنجاح.تم تحديث مستوى العضوية.اسم مستوى العضويةمعرف حساب التاجرمعرف التاجرالحد الأدنىأشهر (تنتهي صلاحية الوصول بعد عدد محدد من الأشهر)الاسم يحتوي على حرف غير صالحأبداتم إرسال كلمة المرور الجديدة إلى عنوان بريدك الإلكتروني.التاليبعد ذلك، حدد مستوى عضوية موجود من المربع المنسدل أدناه ثم حدد المنشورات والصفحات التي تريد منح حق الوصول إليها (لمستوى العضوية المحدد هذا).بعد ذلك، حدد مستوى عضوية موجود من المربع المنسدل أدناه ثم حدد الفئات التي تريد منح حق الوصول إليها (لمستوى العضوية المحدد هذا).لا انتهاء الصلاحيةلا يوجد انتهاء صلاحية (لن تنتهي صلاحية الوصول لهذا المستوى حتى يتم إلغاؤهلا يوجد انتهاء صلاحية (لن تنتهي صلاحية الوصول لهذا المستوى حتى يتم إلغاؤه)لا توجد اشتراكات نشطةلم يتم العثور على فئة.لم يتم العثور على أي عناصر.لم يتم العثور على أي عضو.لم يتم العثور على مستويات العضوية.لم يتم تحديد مستلم.لا شكرالم يتم توفير رمز مميز.لم يتم العثور على مستخدم بعنوان البريد الإلكتروني هذا.لم يتم العثور على مستخدم باسم المستخدم أو البريد الإلكتروني هذا.لم يتم العثور على خطاف ويب. لم يتم العثور على خطاف ويب. لم يتم العثور على خطاف ويب. لم يتم العثور على خطاف ويب. لا، لا تحمي هذا المحتوى.فشل التحقق مرة واحدة.فشل الفحص مرة واحدة. فشل التحقق مرة واحدة. لا، ربما في وقت لاحقليس حقاغير محددلست عضوا؟لست عضوا؟لاحظ أن واجهة برمجة تطبيقات الاشتراك في PayPal تتطلب من موقعك استخدام عناوين URL لـ HTTPS. ملاحظة:ملاحظة: لا يمكنك تمكين الخيارين "تعطيل الوصول إلى WP Dashboard" وخيارات "إذن الوصول إلى لوحة تحكم المسؤول" في نفس الوقت. إعلام المستخدمحسنا، أنت تستحق ذلكأوتفاصيل اختياريةإعدادات الصفحات الاختياريةصفحة اختيارية. إعداد الصفحة والإعدادات ذات الصلة بعنوان URL.الصفحاتإعدادات الصفحاتكلمة المرورإعادة تعيين كلمة المرورعنوان URL لصفحة إعادة تعيين كلمة المرورتم إعادة تعيين كلمة المرور بنجاح.كلمة المرور فارغة أو غير صالحة.لا يمكن أن يكون حقل كلمة المرور فارغًا.كلمة المرور مطلوبةعدم تطابق كلمة المروريجب أن تحتوي كلمة المرور على الأقل على:تم إرسال رابط إعادة تعيين كلمة المرور إلى عنوان بريدك الإلكتروني.كلمة المرور:الدفعباي بالمعلومات بيانات اعتماد PayPal API مفقودة في الإعدادات. الرجاء إدخال بيانات اعتماد PayPal API صالحة في علامة التبويب "الإعدادات العامة" لوضع %s.بيانات اعتماد PayPal API مفقودة. إعداد حساب PayPalتفاصيل خطة فوترة PayPal لهذا الزرباي بال اشتري الآنPayPal اشتري الآن (واجهة برمجة التطبيقات الجديدة)تكوين زر الشراء الآن (API الجديد) لـ PayPalتكوين زر الشراء الآن لـPayPalرصيد باي بالبريد باي بالإعدادات باي بالالدفع الذكي لباي بالبيانات اعتماد PayPal Smart Checkout API (يمكنك الحصول عليها من حساب PayPal الخاص بك)تكوين زر الدفع الذكي لـ PayPalاشتراك باي بالاشتراك PayPal (واجهة برمجة التطبيقات الجديدة)تكوين زر اشتراك PayPal (واجهة برمجة التطبيقات الجديدة)تكوين زر الاشتراك في PayPalخطافات الويب الخاصة بـPayPalمبلغ الدفعمعرف زر الدفععنوان زر الدفععملة الدفعتفاصيل الدفعطرق الدفععنوان URL لإعادة توجيه إشعار الدفعإعدادات الدفعزر الدفعفشل التحقق من الدفع: تم استلام مبلغ غير صالح. المتوقع %1$s %2$s، حصل على %3$s %4$s.المدفوعاتمعلقالهاتفرقم الهاتف (إن وجد)حبوب منع الحملمن فضلكمن فضلك %s إذا أعجبك البرنامج الإضافي.الرجاء تسجيل الدخول للتعليق.يرجى التحقق من واحد على الأقل.يرجى تصحيح ما يلييرجى تصحيح ما يلي.يرجى تصحيح ما يلي:الرجاء إدخال أي رقمين بدون مسافات بدون (مثال: 12)الرجاء إدخال أي رقمين بدون مسافات (مثال: 12)*الرجاء تسجيل الدخول مرة أخرى.الرجاء تسجيل الدخول للتعليق.يرجى ملاحظة أن علامة الدمج التالية لا تعمل في هذا البريد الإلكتروني.حماية المشاركات والصفحاتالرمز البريدي/الرمز البريديالرمز البريديالمشاركاتملء عنوان البريد الإلكتروني للعضو مسبقًاقم بملء عنوان البريد الإلكتروني للعضو الذي قام بتسجيل الدخول مسبقًا في نموذج الخروج Stripe عندما يكون ذلك ممكنًاسياسة الخصوصيةعنوان URL لصفحة سياسة الخصوصيةالمفتاح الخاصجارٍ معالجة طلب إعادة تعيين كلمة المرور...الملف الشخصيتم تحديث الملف الشخصي بنجاح.تم تحديث الملف الشخصي بنجاح. مطالبة الزائرين باتخاذ إجراء باستخدام زر بسيط لدفع العضوية.تم تحديث إعدادات الحماية!المفتاح العامإعادة المحاولة عند الفشلأعد إنشاء الصفحات المطلوبةاقرأاقرأ هذه الوثائقمستطيلمبلغ الفواتير المتكررةدورة الفوترة المتكررةعدد دورات الفواتير المتكررةراجع هذه الوثائق التسجيلالتسجيلعنوان URL لصفحة التسجيلتم التسجيل بنجاح.ستظهر روابط إكمال التسجيل أدناه​​تذكرنيكرر كلمة المرورمستجيبإعادة تعيين كلمة المرورعنوان URL للإرجاعالدورمعرف الصفيمكن الوصول إلى لوحة تحكم مسؤول SWPM للمستخدمين الإداريين فقط (تمامًا مثل أي مكون إضافي آخر). لم يتم تعيين بيانات اعتماد Sanbbox PayPal API. حالة اتصال حساب Sandboxمعرف عميل Sandboxحساب Sandbox PayPal غير متصل.سر الرملالمفتاح السري لصندوق الرملSandbox Webhook موجود. حساب Sandbox متصل. لم يتم تعيين بيانات اعتماد وضع الحماية. حفظ التغييراتحفظ البياناتحفظ مستوى العضويةحفظ بيانات الدفعحفظ بيانات المعاملةقم بالتمرير لأسفل إلى القسم الذي يحمل عنوان -Simple WP Membership Protection-.بحثالبحث عن معاملة باستخدام البريد الإلكتروني أو الاسم أو معرف المعاملة أو معرف الاشتراك.بحث...فحص الأمان: فشل التحقق من صحة كلمة التحقق.حدد خيار -نعم، حماية هذا المحتوى-.اختر المستوى الحالياختر المستوىاختر نوع زر الدفعاختر المستوى المستهدفاختر المستوىاختر عنصرًا لعرضهاختيار لون الزر.حدد ارتفاع الزر.اختر تخطيط الزر.تحديد شكل الزر.اختيار حجم الزر.حدد نوع الزر/التسمية.حدد عرض الزر.حدد المدة التي تريد الاحتفاظ بالحساب "المعلق".حدد طرق الدفع التي يمكن للعملاء استخدامها.حدد مستوى العضوية (سيتم تحديث تاريخ بدء الوصول لجميع الأعضاء الموجودين في هذا المستوى).حدد مستوى العضوية الحالي (سيتم تحديث مستوى العضوية لجميع الأعضاء الموجودين في هذا المستوى).حدد حالة الحساب الافتراضي للمستخدمين المسجلين حديثًا. حدد مستوى العضوية الذي يمكنه الوصول إلى هذا المحتوى:اختر مستوى العضوية الجديد.إرسال بريد إلكتروني مباشرإرسال بريد إلكتروني مباشر للأعضاءإرسال بريد إلكتروني إلى العضو عند إضافته عبر لوحة تحكم المسؤولإرسال إشعار إلى المسؤولإرسال رسالة تذكير بالتسجيل عبر البريد الإلكتروني أيضًاإرسال إلى معرفات الأعضاءإرسال إلى مستوى العضويةانتهت الجلسة.اضبط الحالة على نشطةاضبط الحالة على نشط وقم بالإخطاراضبط الحالة على منتهية الصلاحيةاضبط الحالة على غير نشطاضبط الحالة على -معلق-حدد الفاصل الزمني للدفع المتكرر.الإعداداتتنطبق الإعدادات الموجودة في هذا القسم على كافة رسائل البريد الإلكتروني.تم تحديث الإعدادات!الشكلإظهار Adminbar للمسؤولإظهار كلمة المرورفضةموقع بسيط للمكونات الإضافية للعضويةخيارات بسيطة لحماية العضويةعضوية بسيطة::المدفوعاتحماية بسيطة لعضوية WPعضوية WP بسيطة::إضافاتعضوية WP بسيطة::الأعضاءعضوية WP بسيطة::مستويات العضويةعضوية WP بسيطة::الإعداداتالحجمصغيرسيتم عرض بعض إعدادات وخيارات المكونات الإضافية البسيطة للعضوية هنا (إذا كانت لديك)عذرًا، فشل التحقق مرة واحدة.عذرًا، كلمة المرور غير متطابقة.حدد قيمة تاريخ بدء الوصول.الدولةالولاية / المقاطعة / المنطقةالحالةالحالة/الملاحظةشارعمؤشر القوةمفتاح Stripe API Live القابل للنشرالمفتاح السري لـ Stripe API Liveمفتاح قابل للنشر لاختبار Stripe APIالمفتاح السري لاختبار Stripe APIمفاتيح API الشريطية.شريط اشتري الآنتكوين زر الشراء الآنالإعدادات العامة للشريطStripe Legacy اشتر الآن (مهمل)الاشتراك القديم في الشريط (مهمل)Stripe SCA اشتري الآناشتراك Stripe SCAاشتراك الشريطإرسالاشتراكمعرف المشتركمعرف/مرجع المشتركمعرف خطة الاشتراكوضع خطة الاشتراكتم إلغاء الاشتراك.تاريخ بدء الاشتراكتفاصيل الاشتراك/الفوترة المتكررةالنجاح!النجاح! بيانات إضافية متعلقة بالنظامقم باتخاذ الخطوات التالية لتطبيق الحماية على المحتوى الخاص بك حتى يتمكن الأعضاء فقط من الوصول إليه.المستلمون المستهدفونالشروط والأحكامعنوان URL لصفحة الشروط والأحكاماختباراختبار المفتاح القابل للنشراختبار المفتاح السرياختبار وتصحيح الإعدادات ذات الصلة.شكرا لكعنوان URL لصفحة الشكرهذا عظيم!تتطلب أزرار الدفع PayPal التي تستخدم واجهة برمجة التطبيقات الجديدة خطافات الويب. يتم تعيين تاريخ بدء الوصول للعضو إلى اليوم الذي يقوم فيه المستخدم بالتسجيل. حالة الحساب التي سيتم تطبيقها على الملف الشخصي بعد الدفع. لا يسمح مسؤول هذا الموقع للمستخدمين بالوصول إلى لوحة تحكم wp.الفئة أو الفئة الأصلية لهذا المنشور محمية. عنوان البريد الإلكتروني الذي استخدمته مدرج في القائمة السوداء على هذا الموقع.عنوان البريد الإلكتروني الذي استخدمته غير مدرج في القائمة البيضاء على هذا الموقع.حقل نص البريد الإلكتروني فارغ.حقل موضوع البريد الإلكتروني فارغ.التفاصيل التالية اختياريةالتفاصيل التالية اختيارية.الصفحات التالية مطلوبة حتى يعمل البرنامج الإضافي بشكل صحيح. فشل التحقق من صحة البيانات المدخلة. يرجى التصحيح وإعادة المحاولة.يقوم البرنامج المساعد بحفظ هذه المعلومات لأغراض النظام لبعض الملفات الشخصية. قائمة المستلمين فارغة حاليًا.تم إعادة إنشاء الصفحات المطلوبة.تم حذف الإدخال المحدد!يمكن لمسؤول الموقع تعطيل ميزة Force WP User Synchronization في الإعدادات لتعطيل هذه الميزة وسيختفي هذا الخطأ.لا يمكن عرض هذا المحتوى إلا من قبل الأعضاء الذين انضموا في أو قبل ذلكهذا المحتوى للأعضاء فقط.هذا المحتوى غير مسموح به لمستوى عضويتك.هذه الوثائقسيتم إرسال هذا البريد الإلكتروني إذا تم تمكين تنشيط البريد الإلكتروني لمستوى العضوية.سيتم إرسال هذا البريد الإلكتروني لمطالبة المستخدمين بإكمال التسجيل بعد الدفع.سيتم إرسال هذا البريد الإلكتروني إلى المشرف عندما يكمل مستخدم جديد تسجيل العضوية. سيتم إرسال هذا البريد الإلكتروني إلى أعضائك عند استخدام إجراء التنشيط والإخطار للحساب المجمع.سيتم إرسال هذا البريد الإلكتروني إلى المستخدمين بعد ترقية الحساب (عندما يدفع العضو الحالي مقابل مستوى العضوية الجديد).سيتم إرسال هذا البريد الإلكتروني إلى المستخدمين لديك عندما يكملون التسجيل ويصبحوا أعضاء.سيتم إرسال هذا البريد الإلكتروني إلى المستخدمين عند استخدامهم لوظيفة إعادة تعيين كلمة المرور.يحدث هذا الخطأ عندما لا يكون لدى حساب العضو حساب مستخدم WP مطابق.تتيح لك هذه الميزة إرسال رسائل بريد إلكتروني إلى مجموعة من الأعضاء بناءً على مستوى عضويتهم أو معرفات الأعضاء الفردية.هذا الحقل مطلوبتحتوي هذه الواجهة على أدوات مفيدة لعمليات الإدارة المختلفة.تتيح لك هذه الواجهة تكوين القائمة السوداءتتيح لك هذه الواجهة تخصيص رسائل البريد الإلكتروني المتنوعة التي يتم إرسالها إلى أعضائك لاتخاذ إجراءات مختلفة. يتم حساب ذلك بناءً على مستوى العضوية الحالي المخصص لهذا العضو وشرط انتهاء الصلاحية الذي حددته لمستوى العضوية هذا.هذه هي حالة حساب العضو. يمكن استخدام هذا الخيار لإعادة توجيه المستخدمين إلى صفحة معينة بعد النقر على رابط تنشيط البريد الإلكتروني وتنشيط الحساب.تسمح لك هذه الصفحة بتكوين بعض الميزات المتقدمة للمكون الإضافي.يسمح لك هذا القسم بتكوين الإعدادات المتعلقة بالدفع Stripe.يسمح لك هذا القسم بتكوين الإنشاء التلقائي لحسابات الأعضاء عندما يتم إنشاء سجلات مستخدم WP جديدة بواسطة مكون إضافي آخر. يسمح لك هذا القسم بتكوين إعدادات القائمة السوداء.يسمح لك هذا القسم بتكوين الشروط والأحكام وسياسة الخصوصية التي يجب على المستخدمين قبولها في وقت التسجيل.يسمح لك هذا القسم بتكوين إعدادات القائمة البيضاء.يسمح لك هذا القسم بتمكين/تعطيل وضع الحماية أو وضع الاختبار لأزرار الدفع.يعرض هذا القسم صورة معاينة لزر PayPal لتوضيح مكان ظهور زر PayPal في الواجهة الأمامية.لن تعمل هذه العلامة في هذا البريد الإلكتروني نظرًا لأنه يتم تخزين كلمة المرور في قاعدة البيانات باستخدام تجزئة أحادية الاتجاه، مما يعني أن المكون الإضافي لا يمكنه استرداد كلمة مرور النص العادي بمجرد إنشاء الحساب.تم بالفعل استخدام رابط التسجيل الفريد هذا (راجع عنوان URL في شريط عنوان المتصفح). رابط التسجيل الفريد هذا (انظر عنوان URL في شريط عنوان المتصفح) غير صالح. يتم تحديث هذه القيمة عندما يقوم هذا العضو بتسجيل الدخول إلى موقعك.عنوانلمتابعة عملية الحذف، يرجى إدخال كلمة المرور الحالية لحساب المستخدم هذا.الأدواتمعرف المعاملةالمعاملاتمبلغ الفاتورة التجريبيةتفاصيل الفاتورة التجريبية (اتركها فارغة إذا كنت لا تقدم فترة تجريبية)فترة الفوترة التجريبيةالنوعخطأ غير متوقع! إلغاء الاشتراك من باي بالتحديث API استخدم مفتاح التعريف الارتباطي اعدادت الدفعاستخدام إعدادات مفاتيح API العامةاستخدم هذا الخيار إذا كنت تريد أن يتم تسجيل دخول الأعضاء تلقائيًا إلى موقعك مباشرة بعد إكمال التسجيل. استخدم هذا الخيار إذا كنت تريد إخفاء نموذج التسجيل للأعضاء الذين قاموا بتسجيل الدخول. استخدم هذا الخيار إذا كنت تريد إظهار شريط أدوات الإدارة للمستخدمين الإداريين فقط. لم يتم تسجيل دخول المستخدم.اسم المستخدماسم المستخدم موجود بالفعل.اسم المستخدم يمكن أن يحتوي فقط على: حروف وأرقام و.-*@اسم المستخدم يحتوي على حرف غير صالحلا يمكن أن يكون حقل اسم المستخدم فارغًا.اسم المستخدم مطلوباسم المستخدم أو البريد الإلكترونيأسماء المستخدمين يمكن أن تحتوي فقط على: أحرف وأرقام و.-_*@يجب على المستخدمين قبوله قبل أن يتمكنوا من إكمال التسجيل.يجب على المستخدمين قبول الشروط قبل أن يتمكنوا من إكمال التسجيل.التحقق من الصحة، يرجى الانتظارفينموالتحققعموديعرض الوثائقعرض الملف الشخصيقم بزيارة %s لقراءة وثائق الإعداد والتكوين.عضوية الفسفور الأبيضتحذير! نأسف لسماع أنك لا تستمتع بالمكون الإضافي Simple Membership. خطاف الويب موجود. تم إنشاء خطاف الويب.تم حذف Webhook.أسابيع (تنتهي صلاحية الوصول بعد عدد محدد من الأسابيعأسابيع (تنتهي صلاحية الوصول بعد عدد محدد من الأسابيع)عند إنشاء حساب عضو تلقائيًا باستخدام هذه الميزة، سيتم تعيين حالة حساب العضوية للمستخدم على الحالة التي تحددها هنا.عند إنشاء حساب عضو تلقائيًا باستخدام هذه الميزة، سيتم تعيين مستوى عضوية المستخدم على المستوى الذي تحدده هنا.عند التحقق، ستتم إعادة محاولة الدفع مرتين أخريين في حالة فشل الدفع.عند التمكين، سيتمكن الأعضاء منتهية الصلاحية من تسجيل الدخول إلى النظام ولكن لن يتمكنوا من عرض أي محتوى محمي. أبيضيسمح WordPress لمستخدم wp القياسي بالقدرة على الانتقال إلى عنوان URL الخاص بـ wp-admin والوصول إلى ملفه الشخصي من لوحة تحكم wp. يعرض WordPress شريط أدوات الإدارة لمستخدمي الموقع الذين قاموا بتسجيل الدخول. حساب ووردبريس موجود بالبريد الإلكتروني المحدد. حساب ووردبريس موجود باسم المستخدم المحدد. السنوات (ينتهي الوصول بعد عدد معين من السنوات)نعمنعم، قم بحماية هذا المحتوى.أنت على وشك حذف حساب. لقد قمت بتسجيل الدخول بالفعل. لا تحتاج إلى إنشاء حساب آخر. أنت تقوم حاليا بتحرير:لقد قمت بتسجيل الدخول كـ:لقد قمت بتسجيل الدخول إلى الموقع كمستخدم ADMIN في هذا المتصفح. لم تقم بتسجيل الدخول.لم يتم تسجيل دخولك كعضويمكنك إضافة سجل معاملة جديد يدويًا باستخدام هذه الواجهة. يمكنك أيضًا استخدام أزرار الدفع من المكونات الإضافية التالية لقبول الدفعات مقابل عضوياتك.يمكنك إنشاء زر دفع جديد لعضوياتك باستخدام هذه الواجهة.يمكنك إنشاء صفحة تجديد لموقعك. يمكنك إنشاء أزرار دفع العضوية منيمكنك تعديل زر الدفع باستخدام هذه الواجهة.يمكنك تعديل تفاصيل مستوى العضوية المحدد من هذه الواجهة.يمكنك تمكين هذا الخيار إذا كنت تريد التعامل مع وظيفة إعادة تعيين كلمة المرور باستخدام رابط إعادة التعيين الذي يتم إرساله عبر البريد الإلكتروني إلى العضو. يمكنك إدخال عنوان URL هنا لإعادة توجيه إشعار الدفع بعد معالجة دفع العضوية بواسطة هذا البرنامج المساعد. يمكنك إدخال عنوان URL هنا لإعادة توجيه الأعضاء إلى هذه الصفحة بعد النقر فوق رابط الخروج لتسجيل الخروج من موقعك.يمكنك إدخال عنوان URL هنا لإعادة توجيه الأعضاء إلى هذه الصفحة بعد إرسال نموذج التسجيل. يمكنك تغيير مستوى العضوية لأي عضو يدويًا عن طريق تحرير السجل من قائمة الأعضاء.يمكنك إنشاء رابط إكمال التسجيل يدويًا هنا وإعطائه لعميلك إذا فاتته رسالة البريد الإلكتروني التي تم إرسالها إليهم تلقائيًا بعد الدفع.يمكنك يدويًا تعيين قيمة تاريخ بدء وصول محددة لجميع الأعضاء الذين ينتمون إلى مستوى معين باستخدام الخيار التالي.يمكنك استخدامه لإظهار خيار تبديل رؤية كلمة المرور في نموذج تسجيل الدخول. يمكنك استخدام زر الرجوع في متصفحك للعودة إلى الموقع.يمكنك استخدام الخيار التالي لتحديث مستوى عضوية المستخدمين الذين ينتمون إلى المستوى الذي تحدده أدناه بشكل مجمّع.يمكنك استخدام هذا الخيار لتعطيل إشعار البريد الإلكتروني الذي يتم إرساله إلى الأعضاء عندما يقومون بالدفع مقابل الترقية أو التجديد.يمكنك استخدام هذا الخيار لإرسال إشعار سريع بالبريد الإلكتروني إلى هذا العضو (سيتم إرسال البريد الإلكتروني عندما تضغط على زر الحفظ أدناه).ليس لديك إذن بمشاهدة هذا المحتوى.تم تمكين وضع الدفع في وضع الحماية في إعدادات البرنامج المساعد.يجب عليك قبول الشروط والأحكام.يجب عليك الموافقة على سياسة الخصوصية.يجب عليك تسجيل الدخول لترقية العضوية.تحتاج إلى تفعيل حسابك. إذا لم تتلق رسالة بريد إلكتروني، فقم بإعادة إرسال رسالة التنشيط عبر البريد الإلكتروني %s.يجب عليك تسجيل الدخول لمشاهدة بقية المحتوى.يجب عليك تسجيل الدخول لمشاهدة هذا المحتوى.أنت بحاجة إلى تأكيد عنوان بريدك الإلكتروني. ستتم إعادة توجيهك تلقائيًا خلال بضع ثوانٍ. إذا لم يكن الأمر كذلك، من فضلك %s.سيتم إعادة توجيهك إلى الصفحة السابقة في بضع ثوان. سوف تحتاج إلى إعادة تسجيل الدخول منذ أن قمت بتغيير كلمة المرور الخاصة بك.سوف تتلقى رابطًا فريدًا عبر البريد الإلكتروني بعد الدفع. لم يتم تأكيد البريد الإلكتروني الخاص بحساب PayPal الخاص بك. حسابك على PayPal محدود لذا لا يمكنك قبول الدفع. انتهت صلاحية حسابك.كلمة المرور الحاليةمستوى عضويتك ليس لديه إذن لعرض هذا المحتوى.سيتم تحديث ملف تعريف عضويتك ليعكس الدفع.لن يرى زوارك أو أعضائك العاديون هذه الرسالة أبدًا. اسم المستخدم الخاص بملفك الشخصي:الرمز البريديحماية جماعية لوثائق المنشورات والصفحاتوثائق حماية الفئةقائمة حماية الفئةاضغط هنااضغط هناوثائق حماية المحتوىأعطنا تقييمًاغير مكتملقسم دفع العضويةقائمة المدفوعاتتجديدتم إنشاء الاشتراكلمعرفة كيفية الحصول على بيانات اعتماد PayPal API الخاصة بك.لمعرفة المزيد.~ فريق البرنامج المساعد عضوية بسيطةlanguages/simple-membership-it_IT.mo000064400000101157147206617610013516 0ustar00H\ x.y4D1"T-  )+4`r  $9Ml s }!M@h%sZ a n      ! ! )!5! =! I!W!k!!*!!-!9!%9"_"g"m"0u""""0"#*#A#H#W# k#$w## ### ##$$ !$/$ ?$J$_$n$1$&$ $$%%%6%H%e%|%%Y%[&=d&&:''R'BG(#( ((( (() )))I)G*Z*a*y** *%*'*=* =+K+++,,,,,,- -_"---- -----. .. &.!3.U.s.${. ..#.%.//&0/W/i/4///1/ 00@0A0?1&P1 w1 111$11111 2$292#K2 o2|2(2222233"3*30373P3m333333X3L4b4 k4x44/4 444 5555 555/5*/6Z63u669=73w77$777818G8^8t8-}888$88959S9'q99k9!$:F:d:j:q:;:#:: : :;;5;J;#Z;#~;;C;8<S?<a<v<^l=U=G!>i>o>~>J>>>>?m?@@'@0@#I@m@ @ @@1"A2TAADBLBL&C2sCCCC`D!wDDLlE3EIE7FF3wG(GGcH~H?HaH6INI VIaIgI4J:0KGkK/KK?jL+L L=L M7MFMUM.oM%MM M MM N&N$BNgNnNNNN'NN"N)O?OUOOkOBO"O3!PxUP PP)P2Q EQ%QQwQQ QQQQ QQ QRR+R ER5fRR:R9R,S ES RS\S0bS#SSS;ST1TMTUTfT }T!TTTTTT* U7USUYUiUzUUU,U.U-V @VNVjVVV#V!V.VW_0W`WSWEX Y%YLYOLZ.Z ZZ ZZZ[%\+\!@\ib\\\\]&] <])J]/t]F]$]^^^___ _ _``9`vA`````aa*a1aMa Taaa pa{a!aa5a ab1b+Lbxbb/bbb7c%;cac:ecccdgddd1e1Hezeeeeeeeef&fDf]f(yff f-fgg0gJg[g rg |ggg#g/g"gh#-hQhgh!ohlhh i %i3i%LiIri iiiiiijjjj>j=s3NJf5R V a>60 -z*\da$~}9@Wb8 @)ZD?t%+r3: v?A =+K/C=$u2S"!H:(j*c2sAfGxnkpLF -i[e3EG5>(#y4{R8lB7Jh,0!g1MC'w_<VT15m|q4UFX]oPN.  )#7EY O'/ ` ^<;Q% ,H&;D"&9 I.6B Email Settings (Account Upgrade Notification) Email Settings (Bulk Account Activate Notification) The rest of the content is not permitted for your membership level. You are currenty editing member with member ID: You can put multiple email addresses separated by comma (,) in the above field to send the notification to multiple email addresses. your account to gain access to this content.(Access expires on a fixed date)(required)(twice, leave empty to retain old password)(twice, required)Access DurationAccess StartsAccess Valid For/UntilAccess duration must be > 0.Access starts field is invalidAccount ExpiryAccount StateAccount StatusAccount has expired.Account is inactive.Account is pending.Account state field is invalidActiveAdd LevelAdd MemberAdd NewAdd New Member Add New Membership Level Add-onsAddons SettingsAdmin Dashboard Access PermissionAdmin Email AddressAdvanced SettingsAll the membership buttons that you created in the plugin are displayed here.All the payments/transactions of your members are recorded here.Allow Account DeletionAllow users to delete their accounts.Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.AmountAready takenAssign free membership level IDAuto Delete Pending AccountAvailableBilling Amount Each CycleBilling CycleBilling Cycle CountButton IDButton Image URLButton ShortcodeButton TitleButton TypeBuy NowCategory IDCategory NameCategory ProtectionCategory Type (Taxonomy)Category protection updated!Check this option to enable debug logging.CityClick here to complete your paid registrationClick on the following link to complete the registration.Comments not allowed by a non-member.CompanyCountCountryCreate a brand new user and add it to this site.Create new membership level.DateDate format is not valid.Days (Access expires after given number of days)Default Account StatusDefault WordPress RoleDeleteDelete AccountDelete User ProfileDescriptionDo you want to protect this content?E-mailEdit MemberEdit Membership Level Edit Profile Page URLEdit User Edit existing member details.Edit membership levelEmailEmail AddressEmail Address: Email BodyEmail Misc. SettingsEmail SettingsEmail Settings (Password Reset)Email Settings (Prompt to Complete Registration )Email Settings (Registration Complete)Email SubjectEmail address not valid.Email is already used.Email is invalidEmail is requiredEnable Expired Account LoginEnable Free MembershipEnable More Tag ProtectionEnable Sandbox TestingEnable this option if you only want the members of the site to be able to post a comment.Enable this option if you want the admin to receive a notification when a member registers.Enable this option if you want to do sandbox payment testing.Enable/disable registration for free membership level. When you enable this option, make sure to specify a free membership level ID in the field below.Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.Enter the Membership Level IDEnter the email address where you want the admin notification email to be sent to.Error! Failed to find a template path for the specified template: Example Content Protection SettingsExpire AfterExpiredExpiry: First NameFirst of all, globally protect the category on your site by selecting "General Protection" from the drop-down box below and then select the categories that should be protected from non-logged in users.Fixed Date ExpiryFor All Incomplete RegistrationsForgot PasswordFree Membership Level IDFree membership is disabled on this site. Please make a payment from the From Email AddressGenderGender field is invalidGeneral Plugin Settings.General SettingsGenerate CodeGenerate Registration Completion LinkGenerate a Registration Completion linkGenerate the "Advanced Variables" Code for your PayPal buttonHide AdminbarHint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).IDIf you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.InactiveInvalid Email AddressInvalid UsernameInvalid membership levelJoin UsJoin Us Page URLLast Accessed From IPLast NameLink(s) generated successfully. The following link(s) can be used to complete the registration.Live Publishable KeyLive Secret KeyLogged Out Successfully.Logged in asLoginLogin Page URLLogoutManage Content ProductionMemberMember LoginMember ProfileMember SinceMember record added successfully.Member since field is invalidMembersMembers Must be Logged in to CommentMembershipMembership LevelMembership Level Couldn't be found.Membership Level Creation Successful.Membership Level IDMembership Level NameMembership Level Updated Successfully.Membership LevelsMembership Renewal URLMonths (Access expires after given number of months)Name contains invalid characterNeverNew password has been sent to your email address.NextNext, select an existing membership level from the drop-down box below and then select the categories you want to grant access to (for that particular membership level).No Expiry (Access for this level will not expire until cancelledNo Expiry (Access for this level will not expire until cancelled)No member found.No user found with that email address.Not a Member?Notify UserOROptional DetailsPage Setup and URL Related settings.Pages SettingsPasswordPassword Empty or Invalid.Password ResetPassword Reset Page URLPassword is requiredPassword mismatchPayPal Buy Now Button ConfigurationPayPal EmailPayPal Integration SettingsPayPal Subscription Button ConfigurationPayment AmountPayment Button IDPayment Button TitlePayment CurrencyPayment SettingsPaymentsPendingPhonePleasePlease Login to Comment.Please correct the followingPlease correct the following:Please login again.Please login to comment.Plugin DocumentationProfileProfile updated successfully.Profile updated successfully. You will need to re-login since you changed your password.Re-attempt on FailureRegisterRegistrationRegistration Page URLRegistration Successful. Registration completion links will appear belowRemember MeRepeat PasswordReset PasswordReturn URLRoleRow IDSWPM admin dashboard is accessible to admin users only (just like any other plugin). You can allow users with other WP user role to access the SWPM admin dashboard by selecting a value here.Save ChangesSave Payment DataSearchSearch for a transaction by using email or nameSecurity check: captcha validation failed.Select Payment Button TypeSelect how long you want to keep "pending" account.Select the default account status for newly registered users. If you want to manually approve the members then you can set the status to "Pending".Select the membership level that can access this content:Send Email to Member When Added via Admin DashboardSend Notification to AdminSend Registration Reminder Email TooSession Expired.Set Status to ActiveSet Status to Active and NotifySet Status to ExpiredSet Status to InactiveSet Status to PendingSettingsSettings in this section apply to all emails.Settings updated!Show Adminbar to AdminSimple Membership Protection optionsSimple Membership::PaymentsSimple WP Membership ProtectionSimple WP Membership::Add-onsSimple WP Membership::MembersSimple WP Membership::Membership LevelsSimple WP Membership::SettingsSome of the simple membership plugin's addon settings and options will be displayed here (if you have them)Sorry, Nonce verification failed.Sorry, Password didn't match.StateStreetStrength indicatorStripe API keys. You can get this from your Stripe account.Stripe Buy Now Button ConfigurationSubmitSubscribe NowSubscriber IDSubscriber ID/ReferenceTest & Debug SettingsTest Publishable KeyTest Secret KeyTesting and Debug Related Settings.The following details are optional.The selected entry was deleted!This content can only be viewed by members who joined on or before This content is not permitted for your membership level.This email will be sent to prompt users to complete registration after the payment.This email will be sent to your members when you use the bulk account activate and notify action.This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).This email will be sent to your users when they complete the registration and become a member.This email will be sent to your users when they use the password reset functionality.This page allows you to configure some advanced features of the plugin.ToolsTransaction IDTrial Billing AmountTrial Billing Details (Leave empty if you are not offering a trial period)Trial Billing PeriodUpdateUse WordPress TimezoneUse this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.Use this option if you want to use the timezone value specified in your WordPress General Settings interface.User Not Found.User is not logged in.UsernameUsername already exists.Username contains invalid characterUsername is requiredView ProfileWP MembershipWarning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.Weeks (Access expires after given number of weeksWeeks (Access expires after given number of weeks)When enabled, expired members will be able to log into the system but won't be able to view any protected content. This allows them to easily renew their account by making another payment.WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.Wordpress account exists with given email. But given username doesn't match.Wordpress account exists with given username. But given email doesn't match.Years (Access expires after given number of years)You are currently editing: You are logged in as:You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a member.You are not logged in.You are not logged-in as a memberYou can create a renewal page for your site. Read this documentation to learn how to create a renewal page.You can create new payment button for your memberships using this interface.You can edit a payment button using this interface.You can edit details of a selected membership level from this interface. You can manually generate a registration completion link here and give it to your customer if they have missed the email that was automatically sent out to them after the payment.You have the sandbox payment mode enabled in plugin settings. Make sure to turn off the sandbox mode when you want to do live transactions.You need to login to view the rest of the content. You need to login to view this content. You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.Your account has expired. Your current passwordYour membership profile will be updated to reflect the payment.Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.Your profile username: ZipcodeincompleterenewProject-Id-Version: Simple Membershp POT-Creation-Date: 2016-12-09 10:34+0100 PO-Revision-Date: 2016-12-13 14:59+0100 Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.11 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: . Last-Translator: Plural-Forms: nplurals=2; plural=(n != 1); Language: it_IT X-Poedit-SearchPath-0: . Impostazioni Email (Notifica aggiornamento account) Impostazioni Email (Notifica di attivazione Account Bulk)Il resto del contenuto non è accessibile al tuo livello di iscrizione. Attualmente stai modificando il membro con ID: Puoi inserire nel campo qui sotto più indirizzi email separandoli da una virgola (,) per inviare le notifiche ad indirizzi multipli. l'account per garantirsi l'accesso a questo contenuto.(l'accesso scade a una data prefissata)(richiesto)(Due volte, lasciare vuoto per mantenere la vecchia password)(due volte, richiesto)Durata accessoInizio accessoAccesso valido per/fino aLa durata dell'accesso deve essere > di 0.Il campo Inizio accesso non è validoScadenza accountStato accountStato accountL'account è scaduto.L'account è inattivo.L'account è in attesa.Il campo Stato account non è validoAttivoAggiungi LivelloAggiungi MembroAggiungi NuovoAggiungi nuovo MembroAggiungi un nuovo livello di iscrizioneComponenti aggiuntiviImpostazioni componenti aggiuntiviPermessi di accesso della dashboard adminIndirizzi Email adminImpostazioni avanzateTutti i pulsanti di iscrizione che hai creato nel plugin sono visualizzati qui.Tutti i pagamenti/transazioni dei tuoi membri sono registrati qui.Abilitazione cancellazione accountAbilita gli utenti a cancellare il proprio account.In alternativa, puoi usare un altro browser (quando non hai un accesso come ADMIN) per testare l'accesso dei membri.AmmontareGià utilizzatoAssegna un ID livello iscrizione gratuitaCancellazione automatica degli account "In attesa"DisponibileAmmontare per ogni ciclo di pagamentoCicli pagamentoNumero cicli pagamentoID pulsanteURL immagine pulsanteShortcode pulsanteTitolo pulsanteTipo pulsantePaga oraID categoriaNome categoriaProtezione categorieTipo categoria (Taxonomy)Protezione categoria aggiornata!Abilita questa opzione per abilitare il log di debug.CittàClicca qui per completare la tua registrazione a pagamentoClicca sul seguente link per completare la registrazione.Commenti consentiti solo agli utenti membri.Ente/aziendaContatoreStatoCrea un nuovo utente e aggiungilo a questo sito.Crea un nuovo livello di iscrizioneDataIl formato data non è valido.Giorni (l'accesso scade dopo un certo numero di giorni)Stato predefinito accountRuolo predefinito WordpressEliminaCancella AccountElimina profilo utenteDescrizioneVuoi proteggere questo contenuto?EmailModifica MembroModifica livello di iscrizioneURL pagina Modifica profiloModifica utenteModifica i dettagli di un membro esistenteModifica livello iscrizioneEmailIndirizzo emailIndirizzo email:Contenuto EmailImpostazioni Email varieImpostazioni EmailImpostazioni Email (Reimpostazione password)Impostazioni Email (Completa la registrazione)Impostazioni Email (Registrazione completata)Oggetto EmailIndirizzo email non valido.Email già utilizzata.Email non validaEmail richiestaAbilita accesso per account scadutiAbilita l'iscrizione gratuitaAbilita la protezione per il tag "Leggi tutto"Abilita i test "Sandbox"Abilita questa opzione per permettere solo agli utenti Membri di essere in grado di commentare.Abilita questa opzione se vuoi che gli admin ricevano una notifica quando un membro si registra.Abilitazione questa opzione se vuoi eseguire i pagamenti nella modalità "Sandbox".Abilita/Disabilita la registrazione per il livello di iscrizione gratuito. Quando abiliti questa opzione , assicurati di specificare un ID per il livello di iscrizione gratuito nel campo qui sotto.Attiva o disattiva la protezione del tag "Leggi tutto" negli articoli o nelle pagine. Il contenuto dopo il tag "Leggi tutto" sarà protetto. Il contenuto prima del tag "Leggi tutto" sarà visibile a tutti.Inserisci l'ID livello iscrizioneInserisci gli indirizzi email dove si desiderano ricevere le notifiche adminErrore! Non è stato possibile trovare un percorso per il template specificato:Esempio: Impostazioni di un contenuto protettoScadenza dopoScadutoScadenza:NomePrima di tutto, proteggi a livello globale la categoria sul tuo sito selezionando "Protezione Generale" dal menu a tendina in basso e quindi seleziona le categorie che dovrebbero essere protette per gli utenti che non hanno eseguito l'accesso.Data fissata per la scadenzaPer tutte le registrazioni incompletePassword dimenticataID Livello di iscrizione gratuitoIl livello di iscrizione gratuito è disabilitato su questo sito. Si prega di effettuare un pagamento dalIndirizzo Email mittenteSessoIl campo Sesso non è validoImpostazioni generali Plugin.Impostazioni generaliGenera codiceGenera link "Completamento registrazione"Genera un link di "Completamento registrazione"Genera il codice delle "variabili avanzate" per i tuoi pulsanti PaypalNascondi la barra di amministrazioneSuggerimento: La password deve essere lunga almeno 7 caratteri. Per renderla più forte, utilizzare lettere maiuscole e minuscole, numeri e simboli come ! " ? $ % ^ & ).IDSe avete appena effettuato un pagamento per l'iscrizione allora il vostro pagamento è ancora in fase di elaborazione. Si prega di controllare tra pochi minuti. Vi verrà inviata una email a breve con tutti i dettagli.InattivoIndirizzo email non validoUsername non validoLivello di iscrizione non validoRegistratiURL pagina Unisciti a noiUltima accesso dall'IPCognomeLink generato(i) correttamente. I/Il seguenti/e link possono/può essere utilizzati/o per completare la registrazione.Live Publishable KeyLive Secret KeyLogout eseguito correttamente.Accesso eseguito comeAccediURL pagina LoginLogoutGestisci contenuto protettoMembriLogin MembroProfilo membroMembro dalMembro aggiunto correttamente.Il campo Membro dal non è validoMembriI membri devono eseguire l'accesso per commentareIscrizioneLivello di iscrizioneIl livello di iscrizione non può essere trovato.Livello di iscrizione creato correttamente.ID Livello iscrizioneNome livello iscrizioneLivello di iscrizione aggiornato correttamente.Livelli di iscrizioneURL Rinnovo IscrizioneMesi (l'accesso scade dopo un certo numero di mesi)Il nome contiene caratteri non validiMaiLa nuova password è stata inviata al tuo indirizzo email.ProssimoDopodichè, seleziona un livello di iscrizione esistente dal menu a tendina in basso e seleziona le categorie a cui vuoi garantire l'accesso (per quel particolare livello di iscrizione)Nessuna scadenza (l'accesso a questo livello non scade fino alla cancellazione dell'account)Nessuna scadenza (l'accesso a questo livello non scade fino alla cancellazione dell'account)Nessun membro trovato.Nessun utente trovato con questo indirizzo email.Non sei un membro?Notificare l'utenteoDettagli opzionaliImpostazioni URL di SetupImpostazioni paginePasswordPassword vuota o non valida.Reimpostazione passwordURL pagina Reimposta passwordLa password è richiestaLa password non corrispondeConfigurazione pulsante "Paypal Buy Now"Email account PaypalImpostazioni integrazione PaypalConfigurazione pulsante "Paypal Subscription"Ammontare pagamentoID pulsante pagamentoTitolo pulsante pagamentoValuta pagamentoImpostazioni pagamentiPagamentiIn attesaTelefonoSi pregaEsegui l'accesso per CommentareSi prega di correggere le seguenti informazioniCorreggi le seguenti informazioni:Per favore accedi nuovamente.Esegui l'accesso per commentareDocumentazione pluginProfiloProfilo aggiornato correttamente.Profilo aggiornato correttamente. Devi eseguire nuovamente l'accesso perche la tua password è cambiata.Tentativo in caso di erroreRegistratiRegistrazioneURL pagina RegistrazioneRegistrazione eseguita correttamente.I/Il link di completamento registrazione appariranno/apparirà di seguitoRicordamiRipeti passwordReimposta passwordURL di ritornoRuoloIDLa dashboard admin SWPM è accessibile solo agli amministratori (come tutti gli altri plugin). Puoi abilitare gli utenti WP con altri ruoli ad accedere alla dashboard admin SWPM selezionando un valore qui.Salva le modificheSalva dati pagamentoCercaCerca una transazione utilizzando l'email o il nome utenteControllo sicurezza: la convalida del captcha non è riuscitaSeleziona il tipo di pulsante a pagamentoSeleziona per quanto vuoi mantenere gli account "In attesa"Seleziona lo stato account predefinito per i nuovi utenti registrati. Se si desidera approvare manualmente i membri è possibile impostare lo stato "In attesa".Seleziona il livello di iscrizione che può accedere a questo contenutoInvia una email al Membro aggiunto attraverso la dashboard adminInvia notifica agli adminInviare l'email di promemoria-registrazione aSessione scaduta.Imposta lo stato AttivoImposta lo stato Attivo e Notifica l'utenteImposta lo stato ScadutoImposta lo stato InattivoImposta lo stato In attesaImpostazioniLe impostazioni in questa sezione si applicano a tutte le email.Impostazioni aggiornate!Visualizza la barra di amministrazione agli adminOpzioni di protezione - Simple WP MembershipSimple Membership::PagamentiProtezione Plugin - Simple WP MembershipSimple WP Membership::Componenti aggiuntiviSimple WP Membership::MembriSimple WP Membership::Livelli di iscrizioneSimple WP Membership::ImpostazioniAlcune delle impostazioni e opzioni dei componenti aggiuntivi del plugin Simple Membership appariranno qui (se hai componenti aggiuntivi)Ci dispiace, la verifica è fallita.Le password non coincidono.ProvinciaViaIndicatore di forzaChiavi API Stripe. Puoi ottenerle dal tuo account Stripe.Configurazione pulsante "Stripe Buy Now"InviaIscriviti oraID abbonatoID/Riferimento Sottoscrittore Impostazioni Test & DebugTest Publishable KeyTest Secret KeyImpostazioni relative ai Test e al DebugLe seguenti informazioni sono opzionali.La voce selezionata è stata cancellata!Questo contenuto può essere visualizzato solo dai membri che hanno aderito entro ilQuesto contenuto non è accessibile al tuo livello di iscrizione.Questa email sarà inviata agli utenti per invitarli a completare la registrazione dopo il pagamento.Questa email sarà inviata ai tuoi membri quando utilizzerai l'azione di notifica e attivazione account bulk.Questa email sarà inviata ai tuoi membri dopo un aggiornamento account (quando un membro esistente paga per un nuovo livello di iscrizione)Questa email sarà inviata ai tuoi utenti quando completeranno la registrazione e diventeranno membri.Questa email sarà inviata ai tuoi utenti quando utilizzeranno la funzionalità di reimpostazione password.Questa pagina ti permette di configurare alcuni funzionalità avanzate del plugin.StrumentiID transazioneAmmontare periodo di provaDettagli pagamento periodo di prova (lasciare vuoto se non si sta offrendo un periodo di prova)Durata periodo di provaAggiornaUtilizza il Fuso Orario di WordpressUtilizza questa opzione se vuoi far visualizzare la barra di amministrazione solo agli amministratori. La barra di amministrazione sarà nascosta per tutti gli altri utenti.Utilizza questa opzione per utilizzare il valore del "Fuso Orario" specificato nella pagina "Impostazioni Generali" di Wordpress.Utente non trovato.L'utente non ha eseguito l'accesso.UsernameUsername già utilizzato.L'Username contiene caratteri non validiUsername richiestoVisualizza profiloMembri WPAttenzione! Il plugin Simple Membership non può processare questa richiesta di login per prevenire un logout accidentale dal pannello amministrazione di Wordpress.Settimane (l'accesso scade dopo un certo numero di settimane)Settimane (l'accesso scade dopo un certo numero di settimane)Quando abilitato, i membri con account scaduti potranno eseguire l'accesso ma non saranno in grado di visualizzare il contenuto protetto. Questo permette agli utenti di rinnovare il proprio account eseguendo un nuovo pagamento.Wordpress visualizza una barra di amministrazione agli utenti che hanno eseguito l'accesso sul sito. Abilita questa opzione se vuoi nascondere la barra di amministrazione nel frontend del tuo sito.Un account Wordpress con questo indirizzo email esiste. Ma l'username utilizzato non corrisponde.Un account Wordpress con questo username esiste. Ma l'email utilizzata non corrisponde.Anni (l'accesso scade dopo un certo numero di anni)Attualmente stai modificando:Hai eseguito l'accesso come:In questo browser hai un accesso come utente ADMIN. Per prima cosa esegui il logout dal pannello amministrazione di Wordpress, poi sarai in grado di accedere come membro.Non hai effettuato l'accesso.Non hai l'acceso come membroPuoi creare una pagina per il rinnovo dell'iscrizione sul tuo sito. Leggi questa documentazione per imparare a creare una pagina di rinnovo iscrizione.Puoi creare un nuovo pulsante di pagamento per i tuoi membri da questa interfaccia.Puoi modificare il pulsante a pagamento utilizzando questa interfaccia.Puoi modificare i dettagli di un livello di iscrizione da questa interfaccia.Qui è possibile generare manualmente un link di "Completamento registrazione" ed inviarlo al vostro cliente in caso avesse smarrito l'email che gli è stata inviata automaticamente dopo il pagamento.Hai la modalità di pagamento sandbox abilitata nelle impostazioni del plugin. Assicurati di disattivare la modalità sandbox quando vorrai eseguire transazioni reali.Devi eseguire l'accesso per visualizzare il resto del contenuto.Devi eseguire l'accesso per visualizzare questo contenuto.Riceverai un link unico via email dopo il pagamento. Potrai utilizzare questo link per completare la registrazione.Il tuo account è scaduto.La tua password attualeIl tuo profilo di iscrizione sarà aggiornato per riflettere il pagamento.I tuoi normali visitatori o membri non vedranno mai questo messaggio. Questo messaggio è visibile SOLO agli utenti amministratori.Il tuo username del profilo:CAPincompleto di rinnovarelanguages/simple-membership-sk_SK.po000064400000147617147206617610013536 0ustar00msgid "" msgstr "" "Project-Id-Version: Simple WordPress Membership\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: Mon Jun 13 2016 19:55:42 GMT+0200 (CEST)\n" "PO-Revision-Date: Thu Jun 16 2016 18:54:53 GMT+0200 (CEST)\n" "Last-Translator: spravca \n" "Language-Team: \n" "Language: Slovak\n" "Plural-Forms: nplurals=3; plural=( n == 1 ) ? 0 : ( n >= 2 && n <= 4 ) ? 1 : " "2\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-Basepath: .\n" "X-Poedit-SearchPath-0: ..\n" "X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;" "__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;" "_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;" "esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;" "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n" "X-Loco-Target-Locale: sk_SK\n" "X-Generator: Loco - https://localise.biz/" #: ../views/admin_add.php:38 msgid "Add New Member " msgstr "Pridať nového člena" #: ../views/admin_member_form_common_part.php:23 msgid "Gender" msgstr "Pohlavie" #: ../views/admin_member_form_common_part.php:30 ../views/edit.php:29 msgid "Phone" msgstr "Telefón" #: ../views/admin_member_form_common_part.php:34 ../views/edit.php:33 msgid "Street" msgstr "Ulica" #: ../views/admin_member_form_common_part.php:38 ../views/edit.php:37 msgid "City" msgstr "Mesto" #: ../views/admin_member_form_common_part.php:42 ../views/edit.php:41 msgid "State" msgstr "Štát" #: ../views/admin_member_form_common_part.php:46 ../views/edit.php:45 msgid "Zipcode" msgstr "PSČ" #: ../views/admin_member_form_common_part.php:50 ../views/edit.php:49 msgid "Country" msgstr "Krajina" #: ../views/admin_member_form_common_part.php:54 msgid "Company" msgstr "Spoločnosť" #: ../views/admin_member_form_common_part.php:58 msgid "Member Since" msgstr "Členom od" #: ../views/admin_add_ons_page.php:7 msgid "Simple WP Membership::Add-ons" msgstr "Simple WP Membership::Doplnky" #: ../views/login.php:24 msgid "Remember Me" msgstr "Zapamätaj si ma" #: ../views/login.php:30 msgid "Forgot Password" msgstr "Zabudnúť heslo" #: ../views/admin_edit.php:5 msgid "Edit Member" msgstr "Upraviť člena" #: ../views/admin_edit.php:7 msgid "Edit existing member details." msgstr "Upraviť existujúce detaily člena" #: ../views/admin_edit.php:8 msgid " You are currenty editing member with member ID: " msgstr "Práve upravujete člena s ID:" #. translators: password input field #: ../views/admin_edit.php:38 msgid "(twice, leave empty to retain old password)" msgstr "(dvakrát, nechajte tak ak chcete zachovať staré heslo)" #: ../views/admin_edit.php:54 msgid "Notify User" msgstr "Upovedomiť člena" #: ../views/admin_edit.php:61 msgid "Subscriber ID/Reference" msgstr "ID/Referencia člena" #: ../views/admin_edit.php:65 msgid "Last Accessed From IP" msgstr "Naposledy pripojený z IP" #: ../views/admin_edit.php:73 msgid "Edit User " msgstr "Upraviť užívateľa" #: ../views/admin_edit.php:77 msgid "Delete User Profile" msgstr "Vymazať užívateľský profil" #: ../views/edit.php:17 ../views/add.php:18 msgid "Repeat Password" msgstr "Zopakuj heslo" #: ../views/edit.php:60 msgid "Update" msgstr "Aktualizovať" #: ../views/admin_membership_manage.php:18 msgid "Example Content Protection Settings" msgstr "Príklad nastavenia ochrany obsahu" #: ../views/add.php:41 msgid "Register" msgstr "Registruj sa" #: ../views/admin_add_level.php:6 msgid "Create new membership level." msgstr "Vytvoriť novú úroveň členstva" #: ../views/admin_add_level.php:22 msgid "No Expiry (Access for this level will not expire until cancelled" msgstr "Nevyprší nikdy (Prístup pre túto úroveň nevyprší kým nebude zrušený)" #: ../views/admin_add_level.php:26 msgid "Weeks (Access expires after given number of weeks" msgstr "Týždne (Prístup vyprší po zadanom počte týždňov)" #: ../views/admin_add_level.php:38 msgid "Add New Membership Level " msgstr "Pridať novú úroveň členstva" #: ../views/payments/admin_payment_settings.php:26 msgid "PayPal Integration Settings" msgstr "Nastavenie integrácie so službou PayPal" #: ../views/payments/admin_payment_settings.php:29 msgid "Generate the \"Advanced Variables\" Code for your PayPal button" msgstr "Vytvoriť kód \"pokročilých premenných\" pre vaše PayPal tlačidlo" #: ../views/payments/admin_payment_settings.php:32 msgid "Enter the Membership Level ID" msgstr "Zadajte ID úrovne členstva" #: ../views/payments/admin_payment_settings.php:34 msgid "Generate Code" msgstr "Vytvoriť kód" #: ../views/payments/admin_all_payment_transactions.php:7 msgid "All the payments/transactions of your members are recorded here." msgstr "Všetky platby/transakcie vašich členov sa uložia tu." #: ../views/payments/admin_all_payment_transactions.php:14 msgid "Search for a transaction by using email or name" msgstr "Vyhľadajte transakciu použitím emailu alebo mena" #: ../views/payments/admin_edit_payment_buttons.php:12 msgid "You can edit a payment button using this interface." msgstr "" #: ../views/payments/admin_create_payment_buttons.php:13 msgid "You can create new payment button for your memberships using this interface." msgstr "Môžete vytvoriť nové tlačidlo pre vaše členstvo využitím tohto rozhrania." #: ../views/payments/admin_create_payment_buttons.php:22 msgid "Select Payment Button Type" msgstr "Vyberte typ tlačidla platby" #: ../views/payments/admin_create_payment_buttons.php:34 msgid "Next" msgstr "Ďalej" #: ../views/payments/admin_payment_buttons.php:7 msgid "All the membership buttons that you created in the plugin are displayed here." msgstr "Všetky členské tlačidlá ktoré ste vytvorili v module sú zobrazené tu." #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:20 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:287 msgid "PayPal Subscription Button Configuration" msgstr "Úprava tlačidla pre členské platbou PayPalom" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:29 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:301 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:210 msgid "Button Title" msgstr "Názov tlačidla" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:47 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:319 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:236 msgid "Payment Currency" msgstr "Mena platby" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:86 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:358 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:283 msgid "PayPal Email" msgstr "PayPal email" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:94 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:366 msgid "Billing Amount Each Cycle" msgstr "Účtovaní cena za každý cyklus" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:102 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:374 msgid "Billing Cycle" msgstr "Účtovací cyklus" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:115 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:387 msgid "Billing Cycle Count" msgstr "Počítadlo účtovacích cyklov" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:123 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:395 msgid "Re-attempt on Failure" msgstr "Skúsiť znova v prípade že sa nepodarilo" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:136 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:408 msgid "Trial Billing Details (Leave empty if you are not offering a trial period)" msgstr "Detaily skúšobnej doby (Nechajte prázdne, ak neposkytujete skúšobnú dobu)" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:142 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:414 msgid "Trial Billing Amount" msgstr "Veľkosť skúšobnej doby" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:150 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:422 msgid "Trial Billing Period" msgstr "Trvanie skúšobnej doby" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:167 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:439 msgid "Optional Details" msgstr "Nepovinné detaily" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:173 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:445 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:275 msgid "Return URL" msgstr "Spätná URL" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:181 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:453 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:291 msgid "Button Image URL" msgstr "URL spodného obrázku" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:193 .. #: views/payments/payment-gateway/admin_paypal_subscription_button.php:465 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:301 msgid "Save Payment Data" msgstr "Uložiť detaily platby" #: ../views/payments/payment-gateway/admin_paypal_subscription_button.php:293 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:202 msgid "Button ID" msgstr "ID tlačidla" #: ../views/payments/payment-gateway/admin_paypal_buy_now_button.php:18 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:193 msgid "PayPal Buy Now Button Configuration" msgstr "Konfigurácia tlačidla PayPal Now" #: ../views/payments/payment-gateway/admin_paypal_buy_now_button.php:46 .. #: views/payments/payment-gateway/admin_paypal_buy_now_button.php:228 msgid "Payment Amount" msgstr "Suma platby" #: ../views/payments/payment-gateway/paypal_button_shortcode_view.php:85 .. #: views/payments/payment-gateway/paypal_button_shortcode_view.php:87 msgid "Buy Now" msgstr "Kúpiť teraz" #: ../views/payments/payment-gateway/paypal_button_shortcode_view.php:213 .. #: views/payments/payment-gateway/paypal_button_shortcode_view.php:215 msgid "Subscribe Now" msgstr "Prihlásiť sa teraz" #: ../classes/class.swpm-settings.php:184 msgid "" "You can create a renewal page for your site. Read this documentation to learn how to create a renewal page." msgstr "" "Môžete vytvoriť stránku na obnovenie pre váš web. Prečítajte sitúto dokumentáciuaby ste vedeli ako na to." #: ../classes/class.swpm-settings.php:186 msgid "Allow Account Deletion" msgstr "Povoliť zmazanie účtu" #: ../classes/class.swpm-settings.php:188 msgid "Allow users to delete their accounts." msgstr "Povoľte užívateľom vymazať ich účty." #: ../classes/class.swpm-settings.php:189 msgid "Auto Delete Pending Account" msgstr "Automatické vymazanie čakajúceho účtu" #: ../classes/class.swpm-settings.php:192 msgid "Select how long you want to keep \"pending\" account." msgstr "Vyberte ako dlho chcete uchovať \"čakajúci\" účet." #: ../classes/class.swpm-settings.php:194 msgid "Admin Dashboard Access Permission" msgstr "Povolenie prístupu k administratívnemu panelu" #: ../classes/class.swpm-settings.php:197 msgid "" "SWPM admin dashboard is accessible to admin users only (just like any other " "plugin). You can allow users with other WP user role to access the SWPM " "admin dashboard by selecting a value here." msgstr "" "SWPM administratívny panel je prístupný len administrátorom (tak ako každý " "modul). Tu môžete povoliť užívateľom iných WP rolí, aby mohli mať prístup k " "SWPM panelu vybraním hodnoty." #: ../classes/class.swpm-settings.php:434 msgid "Simple WP Membership::Settings" msgstr "Simple WP Membership::Settings" #: ../classes/class.swpm-front-registration.php:49 msgid "" "You will receive a unique link via email after the payment. You will be able " "to use that link to complete the premium membership registration." msgstr "" "Prostredníctvom emailu získate po platbe unikátny odkaz na stránky. " "Prostredníctvom tohto odkazu budete môcť dokončiť platenú členskú " "registráciu. " #: ../classes/class.swpm-front-registration.php:77 msgid "Security check: captcha validation failed." msgstr "Bezpečnostné upozornenie: Overenie pomocou captcha zlyhalo." #: ../classes/class.swpm-front-registration.php:86 msgid "Registration Successful. " msgstr "Registrácia úspešná." #: ../classes/class.swpm-front-registration.php:98 ../classes/class.swpm-front- #: registration.php:185 msgid "Please correct the following" msgstr "Prosím opravte naslednové" #: ../classes/class.swpm-front-registration.php:129 msgid "Membership Level Couldn't be found." msgstr "Úroveň členstva nebola nájdená." #: ../classes/class.swpm-front-registration.php:168 msgid "Profile updated successfully." msgstr "Profil sa načítal úspešne." #: ../classes/class.swpm-front-registration.php:176 msgid "" "Profile updated successfully. You will need to re-login since you changed " "your password." msgstr "" "Profil sa načítal úspešne. Budete sa musieť opätovne prihlásiť pretože ste " "si zmenili heslo." #: ../classes/class.swpm-front-registration.php:195 msgid "Email address not valid." msgstr "Emailova adresa je neplatná." #: ../classes/class.swpm-front-registration.php:206 msgid "No user found with that email address." msgstr "Nebol nájdený žiadny užívateľ s touto adresou." #: ../classes/class.swpm-front-registration.php:207 ../classes/class.swpm-front- #: registration.php:233 msgid "Email Address: " msgstr "Emailová adresa:" #: ../classes/class.swpm-front-registration.php:232 msgid "New password has been sent to your email address." msgstr "Nové heslo bolo zaslané na vašu emailovú adresu." #: ../classes/class.swpm-category-list.php:33 msgid "Category ID" msgstr "ID Kategórie" #: ../classes/class.swpm-category-list.php:34 msgid "Category Name" msgstr "Meno kategórie" #: ../classes/class.swpm-category-list.php:35 msgid "Category Type (Taxonomy)" msgstr "Typ kategórie (Taxonómia)" #: ../classes/class.swpm-category-list.php:36 msgid "Description" msgstr "Popis" #: ../classes/class.swpm-category-list.php:37 msgid "Count" msgstr "Počítadlo" #: ../classes/class.swpm-category-list.php:89 msgid "Category protection updated!" msgstr "Ochrana kategórie aktualizovaná!" #: ../classes/class.swpm-membership-levels.php:22 msgid "Role" msgstr "Rola" #: ../classes/class.swpm-membership-levels.php:23 msgid "Access Valid For/Until" msgstr "Prístup platný pre/do" #: ../classes/class.swpm-membership-levels.php:198 ../views/admin_members_list. #: php:27 ../views/payments/admin_all_payment_transactions.php:18 msgid "Search" msgstr "Hľadať" #: ../classes/class.swpm-membership-levels.php:236 msgid "Simple WP Membership::Membership Levels" msgstr "Simple WP Membership::Členské úrovne" #: ../classes/class.swpm-membership-levels.php:241 msgid "Add Level" msgstr "Pridaj úroveň" #: ../classes/class.swpm-membership-levels.php:242 msgid "Manage Content Production" msgstr "Spravujte tvorbu obsahu" #: ../classes/class.swpm-membership-levels.php:243 msgid "Category Protection" msgstr "Ochrana kategórie" #: ../classes/shortcode-related/class.swpm-shortcodes-handler.php:47 msgid "Your membership profile will be updated to reflect the payment." msgstr "Váš užívateľský profil bude aktualizovaný, aby zohľadnil platbu." #: ../classes/shortcode-related/class.swpm-shortcodes-handler.php:48 msgid "Your profile username: " msgstr "Užívateľské meno vášho profilu:" #: ../classes/shortcode-related/class.swpm-shortcodes-handler.php:60 msgid "Click on the following link to complete the registration." msgstr "Kliknite na tento odkaz aby ste dokončili registráciu." #: ../classes/shortcode-related/class.swpm-shortcodes-handler.php:61 msgid "Click here to complete your paid registration" msgstr "Kliknite sem aby ste dokončili platenú registráciu." #: ../classes/shortcode-related/class.swpm-shortcodes-handler.php:66 msgid "" "If you have just made a membership payment then your payment is yet to be " "processed. Please check back in a few minutes. An email will be sent to you " "with the details shortly." msgstr "" "Práve ste spravili platbu za platené členstvo a vaša platba bude spracovaná. " "Prosím vráťte sa o pár minút. Čoskoro vám bude zaslaný email s podrobnosťami." #: ../classes/shortcode-related/class.swpm-shortcodes-handler.php:80 msgid "Expiry: " msgstr "Vypršané:" #: ../classes/shortcode-related/class.swpm-shortcodes-handler.php:82 msgid "You are not logged-in as a member" msgstr "Nie ste prihlásený ako člen" #: ../classes/admin-includes/class.swpm-payments-admin-menu.php:21 msgid "Simple Membership::Payments" msgstr "Simple Membership::Platby" #: ../classes/admin-includes/class.swpm-payments-list-table.php:57 msgid "View Profile" msgstr "Prezrieť profil" #: ../classes/admin-includes/class.swpm-payments-list-table.php:76 msgid "Row ID" msgstr "ID riadku" #: ../classes/admin-includes/class.swpm-payments-list-table.php:77 .. #: views/forgot_password.php:5 msgid "Email Address" msgstr "Emailová adresa" #: ../classes/admin-includes/class.swpm-payments-list-table.php:80 msgid "Member Profile" msgstr "Členský profil" #: ../classes/admin-includes/class.swpm-payments-list-table.php:81 msgid "Date" msgstr "Dátum" #: ../classes/admin-includes/class.swpm-payments-list-table.php:82 msgid "Transaction ID" msgstr "ID transakcie" #: ../classes/admin-includes/class.swpm-payments-list-table.php:83 msgid "Subscriber ID" msgstr "ID člena" #: ../classes/admin-includes/class.swpm-payments-list-table.php:84 msgid "Amount" msgstr "Množstvo" #: ../classes/admin-includes/class.swpm-payment-buttons-list-table.php:71 msgid "Payment Button ID" msgstr "ID tlačidla platby" #: ../classes/admin-includes/class.swpm-payment-buttons-list-table.php:72 msgid "Payment Button Title" msgstr "Názov tlačidla platby" #: ../classes/admin-includes/class.swpm-payment-buttons-list-table.php:73 msgid "Membership Level ID" msgstr "ID úrovne členstva" #: ../classes/admin-includes/class.swpm-payment-buttons-list-table.php:74 msgid "Button Shortcode" msgstr "Shortcode tlačidla" #: ../classes/admin-includes/class.swpm-payment-buttons-list-table.php:115 .. #: views/admin_members_list.php:6 .. #: views/payments/admin_all_payment_transactions.php:33 msgid "The selected entry was deleted!" msgstr "Vybraný vstup bol vymazaný!" #: ../classes/common/class.swpm-list-table.php:137 msgid "List View" msgstr "Zobrazenie zoznamu" #: ../classes/common/class.swpm-list-table.php:138 msgid "Excerpt View" msgstr "Zobrazenie úryvkov" #: ../classes/common/class.swpm-list-table.php:305 msgid "No items found." msgstr "Nič sme nenašli." #: ../classes/common/class.swpm-list-table.php:431 msgid "Select bulk action" msgstr "Vyberte pre hromadnú správu" #: ../classes/common/class.swpm-list-table.php:433 msgid "Bulk Actions" msgstr "Hromadná správa" #: ../classes/common/class.swpm-list-table.php:443 msgid "Apply" msgstr "Vykonať" #: ../classes/common/class.swpm-list-table.php:543 msgid "Filter by date" msgstr "Vybrať podľa dátumu" #: ../classes/common/class.swpm-list-table.php:545 msgid "All dates" msgstr "Všetky dátumy" #. translators: 1: month name, 2: 4-digit year #: ../classes/common/class.swpm-list-table.php:555 #, php-format msgid "%1$s %2$d" msgstr "%1$s %2$d" #: ../classes/common/class.swpm-list-table.php:599 #, php-format msgid "%s pending" msgstr "%s čakajúci" #: ../classes/common/class.swpm-list-table.php:678 ../classes/common/class.swpm- #: list-table.php:1086 #, php-format msgid "1 item" msgid_plural "%s items" msgstr[0] "1 položka" msgstr[1] "%s položky" msgstr[2] "%s položky" #: ../classes/common/class.swpm-list-table.php:695 msgid "Go to the first page" msgstr "Prejdi na prvú stránku" #: ../classes/common/class.swpm-list-table.php:698 msgid "Go to the previous page" msgstr "Prejdi na predošlú stránku" #: ../classes/common/class.swpm-list-table.php:704 msgid "Select Page" msgstr "Vybrať stránku" #: ../classes/common/class.swpm-list-table.php:704 msgid "Current page" msgstr "Súčasná stránka" #: ../classes/common/class.swpm-list-table.php:708 #, php-format msgctxt "paging" msgid "%1$s of %2$s" msgstr "%1$s %2$s" #: ../classes/common/class.swpm-list-table.php:710 msgid "Go to the next page" msgstr "Prejdi na ďalšiu stránku" #: ../classes/common/class.swpm-list-table.php:713 msgid "Go to the last page" msgstr "Prejdi na poslednú stránku" #: ../classes/common/class.swpm-list-table.php:848 msgid "Select All" msgstr "Vybrať všetko" #: ../views/admin_category_list.php:5 msgid "" "First of all, globally protect the category on your site by selecting " "\"General Protection\" from the drop-down box below and then select the " "categories that should be protected from non-logged in users." msgstr "" "Najskôr celkovo ochráňte kategóriu na vašej stránke tým, ze vyberiete " "\"Všeobecná ochrana\" z rozbaľovacieho boxu nižšie a potom vyberiete kategórie," " ktoré majú byť ochránené pred neprihlásenými užívateľmi." #: ../views/admin_category_list.php:8 msgid "" "Next, select an existing membership level from the drop-down box below and " "then select the categories you want to grant access to (for that particular " "membership level)." msgstr "" "Potom vyberte existujúcu členskú úroveň z rozbaľovacieho boxu nižšie a potom " "vyberte kategórie, ktoré chcete aby boli prístupné (pre konkrétnu " "užívateľskú úroveň)." #: ../views/admin_tools_settings.php:6 msgid "Generate a Registration Completion link" msgstr "Nechajte vytvoriť odkaz pre dokončenie registrácie" #: ../views/admin_tools_settings.php:9 msgid "" "You can manually generate a registration completion link here and give it to " "your customer if they have missed the email that was automatically sent out " "to them after the payment." msgstr "" "Môžete odkaz pre dokončenie registrácie vytvoriť manuálne, aby ste ho mohli " "poslať vašim zákazníkom, ak premeškali email, ktorý im bol zaslaný " "automaticky po platbe." #: ../views/admin_tools_settings.php:14 msgid "Generate Registration Completion Link" msgstr "Znova vytvoriť odkaz pre dokončenie registrácie" #: ../views/admin_tools_settings.php:17 msgid "OR" msgstr "ALEBO" #: ../views/admin_tools_settings.php:18 msgid "For All Incomplete Registrations" msgstr "Pre všetky nedokončené registrácie" #: ../views/admin_tools_settings.php:23 msgid "Send Registration Reminder Email Too" msgstr "Zaslať taktiež upozornenie o registrácií emailom" #: ../views/admin_tools_settings.php:29 msgid "Submit" msgstr "Zaslať" #: ../views/admin_tools_settings.php:38 msgid "" "Link(s) generated successfully. The following link(s) can be used to " "complete the registration." msgstr "" "Vytvorenie odkazu/ov bolo úspešné. Nasledovná linka/y môže byť použití na " "dokončenie registrácie." #: ../views/admin_tools_settings.php:40 msgid "Registration completion links will appear below" msgstr "Odkaz pre dokončenie registrácie sa objaví nižšie" #: ../views/loggedin.php:6 msgid "Logged in as" msgstr "Prihlásený ako" #: ../views/loggedin.php:10 ../views/admin_add.php:28 ../views/admin_edit.php:47 msgid "Account Status" msgstr "Štatút účtu" #: ../views/loggedin.php:14 msgid "Membership" msgstr "Členstvo" #: ../views/loggedin.php:18 msgid "Account Expiry" msgstr "Účet vyprší" #: ../views/loggedin.php:22 msgid "Logout" msgstr "Odhlásenie" #: ../views/admin_edit_level.php:5 msgid "Edit membership level" msgstr "Upraviť úroveň členstva" #: ../views/admin_edit_level.php:8 msgid "You can edit details of a selected membership level from this interface. " msgstr "Môžete upraviť podrobnosti vybranej úrovne členstva z tohto rozhrania." #: ../views/admin_edit_level.php:9 msgid "You are currently editing: " msgstr "Momentálne upravujete:" #: ../views/admin_edit_level.php:15 ../views/admin_add_level.php:11 msgid "Membership Level Name" msgstr "Meno úrovne členstva" #: ../views/admin_edit_level.php:15 ../views/admin_edit_level.php:19 .. #: views/admin_edit_level.php:23 ../views/admin_add.php:10 ../views/admin_add. #: php:14 ../views/admin_edit.php:13 ../views/admin_edit.php:34 .. #: views/admin_add_level.php:11 ../views/admin_add_level.php:15 .. #: views/admin_add_level.php:19 msgid "(required)" msgstr "(požadované)" #: ../views/admin_edit_level.php:19 ../views/admin_add_level.php:15 msgid "Default WordPress Role" msgstr "Predvolená užívateľská rola" #: ../views/admin_edit_level.php:23 ../views/admin_add_level.php:19 msgid "Access Duration" msgstr "Povolený čas prístupu" #: ../views/admin_edit_level.php:26 msgid "No Expiry (Access for this level will not expire until cancelled)" msgstr "Bez vypršania (prístup pre túto úroveň nebude ukončený kým sa nezruší)" #: ../views/admin_edit_level.php:27 ../views/admin_edit_level.php:30 .. #: views/admin_edit_level.php:33 ../views/admin_edit_level.php:36 .. #: views/admin_add_level.php:23 ../views/admin_add_level.php:25 .. #: views/admin_add_level.php:27 ../views/admin_add_level.php:29 msgid "Expire After" msgstr "Vyprší po" #: ../views/admin_edit_level.php:28 ../views/admin_add_level.php:24 msgid "Days (Access expires after given number of days)" msgstr "Dni (prístup vyprší po zadanom počte dní)" #: ../views/admin_edit_level.php:31 msgid "Weeks (Access expires after given number of weeks)" msgstr "Týždne (prístup vyprší po zadanom počte týždňov)" #: ../views/admin_edit_level.php:34 ../views/admin_add_level.php:28 msgid "Months (Access expires after given number of months)" msgstr "Mesiace (prístup vyprší po zadanom počte mesiacov)" #: ../views/admin_edit_level.php:37 ../views/admin_add_level.php:30 msgid "Years (Access expires after given number of years)" msgstr "Roky (prístup vyprší po zadanom počte rokov)" #: ../views/admin_edit_level.php:39 ../views/admin_add_level.php:31 msgid "Fixed Date Expiry" msgstr "Presnú dátum vypršania prístupu" #: ../views/admin_edit_level.php:40 ../views/admin_add_level.php:32 msgid "(Access expires on a fixed date)" msgstr "(Prístup vyprší v konkrétny dátum)" #: ../views/admin_edit_level.php:46 msgid "Edit Membership Level " msgstr "Upraviť úroveň členstva" #: ../views/forgot_password.php:11 msgid "Reset Password" msgstr "Zmeniť heslo" #: ../views/admin_addon_settings.php:3 msgid "" "Some of the simple membership plugin's addon settings and options will be " "displayed here (if you have them)" msgstr "" "Tu budú zobrazené niektoré jednoduché doplnky Simple Membership modulu a " "nastavenia (Ak ich máte)" #: ../views/admin_addon_settings.php:8 msgid "Save Changes" msgstr "Uložiť zmeny" #: ../views/admin_add.php:6 msgid "Create a brand new user and add it to this site." msgstr "Vytvoriť úplne nového užívateľa a pridať ho na túto stránku." #: ../views/admin_add.php:14 ../views/admin_edit.php:34 msgid "E-mail" msgstr "Email" #: ../views/admin_add.php:18 ../views/login.php:17 ../views/admin_edit.php:38 .. #: views/edit.php:13 ../views/add.php:14 msgid "Password" msgstr "Heslo" #. translators: password input field #: ../views/admin_add.php:18 msgid "(twice, required)" msgstr "(dvakrát, vyžaduje sa)" #: ../views/admin_add.php:23 ../views/admin_edit.php:42 msgid "Strength indicator" msgstr "Indikátor sily" #: ../views/admin_add.php:24 ../views/admin_edit.php:43 msgid "" "Hint: The password should be at least seven characters long. To make it " "stronger, use upper and lower case letters, numbers and symbols like ! \" ? $ " "% ^ & )." msgstr "" "Odporúčanie: Heslo by malo byť aspoň sedem znakov dlhé. Aby ste zvýšili " "bezpečnosť, použite veľké aj malé písmena, čísla a symboli ako ! \" ? $ % ^ " "& )." #. Name of the plugin msgid "Simple WordPress Membership" msgstr "Simple WordPress Membership" #. URI of the plugin msgid "https://simple-membership-plugin.com" msgstr "https://simple-membership-plugin.com" #. Author of the plugin msgid "smp7, wp.insider" msgstr "smp7, wp.insider" #. Description of the plugin msgid "" "A flexible, well-supported, and easy-to-use WordPress membership plugin for " "offering free and premium content from your WordPress site." msgstr "" "Flexibilný, jednoducho používateľný, WordPress modul so skvelou podporou, " "ktorý vám umožňuje vytvárať voľne dostupný aj prémiový obsah na vašej " "WordPress stránke." #: ../classes/class.swpm-init-time-tasks.php:111 msgid "Sorry, Nonce verification failed." msgstr "Prepáčte, ale vaše overenie zlyhalo." #: ../classes/class.swpm-init-time-tasks.php:118 msgid "Sorry, Password didn't match." msgstr "Prepáčte, ale vaše heslo sa nezhoduje." #: ../classes/class.swpm-membership-level.php:38 msgid "Membership Level Creation Successful." msgstr "Úspešné vytvorenie úrovne členstva." #: ../classes/class.swpm-membership-level.php:43 ../classes/class.swpm-membership- #: level.php:62 ../classes/class.swpm-admin-registration.php:59 ../classes/class. #: swpm-admin-registration.php:81 ../classes/class.swpm-admin-registration.php:105 msgid "Please correct the following:" msgstr "Prosím upravte nasledovné:" #: ../classes/class.swpm-membership-level.php:57 msgid "Membership Level Updated Successfully." msgstr "Úroveň členstva bola úspešne aktualizovaná." #: ../classes/class.swpm-form.php:29 msgid "Wordpress account exists with given username. But given email doesn't match." msgstr "" "Wordpress účet s rovnakým užívateľským menom už existuje. Emaily sa však " "nezhodujú." #: ../classes/class.swpm-form.php:34 msgid "Wordpress account exists with given email. But given username doesn't match." msgstr "" "Wordpress účet s rovnakým emailom už existuje. Užívateľské mená sa však " "nezhodujú." #: ../classes/class.swpm-form.php:43 msgid "Username is required" msgstr "Vyžaduje sa užívateľské meno" #: ../classes/class.swpm-form.php:47 msgid "Username contains invalid character" msgstr "Užívateľské meno obsahuje nepovolený znak" #: ../classes/class.swpm-form.php:55 msgid "Username already exists." msgstr "Užívateľské meno už existuje." #: ../classes/class.swpm-form.php:78 msgid "Password is required" msgstr "Vyžaduje sa heslo" #: ../classes/class.swpm-form.php:85 msgid "Password mismatch" msgstr "Nesprávne heslo" #: ../classes/class.swpm-form.php:96 msgid "Email is required" msgstr "Vyžaduje sa email" #: ../classes/class.swpm-form.php:100 msgid "Email is invalid" msgstr "Email je neplatný" #: ../classes/class.swpm-form.php:116 msgid "Email is already used." msgstr "Tento email sa už používa." #: ../classes/class.swpm-form.php:173 msgid "Member since field is invalid" msgstr "Pole Člen od je neplatné" #: ../classes/class.swpm-form.php:184 msgid "Access starts field is invalid" msgstr "Pole Prístup začal je neplatné" #: ../classes/class.swpm-form.php:194 msgid "Gender field is invalid" msgstr "Pole Pohlavie je neplatné" #: ../classes/class.swpm-form.php:205 msgid "Account state field is invalid" msgstr "Pole Stav účtu je neplatné" #: ../classes/class.swpm-form.php:212 msgid "Invalid membership level" msgstr "Neplatná úroveň členstva" #: ../classes/class.simple-wp-membership.php:294 msgid "You are not logged in." msgstr "Nie ste prihlásený." #: ../classes/class.simple-wp-membership.php:328 msgid "Simple WP Membership Protection" msgstr "Ochrana Simple WP Membership" #: ../classes/class.simple-wp-membership.php:340 msgid "Simple Membership Protection options" msgstr "Nastavenie Ochrany Simple WP Membership" #: ../classes/class.simple-wp-membership.php:356 msgid "Do you want to protect this content?" msgstr "Chcete ochrániť tento obsah?" #: ../classes/class.simple-wp-membership.php:361 msgid "Select the membership level that can access this content:" msgstr "Vyberte úroveň členstva, ktorá bude mať prístup k tomuto obsahu:" #: ../classes/class.simple-wp-membership.php:490 ../classes/class.simple-wp- #: membership.php:490 msgid "WP Membership" msgstr "WP Membership" #: ../classes/class.simple-wp-membership.php:491 ../classes/class.simple-wp- #: membership.php:491 ../classes/class.swpm-members.php:12 ../classes/class.swpm- #: members.php:385 msgid "Members" msgstr "Členovia" #: ../classes/class.simple-wp-membership.php:492 ../classes/class.simple-wp- #: membership.php:492 ../classes/class.swpm-category-list.php:20 ../classes/class. #: swpm-membership-levels.php:12 ../classes/class.swpm-membership-levels.php:240 msgid "Membership Levels" msgstr "Úrovne členstva" #: ../classes/class.simple-wp-membership.php:493 ../classes/class.simple-wp- #: membership.php:493 msgid "Settings" msgstr "Nastavenia" #: ../classes/class.simple-wp-membership.php:494 ../classes/class.simple-wp- #: membership.php:494 msgid "Payments" msgstr "Platby" #: ../classes/class.simple-wp-membership.php:495 ../classes/class.simple-wp- #: membership.php:495 msgid "Add-ons" msgstr "Doplnky" #: ../classes/class.swpm-members.php:11 msgid "Member" msgstr "Členovia" #: ../classes/class.swpm-members.php:20 ../classes/class.swpm-membership-levels. #: php:20 msgid "ID" msgstr "ID" #: ../classes/class.swpm-members.php:21 ../views/admin_add.php:10 ../views/login. #: php:11 ../views/admin_edit.php:13 ../views/edit.php:5 ../views/add.php:6 msgid "Username" msgstr "Užívateľské meno" #: ../classes/class.swpm-members.php:22 ../classes/admin-includes/class.swpm- #: payments-list-table.php:78 ../views/admin_member_form_common_part.php:15 .. #: views/edit.php:21 ../views/add.php:22 msgid "First Name" msgstr "Meno" #: ../classes/class.swpm-members.php:23 ../classes/admin-includes/class.swpm- #: payments-list-table.php:79 ../views/admin_member_form_common_part.php:19 .. #: views/edit.php:25 ../views/add.php:26 msgid "Last Name" msgstr "Priezvisko" #: ../classes/class.swpm-members.php:24 ../views/edit.php:9 ../views/add.php:10 msgid "Email" msgstr "Email" #: ../classes/class.swpm-members.php:25 ../classes/class.swpm-category-list.php: #: 19 ../classes/class.swpm-membership-levels.php:11 ../classes/class.swpm- #: membership-levels.php:21 ../classes/admin-includes/class.swpm-payments-list- #: table.php:85 ../views/admin_member_form_common_part.php:2 ../views/edit.php:53 #: ../views/add.php:30 ../views/payments/payment- #: gateway/admin_paypal_subscription_button.php:37 ../views/payments/payment- #: gateway/admin_paypal_subscription_button.php:309 ../views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:36 ../views/payments/payment- #: gateway/admin_paypal_buy_now_button.php:218 msgid "Membership Level" msgstr "Úroveň členstva" #: ../classes/class.swpm-members.php:26 ../views/admin_member_form_common_part. #: php:11 msgid "Access Starts" msgstr "Prístup začne" #: ../classes/class.swpm-members.php:27 msgid "Account State" msgstr "Stav účtu" #: ../classes/class.swpm-members.php:43 ../classes/class.swpm-membership-levels. #: php:36 ../classes/admin-includes/class.swpm-payments-list-table.php:102 .. #: classes/admin-includes/class.swpm-payment-buttons-list-table.php:89 msgid "Delete" msgstr "Vymazať" #: ../classes/class.swpm-members.php:44 msgid "Set Status to Active" msgstr "Zmeň stav na Aktívny" #: ../classes/class.swpm-members.php:45 msgid "Set Status to Active and Notify" msgstr "Zmeň stav na Aktívny a upovedom" #: ../classes/class.swpm-members.php:46 msgid "Set Status to Inactive" msgstr "Zmeň stav na Neaktívny" #: ../classes/class.swpm-members.php:47 msgid "Set Status to Pending" msgstr "Zmeň stav na Čaká" #: ../classes/class.swpm-members.php:48 msgid "Set Status to Expired" msgstr "Zmeň stav na Vypršal" #: ../classes/class.swpm-members.php:69 msgid "incomplete" msgstr "neúplné" #: ../classes/class.swpm-members.php:184 msgid "No member found." msgstr "Žiadny člen nebol nájdený." #: ../classes/class.swpm-members.php:380 msgid "Simple WP Membership::Members" msgstr "Simple WP Membership::Členovia" #: ../classes/class.swpm-members.php:381 ../views/admin_members_list.php:40 msgid "Add New" msgstr "Pridať nového" #: ../classes/class.swpm-members.php:386 ../views/admin_add.php:5 msgid "Add Member" msgstr "Pridať člena" #: ../classes/class.swpm-utils-member.php:21 ../classes/class.swpm-utils-member. #: php:29 ../classes/class.swpm-utils-member.php:37 ../classes/class.swpm-utils- #: member.php:47 msgid "User is not logged in." msgstr "Užívateľ nie je prihlásený." #: ../classes/class.swpm-comment-form-related.php:15 msgid "Please login to comment." msgstr "Prosím prihláste sa ak chcete pridávať komentáre." #: ../classes/class.swpm-comment-form-related.php:40 msgid "Please Login to Comment." msgstr "Prosím prihláste sa ak chcete pridávať komentáre." #: ../classes/class.swpm-comment-form-related.php:79 msgid "Comments not allowed by a non-member." msgstr "Užívatelia ktorí nemajú členstvo nemôžu pridávať komentáre." #: ../classes/class.swpm-level-form.php:47 msgid "Date format is not valid." msgstr "Formát dátumu je neplatný." #: ../classes/class.swpm-level-form.php:55 msgid "Access duration must be > 0." msgstr "Trvanie prístupu musí byť > 0." #: ../classes/class.swpm-utils-misc.php:50 msgid "Registration" msgstr "Registrácia" #: ../classes/class.swpm-utils-misc.php:73 msgid "Member Login" msgstr "Prihlásenie Člena" #: ../classes/class.swpm-utils-misc.php:96 msgid "Profile" msgstr "Profil" #: ../classes/class.swpm-utils-misc.php:119 msgid "Password Reset" msgstr "Reset hesla" #: ../classes/class.swpm-utils-misc.php:218 ../classes/class.swpm-utils-misc.php: #: 230 ../classes/class.swpm-front-registration.php:86 msgid "Please" msgstr "Prosím" #: ../classes/class.swpm-utils-misc.php:219 msgid "Not a Member?" msgstr "Nie ste členom?" #: ../classes/class.swpm-utils-misc.php:219 ../views/login.php:33 msgid "Join Us" msgstr "Pridajte sa k nám" #: ../classes/class.swpm-utils-misc.php:230 msgid "renew" msgstr "obnov" #: ../classes/class.swpm-utils-misc.php:230 msgid " your account to gain access to this content." msgstr "aby mal váš účet prístup k tomuto obsahu" #: ../classes/class.swpm-admin-registration.php:54 msgid "Member record added successfully." msgstr "Záznam člena bol úspešne pridaný." #: ../classes/class.swpm-admin-registration.php:96 msgid "Your current password" msgstr "Vaše súčasné heslo" #: ../classes/class.swpm-auth.php:50 msgid "User Not Found." msgstr "Užívateľ neboj nájdený." #: ../classes/class.swpm-auth.php:57 msgid "Password Empty or Invalid." msgstr "Heslo je prázdne alebo neplatné." #: ../classes/class.swpm-auth.php:83 msgid "Account is inactive." msgstr "Účet je neaktívny." #: ../classes/class.swpm-auth.php:86 ../classes/class.swpm-auth.php:107 msgid "Account has expired." msgstr "Životnosť účtu vypršala." #: ../classes/class.swpm-auth.php:89 msgid "Account is pending." msgstr "Účet čaká na schválenie." #: ../classes/class.swpm-auth.php:115 msgid "You are logged in as:" msgstr "Ste prihlásení ako:" #: ../classes/class.swpm-auth.php:161 msgid "Logged Out Successfully." msgstr "Úspešne ste sa odhlásili." #: ../classes/class.swpm-auth.php:213 msgid "Session Expired." msgstr "Boli ste odhlásení." #: ../classes/class.swpm-auth.php:222 msgid "Invalid Username" msgstr "Neplatné členské heslo" #: ../classes/class.swpm-auth.php:230 msgid "Please login again." msgstr "Prosím, opäť sa prihláste." #: ../classes/class.swpm-access-control.php:56 ../classes/class.swpm-access- #: control.php:128 ../classes/class.swpm-access-control.php:209 msgid "Your account has expired. " msgstr "Váš účet vypršal." #: ../classes/class.swpm-access-control.php:79 ../classes/class.swpm-access- #: control.php:148 msgid "This content is not permitted for your membership level." msgstr "Tento obsah nie je povolenú pre vašu úroveň prístupu." #: ../classes/class.swpm-access-control.php:201 msgid "You need to login to view the rest of the content. " msgstr "Musíte sa prihlásiť, aby sa vám tento obsah zobrazil." #: ../classes/class.swpm-access-control.php:214 msgid " The rest of the content is not permitted for your membership level." msgstr "Zvyšok obsahu nie je určený pre vašu úroveň prístupu." #: ../classes/class.swpm-ajax.php:14 msgid "Invalid Email Address" msgstr "Neplatná emailová adresa" #: ../classes/class.swpm-ajax.php:21 ../classes/class.swpm-ajax.php:36 msgid "Aready taken" msgstr "Už je používané" #: ../classes/class.swpm-ajax.php:30 msgid "Name contains invalid character" msgstr "Meno obsahuje neplatné znaky" #: ../classes/class.swpm-ajax.php:37 msgid "Available" msgstr "Dostupné" #: ../classes/class.swpm-utils.php:67 msgid "Active" msgstr "Aktívne" #: ../classes/class.swpm-utils.php:68 msgid "Inactive" msgstr "Neaktívne" #: ../classes/class.swpm-utils.php:69 msgid "Pending" msgstr "Čaká" #: ../classes/class.swpm-utils.php:70 msgid "Expired" msgstr "Vypršalo" #: ../classes/class.swpm-utils.php:302 msgid "Never" msgstr "Nikdy" #: ../classes/class.swpm-utils.php:394 msgid "Delete Account" msgstr "Vymazať účet" #: ../classes/class.swpm-settings.php:27 ../classes/class.swpm-settings.php:55 msgid "General Settings" msgstr "Všeobecné nastavenia" #: ../classes/class.swpm-settings.php:28 msgid "Payment Settings" msgstr "Nastavenie platieb" #: ../classes/class.swpm-settings.php:29 msgid "Email Settings" msgstr "Nastavenie emailu" #: ../classes/class.swpm-settings.php:30 msgid "Tools" msgstr "Nástroje" #: ../classes/class.swpm-settings.php:31 ../classes/class.swpm-settings.php:178 msgid "Advanced Settings" msgstr "Pokročilé nastavnia" #: ../classes/class.swpm-settings.php:32 msgid "Addons Settings" msgstr "Nastavenia doplnkov" #: ../classes/class.swpm-settings.php:54 msgid "Plugin Documentation" msgstr "Dokumentácia modulu" #: ../classes/class.swpm-settings.php:56 msgid "Enable Free Membership" msgstr "Umožni voľné členstvo" #: ../classes/class.swpm-settings.php:57 msgid "" "Enable/disable registration for free membership level. When you enable this " "option, make sure to specify a free membership level ID in the field below." msgstr "" "Umožni/zamiestni registráciu pre voľnú úroveň členstva. Ak povolíte túto " "možnosť, uistite sa, že vytvoríte ID voľnej úrovne prístupu v poli nižsie." #: ../classes/class.swpm-settings.php:58 msgid "Free Membership Level ID" msgstr "ID Voľnej úrovne členstva" #: ../classes/class.swpm-settings.php:59 msgid "Assign free membership level ID" msgstr "Priraď ID voľnej úrovne členstva" #: ../classes/class.swpm-settings.php:60 msgid "Enable More Tag Protection" msgstr "Umožni ochranu za značkou Čítaj viac" #: ../classes/class.swpm-settings.php:61 msgid "" "Enables or disables \"more\" tag protection in the posts and pages. Anything " "after the More tag is protected. Anything before the more tag is teaser " "content." msgstr "" "Umožni alebo zruš ochranu obsahu za značkou Čítaj viac na stránkach a " "článkoch. Všetko za značkou Čítaj viac bude chránené. Všetko pred touto " "značkou bude viditeľné." #: ../classes/class.swpm-settings.php:62 msgid "Hide Adminbar" msgstr "Skryť administratívnu lištu" #: ../classes/class.swpm-settings.php:63 msgid "" "WordPress shows an admin toolbar to the logged in users of the site. Check " "this if you want to hide that admin toolbar in the frontend of your site." msgstr "" "WordPress zobrazuje lištu nástrojov prihláseným užívateľom. Zaznačte, ak " "chcete aby sa lišta nezobrazovala na frontende vašej stránky." #: ../classes/class.swpm-settings.php:64 msgid "Show Adminbar to Admin" msgstr "Ukázať lištu nástrojov administrátorovi." #: ../classes/class.swpm-settings.php:65 msgid "" "Use this option if you want to show the admin toolbar to admin users only. " "The admin toolbar will be hidden for all other users." msgstr "" "Použite túto možnosť, ak chcete, aby sa lišta nástrojov zobrazovala len " "administrátorom. Lišta sa nebude zobrazovať ostatným užívateľom." #: ../classes/class.swpm-settings.php:67 msgid "Default Account Status" msgstr "Predvolené nastavenie účtu" #: ../classes/class.swpm-settings.php:70 msgid "" "Select the default account status for newly registered users. If you want to " "manually approve the members then you can set the status to \"Pending\"." msgstr "" "Vyberte predvolené nastavenie účtov novo registrovaných užívateľov. Ak ich " "chcete manuálne schvaľovať, potom nastavte stav na Čaká." #: ../classes/class.swpm-settings.php:72 msgid "Members Must be Logged in to Comment" msgstr "Členovia musia byť prihlásení aby mohli komentovať" #: ../classes/class.swpm-settings.php:73 msgid "" "Enable this option if you only want the members of the site to be able to " "post a comment." msgstr "" "Vyberte túto možnosť, ak chcete aby iba členovia stránky mohli pridávať " "článkom komentáre." #: ../classes/class.swpm-settings.php:82 msgid "Pages Settings" msgstr "Nastavenie stránky" #: ../classes/class.swpm-settings.php:85 msgid "Registration Page URL" msgstr "URL registračnej stránky" #: ../classes/class.swpm-settings.php:87 msgid "Join Us Page URL" msgstr "URL stránky Pridajte sa" #: ../classes/class.swpm-settings.php:89 msgid "Edit Profile Page URL" msgstr "URL stránky Uprav profil" #: ../classes/class.swpm-settings.php:91 msgid "Password Reset Page URL" msgstr "URL stránky Zmena hesla" #: ../classes/class.swpm-settings.php:94 msgid "Test & Debug Settings" msgstr "Nastavenie debug a testovania" #: ../classes/class.swpm-settings.php:96 msgid "Check this option to enable debug logging." msgstr "Vyberte túto možnosť, ak chcete prihlásenie na debug" #: ../classes/class.swpm-settings.php:101 msgid "Enable Sandbox Testing" msgstr "Povoliť Sandbox Testing" #: ../classes/class.swpm-settings.php:102 msgid "Enable this option if you want to do sandbox payment testing." msgstr "Vyberte túto možnosť ak chcete testovať platby v prostredí Sandbox" #: ../classes/class.swpm-settings.php:115 ../classes/class.swpm-settings.php:173 . #: ./classes/class.swpm-settings.php:289 msgid "Settings updated!" msgstr "Nastavenia boli zmenené!" #: ../classes/class.swpm-settings.php:120 msgid "Email Misc. Settings" msgstr "Nastavenie emailov" #: ../classes/class.swpm-settings.php:121 msgid "From Email Address" msgstr "Z emailovej adresy" #: ../classes/class.swpm-settings.php:125 msgid "Email Settings (Prompt to Complete Registration )" msgstr "Nastavenie emailov (Hneď ku kompletnej registrácii)" #: ../classes/class.swpm-settings.php:126 ../classes/class.swpm-settings.php:135 . #: ./classes/class.swpm-settings.php:148 ../classes/class.swpm-settings.php:153 .. #: classes/class.swpm-settings.php:158 msgid "Email Subject" msgstr "Predmet emailu" #: ../classes/class.swpm-settings.php:128 ../classes/class.swpm-settings.php:137 . #: ./classes/class.swpm-settings.php:149 ../classes/class.swpm-settings.php:154 .. #: classes/class.swpm-settings.php:159 msgid "Email Body" msgstr "Správa" #: ../classes/class.swpm-settings.php:132 msgid "" "Enter the email address where you want the admin notification email to be " "sent to." msgstr "Vložte email kde chcete aby boli zasielané oznámenia pre administrátorov." #: ../classes/class.swpm-settings.php:133 msgid "" " You can put multiple email addresses separated by comma (,) in the above " "field to send the notification to multiple email addresses." msgstr "" "Môžete vložiť viacero emailových adries oddelených čiarkou (,) do poľa " "vyššie, ak chcete zaslať upozornenie viacerým emailovým adresám" #: ../classes/class.swpm-settings.php:134 msgid "Email Settings (Registration Complete)" msgstr "Nastavenie emailu (Registrácia kompletná)" #: ../classes/class.swpm-settings.php:139 msgid "Send Notification to Admin" msgstr "Zašli upozornenie administrátorovi" #: ../classes/class.swpm-settings.php:140 msgid "" "Enable this option if you want the admin to receive a notification when a " "member registers." msgstr "" "Použite túto možnosť, ak chcete aby administrátor dostal upozornenie keď sa " "užívateľ registruje" #: ../classes/class.swpm-settings.php:141 msgid "Admin Email Address" msgstr "Email adresa administrátora" #: ../classes/class.swpm-settings.php:143 msgid "Send Email to Member When Added via Admin Dashboard" msgstr "" "Zaslať email členovi, keď bude pridaný prostredníctvom nástenky " "administrátora" #: ../classes/class.swpm-settings.php:147 msgid "Email Settings (Password Reset)" msgstr "Nastavenie emailu (Reset hesla)" #: ../classes/class.swpm-settings.php:152 msgid " Email Settings (Account Upgrade Notification)" msgstr "Nastavenie emailu (Upozornenie o aktualizácii účtu)" #: ../classes/class.swpm-settings.php:157 msgid " Email Settings (Bulk Account Activate Notification)" msgstr "Nastavenie emailu (Upozornenie o hromadnej aktivácii)" #: ../classes/class.swpm-settings.php:180 msgid "Enable Expired Account Login" msgstr "Umožni prihlásenie užívateľa ktorému vypršalo členstvo" #: ../classes/class.swpm-settings.php:181 msgid "" "When enabled, expired members will be able to log into the system but won't " "be able to view any protected content. This allows them to easily renew " "their account by making another payment." msgstr "" "Ak bude použité, členovia, ktorým vypršalo členstvo sa budú môcť prihlásiť " "do systému ale nebudú môcť vidieť chránený obsah. Toto im dovolí obnoviť si " "členstvo účtu novou platbou." #: ../classes/class.swpm-settings.php:183 msgid "Membership Renewal URL" msgstr "URL obnovy členstva" #: ../classes/class.swpm-utils-misc.php:218 ../classes/class.swpm-front- #: registration.php:86 ../views/login.php:27 msgid "Login" msgstr "Prihláste sa" #: ../classes/class.swpm-access-control.php:47 ../classes/class.swpm-access- #: control.php:120 msgid "You need to login to view this content. " msgstr "Musíte byť prihlásení, aby ste mohli vstúpiť do kurzu." #: ../classes/class.swpm-settings.php:83 msgid "Login Page URL" msgstr "Prihláste sa" readme.txt000064400000037770147206617610006572 0ustar00=== Simple Membership === Contributors: smp7, wp.insider Donate link: https://simple-membership-plugin.com/ Tags: member, members, members only, membership, memberships, register, WordPress membership plugin, content, content protection, paypal, restrict, restrict access, Restrict content, admin, access control, subscription, teaser, protection, profile, login, login page, bbpress, stripe, braintree Requires at least: 5.0 Requires PHP: 7.4 Tested up to: 6.6 Stable tag: 4.5.3 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Simple membership plugin adds membership functionality to your site. Protect members only content using content protection easily. == Description == = A flexible, well-supported, and easy-to-use WordPress membership plugin for offering free and premium content from your WordPress site = The simple membership plugin lets you protect your posts and pages so only your members can view the protected content. = Unlimited Membership Access Levels = Set up unlimited membership levels (example: free, silver, gold etc) and protect your posts and pages using the membership levels you create. = User Friendly Interface for Content Protection = When you are editing a post or page in the WordPress editor, you can select to protect that post or page for your members. Non-members viewing a protected page will be prompted to log in or become a member. = Have Free and Paid Memberships = You can configure it to have free and/or paid memberships on your site. Paid membership payment is handled securely via PayPal. Membership payment can also be accepted using Stripe or Braintree payment gateways. Both one time and recurring/subscription payments are supported for PayPal and Stripe. You can accept one time membership payment via Braintree payment gateway. Option to make membership payment buttons using the new PayPal Checkout API. There is also option to use PayPal smart buttons for membership payment. You can enable email activation or email confirmation for the free memberships. = Membership Payments Log = All the payments from your members are recorded in the plugin. You can view them anytime by visiting the payments menu from the admin dashboard. = Developer API = There are lots of action and filter hooks that a developer can use to customize the plugin. There is also an API that can be used to query, create, update member accounts. = Member Login Widget on The Sidebar = You can easily add a member login widget on the sidebar of your site. Simply use the login form shortcode in the sidebar widget. You can also customize the member login widget by creating a custom template file in your theme (or child theme) folder. Option to show a password visibility toggle option in the login form. = Documentation = Read the [setup documentation](https://simple-membership-plugin.com/simple-membership-documentation/) after you install the plugin to get started. = Plugin Support = If you have any issue with this plugin, please visit the plugin site and post it on the support forum or send us a contact: https://simple-membership-plugin.com/ You can create a free forum user account and ask your questions. = Miscellaneous = * Works with any WordPress theme. * Ability to protect photo galleries. * Ability to protect attachment pages. * Show teaser content to convert visitors into members. * Comments on your protected posts will also be protected automatically. * There is an option to enable debug logging so you can troubleshoot membership payment related issues easily (if any). * Ability to customize the content protection message that gets shown to non-members. * Ability to partially protect post or page content. * You can apply protection to posts and pages in bulk. * Ability to use merge vars in the membership email notification. * Membership management side is handled by the plugin. * Ability to manually approve your members. * Ability to import WordPress users as members. * Search for a member's profile in your WP admin dashboard. * Filter members list by account status. * Filter members list by membership level. * Site admins can save private notes about members, providing a convenient way to keep track of important information. * Can be translated to any language. * Hide the admin toolbar from the frontend of your site. * Allow your members to delete their membership accounts. * Send quick notification email to your members. * Email all members by membership level, with an option to filter by account status. * Customize the password reset email for members. * Use Google reCAPTCHA on your member registration form. * Use Google reCAPTCHA on your member login and password reset form. * The login and registration widgets will be responsive if you are using a responsive theme. * Ability to restrict the commenting feature on your site to your members only. * Front-end member registration page. * Front-end member profiles. * Front-end member login page. * Option to configure after login redirection for members. * Option to configure after registration redirect for members. * Option to configure after logout redirection for members. * Option force the members to use strong password. * Option to make the users agree to your terms and conditions before they can register for a member account. * Option to make the users agree to your privacy policy before they can register for a member account. * Option to hide the registration/join option. Useful if you prefer visitors not to see the registration option on your site. * Option to automatically logout the members when they close the browser. * Ability to forward the payment notification to an external URL for further processing. * Option to configure whitelisting for user email addresses to allow registration only from specific email addresses or email domains. * Option to configure blacklisting for user email addresses to block registration from certain email addresses or email domains. * Option to configure PayPal payment buttons for memberships (one-time and recurring payments). * Option to configure Stripe payment buttons for memberships (one-time and recurring payments). * Option to configure Braintree payment buttons for memberships (one-time payments). * The plugin is actively maintained and we are working on new features for the plugin. * Browse the [plugin documentation](https://simple-membership-plugin.com/simple-membership-documentation/) to learn more about the features of this plugin. = Language Translations = The following language translations are already available: * English * German * French * Spanish * Spanish (Venezuela) * Chinese * Portuguese (Brazil) * Portuguese (Portugal) * Swedish * Macedonian * Polish * Turkish * Russian * Dutch (Netherlands) * Dutch (Belgium) * Romanian * Danish * Lithuanian * Serbian * Japanese * Greek * Latvian * Indonesian * Hebrew * Catalan * Hungarian * Bosnian (Bosnia and Herzegovina) * Slovak * Italian * Norwegian * Mexican * Arabic * Czech * Finnish You can translate the plugin using the language [translation documentation](https://simple-membership-plugin.com/translate-simple-membership-plugin/). == Installation == Do the following to install the membership plugin: 1. Upload the 'simple-wp-membership.zip' file from the Plugins->Add New page in the WordPress administration panel. 2. Activate the plugin through the 'Plugins' menu in WordPress. == Frequently Asked Questions == = Where can I find complete documentation for this plugin? = You can find the full documentation for this plugin on the [Simple Membership plugin documentation](https://simple-membership-plugin.com/simple-membership-documentation/) page. == Screenshots == Please visit the membership plugin page to view screenshots: https://simple-membership-plugin.com/ == Changelog == = 4.5.3 = - The 'Reset Debug Log Files' option now utilizes AJAX for improved user experience and smoother functionality. - Removed the unused 'shutdown' function from the plugin. - Added a new settings to hide the join us link. Refer to [this documentation](https://simple-membership-plugin.com/hiding-join-option-from-visitors/) for more information. - Deleting a member will now also cancel any PayPal subscriptions configured through the PPCP (New API) option. = 4.5.2 = - Added a new feature to display the subscription payment cancellation status in the "Edit/View Member" menu. This status is also shown in the member's login widget. - Added a new filter hook 'swpm_registration_data_before_save' to allow customizing the registration data before saving it to the database. - Added a check to ensure a valid membership level ID is entered when the free membership is enabled in the settings. - The 'after_registration_callback' function is handled using a lower priority for better compatibility with other plugins. - Added a new utility function in the SwpmTransactions class to retrieve all the transactions for a specific member. - Added spacing before the "Edit Profile" link in the login widget. - The "Edit Profile" and "Logout" links in the login widget are now bolded. - Added a toggle visibility option for System-Related Additional Data in the Edit/View Member's Profile interface. = 4.5.1 = - Stripe library updated to the latest version (v15.4.0). - Updated the 'swpm_login_failed' action hook's trigger condition. - Renamed the login form and reset password shortcode function name for better clarity. - The edit profile interface in the admin dashboard will display an appropriate error message if an attempt is made to edit a profile that has been deleted. = 4.5.0 = - Added membership level specific default account status feature. - New admin notes feature added. It can be used to save private notes about members. - Added new 'login' API endpoint to the free SWPM API addon. - PHP 8.2 compatibility related improvements. - New two filter hooks added to the mini/compact login shortcode. - The custom messages addon can now be used to customize the output of the mini/compact login shortcode's output. - Added a new action hook "swpm_login_failed". This is equivalent to the "wp_login_failed" action hook. = 4.4.9 = - Minor update to the German language file. - Added a new filter hook 'swpm_after_email_activation_redirect_url' to allow customizing the email activation redirect URL. - Added a check in the member's add/edit interface to ensure a membership level exists before attempting to add or edit a member record. - If the site admin deletes the membership level of a member who then tries to log in, an appropriate error message will be displayed instead of a fatal error. - When the debug feature is enabled and the debug log file doesn't exist, it will create one automatically. - Added reCAPTCHA V3 support. You can now enable [reCAPTCHA V3 for the member registration](https://simple-membership-plugin.com/simple-membership-google-recaptcha-v3-integration/). = 4.4.8 = - Rolled back one of the changes from the previous version that was causing an issue with the WP user profile update process. - If your site is experiencing any issue after the update and you need the older version 4.4.6 (before the profile update related improvements/changes), you can download it using the following link: - [Simple Membership Plugin v4.4.6](https://downloads.wordpress.org/plugin/simple-membership.4.4.6.zip) = 4.4.7 = - The PayPal PPCP subscriptions will also save the is_live parameter in the transaction record. - Minor improvements to the newly added cancel subscription shortcode. - Changed the status of the 1st transaction of a Stripe subscription to 'subscription created' for better clarity. - Added more output escaping to the payment button shortcode output. - Fixed a minor issue with the manual transaction add feature. - Added architecture so the password update from profile edit page doesn't require a re-login. - The PayPal's new API button options have been moved to the top in the button creation interface. - Improved the 'profile_update' action hoook handling code - the user will remain logged-in after the password is changed from WP User profile page. - Added a new filter hook swpm_wp_profile_update_hook_override. = 4.4.6 = - Various translation related changes to the button configuration admin interface. - Generated a new translation POT file for the plugin. - Fixed an error with the cancel Stripe subscription shortcode. - Added output escaping to the PayPal cancel subscription shortcode. = 4.4.5 = - Added a link to the corresponding member profile in the newly added transaction view/edit interface. - Added a link to the corresponding membership level in the newly added transaction view/edit interface. - Minor PHP compatibility related improvements for PayPal and Stripe checkout. - Minor updates to the the debug log messaging for the refund/cancelation process. = 4.4.4 = - Added an option to configure a Cancel URL for Stripe SCA Subscription type buttons. - Some options related to hiding the WP Admin Bar have been moved from the General Settings menu to the Advanced Settings tab. - A warning message is displayed when editing membership levels if both manual approval and email activation settings are enabled simultaneously. - Output escaping added to the shortcode output of the subscription cancel shortcode. - PayPal PPCP button's JS SDK related code has been converted to use vanilla JavaScript to eliminate the dependency on jQuery. - Stripe promotion code feature added for Stripe SCA Buy Now type buttons. - The Payments menu now shows the transactions from the SWPM_Transactions custom post type. This will allow us to add more features to the transaction records in the future. - Added the option to edit a transaction record from the payments menu of the plugin. - Added a new shortcode that can show any active subscriptions and offer an option to cancel it for the logged-in member. It works for the New PayPal API and Stripe Subscription buttons. - [Documentation for the new subscription cancel shortcode](https://simple-membership-plugin.com/show-active-subscriptions-and-providing-a-cancellation-option/) = 4.4.3 = - The accepted payment method types can now be controlled from your Stripe account settings. This will allow you to enable/disable certain payment methods. - Updated the documentation link for the Stripe Subscription button configuration. - Enhanced the auto-login feature's redirect URL handling for better compatibility with some servers. - New registration and profile form UI and validation is the default UI for all new installs. The old UI can be enabled from the advanced settings menu. - Added Arabic translation files to the plugin. Thanks to @Adham. - Added output escaping to the new registration and edit profile forms. = 4.4.2 = - Added an option to specify a cancel URL for Stripe buy now button. - The PayPal order ID is also passed to the PayPal payment capture API call's header. - Added a check for the PayPal Buy Now payment capture status in the IPN handling script. - Updated the Spanish language translation file. - Minor spelling mistake fixed. = 4.4.1 = - Added 'Cayman Islands' to the country dropdown list. - The unique session ID generation process improved. - The PayPal Token cache will be deleted automatically if the Live/Test mode option is changed in the settings menu. - Fixed an issue with the PayPal test/live mode toggle issue with the new API. = 4.4.0 = - Added a new feature in the 'Bulk Operation' menu tab to allow bulk update members account status. - Improved the email validation in the new registration form UI. - Updated the Spanish language translation file. - Changed the aciton hook name 'swpm_login' to 'swpm_after_login_authentication' to describe the hook better. - The after login redirection feature won't be application when the login form originates from the WP Login form. - This will remove confusion for some users when they login from the standard WP login form (not the simple membership's login form) and then the page redirects to the after login redirection URL. Full changelog available at [change-log-of-old-versions.txt](https://plugins.svn.wordpress.org/simple-membership/trunk/change-log-old-versions.txt) == Upgrade Notice == If you are using the form builder addon, then that addon will need to be upgraded to v1.1 also. == Arbitrary section == None change-log-old-versions.txt000064400000202032147206617610011744 0ustar00//---------------------------------------------- //Since Wordpress only allows 5000 words for the changelog, we have moved the change log of old versions to this separate file. //---------------------------------------------- = 4.3.9 = - Note: Significant updates have been made to the PayPal's new API related code in this release. Please take a backup of your site before updating. - The 'Payment Settings' tab has been moved to the 'Payments' menu. Allowing all payment configuration related functions to be under one menu. - The 'Payment Settings' menu has been divided into multiple sub-menus for better organization. - Added a new option in the PayPal API tab to allow manual deletion of the PayPal API access token cache. - The PayPal buy now (New API) button's JavaScript code has been updated to reflect the latest PayPal API related changes. - If WP Login form is used, our plugin will let WP handle the post-login redirection. - Honor the 'redirect_to' parameter in the post login redirection function. - Added an empty check to the Stripe buy now IPN handling function. - Translation improvement for 'activation-required' account status display in the user's profile. - Better formatting for the admin edit interface error message. - Added output escaping in the new PayPal API settings tab. - Added a new filter 'swpm_send_direct_email_body_settings'. - The following new options has been added in the 'Send Direct Email' feature. Thanks to Dennis. - Send Direct Email -> Send email based on member's account status. - Send Direct Email -> Send a copy of email to the site admin. - Send Direct Email -> List email recipients as a preview. = 4.3.8 = - Minor translation related update in the admin edit member interface. - Fixed an issue with the new PayPal buy now type button not rendering correctly with the item description. = 4.3.7 = - Added new form and validation Interface for registration and edit profile forms. - New settings field added to turn on/off the new UI for the registration and profile forms. This option is located in the Advanced Settings menu. - The goal with this new option is to offer a more mobile responsive UI for the registration and profile forms. - Added a new action hook (swpm_before_login_form_widget) in the login.php file. - Added a new action hook (swpm_before_loggedin_widget) in the loggedin.php file. - The edit membership level interface shows the currently editing membership level's ID. - Added a new action hook (swpm_front_end_reset_password_using_link_completed). Thanks to @MedTRGit. - Updated the translation POT file. - Refactored the Stripe session create code to a separate class. - Filter hooks updated to to customize password validation rules and messages for the new form UI. - Updated the Swedish translation files. = 4.3.6 = - Added output escaping to the 'list_type' parameter in the 'Post and Page Protection' menu tab. = 4.3.5 = - Updated the German language translation file. Thanks to Stefan. - Show strong password requirement message on the password reset page (if the feature is enabled). Thanks to Darwin for submitting this update. - After submitting the password reset form, a message displaying "Processing request" is shown. Thanks to Darwin for submitting this update. - Added a new filter hook for the Thank You page message. - Fixed a small bug with the newly added "Send Direct Email" feature. It was not setting the "From Email Address" field's value. - Added a new option labeled "Default Account Status After Payment". This should be helpful with certain types of manual approval configuration. - Updated the code so it stops going forwared if the update user command fails. - Added validation to the password reset by link feature. Thanks to Rafie for the report. = 4.3.4 = - Readability improvement for the 'remember me' checkbox field's code. - Spanish language translation file updated. - Added more debug logging text to the Stripe webhook handling script. - Added CSS class to the notice message output. - Allow any field with class 'swpm-date-picker' to use the datepicker function in the members menu. - Added a new hook that gets triggered when the account status is updated to expired in the daily cronjob. - Added a new hook that gets triggered when an existing member pays for a membership and the account status is refreshed. - The original transaction post ID is saved with the user profile for Stripe subscription transactions. = 4.3.3 = - Added new feature to confiugre an "after email activation redirection" for any membership level. - Renamed the SimpleWpMembership::wp_logout() function to SimpleWpMembership::wp_logout_handler(). - The auth cookie will be set to session cookie if the 'force-wp-user-sync' feature is enable when 'remember me' is unchecked. - Added a silent logout option so the logout function can be called without triggering the action hook. - Added the 'swpm_subscription_payment_cancelled' hook to the cancel stripe subscription via URL feature. = 4.3.2 = - Added CSS to highlight the order status in the payments menu. - Added a new utility function compare_url_without_http(). This function is used for matching the system generated pages. - Added a new CSS div for the activation required error message. - New Gutenberg Block for Payment Buttons. - Updated the system page URL check function to include the edit profile, join and the password reset pages. - New feature to send direct email to a group of members (for example: send an email to all members of a membership level). - Minor PHP 8.2 related deprecation notice fixes. = 4.3.1 = - Updated the Turkish language translation file. - Minor - Spelling mistake fixed in the Blacklisting feature. - Fixed Warning: Undefined variable $all_items - Stripe Buy Now button's webhook handling code updated for the new Stripe API version. = 4.3.0 = - Regenerated the Translation POT file. - Language strings updated in various admin interfaces. - Removed the use of the FILTER_SANITIZE_STRING flag for PHP8.1 compatibility. - Minor enhancement - verify the custom field value is set in the IPN data. - Updated the session variable name in the SwpmMessages class. - Fixed an issue with the password reset using link option showing an incorrect message after the reset operation is successful. - Enhancement to the 'user can delete account' feature. The page title, header and the confirmation text is worded better. - Accessibility related updates to the "Show Password" checkbox of the login form. = 4.2.9 = - Added filter hooks to the Thank you page output message so it can be customized using custom code. - The address data (if available) will be collected when using the new PayPal checkout buttons. - Fixed a warning that was generating after Stripe Buy Now button checkout. - Added a new option so the directory listing addon can display the address fields separately (by using shortcode parameters). = 4.2.8 = - The country code from Stripe webhook notification is now converted to the full country name for better selection in the dropdown menu. - Prevent the newly added unique registration link validity check from incorrectly showing on registration form submission. - Removed the option to create new Smart checkout buttons as it has been deprecated by PayPal. You can get the same functionality from the new PayPal checkout buttons that have been added to the plugin. - Note: All the existing paypal buttons will continue to work as usual. We have added the new PayPal buttons as per PayPal's guidelines to make sure that in the future the plugin remains compatible with PayPal's latest API. = 4.2.7 = - Added an alternative method of getting the URL if SERVER_NAME is not set in an install. - Fixed an error that was triggering after the transaction. = 4.2.6 = - Spelling mistake fixed in the PayPal button creation interface. - Regenerated the translation POT file. = 4.2.5 = - Added new membership payment button options using the new PayPal API. You can find it under the Create New Buttons menu tab. - Moved the Sandbox/Test Mode option to the "Payment Settings" tab. - Added an appropriate error message for when a user tries to re-use the special registration complete link. - Check if the registration completion link (if present in the URL) is valid. Show an appropriate error message to prevent confusion. - The bulk membership level change feature will update the WP user role also (if specified in the target membership level configuration). - The transactions in the payments menu can now be searched using a Subscriber ID values also. - Spanish language translation file updated. = 4.2.4 = - Improved the enqueue_validation_scripts() function to work better with block themes. - Better Stripe payment button compatibility with some wp themes. - Improved the login form's error message output. The error message will be shown in red so it is can be easily noticed. - Fixed the terms and conditions checkbox validation error not displaying correctly on some themes. - Fixed password reset success message showing an incorrect CSS class. - Regenerated the main translation POT file. = 4.2.3 = - Added an option in the Stripe button configuration to use the Stripe's automatic tax feature. - Usability improvement: the payment button shortcode can be selected easily (for better copy and paste operation). - Added an option to specify the payment_method_types parameter in the Stripe payment button shortcode. It can be used to enable ACH payment option for a specific Stripe payment button. - Fixed: The Payment Settings tab not showing the settings updated message correctly. - Fixed: The new password reset via link feature not seeing the already present {password_reset_link} email merge tag. = 4.2.2 = - The Braintree transactions will send the customer's name and email address to the API also. - Added a new filter hook to the registration form so that the strong password validation string can be overridden and customized. - Added a new filter hook to the edit profile form so that the strong password validation string can be overridden and customized. - The get_current_page_url() function will clean the 8080 port number from URL for better compatibility on some servers. - Added output escaping to the payment button shortcode. - Added a new option in the settings menu to offer password reset function using a reset link. = 4.2.1 = - Updated the Braintree payments integration to require the customer's name and email address during checkout. - Updated the Spanish Mexican language translation file. - Updated the default content protection message. - Updated the text of the login form button. - Added sanitization to the email body fields. = 4.2.0 = - Braintree SDK updated for the Braintree payment gateway. - Google reCAPTCHA enterprise option is now [available as a free addon](https://simple-membership-plugin.com/simple-membership-google-recaptcha-enterprise-option/). = 4.1.9 = - Stripe Button's code updated to use the latest Stripe API version. - Allow apostrophe character in the email address field of the registration form. - Preserve address information of a profile when submitting the registration form (if the data was received from the payment gateway). - Added a workaround for sites using the Batcache caching system. - Updated the swpm_admin_members_table_column_ filter hook to check if the column value exists. - Fixed an issue with the email address whitelisting pattern feature. - Improved how the current_page URL value is retrieved for the Stripe payment buttons. = 4.1.8 = - Improved the view debug log operation to check if the file exists before trying to open the file. If the file doesn't exist, it will show a message to reset the debug file. = 4.1.7 = - Added a new Blacklisting & Whitelisting feature. [Usage documentation here](https://simple-membership-plugin.com/blacklisting-whitelisting-feature/) - The member search option in the members interface will now work correctly with names containing apostrophe character. - Added a new filter hook in the password reset function: swpm_password_reset_generated_pass - Optimized the Stripe library loading for Stripe payment buttons so it can work with the partial protection addon. - If after login redirection addon is not used, the redirection after login will be sent to the current page instead of the home URL. = 4.1.6 = - Added a new action hook - swpm_front_end_edit_profile_form_submitted. - Added a new action hook - swpm_do_init_time_tasks_front_end. - Translation POT file has been regenerated. - Apostrophe characters will now be accepted in the name and address fields. - Fixed the validation error message positioning in the edit profile form when Force Strong Password option is enabled. = 4.1.5 = - Added a new feature to toggle password visibility option in the login form. [Password toggle documentation](https://simple-membership-plugin.com/show-password-option-in-the-login-form-toggle-password-visibility/) - Updated the Dutch language translation files. - Fixed a minor PHP notice with PayPal smart checkout button configuration. = 4.1.4 = - PayPal smart checkout will pass the item name set in the payment button to PayPal's API. - The PayPal smart checkout transactions will try to find a member profile using the Transaction ID and show it in the Transactions tab (if found). - WooCommerce checkout integration will add the collected billing address to SWPM member record when available. = 4.1.3 = - Added a warning in the edit member interface for situation when a member account is created without a membership level value. - Small user edit interface improvement. - Added 'French Polynesia' country to the countries dropdown list. - Removes the membership_level data (if posted) from the edit profile update operation (since this data is not needed for this operation). Thanks to Vladimir for pointing this out. - Added an additional hash check for the level_identified on registration form. = 4.1.2 = - Fixed a minor Undefined array key warning. = 4.1.1 = - Tested on WordPress 6.0. - Added output escaping to the email validation ajax request. - Added output escaping to the username validation ajax request. - Added sanitization to the account status field of the member listing page. - Removed some use of the FILTER_SANITIZE_STRING flag to be compatible with PHP8.1. = 4.1.0 = - Added the text 'Username or Email' to the language translation POT file. - Added a new action hook (swpm_front_end_registration_form_submitted) for when the front-end registration form is submitted - Added nonce check for the "Delete Transaction" action in the payments menu. = 4.0.9 = - Added do_blocks() to the more tag protection feature's content formatting to improve compatibility with the link preview plugin. Thanks to @brechtvds for providing the code adjustment. - Added a new filter for the more tag protection feature (swpm_format_raw_content_for_front_end_display). - Added a new filter for the login form action message output (swpm_login_form_action_msg). - Added a new filter for the "Hide Registration Form to Logged Users" feature. It will allow additional content to be added below the message. - Added a new filter for the user delete action. - Updated the Norwegian language file. - Added nonce check to the bulk delete feature of the members menu. = 4.0.8 = - Added a new utility function in the plugin to retrieve wp user roles by ID. - Added French (Canadian) language translation file to the plugin. Thank you to Ariane Larivière. - Added a check to prevent an extra empty line output with a notice/message. - Updated the HTML ID value for the privacy policy checkbox item. - The debug log file names are uniquely generated on per install. - Added nonce check to the debug log file reset action. = 4.0.7 = - Stripe sca subscriptions enhancement: restore the custom field value from the original webhook notification (when available). - Custom fields data (if available) is also saved in the swpm_transactions custom post type after a transaction. - Updated the Dutch language file. - Integration with the [WP Express Checkout plugin](https://wordpress.org/plugins/wp-express-checkout/). - WordPress 5.8 compatibility. = 4.0.6 = - Added an option in the [swpm_paypal_subscription_cancel_link] shortcode to allow opening the window in a new tab. - Added an option in the [swpm_paypal_subscription_cancel_link] shortcode to add CSS class for customization purpose. - Added a new shortcode to display the total number of members (just display the total number). This shortcode is available in the free Miscellaneous Shortcodes addon. - Fixed a calculation in the auto delete pending email activation data function. Thanks to @satoshi for pointing it out. - Spelling fixes for some of the description field and error messages. Thanks to @Ronaldo for pointing it out. - Regenerated the language translation POT file. - Updated the Spanish language file. - Updated the Czech language file. = 4.0.5 = - Added a new filter hook to allow overriding of the display_name field when adding a member via the admin interface. - Added a new filter hook to allow overriding of the account status value when a subscription renewal payment comes in. The filter name is: swpm_account_status_for_subscription_start_date_update - Added slovenian language translation file to the plugin. - The {membership_level_name} email merge tag will now work for the "Notify User" feature that can be used when editing a member's profile (from the admin dashboard). - Updated the Dutch translation file. - Fixed the positioning of the validation result message for the username field in the "Add New Member" interface. = 4.0.4 = - Added a new filter to allow overriding the auth cookie value for when the "Logout Member on Browser Close" feature is enabled. - Updated the Swedish translation file. - Added more sanitization to the search query of members and membership level menu in the admin interface. Thanks to @Martin Vierula for pointing it out. = 4.0.3 = - WP 5.6 compatibility update with jQuery script. This will fix an issue whereby error messages on registration form weren't showing correctly. = 4.0.2 = - Added a new filter "swpm_admin_registration_add_user_template_path" - Added a new filter "swpm_admin_registration_edit_user_template_path" - Added an option to auto downgrade expired members to a free level. This feature is handled via the following addon: https://simple-membership-plugin.com/simple-membership-miscellaneous-shortcodes-addon/ - Fixed a typo in a variable name. - The "Gender" value in the members menu is translatable. Thanks to @Th0masL for making this improvement. - Updated the French language translation file. - The "Bulk Account Activate & Notify" option now sends the email one by one to all the selected members (instead of a batch email). To prevent email issue when used with SMTP solution. - Added more filters in the registration, edit profile and login forms. - The Stripe SDK library has been updated to latest. Minimum PHP version required for it is PHP5.6 - Added new shortcode for Stripe subscription cancellation. The new shortcode is: [swpm_stripe_subscription_cancel_link] - Added a check to prevent duplicate IPN notification creating duplicate entries. Thanks to @Th0masL for making this improvement. = 4.0.1 = - Added the "Button Image URL" field for the Stripe Buy Now type buttons (to allow button image customization). - The user role options for the "Admin Dashboard Access Permission" settings field will show the translated values. - The settings menu update capability will also respects the "Role" permission set in the "Admin Dashboard Access Permission" settings. - Added a check to see if an username exists in the create_wp_user() function. - Stripe SCA Subscription button configuration interface - renamed the label from "Stripe Plan ID" to "Stripe API ID" (to match with Stripe's recent interface changes). = 4.0.0 = - Removed the "Use WordPress Timezone" settings option from the advanced settings menu. This option can conflict with some events management type plugins. - The plugin will now record the date values according to your WordPress timezone settings (by default). - The debug log file will record timestamp values in the format ['Y/m/d H:i:s']. Example Value: [2020/07/24 11:58:39] - Added help text to the "Admin Dashboard Access Permission" field to explain that it should not be used with the "Disable Access to WP Dashboard" option. - Added a note for when a user enables conflicting options in the advanced settings. - Completed testing on WP 5.5 version. = 3.9.9 = - Added an enhancement to accept empty address value and force updating (when admin updates the address of a member profile from admin interface). = 3.9.8 = - Added a new action hook 'swpm_validate_login_hash_mismatch' - Ability to manually add a transaction record in the Payments menu of the plugin - Added a new feature to hide the registration from to logged-in members. The new option is available in the Advanced settings menu. = 3.9.7 = - Added minor improvements to the get_current_page_url() function to increase compatibility with some servers. - The mini login shortcode will also work with the "Enable Redirect to Last Page" feature from the after login redirection addon. - Updated the Japanese language translation file. - Minor Stripe SCA button related enhancements (added filter). - Stripe buy now transactions (One-time payments) will now have a link to the user "profile" in the "payments" menu. - Chinese language file name changed from zh_Hans to zh_HK. = 3.9.6 = - Added a new global settings for Stripe API keys in the "Payment Settings" tab. It can be used to enter your API keys (instead of individual buttons each time). - Added a new filter to allow customization of the email activation message (if the email activation feature is enabled). - The subsequent payments for stripe subscription will also be captured in the payments menu. Need to add the "invoice.payment_succeeded" to the webhook events monitoring. = 3.9.5 = - Added a new filter (swpm_mini_login_output). It can be used to override the [swpm_mini_login] shortcode's output. - The "Edit" link in the members menu has been renamed to "Edit/View" to make it more user-friendly. - Updated the German language file. - The members listing in the members menu can now be sorted by the "Access Starts" column. - Fixed an issue with Stripe SCA buttons whereby duplicate "incomplete" entries were being created. This started happening recently from a new change that Stripe made. = 3.9.4 = - Commented out call to date_default_timezone_set() function for WP5.3. - Updated some comments in the SwpmAjax class. - Added an extra content protection check for post preview URL. = 3.9.3 = - Added the option to enable HTML email in the email settings menu of the plugin. - The Stripe subscription updated event is now handled by the plugin. - A new shortcode to create a PayPal subscription cancellation link that a member can use to view the subscription from their account and cancel. = 3.9.2 = - Spanish translation language files updated. - Added more debug logging statement in the IPN handling script for easier troubleshooting. - Fixed an issue with the new SCA stripe subscription cancellation webhook. = 3.9.1 = - Fixed excessive debug log output in the log file when the New SCA compatible Stripe subscription button is used. - Stripe library is only loaded if another plugin hasn't loaded it already. = 3.9.0 = - Added new Stripe SCA button types. You can now go to the Payments -> Create New Button interface to create SCA compatible Stripe payment buttons. - Please note that we have tested the new SCA compatible buttons. However, it may have some compatibility issues that we will be addressing over the next few days as we receive feedback from the users. = 3.8.9 = - Added a new feature in the email settings menu to allow disabling of the "Account Upgraded" email notification. = 3.8.8 = - The expiry date in the login widget now shows the translated date value for Non-English installs. - Updated the German language translation files. - Integration with the Super Socializer plugin for social login. https://simple-membership-plugin.com/social-login-plugin-simple-membership/ = 3.8.7 = - Removed a PHP warning in the wp_password_reset_hook(). Thanks to John Wick for pointing this out. - Small improvement to the PayPal subscription IPN handling script. = 3.8.6 = - Added nonce check to the "Addons settings" tab. = 3.8.5 = - Fixed CSRF issue in the Bulk Operation menu tab. - Fixed Braintree payment issue that could occur if customer pays via PayPal. - Fixed Stripe library conflict if other Stripe plugin is installed. - Added support for the coupons addon. - Added current_user_can() check to the admin menu handling function. - Added nonce check to wp_ajax. = 3.8.4 = - More strings from the settings admin interface of the plugin are translatable. - The strong password validation error message is now translatable (if you are using this feature). - Minor enhancement in the PayPal IPN handling code. - Fixed an issue with some profile data not updating when password is also updated at the same time. = 3.8.3 = - Updated Braintree PHP SDK to prevent deprecation notice when using PHP 7+. - The "Expiry Date" of a member is now shown in the member's profile of the admin dashboard. - Compatibility with Wordfence plugin's captcha feature. - German translation file updated. - Japanese translation file updated. = 3.8.2 = - Added membership level and account status filter in the member search function (Members menu of admin dashboard). - Updated the Polish language translation. - Added a filter hook in the get_current_page_url() function. = 3.8.1 = - [Important Note] If you are using the Braintree gateway, please take a backup before updating. Do a test transaction using Braintree gateway on live mode to make sure the new 3D Secure changes are working fine. - Added 3D Secure support for Braintree payment gateway buttons. It automatically tries to detect if 3DS is enabled, then shows the additional steps. - Added note for email activation feature regarding temporary passwords storage. - Added "swpm_email_activation_data" filter to modify user email activation data. = 3.8.0 = - Email activation's temporary data is now stored in an encrypted format. - Fixed email activation data leftovers removal in the DB. - Updated some translation strings. = 3.7.9 = - Added new shortcode [swpm_show_after_login_page_link] via the swpm misc shortcodes addon. - More characters are now allowed in the "username" field. - Fixed a minor bug with the plugin not finding the corresponding member's profile when a subscritpion is canceled. = 3.7.8 = - Added a new feature to allow forwarding of the payment notification to an external URL. This option can be found in the "Advanced Settings" of the plugin. - The "Forgot Password?" translation string in the login form will allow the "?" character to be translated/customized. - Fixed a PHP7 related warning. - Updated some translation strings. - Corrected an spelling mistake. = 3.7.7 = - Added a new filter hook that can be used to override the account status of the email activation feature. swpm_activation_feature_override_account_status - Added email activation support for Form Builder. = 3.7.6 = - Updated the DB version number. - Updated the German language file. = 3.7.5.1 = - Fixed a minor bug with the new email activation feature. - Changed Stripe plan name to use the nickname. = 3.7.5 = - Added a new feature to enable email activation/confirmation. Useful if you want to enable this for your free membership level. - Username can only contain: letters, numbers and .-*@. This is so the username field accepts what is allowed by WordPress for that field. - Added a new utility function. - Added a function to show formatted expiry date. = 3.7.4 = - Stripe Subscription now considers plan trial period settings. - Added CSS class names to the fields in the admin add/edit members interface. - Added more translatable strings to the POT file. - WordPress 5.0 compatibility = 3.7.3 = - Created a new free addon to offer full page style protection. https://simple-membership-plugin.com/full-page-protection-addon-simple-membership/ - The mini login shortcode output is now translatable - Fixed Smart Checkout buttons were not working in live mode under some circumstances - Fixed minor display issues for PayPal Smart Checkout buttons = 3.7.2 = - Added a new feature that allows you to automatically logout the users when they close the browser. - Added support for Two-Factor Authentication addon. - Added a new utility function. - Improved the social login functionality. = 3.7.1 = - Moved the IPN handling code from "init" hook to "wp_loaded" hook for better compatibility. - The configuration fields for "Publishable" and "Secret" keys for Stripe has been swapped. This will align them better with how you get the info from your Stripe account. = 3.7.0 = - Added PayPal smart checkout button option. https://simple-membership-plugin.com/creating-paypal-smart-checkout-buttons-for-membership-payment/ - Added a new filter hook swpm_edit_profile_form_before_username - Added a new filter hook swpm_edit_profile_form_before_submit = 3.6.9 = - Added a new feature that allows you to configure an after logout redirect URL. This new feature is available in the "Advanced Settings" tab of the plugin. = 3.6.8 = - Fixed an Warning: count(): Parameter must be an array or an object that implements Countable. = 3.6.7 = - Captcha addon has the "Light" or "Dark" theme options. It also has the compact captcha option. - German language translation file updated. Thanks to Herbert Heupke. - Membership level update action will update the member's wp user role (if specified in the membership level). - Fixed rare issue when selected currency for Stripe buttons was ignored. - Fixed typo in configuration parameter for Stripe buttons that was producing warning in browser console. - Stripe is now tries to detect visitor's language and use it in payment pop-up. = 3.6.6 = - Added a new feature to show a terms and conditon checkbox. Users must agree to your terms before they can register for an account. Useful for GDPR. - Added a new feature to show a privacy policy checkbox. Users must agree to your privacy policy before they can register for an account. Useful for GDPR. - Last login date of the members are now shown in the members listing page in the admin dashboard. - Added a feature in the tools menu of the plugin to re-create the required pages of the membership plugin. - Fixed a typo in the country name "Colombia". = 3.6.5 = - Updated the Swedish translation file. Thanks to Andreas Damberg for submitting the translation file. - Developer API to query, update, create member accounts. - Added a new feature in the advanced settings to allow automatic member creation for WP users that get created by other plugins. - Added a couple of utility functions in the membership level class. = 3.6.4 = - Added a new shortcode to show a mini login form. This can be useful to show a mini login form on the sidebar, header or footer area of the site. - Fixed an issue with the auto login after registration feature when used with form builder addon. = 3.6.3 = - Added a new feature to enable auto login after registration for the members. = 3.6.2 = - Added a new feature to enforce strong password on the password field. When this option is enabled in the advanced settings, the members will be required to use a strong password. = 3.6.1 = - Langauge POT file regenerated. - Added a new filter so the registration complete email body can be overriden and the email can be disabled using a small tweak. - The member gets logged out of the wp user session when the password is changed from profile edit page. - Force logout is called when bad login hash is detected. - Fixed a bug in the tools menu (prompt to complete registration email sending). = 3.6.0 = - Added a new feature to allow configuration of an after registration redirect. The advanced settings tab has the new option. - Added extra help text in the email settings menu. - The subscription cancellation code will now use the subscriber ID. - Changed the "Edit Membership Level" button label to say "Save Membership Level" - Updated the local copy of the German language file. Thanks to Herbert Heupke. - Created a new free addon to handle bulk member import from a CSV file. - Added a new filter to allow overriding of the after registration redirection URL. = 3.5.9 = - Japanese Yen currency fix for Stripe subscription. - Added a new email merge tag for membership level name {membership_level_name} - There is a new option called "Force WP User Synchronization" in the advanced settings menu of the plugin. - Fixed an warning that can appear sometime when updating the advanced settings interface. = 3.5.8 = - Changed the "Edit Member" button text to "Save Data" in the admin member edit interface. - Added a new function to logout the user from the swpm system if the corresponding wp user session is logged out. - The company name field will now be shown in the edit profile form. - The stripe button configuration allows you to enable an option to collect billing address - The country field is now a dropdown option. - Added a filter hook for the paypal email address in the payment button. = 3.5.7 = - Added updated German translation file. - Fixed a permissions check bug (thanks to Neb). - Fixed a potential XSS vulnerability. = 3.5.6 = - Russian Ruble (₽) currency added for PayPal Buy Now and Subscription buttons. - "Return URL" and "Button Image URL" options for Stripe Subscription button are now properly saved and handled. - Stripe Subscription is now automatically cancelled when a member deletes his account. Will not work for members registered prior to this update. = 3.5.5 = - Updated the language text domain from "swpm" to "simple-membership". This will make it easy for the translation to be handled via https://translate.wordpress.org/ = 3.5.4 = - Added a check for PHP5.4 to detect if a server is using very old version of PHP and show an appropriate warning message. This will prevent an error on server's using old PHP version. - Added a new feature in the paypal button configuration so you can specify a custom checkout page header/logo. = 3.5.3 = - The login widget now shows a link to the edit profile page (for the logged in members). - Applied a fix in the validation JS code that was preventing paid membership registration to be completed properly if the email field was skipped. - Added Stripe subscription checkout option. = 3.5.2 = - There is a new feature to apply protection to posts and pages in bulk. The following documentation explains how to use this feature: https://simple-membership-plugin.com/apply-protection-posts-pages-bulk/ - Added a new utility function in the SwpmMemberUtils class. = 3.5.1 = - Added a new action hook (swpm_before_login_request_is_processed) that can be used to check stuff before the login request is processed by the plugin. - Stripe button: zero-decimal currencies (like JPY) are no longer multiplied by 100. - Turned off autocomplete for the email input field in the registration and edit profile forms. = 3.5.0 = - Updated the Spanish language translation file. - Added translation for Spanish (Venezuela). Translation was done by Santos Guerra. - Improved the current page URL check for the renewal page. - The {member_since} and {subscription_starts} email merge tags will output a formatted date value. - Turned off autocomplete in the edit profile's password field. = 3.4.9 = - Fixed a member profile edit issue that was introduced in the previous version from JavaScript library update. = 3.4.8 = - The password reset form will be hidden after a successful reset request. - Added a new utility function to write array content to the debug log file. - Added apply_filters() for all email subjects and bodies. This should be useful for a multi-lingual site. - Updated the validation JS library to the latest. - Updated the French language translation file. - Updated the Spanish language translation file. - Added Czech language translation to the plugin. The translation was submitted by Novakovska Eva. - Added Finnish language translation to the plugin. The translation was submitted by Lars Timberg. - The password field in the edit profile page has been changed to a "password" type field. = 3.4.7 = - There is a new feature for applying partial or section protection to posts and pages. This feature is available via a free addon. - Removed bundled jquery.tools18.min.js, switched to built-in WP jQuery UI. - Fixed a typo in the manage content protection menu tab. - Created a free addon for misc shortcodes. = 3.4.6 = - Added Arabic language translation to the plugin. The translation was submitted by Hanin Fatani. - Added an email tag {primary_address} that can be used in the notification email when address field is used in the form builder addon. - Removed the unnecessary $_SERVER["REQUEST_URI"] value from the post action. - Added reCAPTCHA support on the password reset form (for reCAPTCHA addon). - Added an option to specify a custom CSS class for Stripe and Braintree buttons to customize the button style. (The new shortcode parameter is "class"). = 3.4.5 = - Added a new action hook that gets triggered when a member is added via the "Add Member" menu of admin dashboard. - The mailchimp addon will now add users to a list when added via the admin dashboard. - The paypal checkout custom field value will be encoded. - Fixed warning - Non-static method SimpleWpMembership::deactivate() should not be called statically. = 3.4.4 = - Updated the Spanish language translation file. - The {password} email merge tag will work in the admin notification email when a member submits the registration form. - Excluded the disable dashboard feature check from AJAX request. - Added a new filter to allow overriding of the registration complete email dynamically using custom code. - Added a placeholder text message for the password field in the "Edit Profile" page. - Added a new settings field to allow customization of the "Admin Notification Email Subject". - The manage members menu can be sorted using first name and last name. - Minor typo fix. = 3.4.3 = - Improved the formatting for the content that appears before the "more" tag on a more tag protected post. - Added a new feature to disable wp dashboard access for non-admin wp users. You can find this option under the general settings tab. - Added Mexican language translation file. The translation was submitted by Enrique alfonso. - Re-added the local copy of the Spanish translation files (Someone submitted incorrect translation to the translate.wordpress.org site overwriting the good translation) = 3.4.2 = - Fixed an issue with some sites getting a blank screen for the members menu due to a PHP short tag usage. - Added a new action hook that gets triggered after a member edits the profile from the edit profile page. - The edit_profile_front_end() function now returns true or false based on if the form was submitted successfully or not. - Added extra comment in the IPN handling code. = 3.4.1 = - Added an option to bulk update the "Membership Level" value of a group of members. - Added an option to bulk update the "Access Starts" date value of a group of members. - Added Norwegian language translation file. The translation was submitted by Tom Nordstrønen. = 3.4.0 = - Updated the Italian language file. Thanks to Nicolò Monili for updating the translation. - Deleted the German language files from the plugin folder so it can pull the language from translate.wordpress.org - Improved the member search functionality when used with pagination. - Added more sanitization on the registration form. - Added a few utility functions to the membership level utility class. - Google reCAPTCHA addon updated to enable captcha on the login form. - Stripe Checkout: The plugin now sets the "receipt_email" parameter for Stripe checkout so a receipt gets sent from Stripe. = 3.3.9 = - Deleted the Spanish language files from the plugin folder so it can pull the language from translate.wordpress.org - WordPress 4.7 compatibility. - Regenerated the POT file. - The after login redirection now uses home_url() instead of site_url(). The URL also gets passed via a filter. - Added a new filter for the after logout redirection URL. - Renamed the swpm-ja_JP language filename to swpmp-ja - Added the Braintree payment gateway so you can accept membership payments using Braintree. Details in the following documentation: https://simple-membership-plugin.com/create-braintree-buy-now-button-for-membership-payment/ = 3.3.8 = - The account renewal payment will take into account any remaining time (when the user's level is using a duration type expiry). - The members can now user their email address (instead of username) and password to log into the site. The username field of the member login form will accept either the email address or the username. - The set_user_role action hook will not be triggered by the plugin as the wp_update_user() function will take care of it automatically. = 3.3.7 = - Added Italian language translation file. The translation was submitted by Roberto Paura. - Improved the paypal refund handling. - The subscription payment cancellation sequence/code has been improved. Details in the following documentation: https://simple-membership-plugin.com/what-happens-when-paypal-subscription-cancelled/ = 3.3.6 = - Added a new option so the admin notification email content can be customized from the email settings menu of the plugin. = 3.3.5 = - Added nonce check on the edit profile form. - Added an extra check for the membership level data on the registration form. - Minimum WordPress version requirement updated to v4.0. = 3.3.4 = - If you are editing the post protection settings of a post that belongs to a protected category, it will now show a message in the protection settings box to let you know. - Improved nonce check with the protection settings saving functionality. = 3.3.3 = - Improvements for a recurring payment received transaction. It will update the profile even if the membership level setting is using a duration type value. - Fixed CSRF vulnerabilies. - Added nonce verification check in various admin side actions. - Added is_admin() check for various admin side actions. - Added current_user_can() check for various admin side actions. = 3.3.2 = - You can now view a member's last accessed date and time value by editing the member's profile from the admin dashboard. - The "Registration Successful" message can now be customized using the custom messages addon. - The edit profile template file can now also be overridden using the swpm_load_template_files filter. - Updated the Dutch language translation file. - Added Estonian language translation file. - Updated the Stripe payment gateway library to the latest version. = 3.3.1 = - Added an option in the advanced settings menu to use the timezone value specified in your WordPress General Settings interface. - WordPress 4.6 compatibility. = 3.3.0 = - Updated the Hungarian language file. - Improved input sanitization. = 3.2.9 = - Lowered the priority of "the_content" filter processing (this should be helpful for compatibility with some of the content builder type plugins). - Added Slovak language translation file. The translation was submitted by Marek Kucak. - XSS vulnerability fix for page request parameter. = 3.2.8 = - Added Stripe Buy Now option for membership payment. Stripe payment usage documentation: https://simple-membership-plugin.com/create-stripe-buy-now-button-for-membership-payment/ - Added a notice in the admin interface to notify you when you keep the sandbox payment mode enabled. - Added a check in the authentication system to stop login request processing if the user is already logged into the site as ADMIN. - The payment button shortcode will now check to make sure you entered a valid button ID in the shortcode. - Fixed a couple of minor debug notice warnings. - Bugfix: Admin Dashboard Access Permission setting not saving correctly. = 3.2.7 = - Added a new option in the plugin settings so you can specify other WP user role (example: editor) to be able to use/see the plugin's admin interface. - Added a "user profile delete" option in the admin profile edit interface of the plugin. Admins can use it to delete a user record while in the member edit interface. - Added a new option so the member registration complete email notification can be sent to multiple site admins. - Added Bosnian language translation file. The translation was submitted by Rejhan Puskar. - Updated the Japanese language file. - Updated the Dutch language file. Thanks to R.H.J. Roelofsen. = 3.2.6 = - Added Hungarian language translation file. The translation was submitted by Laura Szitar. - Improved the members menu navigation menu so the tabs are always visible (even when you go to the add or edit members screen). - Added 2 new action hooks (They are triggered when subscription is cancelled and when a recurring payment is received). - Improved the membership levels navigation menu tabs. - The "Edit Member" interface now shows the member ID of the currently editing member. = 3.2.5 = - Added a new feature to enable redirection to the last page after login (where they clicked the login link). This new option is available in the after login redirection addon. https://wordpress.org/plugins/simple-membership-after-login-redirection/ = 3.2.4 = - Fixed a bug with attachment protection showing an error message. = 3.2.3 = - Added a new option so you can configure a membership account renewal page in the plugin. - The account expiry message will include the renewal page link (if you configure the renewal page). - Removed login link from the comment protection message. You can customize the comment protection message using the custom message addon. - Updated the Russian language file. Thanks to @dimabuko for updating the language file. - Updated the Portuguese language file. Thanks to @Juan for updating the language file. - Added a new addon for better custom post type protection. - Made an improvement to the wp user delete function. - More tag protection check improvements. - Account with "inactive" status can also log into the site if the "Allows expired login" feature is enabled. - Updated the PayPal IPN validation code so it is compatible with the upcoming PayPal changes. = 3.2.2 = - New feature to only allow the members of the site to be able to post a comment. - Moved the "Allow Account Deletion" option to the Advanced Settings tab of the plugin. - Moved the "Auto Delete Pending Account" option to the Advanced Settings tab of the plugin. - WordPress 4.5 compatibility. = 3.2.1 = - Added a new filter (swpm_transactions_menu_items_per_page) that can be used to customize the number of items that is listed in the transactions menu. - Added more sorting option in the transactions table. - Added sanitization for the sort inputs in the member transactions table. - Fixed an issue with the auto delete pending account settings. - Changed admin heading structure from h2 to h1. = 3.2.0 = - Added Catalan language translation file. The translation was submitted by Josep Ramon. - Custom post type categories are also listed in the category protection menu. - Added a new filter (swpm_members_menu_items_per_page) that can be used to customize the number of items that is listed in the members menu. - The default number of items listed in the members menu by default has been increased to 50. - Comment protection fix for posts using "more" tag. - Comments of protected posts are also protected. - Added CSS classes for all the field rows in the standard membership registration form. - Added CSS classes for all the field rows in the edit profile form. = 3.1.9 = - Added new merge vars that can be used in the registration complete email. These are {member_id}, {account_state}, {email}, {member_since} - Added trailingslashit() to the after logout redirect URL. - Created a new extension to show member info. [usage documentation](https://simple-membership-plugin.com/simple-membership-addon-show-member-info/) - A new cookie is dropped when a member logs into the site. It can be used for caching plugin compatibility. - Added a new function to load the template for login widget and password reset form. This will allow customization of the login widget by adding the custom template to the theme folder. = 3.1.8 = - Improved the members and payments menu rendering for smaller screen devices. - Added a utility function to easily output a formatted date in the plugin according to the WordPress's date format settings. - Fixed a bug in the wp username and email validation functionality. Thanks to Klaas van der Linden for pointing it out. - The membership password reset form has been restructured (the HTML table has been removed). = 3.1.7 = - Added debug logging for after a password is reset successfully. - The plugin will prevent WordPress's default password reset email notification from going out when a member resets the password. - Added a new bulk action item. Activate account and notify members in bulk. Customize the activation email from the email settings menu of the plugin. - Added validation in the bulk operation function to check and make sure that multiple records were selected before trying the bulk action. - Updated the Portuguese (Brazil) language translation file. The translation was updated by Fernando Telles. - Updated the Tools interface of the plugin. - The members list can now be filtered by account status (from the members interface) - The members list now shows "incomplete" keyword in the username field for the member profiles that are incomplete. - Added an "Add Member" tab in the members menu. = 3.1.6 = - Added a new feature to show the admin toolbar to admin users only. - Added CSS for membership buy buttons to force their width and height to be auto. - Added a few utility functions to retrieve a member's record from custom PHP code (useful for developers). - Added the free Google recaptcha addon for registration forms. = 3.1.5 = - Added a new shortcode [swpm_show_expiry_date] to show the logged-in member's expiry details. - The search feature in the members menu will search the company name, city, state, country fields also. - The subscription profile ID (if any) for subscription payment is now shown in the "payments" interface of the plugin. - Added new filter hook so additional fields can be added to the payment button form (example: specify country or language code). - Updated the language POT file. = 3.1.4 = - Added an option in the "Payments" menu to link a payment to the corresponding membership profile (when applicable). - Fixed an issue with the subscriber ID not saving with the member profile (for PayPal subscription payments). - Added Hebrew language translation file. The translation was submitted by Merom Harpaz. = 3.1.3 = - Added Indonesian language translation file. The translation was submitted by Hermanudin. - Removed a couple of "notice" warnings from the installer. - Added option to bulk change members account status. - Updated the CSS class for postbox h3 elements. - The member search feature (in the admin side) can now search the list based on email address. = 3.1.2 = - Added more sortable columns in the members menu. - Adjusted the CSS for the registration and edit profile forms so they render better in small screen devices. - Changed the "User name" string to "Username" = 3.1.1 = - Fix for some special characters in the email not getting decoded correctly. - Updated the membership upgrade email header to use the "from email address" value from the email settings. = 3.1.0 = - Fixed an email validation issue for when the plugin is used with the form builder addon. = 3.0.9 = - Updated the Spanish language translation file. - Updated the POT file for language translation. - Added Dutch (Belgium) language translation file. The translation was submitted by Johan Calu. - Fixed an email validation issue. = 3.0.8 = - Added Latvian language translation file. The translation was submitted by Uldis Kalnins. - Updated the POT file for language translation. - Added a placeholder get_real_ip_addr() function for backwards compatibility. = 3.0.7 = - Fixed a typo in the password reset message. - Removed the get_real_ip_addr() function (using get_user_ip_address() from the "SwpmUtils" class). - Simplified the message class interaction. - Added CSS classes to the registration, edit profile and login submit buttons. - Added confirmation in the member's menu bulk operation function. - Fixed the bulk delete and delete functionality in the members list menu. - Fixed the category protection confirmation message. - Added Greek language translation file. The translation was submitted by Christos Papafilopoulos. = 3.0.6 = - Corrected the Danish language file name. - Fixed an issue with the profile update success message sticking. = 3.0.5 = - Added a fix to prevent an error from showing when a member record is edited from the admin side. = 3.0.4 = - Added a new utility function so a member's particular info can be retrieved using this function. - Added extra guard to prevent the following error "Call to member function get () on a non object". - Updated the langguage POT file. = 3.0.3 = - Increased the database character limit size of the user_name field. - Refactored the 'swpm_registration_form_override' filter. - Added integration with iDevAffiliate. - Added integration with Affiliate Platform plugin. = 3.0.2 = - Added a new shortcode that can be used on your thank you page. This will allow your users to complete paid registration from the thank you page after payment. - The last accessed from IP address of a member is shown to the admin in the member edit screen. - The debug log (if enabled) for authentication request is written to the "log-auth.txt" file. - Fixed a bug with the bulk member delete option from the bottom bulk action form. - Fixed a bug with the bulk membership level delete option from the bottom bulk action form. = 3.0.1 = - Added a new CSS class to the registration complete message. - Added Portuguese (Portugal) language translation file. The translation was submitted by Edgar Sprecher. - Replaced mysql_real_escape_string() with esc_sql() - Members list in the admin is now sorted by member_id by default. - Added a new filter in the registration form so Google recaptcha can be added to it. = 3.0 = - Updated the swedish langauge translation - Added a new option to enable opening of the PayPal buy button in a new window (using the "new_window" parameter in the shortcode). - You can now create and configure PayPal Subscription button for membership payment from the payments menu. = 2.2.9 = - Added a new feature to customize the password reset email. - Added a new feature to customize the admin notification email address. - Improved the help text for a few of the email settings fields. - Updated the message that gets displayed after a member updates the profile. = 2.2.8 = - Updated the swedish language translation file. - Code refactoring: moved all the init hook tasks to a separate class. - Increased the size of admin nav tab menu items so they are easy to see. - Made all the admin menu title size consistent accross all the menus. - Updated the admin menu dashicon icon to a nicer looking one. - You can now create and configure PayPal buy now button for membership payment from the payments menu. = 2.2.7 = - Added Japanese language translation to the plugin. The translation was submitted by Mana. - Added Serbian language translation to the plugin. The translation was submitted by Zoran Milijanovic. - All member fields will be loaded in the edit page (instead of just two). = 2.2.6 = - Fixed an issue with the category protection menu after the class refactoring work. - Fixed the unique key in the DB table = 2.2.5 = - Refactored all the class names to use the "swpm" slug to remove potential conflict with other plugins with similar class names. = 2.2.4 = - Fixed an issue with not being able to unprotect the category protection. - Minor refactoring work with the classes. = 2.2.3 = - Updated the category protection interface to use the get_terms() function. - Added a new Utility class that has some helpful functions (example: check if a member is logged into the site). = 2.2.2 = - All the membership payments are now recorded in the payments table. - Added a new menu item (Payments) to show all the membership payments and transactions. - Added Lithuanian language translation to the plugin. The translation was submitted by Daiva Pakalne. - Fixed an invalid argument error. = 2.2.1 = - Added a new table for logging the membership payments/transactions in the future. - Made some enhancements in the installer class so it can handle both the WP Multi-site and single site setup via the same function. = 2.2 = - Added a new feature to allow expired members to be able to log into the system (to allow easy account renewal). - The email address value of a member is now editable from the admin dashboard and in the profile edit form. - Added CSS classes around some of the messages for styling purpose. - Some translation updates. = 2.1.9 = - Improved the password reset functionality. - Improved the message that gets displayed after the password reset functionality is used. - Updated the Portuguese (Brazil) language file. - Improved the user login handling code. = 2.1.8 = - Improved the after logout redirection so it uses the home_url() value. - Fixed a bug in the member table sorting functionality. - The members table can now be sorted using ID column. = 2.1.7 = - Added a new feature to automatically delete pending membership accounts that are older than 1 or 2 months. - Fixed an issue with the send notification to admin email settings not saving. = 2.1.6 = - Fixed a bug with new membership level creation with a number of days or weeks duration value. = 2.1.5 = - Improved the attachment protection so it doesn't protect when viewing from the admin side also. - Removed a dubug dump statement. = 2.1.4 = - Improved the login authentication handler logic. - Fixed the restricted image icon URL. - Updated the restricted attachment icon to use a better one. = 2.1.3 = - Added a new feature to allow the members to delete their accounts. = 2.1.2 = - Updated the membership subscription payment cancellation handler and made it more robust. - Added an option in the settings to reset the debug log files. = 2.1.1 = - Enhanced the username exists function query. - Updated one of the notice messages. = 2.1 = - Changed the PHP short tags to the standard tags - Updated a message in the settings to make the usage instruction clear. - Corrected a version number value. = 2.0 = - Improved some of the default content protection messages. - Added Danish language translation to the plugin. The translation was submitted by Niels Boje Lund. = 1.9.9 = - WP Multi-site network activation error fix. = 1.9.8 = - Fixed an issue with the phone number not saving. - Fixed an issue with the new fixed membership expiry date feature. = 1.9.7 = - Minor UI fix in the add new membership level menu. = 1.9.6 = - Added a new feature to allow fixed expiry date for membership levels. - Added Russian language translation to the plugin. The translation was submitted by Vladimir Vaulin. - Added Dutch language translation to the plugin. The translation was submitted by Henk Rostohar. - Added Romanian language translation to the plugin. The translation was submitted by Iulian Cazangiu. - Some minor code refactoring. = 1.9.5 = - Added a check to show the content of a protected post/page if the admin is previewing the post or page. - Fixed an issue with the quick notification email feature not filtering the email shortcodes. - Improved the login form's HTML and CSS. = 1.9.4 = - Added a new feature to send an email notification to a member when you edit a user's record. This will be helpful to notify members when you activate their account. - Fixed an issue with "pending" member account getting set to active when the record is edited from admin side. = 1.9.3 = - Fixed an issue with the featured image not showing properly for some protected blog posts. = 1.9.2 = - Fixed the edit link in the member search interface. = 1.9.1 = - Added Turkish language translation to the plugin. The translation was submitted by Murat SEYISOGLU. - WordPrss 4.1 compatibility. = 1.9.0 = - Fixed a bug in the default account setting option (the option to do manual approval for membership). - Added Polish language translation to the plugin. The translation was submitted by Maytki. - Added Macedonian language translation to the plugin. The translation was submitted by I. Ivanov. = 1.8.9 = - Added a new feature so you can set the default account status of your members. This can useful if you want to manually approve members after they signup. = 1.8.8 = - Fixed an issue with the account expiry when it is set to 1 year. = 1.8.7 = - Updated the registration form validation code to not accept apostrophe character in the username field. - Added a new tab for showing addon settings options (some of the addons will be able to utilize this settings tab). - Added a new action hook in the addon settings tab. - Moved the plugin's main class initialization code outside of the plugins_loaded hook. = 1.8.6 = - Fixed an email validation issue with paid membership registration process. - Added a new free addon to customize the protected content message. = 1.8.5 = - Added category protection feature under the membership level menu. - Fixed a bug with paid membership paypal IPN processing code. = 1.8.4 = - The Password field won't use the browser's autofill option in the admin interface when editing a member info. = 1.8.3 = - Added Swedish language translation to the plugin. The translation was submitted by Geson Perry. - There is now a cronjob in the plugin to expire the member profiles in the background. - Released a new addon - https://simple-membership-plugin.com/simple-membership-registration-form-shortcode-generator/ - Added a menu called "Add-ons" for listing all the extensions of this plugin. = 1.8.2 = - Updated the members expiry check code at the time of login and made it more robust. = 1.8.1 = - MySQL database character set and collation values are read from the system when creating the tables. - Added German language translation file to the plugin. - Some code refactoring work. - Added a new feature to allow admins to create a registration form for a particular membership level. = 1.8.0 = - Added a new feature called "more tag protection" to enable teaser content. Read the [teaser content documentation](https://simple-membership-plugin.com/creating-teaser-content-membership-site/) for more info. - Added Portuguese (Brazil) language translation to the plugin. The translation was submitted by Rachel Oakes. - Added cookiehash definition check (in case it is not defined already). = 1.7.9 = - Added Spanish language translation to the plugin. The translation was submitted by David Sanchez. - Removed some hardcoded path from the auth class. - WordPress 4.0 compatibility = 1.7.8 = - Architecture improvement for the [WP User import addon](https://simple-membership-plugin.com/import-existing-wordpress-users-simple-membership-plugin/) - Updated the POT file with the new translation strings = 1.7.7 = - The plugin will now show the member account expiry date in the login widget (when a user is logged into the site). - Added a couple of filters to the plugin. = 1.7.6 = - Fixed an issue with hiding the admin-bar. It will never be shown to non-members. - Renamed the chinese language file to correct the name. - Removed a lot of fields from the front-end registration form (after user feedback). The membership registration form is now a lot simpler with just a few fields. - Fixed a bug with the member search option in the admin dashboard. - Added a few new action hooks and filters. - Fixed a bug with the media attachment protection. = 1.7.5 = - Fixed an issue with language file loading. = 1.7.4 = - Added capability to use any of the shortcodes (example: Login widget) in the sidebar text widget. = 1.7.3 = - Added french language translation to the plugin. The translation was submitted by Zeb. - Fixed a few language textdomain issue. - Fixed an issue with the the registration and login page shortcode (On some sites the registration form wasn't visible.) - Added simplified Chinese language translation to the plugin. The translation was submitted by Ben. = 1.7.2 = - Added a new hook after the plugin's admin menu is rendered so addons can hook into the main plugin menu. - Fixed another PHP 5.2 code compatibility issue. - Fixed an issue with the bulk member delete functionality. = 1.7.1 = - Fixed another PHP 5.2 code compatibility issue. - Updated the plugin's language file template. = 1.7 = - Tweaked code to make it compatible with PHP 5.2 (previously PHP 5.3 was the requirement). - Added checks for checking if a WP user account already exists with the chosen username (when a member registers). - Fixed a few translation strings. = 1.6 = - Added comment protection. Comments on your protected posts will also be protected automatically. - Added a new feature to hide the admin toolbar for logged in users of the site. - Bug fix: password reset email not sent correctly - Bug fix: page rendering issue after the member updates the profile. = 1.5.1 = - Compatibility with the after login redirection addon: http://wordpress.org/plugins/simple-membership-after-login-redirection/ = 1.5 = - Fixed a bug with sending member email when added via admin dashboard. - Fixed a bug with general settings values resetting. - Added a few action hooks to the plugin. = 1.4 = - Refactored some code to enhance the architecture. This will help us add some good features in the future. - Added debug logger to help troubleshoot after membership payment tasks. - Added a new action hook for after paypal IPN is processed. = 1.3 = - Fixed a bug with premium membership registration. = 1.2 = - First commit to WordPress repository. js/swpm.password-toggle.js000064400000001276147206617610011644 0ustar00(function ($) { $(document).ready(function () { $("#swpm-password-toggle-checkbox").attr("checked",false); $("#swpm-password-toggle-checkbox").change(function(e){ var field_state = $(this).data("state"); if(field_state=="password-hidden") { $(this).data("state","password-visible"); $("#swpm_password").attr("type","text"); } else{ $(this).data("state","password-hidden"); $("#swpm_password").attr("type","password"); } }); }); })(jQuery);js/swpm.validationEngine-localization.js000064400000000352147206617610014463 0ustar00(function ($) { $(document).ready(function () { $.extend(true, $.validationEngineLanguage.allRules, swpm_validationEngine_localization); $(".swpm-validate-form").validationEngine('attach'); }); })(jQuery);js/swpm-reg-form-validator.js000064400000346260147206617610012230 0ustar00var util; (function(util2) { util2.assertEqual = (val) => val; function assertIs(_arg) { } util2.assertIs = assertIs; function assertNever(_x) { throw new Error(); } util2.assertNever = assertNever; util2.arrayToEnum = (items) => { const obj = {}; for (const item of items) { obj[item] = item; } return obj; }; util2.getValidEnumValues = (obj) => { const validKeys = util2.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number"); const filtered = {}; for (const k of validKeys) { filtered[k] = obj[k]; } return util2.objectValues(filtered); }; util2.objectValues = (obj) => { return util2.objectKeys(obj).map(function(e) { return obj[e]; }); }; util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => { const keys = []; for (const key in object) { if (Object.prototype.hasOwnProperty.call(object, key)) { keys.push(key); } } return keys; }; util2.find = (arr, checker) => { for (const item of arr) { if (checker(item)) return item; } return void 0; }; util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val; function joinValues(array, separator = " | ") { return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); } util2.joinValues = joinValues; util2.jsonStringifyReplacer = (_, value) => { if (typeof value === "bigint") { return value.toString(); } return value; }; })(util || (util = {})); var objectUtil; (function(objectUtil2) { objectUtil2.mergeShapes = (first, second) => { return { ...first, ...second // second overwrites first }; }; })(objectUtil || (objectUtil = {})); const ZodParsedType = util.arrayToEnum([ "string", "nan", "number", "integer", "float", "boolean", "date", "bigint", "symbol", "function", "undefined", "null", "array", "object", "unknown", "promise", "void", "never", "map", "set" ]); const getParsedType = (data) => { const t = typeof data; switch (t) { case "undefined": return ZodParsedType.undefined; case "string": return ZodParsedType.string; case "number": return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number; case "boolean": return ZodParsedType.boolean; case "function": return ZodParsedType.function; case "bigint": return ZodParsedType.bigint; case "symbol": return ZodParsedType.symbol; case "object": if (Array.isArray(data)) { return ZodParsedType.array; } if (data === null) { return ZodParsedType.null; } if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { return ZodParsedType.promise; } if (typeof Map !== "undefined" && data instanceof Map) { return ZodParsedType.map; } if (typeof Set !== "undefined" && data instanceof Set) { return ZodParsedType.set; } if (typeof Date !== "undefined" && data instanceof Date) { return ZodParsedType.date; } return ZodParsedType.object; default: return ZodParsedType.unknown; } }; const ZodIssueCode = util.arrayToEnum([ "invalid_type", "invalid_literal", "custom", "invalid_union", "invalid_union_discriminator", "invalid_enum_value", "unrecognized_keys", "invalid_arguments", "invalid_return_type", "invalid_date", "invalid_string", "too_small", "too_big", "invalid_intersection_types", "not_multiple_of", "not_finite" ]); class ZodError extends Error { constructor(issues) { super(); this.issues = []; this.addIssue = (sub) => { this.issues = [...this.issues, sub]; }; this.addIssues = (subs = []) => { this.issues = [...this.issues, ...subs]; }; const actualProto = new.target.prototype; if (Object.setPrototypeOf) { Object.setPrototypeOf(this, actualProto); } else { this.__proto__ = actualProto; } this.name = "ZodError"; this.issues = issues; } get errors() { return this.issues; } format(_mapper) { const mapper = _mapper || function(issue) { return issue.message; }; const fieldErrors = { _errors: [] }; const processError = (error) => { for (const issue of error.issues) { if (issue.code === "invalid_union") { issue.unionErrors.map(processError); } else if (issue.code === "invalid_return_type") { processError(issue.returnTypeError); } else if (issue.code === "invalid_arguments") { processError(issue.argumentsError); } else if (issue.path.length === 0) { fieldErrors._errors.push(mapper(issue)); } else { let curr = fieldErrors; let i = 0; while (i < issue.path.length) { const el = issue.path[i]; const terminal = i === issue.path.length - 1; if (!terminal) { curr[el] = curr[el] || { _errors: [] }; } else { curr[el] = curr[el] || { _errors: [] }; curr[el]._errors.push(mapper(issue)); } curr = curr[el]; i++; } } } }; processError(this); return fieldErrors; } toString() { return this.message; } get message() { return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2); } get isEmpty() { return this.issues.length === 0; } flatten(mapper = (issue) => issue.message) { const fieldErrors = {}; const formErrors = []; for (const sub of this.issues) { if (sub.path.length > 0) { fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || []; fieldErrors[sub.path[0]].push(mapper(sub)); } else { formErrors.push(mapper(sub)); } } return { formErrors, fieldErrors }; } get formErrors() { return this.flatten(); } } ZodError.create = (issues) => { const error = new ZodError(issues); return error; }; const errorMap = (issue, _ctx) => { let message; switch (issue.code) { case ZodIssueCode.invalid_type: if (issue.received === ZodParsedType.undefined) { message = "Required"; } else { message = `Expected ${issue.expected}, received ${issue.received}`; } break; case ZodIssueCode.invalid_literal: message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`; break; case ZodIssueCode.unrecognized_keys: message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, ", ")}`; break; case ZodIssueCode.invalid_union: message = `Invalid input`; break; case ZodIssueCode.invalid_union_discriminator: message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`; break; case ZodIssueCode.invalid_enum_value: message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`; break; case ZodIssueCode.invalid_arguments: message = `Invalid function arguments`; break; case ZodIssueCode.invalid_return_type: message = `Invalid function return type`; break; case ZodIssueCode.invalid_date: message = `Invalid date`; break; case ZodIssueCode.invalid_string: if (typeof issue.validation === "object") { if ("includes" in issue.validation) { message = `Invalid input: must include "${issue.validation.includes}"`; if (typeof issue.validation.position === "number") { message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`; } } else if ("startsWith" in issue.validation) { message = `Invalid input: must start with "${issue.validation.startsWith}"`; } else if ("endsWith" in issue.validation) { message = `Invalid input: must end with "${issue.validation.endsWith}"`; } else { util.assertNever(issue.validation); } } else if (issue.validation !== "regex") { message = `Invalid ${issue.validation}`; } else { message = "Invalid"; } break; case ZodIssueCode.too_small: if (issue.type === "array") message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`; else if (issue.type === "string") message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`; else if (issue.type === "number") message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; else if (issue.type === "date") message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`; else message = "Invalid input"; break; case ZodIssueCode.too_big: if (issue.type === "array") message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`; else if (issue.type === "string") message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`; else if (issue.type === "number") message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; else if (issue.type === "bigint") message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; else if (issue.type === "date") message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`; else message = "Invalid input"; break; case ZodIssueCode.custom: message = `Invalid input`; break; case ZodIssueCode.invalid_intersection_types: message = `Intersection results could not be merged`; break; case ZodIssueCode.not_multiple_of: message = `Number must be a multiple of ${issue.multipleOf}`; break; case ZodIssueCode.not_finite: message = "Number must be finite"; break; default: message = _ctx.defaultError; util.assertNever(issue); } return { message }; }; let overrideErrorMap = errorMap; function getErrorMap() { return overrideErrorMap; } const makeIssue = (params) => { const { data, path, errorMaps, issueData } = params; const fullPath = [...path, ...issueData.path || []]; const fullIssue = { ...issueData, path: fullPath }; let errorMessage = ""; const maps = errorMaps.filter((m) => !!m).slice().reverse(); for (const map of maps) { errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message; } return { ...issueData, path: fullPath, message: issueData.message || errorMessage }; }; function addIssueToContext(ctx, issueData) { const issue = makeIssue({ issueData, data: ctx.data, path: ctx.path, errorMaps: [ ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), errorMap // then global default map ].filter((x) => !!x) }); ctx.common.issues.push(issue); } class ParseStatus { constructor() { this.value = "valid"; } dirty() { if (this.value === "valid") this.value = "dirty"; } abort() { if (this.value !== "aborted") this.value = "aborted"; } static mergeArray(status, results) { const arrayValue = []; for (const s of results) { if (s.status === "aborted") return INVALID; if (s.status === "dirty") status.dirty(); arrayValue.push(s.value); } return { status: status.value, value: arrayValue }; } static async mergeObjectAsync(status, pairs) { const syncPairs = []; for (const pair of pairs) { syncPairs.push({ key: await pair.key, value: await pair.value }); } return ParseStatus.mergeObjectSync(status, syncPairs); } static mergeObjectSync(status, pairs) { const finalObject = {}; for (const pair of pairs) { const { key, value } = pair; if (key.status === "aborted") return INVALID; if (value.status === "aborted") return INVALID; if (key.status === "dirty") status.dirty(); if (value.status === "dirty") status.dirty(); if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) { finalObject[key.value] = value.value; } } return { status: status.value, value: finalObject }; } } const INVALID = Object.freeze({ status: "aborted" }); const DIRTY = (value) => ({ status: "dirty", value }); const OK = (value) => ({ status: "valid", value }); const isAborted = (x) => x.status === "aborted"; const isDirty = (x) => x.status === "dirty"; const isValid = (x) => x.status === "valid"; const isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise; var errorUtil; (function(errorUtil2) { errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {}; errorUtil2.toString = (message) => typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message; })(errorUtil || (errorUtil = {})); class ParseInputLazyPath { constructor(parent, value, path, key) { this._cachedPath = []; this.parent = parent; this.data = value; this._path = path; this._key = key; } get path() { if (!this._cachedPath.length) { if (this._key instanceof Array) { this._cachedPath.push(...this._path, ...this._key); } else { this._cachedPath.push(...this._path, this._key); } } return this._cachedPath; } } const handleResult = (ctx, result) => { if (isValid(result)) { return { success: true, data: result.value }; } else { if (!ctx.common.issues.length) { throw new Error("Validation failed but no issues detected."); } return { success: false, get error() { if (this._error) return this._error; const error = new ZodError(ctx.common.issues); this._error = error; return this._error; } }; } }; function processCreateParams(params) { if (!params) return {}; const { errorMap: errorMap2, invalid_type_error, required_error, description } = params; if (errorMap2 && (invalid_type_error || required_error)) { throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); } if (errorMap2) return { errorMap: errorMap2, description }; const customMap = (iss, ctx) => { if (iss.code !== "invalid_type") return { message: ctx.defaultError }; if (typeof ctx.data === "undefined") { return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError }; } return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError }; }; return { errorMap: customMap, description }; } class ZodType { constructor(def) { this.spa = this.safeParseAsync; this._def = def; this.parse = this.parse.bind(this); this.safeParse = this.safeParse.bind(this); this.parseAsync = this.parseAsync.bind(this); this.safeParseAsync = this.safeParseAsync.bind(this); this.spa = this.spa.bind(this); this.refine = this.refine.bind(this); this.refinement = this.refinement.bind(this); this.superRefine = this.superRefine.bind(this); this.optional = this.optional.bind(this); this.nullable = this.nullable.bind(this); this.nullish = this.nullish.bind(this); this.array = this.array.bind(this); this.promise = this.promise.bind(this); this.or = this.or.bind(this); this.and = this.and.bind(this); this.transform = this.transform.bind(this); this.brand = this.brand.bind(this); this.default = this.default.bind(this); this.catch = this.catch.bind(this); this.describe = this.describe.bind(this); this.pipe = this.pipe.bind(this); this.readonly = this.readonly.bind(this); this.isNullable = this.isNullable.bind(this); this.isOptional = this.isOptional.bind(this); } get description() { return this._def.description; } _getType(input) { return getParsedType(input.data); } _getOrReturnCtx(input, ctx) { return ctx || { common: input.parent.common, data: input.data, parsedType: getParsedType(input.data), schemaErrorMap: this._def.errorMap, path: input.path, parent: input.parent }; } _processInputParams(input) { return { status: new ParseStatus(), ctx: { common: input.parent.common, data: input.data, parsedType: getParsedType(input.data), schemaErrorMap: this._def.errorMap, path: input.path, parent: input.parent } }; } _parseSync(input) { const result = this._parse(input); if (isAsync(result)) { throw new Error("Synchronous parse encountered promise."); } return result; } _parseAsync(input) { const result = this._parse(input); return Promise.resolve(result); } parse(data, params) { const result = this.safeParse(data, params); if (result.success) return result.data; throw result.error; } safeParse(data, params) { var _a; const ctx = { common: { issues: [], async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false, contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap }, path: (params === null || params === void 0 ? void 0 : params.path) || [], schemaErrorMap: this._def.errorMap, parent: null, data, parsedType: getParsedType(data) }; const result = this._parseSync({ data, path: ctx.path, parent: ctx }); return handleResult(ctx, result); } async parseAsync(data, params) { const result = await this.safeParseAsync(data, params); if (result.success) return result.data; throw result.error; } async safeParseAsync(data, params) { const ctx = { common: { issues: [], contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap, async: true }, path: (params === null || params === void 0 ? void 0 : params.path) || [], schemaErrorMap: this._def.errorMap, parent: null, data, parsedType: getParsedType(data) }; const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx }); const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); return handleResult(ctx, result); } refine(check, message) { const getIssueProperties = (val) => { if (typeof message === "string" || typeof message === "undefined") { return { message }; } else if (typeof message === "function") { return message(val); } else { return message; } }; return this._refinement((val, ctx) => { const result = check(val); const setError = () => ctx.addIssue({ code: ZodIssueCode.custom, ...getIssueProperties(val) }); if (typeof Promise !== "undefined" && result instanceof Promise) { return result.then((data) => { if (!data) { setError(); return false; } else { return true; } }); } if (!result) { setError(); return false; } else { return true; } }); } refinement(check, refinementData) { return this._refinement((val, ctx) => { if (!check(val)) { ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData); return false; } else { return true; } }); } _refinement(refinement) { return new ZodEffects({ schema: this, typeName: ZodFirstPartyTypeKind.ZodEffects, effect: { type: "refinement", refinement } }); } superRefine(refinement) { return this._refinement(refinement); } optional() { return ZodOptional.create(this, this._def); } nullable() { return ZodNullable.create(this, this._def); } nullish() { return this.nullable().optional(); } array() { return ZodArray.create(this, this._def); } promise() { return ZodPromise.create(this, this._def); } or(option) { return ZodUnion.create([this, option], this._def); } and(incoming) { return ZodIntersection.create(this, incoming, this._def); } transform(transform) { return new ZodEffects({ ...processCreateParams(this._def), schema: this, typeName: ZodFirstPartyTypeKind.ZodEffects, effect: { type: "transform", transform } }); } default(def) { const defaultValueFunc = typeof def === "function" ? def : () => def; return new ZodDefault({ ...processCreateParams(this._def), innerType: this, defaultValue: defaultValueFunc, typeName: ZodFirstPartyTypeKind.ZodDefault }); } brand() { return new ZodBranded({ typeName: ZodFirstPartyTypeKind.ZodBranded, type: this, ...processCreateParams(this._def) }); } catch(def) { const catchValueFunc = typeof def === "function" ? def : () => def; return new ZodCatch({ ...processCreateParams(this._def), innerType: this, catchValue: catchValueFunc, typeName: ZodFirstPartyTypeKind.ZodCatch }); } describe(description) { const This = this.constructor; return new This({ ...this._def, description }); } pipe(target) { return ZodPipeline.create(this, target); } readonly() { return ZodReadonly.create(this); } isOptional() { return this.safeParse(void 0).success; } isNullable() { return this.safeParse(null).success; } } const cuidRegex = /^c[^\s-]{8,}$/i; const cuid2Regex = /^[a-z][a-z0-9]*$/; const ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/; const uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; const emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; const _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; let emojiRegex; const ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/; const ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/; const datetimeRegex = (args) => { if (args.precision) { if (args.offset) { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${args.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`); } else { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${args.precision}}Z$`); } } else if (args.precision === 0) { if (args.offset) { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$`); } else { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$`); } } else { if (args.offset) { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$`); } else { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$`); } } }; function isValidIP(ip, version) { if ((version === "v4" || !version) && ipv4Regex.test(ip)) { return true; } if ((version === "v6" || !version) && ipv6Regex.test(ip)) { return true; } return false; } class ZodString extends ZodType { _parse(input) { if (this._def.coerce) { input.data = String(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.string) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext( ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.string, received: ctx2.parsedType } // ); return INVALID; } const status = new ParseStatus(); let ctx = void 0; for (const check of this._def.checks) { if (check.kind === "min") { if (input.data.length < check.value) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: check.value, type: "string", inclusive: true, exact: false, message: check.message }); status.dirty(); } } else if (check.kind === "max") { if (input.data.length > check.value) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: check.value, type: "string", inclusive: true, exact: false, message: check.message }); status.dirty(); } } else if (check.kind === "length") { const tooBig = input.data.length > check.value; const tooSmall = input.data.length < check.value; if (tooBig || tooSmall) { ctx = this._getOrReturnCtx(input, ctx); if (tooBig) { addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: check.value, type: "string", inclusive: true, exact: true, message: check.message }); } else if (tooSmall) { addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: check.value, type: "string", inclusive: true, exact: true, message: check.message }); } status.dirty(); } } else if (check.kind === "email") { if (!emailRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "email", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "emoji") { if (!emojiRegex) { emojiRegex = new RegExp(_emojiRegex, "u"); } if (!emojiRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "emoji", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "uuid") { if (!uuidRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "uuid", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "cuid") { if (!cuidRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "cuid", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "cuid2") { if (!cuid2Regex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "cuid2", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "ulid") { if (!ulidRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "ulid", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "url") { try { new URL(input.data); } catch (_a) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "url", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "regex") { check.regex.lastIndex = 0; const testResult = check.regex.test(input.data); if (!testResult) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "regex", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "trim") { input.data = input.data.trim(); } else if (check.kind === "includes") { if (!input.data.includes(check.value, check.position)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_string, validation: { includes: check.value, position: check.position }, message: check.message }); status.dirty(); } } else if (check.kind === "toLowerCase") { input.data = input.data.toLowerCase(); } else if (check.kind === "toUpperCase") { input.data = input.data.toUpperCase(); } else if (check.kind === "startsWith") { if (!input.data.startsWith(check.value)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_string, validation: { startsWith: check.value }, message: check.message }); status.dirty(); } } else if (check.kind === "endsWith") { if (!input.data.endsWith(check.value)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_string, validation: { endsWith: check.value }, message: check.message }); status.dirty(); } } else if (check.kind === "datetime") { const regex = datetimeRegex(check); if (!regex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_string, validation: "datetime", message: check.message }); status.dirty(); } } else if (check.kind === "ip") { if (!isValidIP(input.data, check.version)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "ip", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else { util.assertNever(check); } } return { status: status.value, value: input.data }; } _regex(regex, validation, message) { return this.refinement((data) => regex.test(data), { validation, code: ZodIssueCode.invalid_string, ...errorUtil.errToObj(message) }); } _addCheck(check) { return new ZodString({ ...this._def, checks: [...this._def.checks, check] }); } email(message) { return this._addCheck({ kind: "email", ...errorUtil.errToObj(message) }); } url(message) { return this._addCheck({ kind: "url", ...errorUtil.errToObj(message) }); } emoji(message) { return this._addCheck({ kind: "emoji", ...errorUtil.errToObj(message) }); } uuid(message) { return this._addCheck({ kind: "uuid", ...errorUtil.errToObj(message) }); } cuid(message) { return this._addCheck({ kind: "cuid", ...errorUtil.errToObj(message) }); } cuid2(message) { return this._addCheck({ kind: "cuid2", ...errorUtil.errToObj(message) }); } ulid(message) { return this._addCheck({ kind: "ulid", ...errorUtil.errToObj(message) }); } ip(options) { return this._addCheck({ kind: "ip", ...errorUtil.errToObj(options) }); } datetime(options) { var _a; if (typeof options === "string") { return this._addCheck({ kind: "datetime", precision: null, offset: false, message: options }); } return this._addCheck({ kind: "datetime", precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === "undefined" ? null : options === null || options === void 0 ? void 0 : options.precision, offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false, ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message) }); } regex(regex, message) { return this._addCheck({ kind: "regex", regex, ...errorUtil.errToObj(message) }); } includes(value, options) { return this._addCheck({ kind: "includes", value, position: options === null || options === void 0 ? void 0 : options.position, ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message) }); } startsWith(value, message) { return this._addCheck({ kind: "startsWith", value, ...errorUtil.errToObj(message) }); } endsWith(value, message) { return this._addCheck({ kind: "endsWith", value, ...errorUtil.errToObj(message) }); } min(minLength, message) { return this._addCheck({ kind: "min", value: minLength, ...errorUtil.errToObj(message) }); } max(maxLength, message) { return this._addCheck({ kind: "max", value: maxLength, ...errorUtil.errToObj(message) }); } length(len, message) { return this._addCheck({ kind: "length", value: len, ...errorUtil.errToObj(message) }); } /** * @deprecated Use z.string().min(1) instead. * @see {@link ZodString.min} */ nonempty(message) { return this.min(1, errorUtil.errToObj(message)); } trim() { return new ZodString({ ...this._def, checks: [...this._def.checks, { kind: "trim" }] }); } toLowerCase() { return new ZodString({ ...this._def, checks: [...this._def.checks, { kind: "toLowerCase" }] }); } toUpperCase() { return new ZodString({ ...this._def, checks: [...this._def.checks, { kind: "toUpperCase" }] }); } get isDatetime() { return !!this._def.checks.find((ch) => ch.kind === "datetime"); } get isEmail() { return !!this._def.checks.find((ch) => ch.kind === "email"); } get isURL() { return !!this._def.checks.find((ch) => ch.kind === "url"); } get isEmoji() { return !!this._def.checks.find((ch) => ch.kind === "emoji"); } get isUUID() { return !!this._def.checks.find((ch) => ch.kind === "uuid"); } get isCUID() { return !!this._def.checks.find((ch) => ch.kind === "cuid"); } get isCUID2() { return !!this._def.checks.find((ch) => ch.kind === "cuid2"); } get isULID() { return !!this._def.checks.find((ch) => ch.kind === "ulid"); } get isIP() { return !!this._def.checks.find((ch) => ch.kind === "ip"); } get minLength() { let min = null; for (const ch of this._def.checks) { if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } } return min; } get maxLength() { let max = null; for (const ch of this._def.checks) { if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return max; } } ZodString.create = (params) => { var _a; return new ZodString({ checks: [], typeName: ZodFirstPartyTypeKind.ZodString, coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false, ...processCreateParams(params) }); }; function floatSafeRemainder(val, step) { const valDecCount = (val.toString().split(".")[1] || "").length; const stepDecCount = (step.toString().split(".")[1] || "").length; const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; const valInt = parseInt(val.toFixed(decCount).replace(".", "")); const stepInt = parseInt(step.toFixed(decCount).replace(".", "")); return valInt % stepInt / Math.pow(10, decCount); } class ZodNumber extends ZodType { constructor() { super(...arguments); this.min = this.gte; this.max = this.lte; this.step = this.multipleOf; } _parse(input) { if (this._def.coerce) { input.data = Number(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.number) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.number, received: ctx2.parsedType }); return INVALID; } let ctx = void 0; const status = new ParseStatus(); for (const check of this._def.checks) { if (check.kind === "int") { if (!util.isInteger(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: "integer", received: "float", message: check.message }); status.dirty(); } } else if (check.kind === "min") { const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; if (tooSmall) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: check.value, type: "number", inclusive: check.inclusive, exact: false, message: check.message }); status.dirty(); } } else if (check.kind === "max") { const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; if (tooBig) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: check.value, type: "number", inclusive: check.inclusive, exact: false, message: check.message }); status.dirty(); } } else if (check.kind === "multipleOf") { if (floatSafeRemainder(input.data, check.value) !== 0) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.not_multiple_of, multipleOf: check.value, message: check.message }); status.dirty(); } } else if (check.kind === "finite") { if (!Number.isFinite(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.not_finite, message: check.message }); status.dirty(); } } else { util.assertNever(check); } } return { status: status.value, value: input.data }; } gte(value, message) { return this.setLimit("min", value, true, errorUtil.toString(message)); } gt(value, message) { return this.setLimit("min", value, false, errorUtil.toString(message)); } lte(value, message) { return this.setLimit("max", value, true, errorUtil.toString(message)); } lt(value, message) { return this.setLimit("max", value, false, errorUtil.toString(message)); } setLimit(kind, value, inclusive, message) { return new ZodNumber({ ...this._def, checks: [ ...this._def.checks, { kind, value, inclusive, message: errorUtil.toString(message) } ] }); } _addCheck(check) { return new ZodNumber({ ...this._def, checks: [...this._def.checks, check] }); } int(message) { return this._addCheck({ kind: "int", message: errorUtil.toString(message) }); } positive(message) { return this._addCheck({ kind: "min", value: 0, inclusive: false, message: errorUtil.toString(message) }); } negative(message) { return this._addCheck({ kind: "max", value: 0, inclusive: false, message: errorUtil.toString(message) }); } nonpositive(message) { return this._addCheck({ kind: "max", value: 0, inclusive: true, message: errorUtil.toString(message) }); } nonnegative(message) { return this._addCheck({ kind: "min", value: 0, inclusive: true, message: errorUtil.toString(message) }); } multipleOf(value, message) { return this._addCheck({ kind: "multipleOf", value, message: errorUtil.toString(message) }); } finite(message) { return this._addCheck({ kind: "finite", message: errorUtil.toString(message) }); } safe(message) { return this._addCheck({ kind: "min", inclusive: true, value: Number.MIN_SAFE_INTEGER, message: errorUtil.toString(message) })._addCheck({ kind: "max", inclusive: true, value: Number.MAX_SAFE_INTEGER, message: errorUtil.toString(message) }); } get minValue() { let min = null; for (const ch of this._def.checks) { if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } } return min; } get maxValue() { let max = null; for (const ch of this._def.checks) { if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return max; } get isInt() { return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value)); } get isFinite() { let max = null, min = null; for (const ch of this._def.checks) { if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") { return true; } else if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } else if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return Number.isFinite(min) && Number.isFinite(max); } } ZodNumber.create = (params) => { return new ZodNumber({ checks: [], typeName: ZodFirstPartyTypeKind.ZodNumber, coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, ...processCreateParams(params) }); }; class ZodBigInt extends ZodType { constructor() { super(...arguments); this.min = this.gte; this.max = this.lte; } _parse(input) { if (this._def.coerce) { input.data = BigInt(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.bigint) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.bigint, received: ctx2.parsedType }); return INVALID; } let ctx = void 0; const status = new ParseStatus(); for (const check of this._def.checks) { if (check.kind === "min") { const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; if (tooSmall) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_small, type: "bigint", minimum: check.value, inclusive: check.inclusive, message: check.message }); status.dirty(); } } else if (check.kind === "max") { const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; if (tooBig) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_big, type: "bigint", maximum: check.value, inclusive: check.inclusive, message: check.message }); status.dirty(); } } else if (check.kind === "multipleOf") { if (input.data % check.value !== BigInt(0)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.not_multiple_of, multipleOf: check.value, message: check.message }); status.dirty(); } } else { util.assertNever(check); } } return { status: status.value, value: input.data }; } gte(value, message) { return this.setLimit("min", value, true, errorUtil.toString(message)); } gt(value, message) { return this.setLimit("min", value, false, errorUtil.toString(message)); } lte(value, message) { return this.setLimit("max", value, true, errorUtil.toString(message)); } lt(value, message) { return this.setLimit("max", value, false, errorUtil.toString(message)); } setLimit(kind, value, inclusive, message) { return new ZodBigInt({ ...this._def, checks: [ ...this._def.checks, { kind, value, inclusive, message: errorUtil.toString(message) } ] }); } _addCheck(check) { return new ZodBigInt({ ...this._def, checks: [...this._def.checks, check] }); } positive(message) { return this._addCheck({ kind: "min", value: BigInt(0), inclusive: false, message: errorUtil.toString(message) }); } negative(message) { return this._addCheck({ kind: "max", value: BigInt(0), inclusive: false, message: errorUtil.toString(message) }); } nonpositive(message) { return this._addCheck({ kind: "max", value: BigInt(0), inclusive: true, message: errorUtil.toString(message) }); } nonnegative(message) { return this._addCheck({ kind: "min", value: BigInt(0), inclusive: true, message: errorUtil.toString(message) }); } multipleOf(value, message) { return this._addCheck({ kind: "multipleOf", value, message: errorUtil.toString(message) }); } get minValue() { let min = null; for (const ch of this._def.checks) { if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } } return min; } get maxValue() { let max = null; for (const ch of this._def.checks) { if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return max; } } ZodBigInt.create = (params) => { var _a; return new ZodBigInt({ checks: [], typeName: ZodFirstPartyTypeKind.ZodBigInt, coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false, ...processCreateParams(params) }); }; class ZodBoolean extends ZodType { _parse(input) { if (this._def.coerce) { input.data = Boolean(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.boolean) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.boolean, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodBoolean.create = (params) => { return new ZodBoolean({ typeName: ZodFirstPartyTypeKind.ZodBoolean, coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, ...processCreateParams(params) }); }; class ZodDate extends ZodType { _parse(input) { if (this._def.coerce) { input.data = new Date(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.date) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.date, received: ctx2.parsedType }); return INVALID; } if (isNaN(input.data.getTime())) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_date }); return INVALID; } const status = new ParseStatus(); let ctx = void 0; for (const check of this._def.checks) { if (check.kind === "min") { if (input.data.getTime() < check.value) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_small, message: check.message, inclusive: true, exact: false, minimum: check.value, type: "date" }); status.dirty(); } } else if (check.kind === "max") { if (input.data.getTime() > check.value) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_big, message: check.message, inclusive: true, exact: false, maximum: check.value, type: "date" }); status.dirty(); } } else { util.assertNever(check); } } return { status: status.value, value: new Date(input.data.getTime()) }; } _addCheck(check) { return new ZodDate({ ...this._def, checks: [...this._def.checks, check] }); } min(minDate, message) { return this._addCheck({ kind: "min", value: minDate.getTime(), message: errorUtil.toString(message) }); } max(maxDate, message) { return this._addCheck({ kind: "max", value: maxDate.getTime(), message: errorUtil.toString(message) }); } get minDate() { let min = null; for (const ch of this._def.checks) { if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } } return min != null ? new Date(min) : null; } get maxDate() { let max = null; for (const ch of this._def.checks) { if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return max != null ? new Date(max) : null; } } ZodDate.create = (params) => { return new ZodDate({ checks: [], coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, typeName: ZodFirstPartyTypeKind.ZodDate, ...processCreateParams(params) }); }; class ZodSymbol extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.symbol) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.symbol, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodSymbol.create = (params) => { return new ZodSymbol({ typeName: ZodFirstPartyTypeKind.ZodSymbol, ...processCreateParams(params) }); }; class ZodUndefined extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.undefined) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.undefined, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodUndefined.create = (params) => { return new ZodUndefined({ typeName: ZodFirstPartyTypeKind.ZodUndefined, ...processCreateParams(params) }); }; class ZodNull extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.null) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.null, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodNull.create = (params) => { return new ZodNull({ typeName: ZodFirstPartyTypeKind.ZodNull, ...processCreateParams(params) }); }; class ZodAny extends ZodType { constructor() { super(...arguments); this._any = true; } _parse(input) { return OK(input.data); } } ZodAny.create = (params) => { return new ZodAny({ typeName: ZodFirstPartyTypeKind.ZodAny, ...processCreateParams(params) }); }; class ZodUnknown extends ZodType { constructor() { super(...arguments); this._unknown = true; } _parse(input) { return OK(input.data); } } ZodUnknown.create = (params) => { return new ZodUnknown({ typeName: ZodFirstPartyTypeKind.ZodUnknown, ...processCreateParams(params) }); }; class ZodNever extends ZodType { _parse(input) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.never, received: ctx.parsedType }); return INVALID; } } ZodNever.create = (params) => { return new ZodNever({ typeName: ZodFirstPartyTypeKind.ZodNever, ...processCreateParams(params) }); }; class ZodVoid extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.undefined) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.void, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodVoid.create = (params) => { return new ZodVoid({ typeName: ZodFirstPartyTypeKind.ZodVoid, ...processCreateParams(params) }); }; class ZodArray extends ZodType { _parse(input) { const { ctx, status } = this._processInputParams(input); const def = this._def; if (ctx.parsedType !== ZodParsedType.array) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.array, received: ctx.parsedType }); return INVALID; } if (def.exactLength !== null) { const tooBig = ctx.data.length > def.exactLength.value; const tooSmall = ctx.data.length < def.exactLength.value; if (tooBig || tooSmall) { addIssueToContext(ctx, { code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small, minimum: tooSmall ? def.exactLength.value : void 0, maximum: tooBig ? def.exactLength.value : void 0, type: "array", inclusive: true, exact: true, message: def.exactLength.message }); status.dirty(); } } if (def.minLength !== null) { if (ctx.data.length < def.minLength.value) { addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: def.minLength.value, type: "array", inclusive: true, exact: false, message: def.minLength.message }); status.dirty(); } } if (def.maxLength !== null) { if (ctx.data.length > def.maxLength.value) { addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: def.maxLength.value, type: "array", inclusive: true, exact: false, message: def.maxLength.message }); status.dirty(); } } if (ctx.common.async) { return Promise.all([...ctx.data].map((item, i) => { return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i)); })).then((result2) => { return ParseStatus.mergeArray(status, result2); }); } const result = [...ctx.data].map((item, i) => { return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i)); }); return ParseStatus.mergeArray(status, result); } get element() { return this._def.type; } min(minLength, message) { return new ZodArray({ ...this._def, minLength: { value: minLength, message: errorUtil.toString(message) } }); } max(maxLength, message) { return new ZodArray({ ...this._def, maxLength: { value: maxLength, message: errorUtil.toString(message) } }); } length(len, message) { return new ZodArray({ ...this._def, exactLength: { value: len, message: errorUtil.toString(message) } }); } nonempty(message) { return this.min(1, message); } } ZodArray.create = (schema, params) => { return new ZodArray({ type: schema, minLength: null, maxLength: null, exactLength: null, typeName: ZodFirstPartyTypeKind.ZodArray, ...processCreateParams(params) }); }; function deepPartialify(schema) { if (schema instanceof ZodObject) { const newShape = {}; for (const key in schema.shape) { const fieldSchema = schema.shape[key]; newShape[key] = ZodOptional.create(deepPartialify(fieldSchema)); } return new ZodObject({ ...schema._def, shape: () => newShape }); } else if (schema instanceof ZodArray) { return new ZodArray({ ...schema._def, type: deepPartialify(schema.element) }); } else if (schema instanceof ZodOptional) { return ZodOptional.create(deepPartialify(schema.unwrap())); } else if (schema instanceof ZodNullable) { return ZodNullable.create(deepPartialify(schema.unwrap())); } else if (schema instanceof ZodTuple) { return ZodTuple.create(schema.items.map((item) => deepPartialify(item))); } else { return schema; } } class ZodObject extends ZodType { constructor() { super(...arguments); this._cached = null; this.nonstrict = this.passthrough; this.augment = this.extend; } _getCached() { if (this._cached !== null) return this._cached; const shape = this._def.shape(); const keys = util.objectKeys(shape); return this._cached = { shape, keys }; } _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.object) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.object, received: ctx2.parsedType }); return INVALID; } const { status, ctx } = this._processInputParams(input); const { shape, keys: shapeKeys } = this._getCached(); const extraKeys = []; if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === "strip")) { for (const key in ctx.data) { if (!shapeKeys.includes(key)) { extraKeys.push(key); } } } const pairs = []; for (const key of shapeKeys) { const keyValidator = shape[key]; const value = ctx.data[key]; pairs.push({ key: { status: "valid", value: key }, value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)), alwaysSet: key in ctx.data }); } if (this._def.catchall instanceof ZodNever) { const unknownKeys = this._def.unknownKeys; if (unknownKeys === "passthrough") { for (const key of extraKeys) { pairs.push({ key: { status: "valid", value: key }, value: { status: "valid", value: ctx.data[key] } }); } } else if (unknownKeys === "strict") { if (extraKeys.length > 0) { addIssueToContext(ctx, { code: ZodIssueCode.unrecognized_keys, keys: extraKeys }); status.dirty(); } } else if (unknownKeys === "strip") ; else { throw new Error(`Internal ZodObject error: invalid unknownKeys value.`); } } else { const catchall = this._def.catchall; for (const key of extraKeys) { const value = ctx.data[key]; pairs.push({ key: { status: "valid", value: key }, value: catchall._parse( new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value) ), alwaysSet: key in ctx.data }); } } if (ctx.common.async) { return Promise.resolve().then(async () => { const syncPairs = []; for (const pair of pairs) { const key = await pair.key; syncPairs.push({ key, value: await pair.value, alwaysSet: pair.alwaysSet }); } return syncPairs; }).then((syncPairs) => { return ParseStatus.mergeObjectSync(status, syncPairs); }); } else { return ParseStatus.mergeObjectSync(status, pairs); } } get shape() { return this._def.shape(); } strict(message) { errorUtil.errToObj; return new ZodObject({ ...this._def, unknownKeys: "strict", ...message !== void 0 ? { errorMap: (issue, ctx) => { var _a, _b, _c, _d; const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError; if (issue.code === "unrecognized_keys") return { message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError }; return { message: defaultError }; } } : {} }); } strip() { return new ZodObject({ ...this._def, unknownKeys: "strip" }); } passthrough() { return new ZodObject({ ...this._def, unknownKeys: "passthrough" }); } // const AugmentFactory = // (def: Def) => // ( // augmentation: Augmentation // ): ZodObject< // extendShape, Augmentation>, // Def["unknownKeys"], // Def["catchall"] // > => { // return new ZodObject({ // ...def, // shape: () => ({ // ...def.shape(), // ...augmentation, // }), // }) as any; // }; extend(augmentation) { return new ZodObject({ ...this._def, shape: () => ({ ...this._def.shape(), ...augmentation }) }); } /** * Prior to zod@1.0.12 there was a bug in the * inferred type of merged objects. Please * upgrade if you are experiencing issues. */ merge(merging) { const merged = new ZodObject({ unknownKeys: merging._def.unknownKeys, catchall: merging._def.catchall, shape: () => ({ ...this._def.shape(), ...merging._def.shape() }), typeName: ZodFirstPartyTypeKind.ZodObject }); return merged; } // merge< // Incoming extends AnyZodObject, // Augmentation extends Incoming["shape"], // NewOutput extends { // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation // ? Augmentation[k]["_output"] // : k extends keyof Output // ? Output[k] // : never; // }, // NewInput extends { // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation // ? Augmentation[k]["_input"] // : k extends keyof Input // ? Input[k] // : never; // } // >( // merging: Incoming // ): ZodObject< // extendShape>, // Incoming["_def"]["unknownKeys"], // Incoming["_def"]["catchall"], // NewOutput, // NewInput // > { // const merged: any = new ZodObject({ // unknownKeys: merging._def.unknownKeys, // catchall: merging._def.catchall, // shape: () => // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), // typeName: ZodFirstPartyTypeKind.ZodObject, // }) as any; // return merged; // } setKey(key, schema) { return this.augment({ [key]: schema }); } // merge( // merging: Incoming // ): //ZodObject = (merging) => { // ZodObject< // extendShape>, // Incoming["_def"]["unknownKeys"], // Incoming["_def"]["catchall"] // > { // // const mergedShape = objectUtil.mergeShapes( // // this._def.shape(), // // merging._def.shape() // // ); // const merged: any = new ZodObject({ // unknownKeys: merging._def.unknownKeys, // catchall: merging._def.catchall, // shape: () => // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), // typeName: ZodFirstPartyTypeKind.ZodObject, // }) as any; // return merged; // } catchall(index) { return new ZodObject({ ...this._def, catchall: index }); } pick(mask) { const shape = {}; util.objectKeys(mask).forEach((key) => { if (mask[key] && this.shape[key]) { shape[key] = this.shape[key]; } }); return new ZodObject({ ...this._def, shape: () => shape }); } omit(mask) { const shape = {}; util.objectKeys(this.shape).forEach((key) => { if (!mask[key]) { shape[key] = this.shape[key]; } }); return new ZodObject({ ...this._def, shape: () => shape }); } /** * @deprecated */ deepPartial() { return deepPartialify(this); } partial(mask) { const newShape = {}; util.objectKeys(this.shape).forEach((key) => { const fieldSchema = this.shape[key]; if (mask && !mask[key]) { newShape[key] = fieldSchema; } else { newShape[key] = fieldSchema.optional(); } }); return new ZodObject({ ...this._def, shape: () => newShape }); } required(mask) { const newShape = {}; util.objectKeys(this.shape).forEach((key) => { if (mask && !mask[key]) { newShape[key] = this.shape[key]; } else { const fieldSchema = this.shape[key]; let newField = fieldSchema; while (newField instanceof ZodOptional) { newField = newField._def.innerType; } newShape[key] = newField; } }); return new ZodObject({ ...this._def, shape: () => newShape }); } keyof() { return createZodEnum(util.objectKeys(this.shape)); } } ZodObject.create = (shape, params) => { return new ZodObject({ shape: () => shape, unknownKeys: "strip", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, ...processCreateParams(params) }); }; ZodObject.strictCreate = (shape, params) => { return new ZodObject({ shape: () => shape, unknownKeys: "strict", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, ...processCreateParams(params) }); }; ZodObject.lazycreate = (shape, params) => { return new ZodObject({ shape, unknownKeys: "strip", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, ...processCreateParams(params) }); }; class ZodUnion extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); const options = this._def.options; function handleResults(results) { for (const result of results) { if (result.result.status === "valid") { return result.result; } } for (const result of results) { if (result.result.status === "dirty") { ctx.common.issues.push(...result.ctx.common.issues); return result.result; } } const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues)); addIssueToContext(ctx, { code: ZodIssueCode.invalid_union, unionErrors }); return INVALID; } if (ctx.common.async) { return Promise.all(options.map(async (option) => { const childCtx = { ...ctx, common: { ...ctx.common, issues: [] }, parent: null }; return { result: await option._parseAsync({ data: ctx.data, path: ctx.path, parent: childCtx }), ctx: childCtx }; })).then(handleResults); } else { let dirty = void 0; const issues = []; for (const option of options) { const childCtx = { ...ctx, common: { ...ctx.common, issues: [] }, parent: null }; const result = option._parseSync({ data: ctx.data, path: ctx.path, parent: childCtx }); if (result.status === "valid") { return result; } else if (result.status === "dirty" && !dirty) { dirty = { result, ctx: childCtx }; } if (childCtx.common.issues.length) { issues.push(childCtx.common.issues); } } if (dirty) { ctx.common.issues.push(...dirty.ctx.common.issues); return dirty.result; } const unionErrors = issues.map((issues2) => new ZodError(issues2)); addIssueToContext(ctx, { code: ZodIssueCode.invalid_union, unionErrors }); return INVALID; } } get options() { return this._def.options; } } ZodUnion.create = (types, params) => { return new ZodUnion({ options: types, typeName: ZodFirstPartyTypeKind.ZodUnion, ...processCreateParams(params) }); }; const getDiscriminator = (type) => { if (type instanceof ZodLazy) { return getDiscriminator(type.schema); } else if (type instanceof ZodEffects) { return getDiscriminator(type.innerType()); } else if (type instanceof ZodLiteral) { return [type.value]; } else if (type instanceof ZodEnum) { return type.options; } else if (type instanceof ZodNativeEnum) { return Object.keys(type.enum); } else if (type instanceof ZodDefault) { return getDiscriminator(type._def.innerType); } else if (type instanceof ZodUndefined) { return [void 0]; } else if (type instanceof ZodNull) { return [null]; } else { return null; } }; class ZodDiscriminatedUnion extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.object) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.object, received: ctx.parsedType }); return INVALID; } const discriminator = this.discriminator; const discriminatorValue = ctx.data[discriminator]; const option = this.optionsMap.get(discriminatorValue); if (!option) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_union_discriminator, options: Array.from(this.optionsMap.keys()), path: [discriminator] }); return INVALID; } if (ctx.common.async) { return option._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }); } else { return option._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }); } } get discriminator() { return this._def.discriminator; } get options() { return this._def.options; } get optionsMap() { return this._def.optionsMap; } /** * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor. * However, it only allows a union of objects, all of which need to share a discriminator property. This property must * have a different value for each object in the union. * @param discriminator the name of the discriminator property * @param types an array of object schemas * @param params */ static create(discriminator, options, params) { const optionsMap = /* @__PURE__ */ new Map(); for (const type of options) { const discriminatorValues = getDiscriminator(type.shape[discriminator]); if (!discriminatorValues) { throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`); } for (const value of discriminatorValues) { if (optionsMap.has(value)) { throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`); } optionsMap.set(value, type); } } return new ZodDiscriminatedUnion({ typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion, discriminator, options, optionsMap, ...processCreateParams(params) }); } } function mergeValues(a, b) { const aType = getParsedType(a); const bType = getParsedType(b); if (a === b) { return { valid: true, data: a }; } else if (aType === ZodParsedType.object && bType === ZodParsedType.object) { const bKeys = util.objectKeys(b); const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); const newObj = { ...a, ...b }; for (const key of sharedKeys) { const sharedValue = mergeValues(a[key], b[key]); if (!sharedValue.valid) { return { valid: false }; } newObj[key] = sharedValue.data; } return { valid: true, data: newObj }; } else if (aType === ZodParsedType.array && bType === ZodParsedType.array) { if (a.length !== b.length) { return { valid: false }; } const newArray = []; for (let index = 0; index < a.length; index++) { const itemA = a[index]; const itemB = b[index]; const sharedValue = mergeValues(itemA, itemB); if (!sharedValue.valid) { return { valid: false }; } newArray.push(sharedValue.data); } return { valid: true, data: newArray }; } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) { return { valid: true, data: a }; } else { return { valid: false }; } } class ZodIntersection extends ZodType { _parse(input) { const { status, ctx } = this._processInputParams(input); const handleParsed = (parsedLeft, parsedRight) => { if (isAborted(parsedLeft) || isAborted(parsedRight)) { return INVALID; } const merged = mergeValues(parsedLeft.value, parsedRight.value); if (!merged.valid) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_intersection_types }); return INVALID; } if (isDirty(parsedLeft) || isDirty(parsedRight)) { status.dirty(); } return { status: status.value, value: merged.data }; }; if (ctx.common.async) { return Promise.all([ this._def.left._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }), this._def.right._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }) ]).then(([left, right]) => handleParsed(left, right)); } else { return handleParsed(this._def.left._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }), this._def.right._parseSync({ data: ctx.data, path: ctx.path, parent: ctx })); } } } ZodIntersection.create = (left, right, params) => { return new ZodIntersection({ left, right, typeName: ZodFirstPartyTypeKind.ZodIntersection, ...processCreateParams(params) }); }; class ZodTuple extends ZodType { _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.array) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.array, received: ctx.parsedType }); return INVALID; } if (ctx.data.length < this._def.items.length) { addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: this._def.items.length, inclusive: true, exact: false, type: "array" }); return INVALID; } const rest = this._def.rest; if (!rest && ctx.data.length > this._def.items.length) { addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: this._def.items.length, inclusive: true, exact: false, type: "array" }); status.dirty(); } const items = [...ctx.data].map((item, itemIndex) => { const schema = this._def.items[itemIndex] || this._def.rest; if (!schema) return null; return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex)); }).filter((x) => !!x); if (ctx.common.async) { return Promise.all(items).then((results) => { return ParseStatus.mergeArray(status, results); }); } else { return ParseStatus.mergeArray(status, items); } } get items() { return this._def.items; } rest(rest) { return new ZodTuple({ ...this._def, rest }); } } ZodTuple.create = (schemas, params) => { if (!Array.isArray(schemas)) { throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); } return new ZodTuple({ items: schemas, typeName: ZodFirstPartyTypeKind.ZodTuple, rest: null, ...processCreateParams(params) }); }; class ZodRecord extends ZodType { get keySchema() { return this._def.keyType; } get valueSchema() { return this._def.valueType; } _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.object) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.object, received: ctx.parsedType }); return INVALID; } const pairs = []; const keyType = this._def.keyType; const valueType = this._def.valueType; for (const key in ctx.data) { pairs.push({ key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)), value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)) }); } if (ctx.common.async) { return ParseStatus.mergeObjectAsync(status, pairs); } else { return ParseStatus.mergeObjectSync(status, pairs); } } get element() { return this._def.valueType; } static create(first, second, third) { if (second instanceof ZodType) { return new ZodRecord({ keyType: first, valueType: second, typeName: ZodFirstPartyTypeKind.ZodRecord, ...processCreateParams(third) }); } return new ZodRecord({ keyType: ZodString.create(), valueType: first, typeName: ZodFirstPartyTypeKind.ZodRecord, ...processCreateParams(second) }); } } class ZodMap extends ZodType { get keySchema() { return this._def.keyType; } get valueSchema() { return this._def.valueType; } _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.map) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.map, received: ctx.parsedType }); return INVALID; } const keyType = this._def.keyType; const valueType = this._def.valueType; const pairs = [...ctx.data.entries()].map(([key, value], index) => { return { key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, "key"])), value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, "value"])) }; }); if (ctx.common.async) { const finalMap = /* @__PURE__ */ new Map(); return Promise.resolve().then(async () => { for (const pair of pairs) { const key = await pair.key; const value = await pair.value; if (key.status === "aborted" || value.status === "aborted") { return INVALID; } if (key.status === "dirty" || value.status === "dirty") { status.dirty(); } finalMap.set(key.value, value.value); } return { status: status.value, value: finalMap }; }); } else { const finalMap = /* @__PURE__ */ new Map(); for (const pair of pairs) { const key = pair.key; const value = pair.value; if (key.status === "aborted" || value.status === "aborted") { return INVALID; } if (key.status === "dirty" || value.status === "dirty") { status.dirty(); } finalMap.set(key.value, value.value); } return { status: status.value, value: finalMap }; } } } ZodMap.create = (keyType, valueType, params) => { return new ZodMap({ valueType, keyType, typeName: ZodFirstPartyTypeKind.ZodMap, ...processCreateParams(params) }); }; class ZodSet extends ZodType { _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.set) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.set, received: ctx.parsedType }); return INVALID; } const def = this._def; if (def.minSize !== null) { if (ctx.data.size < def.minSize.value) { addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: def.minSize.value, type: "set", inclusive: true, exact: false, message: def.minSize.message }); status.dirty(); } } if (def.maxSize !== null) { if (ctx.data.size > def.maxSize.value) { addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: def.maxSize.value, type: "set", inclusive: true, exact: false, message: def.maxSize.message }); status.dirty(); } } const valueType = this._def.valueType; function finalizeSet(elements2) { const parsedSet = /* @__PURE__ */ new Set(); for (const element of elements2) { if (element.status === "aborted") return INVALID; if (element.status === "dirty") status.dirty(); parsedSet.add(element.value); } return { status: status.value, value: parsedSet }; } const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i))); if (ctx.common.async) { return Promise.all(elements).then((elements2) => finalizeSet(elements2)); } else { return finalizeSet(elements); } } min(minSize, message) { return new ZodSet({ ...this._def, minSize: { value: minSize, message: errorUtil.toString(message) } }); } max(maxSize, message) { return new ZodSet({ ...this._def, maxSize: { value: maxSize, message: errorUtil.toString(message) } }); } size(size, message) { return this.min(size, message).max(size, message); } nonempty(message) { return this.min(1, message); } } ZodSet.create = (valueType, params) => { return new ZodSet({ valueType, minSize: null, maxSize: null, typeName: ZodFirstPartyTypeKind.ZodSet, ...processCreateParams(params) }); }; class ZodFunction extends ZodType { constructor() { super(...arguments); this.validate = this.implement; } _parse(input) { const { ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.function) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.function, received: ctx.parsedType }); return INVALID; } function makeArgsIssue(args, error) { return makeIssue({ data: args, path: ctx.path, errorMaps: [ ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), errorMap ].filter((x) => !!x), issueData: { code: ZodIssueCode.invalid_arguments, argumentsError: error } }); } function makeReturnsIssue(returns, error) { return makeIssue({ data: returns, path: ctx.path, errorMaps: [ ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), errorMap ].filter((x) => !!x), issueData: { code: ZodIssueCode.invalid_return_type, returnTypeError: error } }); } const params = { errorMap: ctx.common.contextualErrorMap }; const fn = ctx.data; if (this._def.returns instanceof ZodPromise) { const me = this; return OK(async function(...args) { const error = new ZodError([]); const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { error.addIssue(makeArgsIssue(args, e)); throw error; }); const result = await Reflect.apply(fn, this, parsedArgs); const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => { error.addIssue(makeReturnsIssue(result, e)); throw error; }); return parsedReturns; }); } else { const me = this; return OK(function(...args) { const parsedArgs = me._def.args.safeParse(args, params); if (!parsedArgs.success) { throw new ZodError([makeArgsIssue(args, parsedArgs.error)]); } const result = Reflect.apply(fn, this, parsedArgs.data); const parsedReturns = me._def.returns.safeParse(result, params); if (!parsedReturns.success) { throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]); } return parsedReturns.data; }); } } parameters() { return this._def.args; } returnType() { return this._def.returns; } args(...items) { return new ZodFunction({ ...this._def, args: ZodTuple.create(items).rest(ZodUnknown.create()) }); } returns(returnType) { return new ZodFunction({ ...this._def, returns: returnType }); } implement(func) { const validatedFunc = this.parse(func); return validatedFunc; } strictImplement(func) { const validatedFunc = this.parse(func); return validatedFunc; } static create(args, returns, params) { return new ZodFunction({ args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()), returns: returns || ZodUnknown.create(), typeName: ZodFirstPartyTypeKind.ZodFunction, ...processCreateParams(params) }); } } class ZodLazy extends ZodType { get schema() { return this._def.getter(); } _parse(input) { const { ctx } = this._processInputParams(input); const lazySchema = this._def.getter(); return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); } } ZodLazy.create = (getter, params) => { return new ZodLazy({ getter, typeName: ZodFirstPartyTypeKind.ZodLazy, ...processCreateParams(params) }); }; class ZodLiteral extends ZodType { _parse(input) { if (input.data !== this._def.value) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { received: ctx.data, code: ZodIssueCode.invalid_literal, expected: this._def.value }); return INVALID; } return { status: "valid", value: input.data }; } get value() { return this._def.value; } } ZodLiteral.create = (value, params) => { return new ZodLiteral({ value, typeName: ZodFirstPartyTypeKind.ZodLiteral, ...processCreateParams(params) }); }; function createZodEnum(values, params) { return new ZodEnum({ values, typeName: ZodFirstPartyTypeKind.ZodEnum, ...processCreateParams(params) }); } class ZodEnum extends ZodType { _parse(input) { if (typeof input.data !== "string") { const ctx = this._getOrReturnCtx(input); const expectedValues = this._def.values; addIssueToContext(ctx, { expected: util.joinValues(expectedValues), received: ctx.parsedType, code: ZodIssueCode.invalid_type }); return INVALID; } if (this._def.values.indexOf(input.data) === -1) { const ctx = this._getOrReturnCtx(input); const expectedValues = this._def.values; addIssueToContext(ctx, { received: ctx.data, code: ZodIssueCode.invalid_enum_value, options: expectedValues }); return INVALID; } return OK(input.data); } get options() { return this._def.values; } get enum() { const enumValues = {}; for (const val of this._def.values) { enumValues[val] = val; } return enumValues; } get Values() { const enumValues = {}; for (const val of this._def.values) { enumValues[val] = val; } return enumValues; } get Enum() { const enumValues = {}; for (const val of this._def.values) { enumValues[val] = val; } return enumValues; } extract(values) { return ZodEnum.create(values); } exclude(values) { return ZodEnum.create(this.options.filter((opt) => !values.includes(opt))); } } ZodEnum.create = createZodEnum; class ZodNativeEnum extends ZodType { _parse(input) { const nativeEnumValues = util.getValidEnumValues(this._def.values); const ctx = this._getOrReturnCtx(input); if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) { const expectedValues = util.objectValues(nativeEnumValues); addIssueToContext(ctx, { expected: util.joinValues(expectedValues), received: ctx.parsedType, code: ZodIssueCode.invalid_type }); return INVALID; } if (nativeEnumValues.indexOf(input.data) === -1) { const expectedValues = util.objectValues(nativeEnumValues); addIssueToContext(ctx, { received: ctx.data, code: ZodIssueCode.invalid_enum_value, options: expectedValues }); return INVALID; } return OK(input.data); } get enum() { return this._def.values; } } ZodNativeEnum.create = (values, params) => { return new ZodNativeEnum({ values, typeName: ZodFirstPartyTypeKind.ZodNativeEnum, ...processCreateParams(params) }); }; class ZodPromise extends ZodType { unwrap() { return this._def.type; } _parse(input) { const { ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.promise, received: ctx.parsedType }); return INVALID; } const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data); return OK(promisified.then((data) => { return this._def.type.parseAsync(data, { path: ctx.path, errorMap: ctx.common.contextualErrorMap }); })); } } ZodPromise.create = (schema, params) => { return new ZodPromise({ type: schema, typeName: ZodFirstPartyTypeKind.ZodPromise, ...processCreateParams(params) }); }; class ZodEffects extends ZodType { innerType() { return this._def.schema; } sourceType() { return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects ? this._def.schema.sourceType() : this._def.schema; } _parse(input) { const { status, ctx } = this._processInputParams(input); const effect = this._def.effect || null; const checkCtx = { addIssue: (arg) => { addIssueToContext(ctx, arg); if (arg.fatal) { status.abort(); } else { status.dirty(); } }, get path() { return ctx.path; } }; checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx); if (effect.type === "preprocess") { const processed = effect.transform(ctx.data, checkCtx); if (ctx.common.issues.length) { return { status: "dirty", value: ctx.data }; } if (ctx.common.async) { return Promise.resolve(processed).then((processed2) => { return this._def.schema._parseAsync({ data: processed2, path: ctx.path, parent: ctx }); }); } else { return this._def.schema._parseSync({ data: processed, path: ctx.path, parent: ctx }); } } if (effect.type === "refinement") { const executeRefinement = (acc) => { const result = effect.refinement(acc, checkCtx); if (ctx.common.async) { return Promise.resolve(result); } if (result instanceof Promise) { throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); } return acc; }; if (ctx.common.async === false) { const inner = this._def.schema._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }); if (inner.status === "aborted") return INVALID; if (inner.status === "dirty") status.dirty(); executeRefinement(inner.value); return { status: status.value, value: inner.value }; } else { return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { if (inner.status === "aborted") return INVALID; if (inner.status === "dirty") status.dirty(); return executeRefinement(inner.value).then(() => { return { status: status.value, value: inner.value }; }); }); } } if (effect.type === "transform") { if (ctx.common.async === false) { const base = this._def.schema._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }); if (!isValid(base)) return base; const result = effect.transform(base.value, checkCtx); if (result instanceof Promise) { throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); } return { status: status.value, value: result }; } else { return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { if (!isValid(base)) return base; return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result })); }); } } util.assertNever(effect); } } ZodEffects.create = (schema, effect, params) => { return new ZodEffects({ schema, typeName: ZodFirstPartyTypeKind.ZodEffects, effect, ...processCreateParams(params) }); }; ZodEffects.createWithPreprocess = (preprocess, schema, params) => { return new ZodEffects({ schema, effect: { type: "preprocess", transform: preprocess }, typeName: ZodFirstPartyTypeKind.ZodEffects, ...processCreateParams(params) }); }; class ZodOptional extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType === ZodParsedType.undefined) { return OK(void 0); } return this._def.innerType._parse(input); } unwrap() { return this._def.innerType; } } ZodOptional.create = (type, params) => { return new ZodOptional({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodOptional, ...processCreateParams(params) }); }; class ZodNullable extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType === ZodParsedType.null) { return OK(null); } return this._def.innerType._parse(input); } unwrap() { return this._def.innerType; } } ZodNullable.create = (type, params) => { return new ZodNullable({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodNullable, ...processCreateParams(params) }); }; class ZodDefault extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); let data = ctx.data; if (ctx.parsedType === ZodParsedType.undefined) { data = this._def.defaultValue(); } return this._def.innerType._parse({ data, path: ctx.path, parent: ctx }); } removeDefault() { return this._def.innerType; } } ZodDefault.create = (type, params) => { return new ZodDefault({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodDefault, defaultValue: typeof params.default === "function" ? params.default : () => params.default, ...processCreateParams(params) }); }; class ZodCatch extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); const newCtx = { ...ctx, common: { ...ctx.common, issues: [] } }; const result = this._def.innerType._parse({ data: newCtx.data, path: newCtx.path, parent: { ...newCtx } }); if (isAsync(result)) { return result.then((result2) => { return { status: "valid", value: result2.status === "valid" ? result2.value : this._def.catchValue({ get error() { return new ZodError(newCtx.common.issues); }, input: newCtx.data }) }; }); } else { return { status: "valid", value: result.status === "valid" ? result.value : this._def.catchValue({ get error() { return new ZodError(newCtx.common.issues); }, input: newCtx.data }) }; } } removeCatch() { return this._def.innerType; } } ZodCatch.create = (type, params) => { return new ZodCatch({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodCatch, catchValue: typeof params.catch === "function" ? params.catch : () => params.catch, ...processCreateParams(params) }); }; class ZodNaN extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.nan) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.nan, received: ctx.parsedType }); return INVALID; } return { status: "valid", value: input.data }; } } ZodNaN.create = (params) => { return new ZodNaN({ typeName: ZodFirstPartyTypeKind.ZodNaN, ...processCreateParams(params) }); }; class ZodBranded extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); const data = ctx.data; return this._def.type._parse({ data, path: ctx.path, parent: ctx }); } unwrap() { return this._def.type; } } class ZodPipeline extends ZodType { _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.common.async) { const handleAsync = async () => { const inResult = await this._def.in._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }); if (inResult.status === "aborted") return INVALID; if (inResult.status === "dirty") { status.dirty(); return DIRTY(inResult.value); } else { return this._def.out._parseAsync({ data: inResult.value, path: ctx.path, parent: ctx }); } }; return handleAsync(); } else { const inResult = this._def.in._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }); if (inResult.status === "aborted") return INVALID; if (inResult.status === "dirty") { status.dirty(); return { status: "dirty", value: inResult.value }; } else { return this._def.out._parseSync({ data: inResult.value, path: ctx.path, parent: ctx }); } } } static create(a, b) { return new ZodPipeline({ in: a, out: b, typeName: ZodFirstPartyTypeKind.ZodPipeline }); } } class ZodReadonly extends ZodType { _parse(input) { const result = this._def.innerType._parse(input); if (isValid(result)) { result.value = Object.freeze(result.value); } return result; } } ZodReadonly.create = (type, params) => { return new ZodReadonly({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodReadonly, ...processCreateParams(params) }); }; ({ object: ZodObject.lazycreate }); var ZodFirstPartyTypeKind; (function(ZodFirstPartyTypeKind2) { ZodFirstPartyTypeKind2["ZodString"] = "ZodString"; ZodFirstPartyTypeKind2["ZodNumber"] = "ZodNumber"; ZodFirstPartyTypeKind2["ZodNaN"] = "ZodNaN"; ZodFirstPartyTypeKind2["ZodBigInt"] = "ZodBigInt"; ZodFirstPartyTypeKind2["ZodBoolean"] = "ZodBoolean"; ZodFirstPartyTypeKind2["ZodDate"] = "ZodDate"; ZodFirstPartyTypeKind2["ZodSymbol"] = "ZodSymbol"; ZodFirstPartyTypeKind2["ZodUndefined"] = "ZodUndefined"; ZodFirstPartyTypeKind2["ZodNull"] = "ZodNull"; ZodFirstPartyTypeKind2["ZodAny"] = "ZodAny"; ZodFirstPartyTypeKind2["ZodUnknown"] = "ZodUnknown"; ZodFirstPartyTypeKind2["ZodNever"] = "ZodNever"; ZodFirstPartyTypeKind2["ZodVoid"] = "ZodVoid"; ZodFirstPartyTypeKind2["ZodArray"] = "ZodArray"; ZodFirstPartyTypeKind2["ZodObject"] = "ZodObject"; ZodFirstPartyTypeKind2["ZodUnion"] = "ZodUnion"; ZodFirstPartyTypeKind2["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion"; ZodFirstPartyTypeKind2["ZodIntersection"] = "ZodIntersection"; ZodFirstPartyTypeKind2["ZodTuple"] = "ZodTuple"; ZodFirstPartyTypeKind2["ZodRecord"] = "ZodRecord"; ZodFirstPartyTypeKind2["ZodMap"] = "ZodMap"; ZodFirstPartyTypeKind2["ZodSet"] = "ZodSet"; ZodFirstPartyTypeKind2["ZodFunction"] = "ZodFunction"; ZodFirstPartyTypeKind2["ZodLazy"] = "ZodLazy"; ZodFirstPartyTypeKind2["ZodLiteral"] = "ZodLiteral"; ZodFirstPartyTypeKind2["ZodEnum"] = "ZodEnum"; ZodFirstPartyTypeKind2["ZodEffects"] = "ZodEffects"; ZodFirstPartyTypeKind2["ZodNativeEnum"] = "ZodNativeEnum"; ZodFirstPartyTypeKind2["ZodOptional"] = "ZodOptional"; ZodFirstPartyTypeKind2["ZodNullable"] = "ZodNullable"; ZodFirstPartyTypeKind2["ZodDefault"] = "ZodDefault"; ZodFirstPartyTypeKind2["ZodCatch"] = "ZodCatch"; ZodFirstPartyTypeKind2["ZodPromise"] = "ZodPromise"; ZodFirstPartyTypeKind2["ZodBranded"] = "ZodBranded"; ZodFirstPartyTypeKind2["ZodPipeline"] = "ZodPipeline"; ZodFirstPartyTypeKind2["ZodReadonly"] = "ZodReadonly"; })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {})); const stringType = ZodString.create; ZodNumber.create; ZodNaN.create; ZodBigInt.create; ZodBoolean.create; ZodDate.create; ZodSymbol.create; ZodUndefined.create; ZodNull.create; ZodAny.create; ZodUnknown.create; ZodNever.create; ZodVoid.create; ZodArray.create; const objectType = ZodObject.create; ZodObject.strictCreate; ZodUnion.create; ZodDiscriminatedUnion.create; ZodIntersection.create; ZodTuple.create; ZodRecord.create; ZodMap.create; ZodSet.create; ZodFunction.create; ZodLazy.create; const literalType = ZodLiteral.create; ZodEnum.create; ZodNativeEnum.create; ZodPromise.create; ZodEffects.create; ZodOptional.create; ZodNullable.create; ZodEffects.createWithPreprocess; ZodPipeline.create; const formID = typeof form_id !== "undefined" ? form_id : "swpm-registration-form"; const isTermsEnabled = typeof terms_enabled !== "undefined" ? terms_enabled : false; const isPPEnabled = typeof pp_enabled !== "undefined" ? pp_enabled : false; const isStrongPasswordEnabled = typeof strong_password_enabled !== "undefined" ? strong_password_enabled : false; const passValidatorRegex = typeof custom_pass_pattern_validator !== "undefined" ? custom_pass_pattern_validator : /^(?=.*\d)(?=.*[A-Z])(?=.*[a-z]).+$/; const passValidatorMinLength = typeof custom_pass_min_length_validator !== "undefined" ? custom_pass_min_length_validator : 8; const passPattern = new RegExp(passValidatorRegex); document.addEventListener("DOMContentLoaded", function() { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B; const formConfig = { username: { value: "", eventListener: ["blur"], active: true, isAsyncValidation: true, isDirty: false, rule: stringType({ required_error: (_a = validationMsg == null ? void 0 : validationMsg.username) == null ? void 0 : _a.required, invalid_type_error: (_b = validationMsg == null ? void 0 : validationMsg.username) == null ? void 0 : _b.invalid }).trim().min(1, { message: (_c = validationMsg == null ? void 0 : validationMsg.username) == null ? void 0 : _c.required }).regex(/^(?=[a-zA-Z0-9.\-_*@]+$)/, { message: (_d = validationMsg == null ? void 0 : validationMsg.username) == null ? void 0 : _d.regex }).min(4, { message: (_e = validationMsg == null ? void 0 : validationMsg.username) == null ? void 0 : _e.minLength }).refine( async function(value) { const usernameSchema = stringType().regex( /^(?=[a-zA-Z0-9.\-_*@]+$)/ ); const parseResult = usernameSchema.safeParse(value); if (parseResult.success) { const isAvailable = await checkAvailability( value, "username" ); return isAvailable; } return true; }, { message: (_f = validationMsg == null ? void 0 : validationMsg.username) == null ? void 0 : _f.exists } ) }, email: { value: "", eventListener: ["blur"], active: true, isAsyncValidation: true, isDirty: false, rule: stringType({ required_error: (_g = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _g.required, invalid_type_error: (_h = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _h.invalid }).trim().min(1, { message: (_i = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _i.required }).email({ message: (_j = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _j.invalid }).refine( async function(value) { const emailSchema = stringType().email(); const parseResult = emailSchema.safeParse(value); if (parseResult.success) { const isAvailable = await checkAvailability( value, "email" ); return isAvailable; } return true; }, { message: (_k = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _k.exists } ) }, password: { value: "", eventListener: ["blur", "input"], active: true, isAsyncValidation: false, isDirty: false, rule: isStrongPasswordEnabled ? stringType({ required_error: (_l = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _l.required, invalid_type_error: (_m = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _m.invalid }).min(1, { message: (_n = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _n.required }).regex(passPattern, { message: (_o = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _o.regex }).min(passValidatorMinLength, { message: (_p = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _p.minLength }) : stringType({ required_error: (_q = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _q.required, invalid_type_error: (_r = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _r.invalid }).min(1, { message: (_s = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _s.required }) }, repass: { value: "", eventListener: ["blur", "input"], active: true, isAsyncValidation: false, isDirty: false, rule: stringType({ required_error: (_t = validationMsg == null ? void 0 : validationMsg.repass) == null ? void 0 : _t.required, invalid_type_error: (_u = validationMsg == null ? void 0 : validationMsg.repass) == null ? void 0 : _u.invalid }).min(1, { message: (_v = validationMsg == null ? void 0 : validationMsg.repass) == null ? void 0 : _v.required }).refine( function(value) { return value === getFormConfigFieldValue("password"); }, { message: (_w = validationMsg == null ? void 0 : validationMsg.repass) == null ? void 0 : _w.mismatch } ) }, firstname: { value: "", eventListener: ["input"], active: true, isAsyncValidation: false, isDirty: false, rule: stringType({ required_error: (_x = validationMsg == null ? void 0 : validationMsg.firstname) == null ? void 0 : _x.required, invalid_type_error: (_y = validationMsg == null ? void 0 : validationMsg.firstname) == null ? void 0 : _y.invalid }).trim().optional() }, lastname: { value: "", eventListener: ["input"], active: true, isAsyncValidation: false, isDirty: false, rule: stringType({ required_error: (_z = validationMsg == null ? void 0 : validationMsg.lastname) == null ? void 0 : _z.required, invalid_type_error: (_A = validationMsg == null ? void 0 : validationMsg.lastname) == null ? void 0 : _A.invalid }).trim().optional() }, terms: { value: false, eventListener: ["change"], active: isTermsEnabled, isAsyncValidation: false, isDirty: false, rule: literalType(true, { errorMap: () => { var _a2; return { message: (_a2 = validationMsg == null ? void 0 : validationMsg.terms) == null ? void 0 : _a2.required }; } }) }, pp: { value: false, eventListener: ["change"], active: isPPEnabled, isAsyncValidation: false, isDirty: false, rule: literalType(true, { errorMap: () => { var _a2; return { message: (_a2 = validationMsg == null ? void 0 : validationMsg.pp) == null ? void 0 : _a2.required }; } }) } }; const FormValidators = { username: formConfig.username.rule, email: formConfig.email.rule, password: formConfig.password.rule, repass: formConfig.repass.rule, firstname: formConfig.firstname.rule, lastname: formConfig.lastname.rule }; if (isTermsEnabled) { FormValidators["terms"] = formConfig.terms.rule; } if (isPPEnabled) { FormValidators["pp"] = formConfig.pp.rule; } const RegistrationFormSchema = objectType(FormValidators); const registrationForm = document.getElementById(formID); const fields = Object.keys(FormValidators); fields.forEach((field) => { const fieldOption = formConfig[field]; if (fieldOption.active) { let fieldElement = registrationForm == null ? void 0 : registrationForm.querySelector(`.swpm-form-${field}`); if (fieldElement.value) { fieldOption.value = fieldElement.value; } fieldOption.eventListener.forEach((eventListener) => { fieldElement == null ? void 0 : fieldElement.addEventListener(eventListener, (e) => { handleDomEvent(e, field); }); }); } }); (_B = registrationForm == null ? void 0 : registrationForm.querySelector(`.swpm-form-password`)) == null ? void 0 : _B.addEventListener("input", () => { if (formConfig.repass.isDirty) { validateInput("repass", formConfig.repass.value); } }); registrationForm == null ? void 0 : registrationForm.addEventListener("submit", async function(e) { e.preventDefault(); let validationSucess = true; for (const key in formConfig) { if (!formConfig[key].active) { continue; } let isSuccess = await validateInput( key, formConfig[key].value ); if (!isSuccess) { validationSucess = false; } } if (validationSucess) { registrationForm.submit(); } else { scrollToFirstErrorField(); } }); async function validateInput(field, value) { let isValidationSuccessful = false; formConfig[field].isDirty = true; const fieldToValidate = RegistrationFormSchema.pick({ [field]: true }); let parseResult; if (formConfig[field].isAsyncValidation) { parseResult = await fieldToValidate.safeParseAsync({ [field]: value }); } else { parseResult = fieldToValidate.safeParse({ [field]: value }); } const targetRow = getRowByField(field); const targetFieldDesc = getDescByField(field); if (!parseResult.success) { targetRow == null ? void 0 : targetRow.classList.add("error"); const issues = parseResult.error.issues; if (targetFieldDesc) { targetFieldDesc.innerHTML = ""; const errorLists = document.createElement("ul"); for (const i in issues) { const error = issues[i]; const errorMsg = error.message; const errorItem = document.createElement("li"); errorItem.innerText = errorMsg; errorLists.appendChild(errorItem); if (error.code === "too_small" && error.minimum === 1) { break; } } targetFieldDesc.appendChild(errorLists); } } else { if (targetFieldDesc) { targetFieldDesc.innerHTML = ""; } targetRow == null ? void 0 : targetRow.classList.remove("error"); isValidationSuccessful = true; } return isValidationSuccessful; } function scrollToFirstErrorField() { const registrationForm2 = document.getElementById(formID); const firstErrorSection = registrationForm2 == null ? void 0 : registrationForm2.querySelector( ".swpm-form-row.error" ); if (firstErrorSection) { firstErrorSection.scrollIntoView({ behavior: "smooth", block: "start" }); const firstErrorField = firstErrorSection.querySelector( ".swpm-form-field" ); firstErrorField.focus(); } } function handleDomEvent(e, field) { const target = e.target; const inputValue = target.type === "checkbox" ? target.checked : target.value; formConfig[field].value = inputValue; validateInput(field, inputValue); } async function checkAvailability(value, field) { const queryArgs = swpmFormValidationAjax.query_args; const ajaxURL = swpmFormValidationAjax.ajax_url; if (field === "username") { queryArgs.action = "swpm_validate_user_name"; } else { queryArgs.action = "swpm_validate_email"; } queryArgs.fieldValue = value; const queryString = new URLSearchParams(queryArgs).toString(); const apiUrl = ajaxURL + "?" + queryString; return new Promise((resolve) => { fetch(apiUrl).then((response) => { if (response.ok) { return response.json(); } else { throw new Error("Request failed"); } }).then((data) => { const isAvailable = data[1]; resolve(isAvailable); }).catch((error) => { console.error("Error: ", error); }); }); } function getDescByField(field) { const registrationForm2 = document.getElementById(formID); const targetField = registrationForm2 == null ? void 0 : registrationForm2.querySelector( `.swpm-${field}-row` ); return targetField == null ? void 0 : targetField.querySelector(`.swpm-form-desc`); } function getRowByField(field) { const registrationForm2 = document.getElementById(formID); return registrationForm2 == null ? void 0 : registrationForm2.querySelector(`.swpm-${field}-row`); } function getFormConfigFieldValue(field) { if (formConfig[field] !== void 0) { return formConfig[field].value; } return null; } }); js/payment-button-block.js000064400000002421147206617610011605 0ustar00/** * Payment button block script. * * @package simple-membership */ let swpm_element = wp.element.createElement, swpm_registerBlockType = wp.blocks.registerBlockType, swpm_serverSideRender = wp.serverSideRender, swpm_selectControl = wp.components.SelectControl, swpm_InspectorControls = wp.blockEditor.InspectorControls; swpm_registerBlockType( 'simple-membership/payment-button', { title: swpm_block_button_str.title, description: swpm_block_button_str.description, icon: 'money-alt', category: 'common', edit: function (props) { return [ swpm_element( swpm_serverSideRender, { block: 'simple-membership/payment-button', attributes: props.attributes, } ), swpm_element( swpm_InspectorControls, {}, swpm_element( 'div', {className: 'swpm-payment-block-ic-wrapper'}, swpm_element( swpm_selectControl, { label: swpm_block_button_str.paymentButton, value: props.attributes.btnId, options: swpm_button_options, onChange: (value) => { props.setAttributes( {btnId: value} ); }, } ) ) ), ]; }, save: function () { return null; }, } ); js/swpm-profile-form-validator.js000064400000336653147206617610013120 0ustar00var util; (function(util2) { util2.assertEqual = (val) => val; function assertIs(_arg) { } util2.assertIs = assertIs; function assertNever(_x) { throw new Error(); } util2.assertNever = assertNever; util2.arrayToEnum = (items) => { const obj = {}; for (const item of items) { obj[item] = item; } return obj; }; util2.getValidEnumValues = (obj) => { const validKeys = util2.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number"); const filtered = {}; for (const k of validKeys) { filtered[k] = obj[k]; } return util2.objectValues(filtered); }; util2.objectValues = (obj) => { return util2.objectKeys(obj).map(function(e) { return obj[e]; }); }; util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => { const keys = []; for (const key in object) { if (Object.prototype.hasOwnProperty.call(object, key)) { keys.push(key); } } return keys; }; util2.find = (arr, checker) => { for (const item of arr) { if (checker(item)) return item; } return void 0; }; util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val; function joinValues(array, separator = " | ") { return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); } util2.joinValues = joinValues; util2.jsonStringifyReplacer = (_, value) => { if (typeof value === "bigint") { return value.toString(); } return value; }; })(util || (util = {})); var objectUtil; (function(objectUtil2) { objectUtil2.mergeShapes = (first, second) => { return { ...first, ...second // second overwrites first }; }; })(objectUtil || (objectUtil = {})); const ZodParsedType = util.arrayToEnum([ "string", "nan", "number", "integer", "float", "boolean", "date", "bigint", "symbol", "function", "undefined", "null", "array", "object", "unknown", "promise", "void", "never", "map", "set" ]); const getParsedType = (data) => { const t = typeof data; switch (t) { case "undefined": return ZodParsedType.undefined; case "string": return ZodParsedType.string; case "number": return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number; case "boolean": return ZodParsedType.boolean; case "function": return ZodParsedType.function; case "bigint": return ZodParsedType.bigint; case "symbol": return ZodParsedType.symbol; case "object": if (Array.isArray(data)) { return ZodParsedType.array; } if (data === null) { return ZodParsedType.null; } if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { return ZodParsedType.promise; } if (typeof Map !== "undefined" && data instanceof Map) { return ZodParsedType.map; } if (typeof Set !== "undefined" && data instanceof Set) { return ZodParsedType.set; } if (typeof Date !== "undefined" && data instanceof Date) { return ZodParsedType.date; } return ZodParsedType.object; default: return ZodParsedType.unknown; } }; const ZodIssueCode = util.arrayToEnum([ "invalid_type", "invalid_literal", "custom", "invalid_union", "invalid_union_discriminator", "invalid_enum_value", "unrecognized_keys", "invalid_arguments", "invalid_return_type", "invalid_date", "invalid_string", "too_small", "too_big", "invalid_intersection_types", "not_multiple_of", "not_finite" ]); class ZodError extends Error { constructor(issues) { super(); this.issues = []; this.addIssue = (sub) => { this.issues = [...this.issues, sub]; }; this.addIssues = (subs = []) => { this.issues = [...this.issues, ...subs]; }; const actualProto = new.target.prototype; if (Object.setPrototypeOf) { Object.setPrototypeOf(this, actualProto); } else { this.__proto__ = actualProto; } this.name = "ZodError"; this.issues = issues; } get errors() { return this.issues; } format(_mapper) { const mapper = _mapper || function(issue) { return issue.message; }; const fieldErrors = { _errors: [] }; const processError = (error) => { for (const issue of error.issues) { if (issue.code === "invalid_union") { issue.unionErrors.map(processError); } else if (issue.code === "invalid_return_type") { processError(issue.returnTypeError); } else if (issue.code === "invalid_arguments") { processError(issue.argumentsError); } else if (issue.path.length === 0) { fieldErrors._errors.push(mapper(issue)); } else { let curr = fieldErrors; let i = 0; while (i < issue.path.length) { const el = issue.path[i]; const terminal = i === issue.path.length - 1; if (!terminal) { curr[el] = curr[el] || { _errors: [] }; } else { curr[el] = curr[el] || { _errors: [] }; curr[el]._errors.push(mapper(issue)); } curr = curr[el]; i++; } } } }; processError(this); return fieldErrors; } toString() { return this.message; } get message() { return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2); } get isEmpty() { return this.issues.length === 0; } flatten(mapper = (issue) => issue.message) { const fieldErrors = {}; const formErrors = []; for (const sub of this.issues) { if (sub.path.length > 0) { fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || []; fieldErrors[sub.path[0]].push(mapper(sub)); } else { formErrors.push(mapper(sub)); } } return { formErrors, fieldErrors }; } get formErrors() { return this.flatten(); } } ZodError.create = (issues) => { const error = new ZodError(issues); return error; }; const errorMap = (issue, _ctx) => { let message; switch (issue.code) { case ZodIssueCode.invalid_type: if (issue.received === ZodParsedType.undefined) { message = "Required"; } else { message = `Expected ${issue.expected}, received ${issue.received}`; } break; case ZodIssueCode.invalid_literal: message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`; break; case ZodIssueCode.unrecognized_keys: message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, ", ")}`; break; case ZodIssueCode.invalid_union: message = `Invalid input`; break; case ZodIssueCode.invalid_union_discriminator: message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`; break; case ZodIssueCode.invalid_enum_value: message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`; break; case ZodIssueCode.invalid_arguments: message = `Invalid function arguments`; break; case ZodIssueCode.invalid_return_type: message = `Invalid function return type`; break; case ZodIssueCode.invalid_date: message = `Invalid date`; break; case ZodIssueCode.invalid_string: if (typeof issue.validation === "object") { if ("includes" in issue.validation) { message = `Invalid input: must include "${issue.validation.includes}"`; if (typeof issue.validation.position === "number") { message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`; } } else if ("startsWith" in issue.validation) { message = `Invalid input: must start with "${issue.validation.startsWith}"`; } else if ("endsWith" in issue.validation) { message = `Invalid input: must end with "${issue.validation.endsWith}"`; } else { util.assertNever(issue.validation); } } else if (issue.validation !== "regex") { message = `Invalid ${issue.validation}`; } else { message = "Invalid"; } break; case ZodIssueCode.too_small: if (issue.type === "array") message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`; else if (issue.type === "string") message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`; else if (issue.type === "number") message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; else if (issue.type === "date") message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`; else message = "Invalid input"; break; case ZodIssueCode.too_big: if (issue.type === "array") message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`; else if (issue.type === "string") message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`; else if (issue.type === "number") message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; else if (issue.type === "bigint") message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; else if (issue.type === "date") message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`; else message = "Invalid input"; break; case ZodIssueCode.custom: message = `Invalid input`; break; case ZodIssueCode.invalid_intersection_types: message = `Intersection results could not be merged`; break; case ZodIssueCode.not_multiple_of: message = `Number must be a multiple of ${issue.multipleOf}`; break; case ZodIssueCode.not_finite: message = "Number must be finite"; break; default: message = _ctx.defaultError; util.assertNever(issue); } return { message }; }; let overrideErrorMap = errorMap; function getErrorMap() { return overrideErrorMap; } const makeIssue = (params) => { const { data, path, errorMaps, issueData } = params; const fullPath = [...path, ...issueData.path || []]; const fullIssue = { ...issueData, path: fullPath }; let errorMessage = ""; const maps = errorMaps.filter((m) => !!m).slice().reverse(); for (const map of maps) { errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message; } return { ...issueData, path: fullPath, message: issueData.message || errorMessage }; }; function addIssueToContext(ctx, issueData) { const issue = makeIssue({ issueData, data: ctx.data, path: ctx.path, errorMaps: [ ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), errorMap // then global default map ].filter((x) => !!x) }); ctx.common.issues.push(issue); } class ParseStatus { constructor() { this.value = "valid"; } dirty() { if (this.value === "valid") this.value = "dirty"; } abort() { if (this.value !== "aborted") this.value = "aborted"; } static mergeArray(status, results) { const arrayValue = []; for (const s of results) { if (s.status === "aborted") return INVALID; if (s.status === "dirty") status.dirty(); arrayValue.push(s.value); } return { status: status.value, value: arrayValue }; } static async mergeObjectAsync(status, pairs) { const syncPairs = []; for (const pair of pairs) { syncPairs.push({ key: await pair.key, value: await pair.value }); } return ParseStatus.mergeObjectSync(status, syncPairs); } static mergeObjectSync(status, pairs) { const finalObject = {}; for (const pair of pairs) { const { key, value } = pair; if (key.status === "aborted") return INVALID; if (value.status === "aborted") return INVALID; if (key.status === "dirty") status.dirty(); if (value.status === "dirty") status.dirty(); if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) { finalObject[key.value] = value.value; } } return { status: status.value, value: finalObject }; } } const INVALID = Object.freeze({ status: "aborted" }); const DIRTY = (value) => ({ status: "dirty", value }); const OK = (value) => ({ status: "valid", value }); const isAborted = (x) => x.status === "aborted"; const isDirty = (x) => x.status === "dirty"; const isValid = (x) => x.status === "valid"; const isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise; var errorUtil; (function(errorUtil2) { errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {}; errorUtil2.toString = (message) => typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message; })(errorUtil || (errorUtil = {})); class ParseInputLazyPath { constructor(parent, value, path, key) { this._cachedPath = []; this.parent = parent; this.data = value; this._path = path; this._key = key; } get path() { if (!this._cachedPath.length) { if (this._key instanceof Array) { this._cachedPath.push(...this._path, ...this._key); } else { this._cachedPath.push(...this._path, this._key); } } return this._cachedPath; } } const handleResult = (ctx, result) => { if (isValid(result)) { return { success: true, data: result.value }; } else { if (!ctx.common.issues.length) { throw new Error("Validation failed but no issues detected."); } return { success: false, get error() { if (this._error) return this._error; const error = new ZodError(ctx.common.issues); this._error = error; return this._error; } }; } }; function processCreateParams(params) { if (!params) return {}; const { errorMap: errorMap2, invalid_type_error, required_error, description } = params; if (errorMap2 && (invalid_type_error || required_error)) { throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); } if (errorMap2) return { errorMap: errorMap2, description }; const customMap = (iss, ctx) => { if (iss.code !== "invalid_type") return { message: ctx.defaultError }; if (typeof ctx.data === "undefined") { return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError }; } return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError }; }; return { errorMap: customMap, description }; } class ZodType { constructor(def) { this.spa = this.safeParseAsync; this._def = def; this.parse = this.parse.bind(this); this.safeParse = this.safeParse.bind(this); this.parseAsync = this.parseAsync.bind(this); this.safeParseAsync = this.safeParseAsync.bind(this); this.spa = this.spa.bind(this); this.refine = this.refine.bind(this); this.refinement = this.refinement.bind(this); this.superRefine = this.superRefine.bind(this); this.optional = this.optional.bind(this); this.nullable = this.nullable.bind(this); this.nullish = this.nullish.bind(this); this.array = this.array.bind(this); this.promise = this.promise.bind(this); this.or = this.or.bind(this); this.and = this.and.bind(this); this.transform = this.transform.bind(this); this.brand = this.brand.bind(this); this.default = this.default.bind(this); this.catch = this.catch.bind(this); this.describe = this.describe.bind(this); this.pipe = this.pipe.bind(this); this.readonly = this.readonly.bind(this); this.isNullable = this.isNullable.bind(this); this.isOptional = this.isOptional.bind(this); } get description() { return this._def.description; } _getType(input) { return getParsedType(input.data); } _getOrReturnCtx(input, ctx) { return ctx || { common: input.parent.common, data: input.data, parsedType: getParsedType(input.data), schemaErrorMap: this._def.errorMap, path: input.path, parent: input.parent }; } _processInputParams(input) { return { status: new ParseStatus(), ctx: { common: input.parent.common, data: input.data, parsedType: getParsedType(input.data), schemaErrorMap: this._def.errorMap, path: input.path, parent: input.parent } }; } _parseSync(input) { const result = this._parse(input); if (isAsync(result)) { throw new Error("Synchronous parse encountered promise."); } return result; } _parseAsync(input) { const result = this._parse(input); return Promise.resolve(result); } parse(data, params) { const result = this.safeParse(data, params); if (result.success) return result.data; throw result.error; } safeParse(data, params) { var _a; const ctx = { common: { issues: [], async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false, contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap }, path: (params === null || params === void 0 ? void 0 : params.path) || [], schemaErrorMap: this._def.errorMap, parent: null, data, parsedType: getParsedType(data) }; const result = this._parseSync({ data, path: ctx.path, parent: ctx }); return handleResult(ctx, result); } async parseAsync(data, params) { const result = await this.safeParseAsync(data, params); if (result.success) return result.data; throw result.error; } async safeParseAsync(data, params) { const ctx = { common: { issues: [], contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap, async: true }, path: (params === null || params === void 0 ? void 0 : params.path) || [], schemaErrorMap: this._def.errorMap, parent: null, data, parsedType: getParsedType(data) }; const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx }); const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); return handleResult(ctx, result); } refine(check, message) { const getIssueProperties = (val) => { if (typeof message === "string" || typeof message === "undefined") { return { message }; } else if (typeof message === "function") { return message(val); } else { return message; } }; return this._refinement((val, ctx) => { const result = check(val); const setError = () => ctx.addIssue({ code: ZodIssueCode.custom, ...getIssueProperties(val) }); if (typeof Promise !== "undefined" && result instanceof Promise) { return result.then((data) => { if (!data) { setError(); return false; } else { return true; } }); } if (!result) { setError(); return false; } else { return true; } }); } refinement(check, refinementData) { return this._refinement((val, ctx) => { if (!check(val)) { ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData); return false; } else { return true; } }); } _refinement(refinement) { return new ZodEffects({ schema: this, typeName: ZodFirstPartyTypeKind.ZodEffects, effect: { type: "refinement", refinement } }); } superRefine(refinement) { return this._refinement(refinement); } optional() { return ZodOptional.create(this, this._def); } nullable() { return ZodNullable.create(this, this._def); } nullish() { return this.nullable().optional(); } array() { return ZodArray.create(this, this._def); } promise() { return ZodPromise.create(this, this._def); } or(option) { return ZodUnion.create([this, option], this._def); } and(incoming) { return ZodIntersection.create(this, incoming, this._def); } transform(transform) { return new ZodEffects({ ...processCreateParams(this._def), schema: this, typeName: ZodFirstPartyTypeKind.ZodEffects, effect: { type: "transform", transform } }); } default(def) { const defaultValueFunc = typeof def === "function" ? def : () => def; return new ZodDefault({ ...processCreateParams(this._def), innerType: this, defaultValue: defaultValueFunc, typeName: ZodFirstPartyTypeKind.ZodDefault }); } brand() { return new ZodBranded({ typeName: ZodFirstPartyTypeKind.ZodBranded, type: this, ...processCreateParams(this._def) }); } catch(def) { const catchValueFunc = typeof def === "function" ? def : () => def; return new ZodCatch({ ...processCreateParams(this._def), innerType: this, catchValue: catchValueFunc, typeName: ZodFirstPartyTypeKind.ZodCatch }); } describe(description) { const This = this.constructor; return new This({ ...this._def, description }); } pipe(target) { return ZodPipeline.create(this, target); } readonly() { return ZodReadonly.create(this); } isOptional() { return this.safeParse(void 0).success; } isNullable() { return this.safeParse(null).success; } } const cuidRegex = /^c[^\s-]{8,}$/i; const cuid2Regex = /^[a-z][a-z0-9]*$/; const ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/; const uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; const emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; const _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; let emojiRegex; const ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/; const ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/; const datetimeRegex = (args) => { if (args.precision) { if (args.offset) { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${args.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`); } else { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${args.precision}}Z$`); } } else if (args.precision === 0) { if (args.offset) { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$`); } else { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$`); } } else { if (args.offset) { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$`); } else { return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$`); } } }; function isValidIP(ip, version) { if ((version === "v4" || !version) && ipv4Regex.test(ip)) { return true; } if ((version === "v6" || !version) && ipv6Regex.test(ip)) { return true; } return false; } class ZodString extends ZodType { _parse(input) { if (this._def.coerce) { input.data = String(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.string) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext( ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.string, received: ctx2.parsedType } // ); return INVALID; } const status = new ParseStatus(); let ctx = void 0; for (const check of this._def.checks) { if (check.kind === "min") { if (input.data.length < check.value) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: check.value, type: "string", inclusive: true, exact: false, message: check.message }); status.dirty(); } } else if (check.kind === "max") { if (input.data.length > check.value) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: check.value, type: "string", inclusive: true, exact: false, message: check.message }); status.dirty(); } } else if (check.kind === "length") { const tooBig = input.data.length > check.value; const tooSmall = input.data.length < check.value; if (tooBig || tooSmall) { ctx = this._getOrReturnCtx(input, ctx); if (tooBig) { addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: check.value, type: "string", inclusive: true, exact: true, message: check.message }); } else if (tooSmall) { addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: check.value, type: "string", inclusive: true, exact: true, message: check.message }); } status.dirty(); } } else if (check.kind === "email") { if (!emailRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "email", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "emoji") { if (!emojiRegex) { emojiRegex = new RegExp(_emojiRegex, "u"); } if (!emojiRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "emoji", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "uuid") { if (!uuidRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "uuid", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "cuid") { if (!cuidRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "cuid", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "cuid2") { if (!cuid2Regex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "cuid2", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "ulid") { if (!ulidRegex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "ulid", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "url") { try { new URL(input.data); } catch (_a) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "url", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "regex") { check.regex.lastIndex = 0; const testResult = check.regex.test(input.data); if (!testResult) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "regex", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else if (check.kind === "trim") { input.data = input.data.trim(); } else if (check.kind === "includes") { if (!input.data.includes(check.value, check.position)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_string, validation: { includes: check.value, position: check.position }, message: check.message }); status.dirty(); } } else if (check.kind === "toLowerCase") { input.data = input.data.toLowerCase(); } else if (check.kind === "toUpperCase") { input.data = input.data.toUpperCase(); } else if (check.kind === "startsWith") { if (!input.data.startsWith(check.value)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_string, validation: { startsWith: check.value }, message: check.message }); status.dirty(); } } else if (check.kind === "endsWith") { if (!input.data.endsWith(check.value)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_string, validation: { endsWith: check.value }, message: check.message }); status.dirty(); } } else if (check.kind === "datetime") { const regex = datetimeRegex(check); if (!regex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_string, validation: "datetime", message: check.message }); status.dirty(); } } else if (check.kind === "ip") { if (!isValidIP(input.data, check.version)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { validation: "ip", code: ZodIssueCode.invalid_string, message: check.message }); status.dirty(); } } else { util.assertNever(check); } } return { status: status.value, value: input.data }; } _regex(regex, validation, message) { return this.refinement((data) => regex.test(data), { validation, code: ZodIssueCode.invalid_string, ...errorUtil.errToObj(message) }); } _addCheck(check) { return new ZodString({ ...this._def, checks: [...this._def.checks, check] }); } email(message) { return this._addCheck({ kind: "email", ...errorUtil.errToObj(message) }); } url(message) { return this._addCheck({ kind: "url", ...errorUtil.errToObj(message) }); } emoji(message) { return this._addCheck({ kind: "emoji", ...errorUtil.errToObj(message) }); } uuid(message) { return this._addCheck({ kind: "uuid", ...errorUtil.errToObj(message) }); } cuid(message) { return this._addCheck({ kind: "cuid", ...errorUtil.errToObj(message) }); } cuid2(message) { return this._addCheck({ kind: "cuid2", ...errorUtil.errToObj(message) }); } ulid(message) { return this._addCheck({ kind: "ulid", ...errorUtil.errToObj(message) }); } ip(options) { return this._addCheck({ kind: "ip", ...errorUtil.errToObj(options) }); } datetime(options) { var _a; if (typeof options === "string") { return this._addCheck({ kind: "datetime", precision: null, offset: false, message: options }); } return this._addCheck({ kind: "datetime", precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === "undefined" ? null : options === null || options === void 0 ? void 0 : options.precision, offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false, ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message) }); } regex(regex, message) { return this._addCheck({ kind: "regex", regex, ...errorUtil.errToObj(message) }); } includes(value, options) { return this._addCheck({ kind: "includes", value, position: options === null || options === void 0 ? void 0 : options.position, ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message) }); } startsWith(value, message) { return this._addCheck({ kind: "startsWith", value, ...errorUtil.errToObj(message) }); } endsWith(value, message) { return this._addCheck({ kind: "endsWith", value, ...errorUtil.errToObj(message) }); } min(minLength, message) { return this._addCheck({ kind: "min", value: minLength, ...errorUtil.errToObj(message) }); } max(maxLength, message) { return this._addCheck({ kind: "max", value: maxLength, ...errorUtil.errToObj(message) }); } length(len, message) { return this._addCheck({ kind: "length", value: len, ...errorUtil.errToObj(message) }); } /** * @deprecated Use z.string().min(1) instead. * @see {@link ZodString.min} */ nonempty(message) { return this.min(1, errorUtil.errToObj(message)); } trim() { return new ZodString({ ...this._def, checks: [...this._def.checks, { kind: "trim" }] }); } toLowerCase() { return new ZodString({ ...this._def, checks: [...this._def.checks, { kind: "toLowerCase" }] }); } toUpperCase() { return new ZodString({ ...this._def, checks: [...this._def.checks, { kind: "toUpperCase" }] }); } get isDatetime() { return !!this._def.checks.find((ch) => ch.kind === "datetime"); } get isEmail() { return !!this._def.checks.find((ch) => ch.kind === "email"); } get isURL() { return !!this._def.checks.find((ch) => ch.kind === "url"); } get isEmoji() { return !!this._def.checks.find((ch) => ch.kind === "emoji"); } get isUUID() { return !!this._def.checks.find((ch) => ch.kind === "uuid"); } get isCUID() { return !!this._def.checks.find((ch) => ch.kind === "cuid"); } get isCUID2() { return !!this._def.checks.find((ch) => ch.kind === "cuid2"); } get isULID() { return !!this._def.checks.find((ch) => ch.kind === "ulid"); } get isIP() { return !!this._def.checks.find((ch) => ch.kind === "ip"); } get minLength() { let min = null; for (const ch of this._def.checks) { if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } } return min; } get maxLength() { let max = null; for (const ch of this._def.checks) { if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return max; } } ZodString.create = (params) => { var _a; return new ZodString({ checks: [], typeName: ZodFirstPartyTypeKind.ZodString, coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false, ...processCreateParams(params) }); }; function floatSafeRemainder(val, step) { const valDecCount = (val.toString().split(".")[1] || "").length; const stepDecCount = (step.toString().split(".")[1] || "").length; const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; const valInt = parseInt(val.toFixed(decCount).replace(".", "")); const stepInt = parseInt(step.toFixed(decCount).replace(".", "")); return valInt % stepInt / Math.pow(10, decCount); } class ZodNumber extends ZodType { constructor() { super(...arguments); this.min = this.gte; this.max = this.lte; this.step = this.multipleOf; } _parse(input) { if (this._def.coerce) { input.data = Number(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.number) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.number, received: ctx2.parsedType }); return INVALID; } let ctx = void 0; const status = new ParseStatus(); for (const check of this._def.checks) { if (check.kind === "int") { if (!util.isInteger(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: "integer", received: "float", message: check.message }); status.dirty(); } } else if (check.kind === "min") { const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; if (tooSmall) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: check.value, type: "number", inclusive: check.inclusive, exact: false, message: check.message }); status.dirty(); } } else if (check.kind === "max") { const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; if (tooBig) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: check.value, type: "number", inclusive: check.inclusive, exact: false, message: check.message }); status.dirty(); } } else if (check.kind === "multipleOf") { if (floatSafeRemainder(input.data, check.value) !== 0) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.not_multiple_of, multipleOf: check.value, message: check.message }); status.dirty(); } } else if (check.kind === "finite") { if (!Number.isFinite(input.data)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.not_finite, message: check.message }); status.dirty(); } } else { util.assertNever(check); } } return { status: status.value, value: input.data }; } gte(value, message) { return this.setLimit("min", value, true, errorUtil.toString(message)); } gt(value, message) { return this.setLimit("min", value, false, errorUtil.toString(message)); } lte(value, message) { return this.setLimit("max", value, true, errorUtil.toString(message)); } lt(value, message) { return this.setLimit("max", value, false, errorUtil.toString(message)); } setLimit(kind, value, inclusive, message) { return new ZodNumber({ ...this._def, checks: [ ...this._def.checks, { kind, value, inclusive, message: errorUtil.toString(message) } ] }); } _addCheck(check) { return new ZodNumber({ ...this._def, checks: [...this._def.checks, check] }); } int(message) { return this._addCheck({ kind: "int", message: errorUtil.toString(message) }); } positive(message) { return this._addCheck({ kind: "min", value: 0, inclusive: false, message: errorUtil.toString(message) }); } negative(message) { return this._addCheck({ kind: "max", value: 0, inclusive: false, message: errorUtil.toString(message) }); } nonpositive(message) { return this._addCheck({ kind: "max", value: 0, inclusive: true, message: errorUtil.toString(message) }); } nonnegative(message) { return this._addCheck({ kind: "min", value: 0, inclusive: true, message: errorUtil.toString(message) }); } multipleOf(value, message) { return this._addCheck({ kind: "multipleOf", value, message: errorUtil.toString(message) }); } finite(message) { return this._addCheck({ kind: "finite", message: errorUtil.toString(message) }); } safe(message) { return this._addCheck({ kind: "min", inclusive: true, value: Number.MIN_SAFE_INTEGER, message: errorUtil.toString(message) })._addCheck({ kind: "max", inclusive: true, value: Number.MAX_SAFE_INTEGER, message: errorUtil.toString(message) }); } get minValue() { let min = null; for (const ch of this._def.checks) { if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } } return min; } get maxValue() { let max = null; for (const ch of this._def.checks) { if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return max; } get isInt() { return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value)); } get isFinite() { let max = null, min = null; for (const ch of this._def.checks) { if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") { return true; } else if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } else if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return Number.isFinite(min) && Number.isFinite(max); } } ZodNumber.create = (params) => { return new ZodNumber({ checks: [], typeName: ZodFirstPartyTypeKind.ZodNumber, coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, ...processCreateParams(params) }); }; class ZodBigInt extends ZodType { constructor() { super(...arguments); this.min = this.gte; this.max = this.lte; } _parse(input) { if (this._def.coerce) { input.data = BigInt(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.bigint) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.bigint, received: ctx2.parsedType }); return INVALID; } let ctx = void 0; const status = new ParseStatus(); for (const check of this._def.checks) { if (check.kind === "min") { const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; if (tooSmall) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_small, type: "bigint", minimum: check.value, inclusive: check.inclusive, message: check.message }); status.dirty(); } } else if (check.kind === "max") { const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; if (tooBig) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_big, type: "bigint", maximum: check.value, inclusive: check.inclusive, message: check.message }); status.dirty(); } } else if (check.kind === "multipleOf") { if (input.data % check.value !== BigInt(0)) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.not_multiple_of, multipleOf: check.value, message: check.message }); status.dirty(); } } else { util.assertNever(check); } } return { status: status.value, value: input.data }; } gte(value, message) { return this.setLimit("min", value, true, errorUtil.toString(message)); } gt(value, message) { return this.setLimit("min", value, false, errorUtil.toString(message)); } lte(value, message) { return this.setLimit("max", value, true, errorUtil.toString(message)); } lt(value, message) { return this.setLimit("max", value, false, errorUtil.toString(message)); } setLimit(kind, value, inclusive, message) { return new ZodBigInt({ ...this._def, checks: [ ...this._def.checks, { kind, value, inclusive, message: errorUtil.toString(message) } ] }); } _addCheck(check) { return new ZodBigInt({ ...this._def, checks: [...this._def.checks, check] }); } positive(message) { return this._addCheck({ kind: "min", value: BigInt(0), inclusive: false, message: errorUtil.toString(message) }); } negative(message) { return this._addCheck({ kind: "max", value: BigInt(0), inclusive: false, message: errorUtil.toString(message) }); } nonpositive(message) { return this._addCheck({ kind: "max", value: BigInt(0), inclusive: true, message: errorUtil.toString(message) }); } nonnegative(message) { return this._addCheck({ kind: "min", value: BigInt(0), inclusive: true, message: errorUtil.toString(message) }); } multipleOf(value, message) { return this._addCheck({ kind: "multipleOf", value, message: errorUtil.toString(message) }); } get minValue() { let min = null; for (const ch of this._def.checks) { if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } } return min; } get maxValue() { let max = null; for (const ch of this._def.checks) { if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return max; } } ZodBigInt.create = (params) => { var _a; return new ZodBigInt({ checks: [], typeName: ZodFirstPartyTypeKind.ZodBigInt, coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false, ...processCreateParams(params) }); }; class ZodBoolean extends ZodType { _parse(input) { if (this._def.coerce) { input.data = Boolean(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.boolean) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.boolean, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodBoolean.create = (params) => { return new ZodBoolean({ typeName: ZodFirstPartyTypeKind.ZodBoolean, coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, ...processCreateParams(params) }); }; class ZodDate extends ZodType { _parse(input) { if (this._def.coerce) { input.data = new Date(input.data); } const parsedType = this._getType(input); if (parsedType !== ZodParsedType.date) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.date, received: ctx2.parsedType }); return INVALID; } if (isNaN(input.data.getTime())) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_date }); return INVALID; } const status = new ParseStatus(); let ctx = void 0; for (const check of this._def.checks) { if (check.kind === "min") { if (input.data.getTime() < check.value) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_small, message: check.message, inclusive: true, exact: false, minimum: check.value, type: "date" }); status.dirty(); } } else if (check.kind === "max") { if (input.data.getTime() > check.value) { ctx = this._getOrReturnCtx(input, ctx); addIssueToContext(ctx, { code: ZodIssueCode.too_big, message: check.message, inclusive: true, exact: false, maximum: check.value, type: "date" }); status.dirty(); } } else { util.assertNever(check); } } return { status: status.value, value: new Date(input.data.getTime()) }; } _addCheck(check) { return new ZodDate({ ...this._def, checks: [...this._def.checks, check] }); } min(minDate, message) { return this._addCheck({ kind: "min", value: minDate.getTime(), message: errorUtil.toString(message) }); } max(maxDate, message) { return this._addCheck({ kind: "max", value: maxDate.getTime(), message: errorUtil.toString(message) }); } get minDate() { let min = null; for (const ch of this._def.checks) { if (ch.kind === "min") { if (min === null || ch.value > min) min = ch.value; } } return min != null ? new Date(min) : null; } get maxDate() { let max = null; for (const ch of this._def.checks) { if (ch.kind === "max") { if (max === null || ch.value < max) max = ch.value; } } return max != null ? new Date(max) : null; } } ZodDate.create = (params) => { return new ZodDate({ checks: [], coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, typeName: ZodFirstPartyTypeKind.ZodDate, ...processCreateParams(params) }); }; class ZodSymbol extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.symbol) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.symbol, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodSymbol.create = (params) => { return new ZodSymbol({ typeName: ZodFirstPartyTypeKind.ZodSymbol, ...processCreateParams(params) }); }; class ZodUndefined extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.undefined) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.undefined, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodUndefined.create = (params) => { return new ZodUndefined({ typeName: ZodFirstPartyTypeKind.ZodUndefined, ...processCreateParams(params) }); }; class ZodNull extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.null) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.null, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodNull.create = (params) => { return new ZodNull({ typeName: ZodFirstPartyTypeKind.ZodNull, ...processCreateParams(params) }); }; class ZodAny extends ZodType { constructor() { super(...arguments); this._any = true; } _parse(input) { return OK(input.data); } } ZodAny.create = (params) => { return new ZodAny({ typeName: ZodFirstPartyTypeKind.ZodAny, ...processCreateParams(params) }); }; class ZodUnknown extends ZodType { constructor() { super(...arguments); this._unknown = true; } _parse(input) { return OK(input.data); } } ZodUnknown.create = (params) => { return new ZodUnknown({ typeName: ZodFirstPartyTypeKind.ZodUnknown, ...processCreateParams(params) }); }; class ZodNever extends ZodType { _parse(input) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.never, received: ctx.parsedType }); return INVALID; } } ZodNever.create = (params) => { return new ZodNever({ typeName: ZodFirstPartyTypeKind.ZodNever, ...processCreateParams(params) }); }; class ZodVoid extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.undefined) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.void, received: ctx.parsedType }); return INVALID; } return OK(input.data); } } ZodVoid.create = (params) => { return new ZodVoid({ typeName: ZodFirstPartyTypeKind.ZodVoid, ...processCreateParams(params) }); }; class ZodArray extends ZodType { _parse(input) { const { ctx, status } = this._processInputParams(input); const def = this._def; if (ctx.parsedType !== ZodParsedType.array) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.array, received: ctx.parsedType }); return INVALID; } if (def.exactLength !== null) { const tooBig = ctx.data.length > def.exactLength.value; const tooSmall = ctx.data.length < def.exactLength.value; if (tooBig || tooSmall) { addIssueToContext(ctx, { code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small, minimum: tooSmall ? def.exactLength.value : void 0, maximum: tooBig ? def.exactLength.value : void 0, type: "array", inclusive: true, exact: true, message: def.exactLength.message }); status.dirty(); } } if (def.minLength !== null) { if (ctx.data.length < def.minLength.value) { addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: def.minLength.value, type: "array", inclusive: true, exact: false, message: def.minLength.message }); status.dirty(); } } if (def.maxLength !== null) { if (ctx.data.length > def.maxLength.value) { addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: def.maxLength.value, type: "array", inclusive: true, exact: false, message: def.maxLength.message }); status.dirty(); } } if (ctx.common.async) { return Promise.all([...ctx.data].map((item, i) => { return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i)); })).then((result2) => { return ParseStatus.mergeArray(status, result2); }); } const result = [...ctx.data].map((item, i) => { return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i)); }); return ParseStatus.mergeArray(status, result); } get element() { return this._def.type; } min(minLength, message) { return new ZodArray({ ...this._def, minLength: { value: minLength, message: errorUtil.toString(message) } }); } max(maxLength, message) { return new ZodArray({ ...this._def, maxLength: { value: maxLength, message: errorUtil.toString(message) } }); } length(len, message) { return new ZodArray({ ...this._def, exactLength: { value: len, message: errorUtil.toString(message) } }); } nonempty(message) { return this.min(1, message); } } ZodArray.create = (schema, params) => { return new ZodArray({ type: schema, minLength: null, maxLength: null, exactLength: null, typeName: ZodFirstPartyTypeKind.ZodArray, ...processCreateParams(params) }); }; function deepPartialify(schema) { if (schema instanceof ZodObject) { const newShape = {}; for (const key in schema.shape) { const fieldSchema = schema.shape[key]; newShape[key] = ZodOptional.create(deepPartialify(fieldSchema)); } return new ZodObject({ ...schema._def, shape: () => newShape }); } else if (schema instanceof ZodArray) { return new ZodArray({ ...schema._def, type: deepPartialify(schema.element) }); } else if (schema instanceof ZodOptional) { return ZodOptional.create(deepPartialify(schema.unwrap())); } else if (schema instanceof ZodNullable) { return ZodNullable.create(deepPartialify(schema.unwrap())); } else if (schema instanceof ZodTuple) { return ZodTuple.create(schema.items.map((item) => deepPartialify(item))); } else { return schema; } } class ZodObject extends ZodType { constructor() { super(...arguments); this._cached = null; this.nonstrict = this.passthrough; this.augment = this.extend; } _getCached() { if (this._cached !== null) return this._cached; const shape = this._def.shape(); const keys = util.objectKeys(shape); return this._cached = { shape, keys }; } _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.object) { const ctx2 = this._getOrReturnCtx(input); addIssueToContext(ctx2, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.object, received: ctx2.parsedType }); return INVALID; } const { status, ctx } = this._processInputParams(input); const { shape, keys: shapeKeys } = this._getCached(); const extraKeys = []; if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === "strip")) { for (const key in ctx.data) { if (!shapeKeys.includes(key)) { extraKeys.push(key); } } } const pairs = []; for (const key of shapeKeys) { const keyValidator = shape[key]; const value = ctx.data[key]; pairs.push({ key: { status: "valid", value: key }, value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)), alwaysSet: key in ctx.data }); } if (this._def.catchall instanceof ZodNever) { const unknownKeys = this._def.unknownKeys; if (unknownKeys === "passthrough") { for (const key of extraKeys) { pairs.push({ key: { status: "valid", value: key }, value: { status: "valid", value: ctx.data[key] } }); } } else if (unknownKeys === "strict") { if (extraKeys.length > 0) { addIssueToContext(ctx, { code: ZodIssueCode.unrecognized_keys, keys: extraKeys }); status.dirty(); } } else if (unknownKeys === "strip") ; else { throw new Error(`Internal ZodObject error: invalid unknownKeys value.`); } } else { const catchall = this._def.catchall; for (const key of extraKeys) { const value = ctx.data[key]; pairs.push({ key: { status: "valid", value: key }, value: catchall._parse( new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value) ), alwaysSet: key in ctx.data }); } } if (ctx.common.async) { return Promise.resolve().then(async () => { const syncPairs = []; for (const pair of pairs) { const key = await pair.key; syncPairs.push({ key, value: await pair.value, alwaysSet: pair.alwaysSet }); } return syncPairs; }).then((syncPairs) => { return ParseStatus.mergeObjectSync(status, syncPairs); }); } else { return ParseStatus.mergeObjectSync(status, pairs); } } get shape() { return this._def.shape(); } strict(message) { errorUtil.errToObj; return new ZodObject({ ...this._def, unknownKeys: "strict", ...message !== void 0 ? { errorMap: (issue, ctx) => { var _a, _b, _c, _d; const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError; if (issue.code === "unrecognized_keys") return { message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError }; return { message: defaultError }; } } : {} }); } strip() { return new ZodObject({ ...this._def, unknownKeys: "strip" }); } passthrough() { return new ZodObject({ ...this._def, unknownKeys: "passthrough" }); } // const AugmentFactory = // (def: Def) => // ( // augmentation: Augmentation // ): ZodObject< // extendShape, Augmentation>, // Def["unknownKeys"], // Def["catchall"] // > => { // return new ZodObject({ // ...def, // shape: () => ({ // ...def.shape(), // ...augmentation, // }), // }) as any; // }; extend(augmentation) { return new ZodObject({ ...this._def, shape: () => ({ ...this._def.shape(), ...augmentation }) }); } /** * Prior to zod@1.0.12 there was a bug in the * inferred type of merged objects. Please * upgrade if you are experiencing issues. */ merge(merging) { const merged = new ZodObject({ unknownKeys: merging._def.unknownKeys, catchall: merging._def.catchall, shape: () => ({ ...this._def.shape(), ...merging._def.shape() }), typeName: ZodFirstPartyTypeKind.ZodObject }); return merged; } // merge< // Incoming extends AnyZodObject, // Augmentation extends Incoming["shape"], // NewOutput extends { // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation // ? Augmentation[k]["_output"] // : k extends keyof Output // ? Output[k] // : never; // }, // NewInput extends { // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation // ? Augmentation[k]["_input"] // : k extends keyof Input // ? Input[k] // : never; // } // >( // merging: Incoming // ): ZodObject< // extendShape>, // Incoming["_def"]["unknownKeys"], // Incoming["_def"]["catchall"], // NewOutput, // NewInput // > { // const merged: any = new ZodObject({ // unknownKeys: merging._def.unknownKeys, // catchall: merging._def.catchall, // shape: () => // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), // typeName: ZodFirstPartyTypeKind.ZodObject, // }) as any; // return merged; // } setKey(key, schema) { return this.augment({ [key]: schema }); } // merge( // merging: Incoming // ): //ZodObject = (merging) => { // ZodObject< // extendShape>, // Incoming["_def"]["unknownKeys"], // Incoming["_def"]["catchall"] // > { // // const mergedShape = objectUtil.mergeShapes( // // this._def.shape(), // // merging._def.shape() // // ); // const merged: any = new ZodObject({ // unknownKeys: merging._def.unknownKeys, // catchall: merging._def.catchall, // shape: () => // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), // typeName: ZodFirstPartyTypeKind.ZodObject, // }) as any; // return merged; // } catchall(index) { return new ZodObject({ ...this._def, catchall: index }); } pick(mask) { const shape = {}; util.objectKeys(mask).forEach((key) => { if (mask[key] && this.shape[key]) { shape[key] = this.shape[key]; } }); return new ZodObject({ ...this._def, shape: () => shape }); } omit(mask) { const shape = {}; util.objectKeys(this.shape).forEach((key) => { if (!mask[key]) { shape[key] = this.shape[key]; } }); return new ZodObject({ ...this._def, shape: () => shape }); } /** * @deprecated */ deepPartial() { return deepPartialify(this); } partial(mask) { const newShape = {}; util.objectKeys(this.shape).forEach((key) => { const fieldSchema = this.shape[key]; if (mask && !mask[key]) { newShape[key] = fieldSchema; } else { newShape[key] = fieldSchema.optional(); } }); return new ZodObject({ ...this._def, shape: () => newShape }); } required(mask) { const newShape = {}; util.objectKeys(this.shape).forEach((key) => { if (mask && !mask[key]) { newShape[key] = this.shape[key]; } else { const fieldSchema = this.shape[key]; let newField = fieldSchema; while (newField instanceof ZodOptional) { newField = newField._def.innerType; } newShape[key] = newField; } }); return new ZodObject({ ...this._def, shape: () => newShape }); } keyof() { return createZodEnum(util.objectKeys(this.shape)); } } ZodObject.create = (shape, params) => { return new ZodObject({ shape: () => shape, unknownKeys: "strip", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, ...processCreateParams(params) }); }; ZodObject.strictCreate = (shape, params) => { return new ZodObject({ shape: () => shape, unknownKeys: "strict", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, ...processCreateParams(params) }); }; ZodObject.lazycreate = (shape, params) => { return new ZodObject({ shape, unknownKeys: "strip", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject, ...processCreateParams(params) }); }; class ZodUnion extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); const options = this._def.options; function handleResults(results) { for (const result of results) { if (result.result.status === "valid") { return result.result; } } for (const result of results) { if (result.result.status === "dirty") { ctx.common.issues.push(...result.ctx.common.issues); return result.result; } } const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues)); addIssueToContext(ctx, { code: ZodIssueCode.invalid_union, unionErrors }); return INVALID; } if (ctx.common.async) { return Promise.all(options.map(async (option) => { const childCtx = { ...ctx, common: { ...ctx.common, issues: [] }, parent: null }; return { result: await option._parseAsync({ data: ctx.data, path: ctx.path, parent: childCtx }), ctx: childCtx }; })).then(handleResults); } else { let dirty = void 0; const issues = []; for (const option of options) { const childCtx = { ...ctx, common: { ...ctx.common, issues: [] }, parent: null }; const result = option._parseSync({ data: ctx.data, path: ctx.path, parent: childCtx }); if (result.status === "valid") { return result; } else if (result.status === "dirty" && !dirty) { dirty = { result, ctx: childCtx }; } if (childCtx.common.issues.length) { issues.push(childCtx.common.issues); } } if (dirty) { ctx.common.issues.push(...dirty.ctx.common.issues); return dirty.result; } const unionErrors = issues.map((issues2) => new ZodError(issues2)); addIssueToContext(ctx, { code: ZodIssueCode.invalid_union, unionErrors }); return INVALID; } } get options() { return this._def.options; } } ZodUnion.create = (types, params) => { return new ZodUnion({ options: types, typeName: ZodFirstPartyTypeKind.ZodUnion, ...processCreateParams(params) }); }; const getDiscriminator = (type) => { if (type instanceof ZodLazy) { return getDiscriminator(type.schema); } else if (type instanceof ZodEffects) { return getDiscriminator(type.innerType()); } else if (type instanceof ZodLiteral) { return [type.value]; } else if (type instanceof ZodEnum) { return type.options; } else if (type instanceof ZodNativeEnum) { return Object.keys(type.enum); } else if (type instanceof ZodDefault) { return getDiscriminator(type._def.innerType); } else if (type instanceof ZodUndefined) { return [void 0]; } else if (type instanceof ZodNull) { return [null]; } else { return null; } }; class ZodDiscriminatedUnion extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.object) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.object, received: ctx.parsedType }); return INVALID; } const discriminator = this.discriminator; const discriminatorValue = ctx.data[discriminator]; const option = this.optionsMap.get(discriminatorValue); if (!option) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_union_discriminator, options: Array.from(this.optionsMap.keys()), path: [discriminator] }); return INVALID; } if (ctx.common.async) { return option._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }); } else { return option._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }); } } get discriminator() { return this._def.discriminator; } get options() { return this._def.options; } get optionsMap() { return this._def.optionsMap; } /** * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor. * However, it only allows a union of objects, all of which need to share a discriminator property. This property must * have a different value for each object in the union. * @param discriminator the name of the discriminator property * @param types an array of object schemas * @param params */ static create(discriminator, options, params) { const optionsMap = /* @__PURE__ */ new Map(); for (const type of options) { const discriminatorValues = getDiscriminator(type.shape[discriminator]); if (!discriminatorValues) { throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`); } for (const value of discriminatorValues) { if (optionsMap.has(value)) { throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`); } optionsMap.set(value, type); } } return new ZodDiscriminatedUnion({ typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion, discriminator, options, optionsMap, ...processCreateParams(params) }); } } function mergeValues(a, b) { const aType = getParsedType(a); const bType = getParsedType(b); if (a === b) { return { valid: true, data: a }; } else if (aType === ZodParsedType.object && bType === ZodParsedType.object) { const bKeys = util.objectKeys(b); const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); const newObj = { ...a, ...b }; for (const key of sharedKeys) { const sharedValue = mergeValues(a[key], b[key]); if (!sharedValue.valid) { return { valid: false }; } newObj[key] = sharedValue.data; } return { valid: true, data: newObj }; } else if (aType === ZodParsedType.array && bType === ZodParsedType.array) { if (a.length !== b.length) { return { valid: false }; } const newArray = []; for (let index = 0; index < a.length; index++) { const itemA = a[index]; const itemB = b[index]; const sharedValue = mergeValues(itemA, itemB); if (!sharedValue.valid) { return { valid: false }; } newArray.push(sharedValue.data); } return { valid: true, data: newArray }; } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) { return { valid: true, data: a }; } else { return { valid: false }; } } class ZodIntersection extends ZodType { _parse(input) { const { status, ctx } = this._processInputParams(input); const handleParsed = (parsedLeft, parsedRight) => { if (isAborted(parsedLeft) || isAborted(parsedRight)) { return INVALID; } const merged = mergeValues(parsedLeft.value, parsedRight.value); if (!merged.valid) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_intersection_types }); return INVALID; } if (isDirty(parsedLeft) || isDirty(parsedRight)) { status.dirty(); } return { status: status.value, value: merged.data }; }; if (ctx.common.async) { return Promise.all([ this._def.left._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }), this._def.right._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }) ]).then(([left, right]) => handleParsed(left, right)); } else { return handleParsed(this._def.left._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }), this._def.right._parseSync({ data: ctx.data, path: ctx.path, parent: ctx })); } } } ZodIntersection.create = (left, right, params) => { return new ZodIntersection({ left, right, typeName: ZodFirstPartyTypeKind.ZodIntersection, ...processCreateParams(params) }); }; class ZodTuple extends ZodType { _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.array) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.array, received: ctx.parsedType }); return INVALID; } if (ctx.data.length < this._def.items.length) { addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: this._def.items.length, inclusive: true, exact: false, type: "array" }); return INVALID; } const rest = this._def.rest; if (!rest && ctx.data.length > this._def.items.length) { addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: this._def.items.length, inclusive: true, exact: false, type: "array" }); status.dirty(); } const items = [...ctx.data].map((item, itemIndex) => { const schema = this._def.items[itemIndex] || this._def.rest; if (!schema) return null; return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex)); }).filter((x) => !!x); if (ctx.common.async) { return Promise.all(items).then((results) => { return ParseStatus.mergeArray(status, results); }); } else { return ParseStatus.mergeArray(status, items); } } get items() { return this._def.items; } rest(rest) { return new ZodTuple({ ...this._def, rest }); } } ZodTuple.create = (schemas, params) => { if (!Array.isArray(schemas)) { throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); } return new ZodTuple({ items: schemas, typeName: ZodFirstPartyTypeKind.ZodTuple, rest: null, ...processCreateParams(params) }); }; class ZodRecord extends ZodType { get keySchema() { return this._def.keyType; } get valueSchema() { return this._def.valueType; } _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.object) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.object, received: ctx.parsedType }); return INVALID; } const pairs = []; const keyType = this._def.keyType; const valueType = this._def.valueType; for (const key in ctx.data) { pairs.push({ key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)), value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)) }); } if (ctx.common.async) { return ParseStatus.mergeObjectAsync(status, pairs); } else { return ParseStatus.mergeObjectSync(status, pairs); } } get element() { return this._def.valueType; } static create(first, second, third) { if (second instanceof ZodType) { return new ZodRecord({ keyType: first, valueType: second, typeName: ZodFirstPartyTypeKind.ZodRecord, ...processCreateParams(third) }); } return new ZodRecord({ keyType: ZodString.create(), valueType: first, typeName: ZodFirstPartyTypeKind.ZodRecord, ...processCreateParams(second) }); } } class ZodMap extends ZodType { get keySchema() { return this._def.keyType; } get valueSchema() { return this._def.valueType; } _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.map) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.map, received: ctx.parsedType }); return INVALID; } const keyType = this._def.keyType; const valueType = this._def.valueType; const pairs = [...ctx.data.entries()].map(([key, value], index) => { return { key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, "key"])), value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, "value"])) }; }); if (ctx.common.async) { const finalMap = /* @__PURE__ */ new Map(); return Promise.resolve().then(async () => { for (const pair of pairs) { const key = await pair.key; const value = await pair.value; if (key.status === "aborted" || value.status === "aborted") { return INVALID; } if (key.status === "dirty" || value.status === "dirty") { status.dirty(); } finalMap.set(key.value, value.value); } return { status: status.value, value: finalMap }; }); } else { const finalMap = /* @__PURE__ */ new Map(); for (const pair of pairs) { const key = pair.key; const value = pair.value; if (key.status === "aborted" || value.status === "aborted") { return INVALID; } if (key.status === "dirty" || value.status === "dirty") { status.dirty(); } finalMap.set(key.value, value.value); } return { status: status.value, value: finalMap }; } } } ZodMap.create = (keyType, valueType, params) => { return new ZodMap({ valueType, keyType, typeName: ZodFirstPartyTypeKind.ZodMap, ...processCreateParams(params) }); }; class ZodSet extends ZodType { _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.set) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.set, received: ctx.parsedType }); return INVALID; } const def = this._def; if (def.minSize !== null) { if (ctx.data.size < def.minSize.value) { addIssueToContext(ctx, { code: ZodIssueCode.too_small, minimum: def.minSize.value, type: "set", inclusive: true, exact: false, message: def.minSize.message }); status.dirty(); } } if (def.maxSize !== null) { if (ctx.data.size > def.maxSize.value) { addIssueToContext(ctx, { code: ZodIssueCode.too_big, maximum: def.maxSize.value, type: "set", inclusive: true, exact: false, message: def.maxSize.message }); status.dirty(); } } const valueType = this._def.valueType; function finalizeSet(elements2) { const parsedSet = /* @__PURE__ */ new Set(); for (const element of elements2) { if (element.status === "aborted") return INVALID; if (element.status === "dirty") status.dirty(); parsedSet.add(element.value); } return { status: status.value, value: parsedSet }; } const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i))); if (ctx.common.async) { return Promise.all(elements).then((elements2) => finalizeSet(elements2)); } else { return finalizeSet(elements); } } min(minSize, message) { return new ZodSet({ ...this._def, minSize: { value: minSize, message: errorUtil.toString(message) } }); } max(maxSize, message) { return new ZodSet({ ...this._def, maxSize: { value: maxSize, message: errorUtil.toString(message) } }); } size(size, message) { return this.min(size, message).max(size, message); } nonempty(message) { return this.min(1, message); } } ZodSet.create = (valueType, params) => { return new ZodSet({ valueType, minSize: null, maxSize: null, typeName: ZodFirstPartyTypeKind.ZodSet, ...processCreateParams(params) }); }; class ZodFunction extends ZodType { constructor() { super(...arguments); this.validate = this.implement; } _parse(input) { const { ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.function) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.function, received: ctx.parsedType }); return INVALID; } function makeArgsIssue(args, error) { return makeIssue({ data: args, path: ctx.path, errorMaps: [ ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), errorMap ].filter((x) => !!x), issueData: { code: ZodIssueCode.invalid_arguments, argumentsError: error } }); } function makeReturnsIssue(returns, error) { return makeIssue({ data: returns, path: ctx.path, errorMaps: [ ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), errorMap ].filter((x) => !!x), issueData: { code: ZodIssueCode.invalid_return_type, returnTypeError: error } }); } const params = { errorMap: ctx.common.contextualErrorMap }; const fn = ctx.data; if (this._def.returns instanceof ZodPromise) { const me = this; return OK(async function(...args) { const error = new ZodError([]); const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { error.addIssue(makeArgsIssue(args, e)); throw error; }); const result = await Reflect.apply(fn, this, parsedArgs); const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => { error.addIssue(makeReturnsIssue(result, e)); throw error; }); return parsedReturns; }); } else { const me = this; return OK(function(...args) { const parsedArgs = me._def.args.safeParse(args, params); if (!parsedArgs.success) { throw new ZodError([makeArgsIssue(args, parsedArgs.error)]); } const result = Reflect.apply(fn, this, parsedArgs.data); const parsedReturns = me._def.returns.safeParse(result, params); if (!parsedReturns.success) { throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]); } return parsedReturns.data; }); } } parameters() { return this._def.args; } returnType() { return this._def.returns; } args(...items) { return new ZodFunction({ ...this._def, args: ZodTuple.create(items).rest(ZodUnknown.create()) }); } returns(returnType) { return new ZodFunction({ ...this._def, returns: returnType }); } implement(func) { const validatedFunc = this.parse(func); return validatedFunc; } strictImplement(func) { const validatedFunc = this.parse(func); return validatedFunc; } static create(args, returns, params) { return new ZodFunction({ args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()), returns: returns || ZodUnknown.create(), typeName: ZodFirstPartyTypeKind.ZodFunction, ...processCreateParams(params) }); } } class ZodLazy extends ZodType { get schema() { return this._def.getter(); } _parse(input) { const { ctx } = this._processInputParams(input); const lazySchema = this._def.getter(); return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); } } ZodLazy.create = (getter, params) => { return new ZodLazy({ getter, typeName: ZodFirstPartyTypeKind.ZodLazy, ...processCreateParams(params) }); }; class ZodLiteral extends ZodType { _parse(input) { if (input.data !== this._def.value) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { received: ctx.data, code: ZodIssueCode.invalid_literal, expected: this._def.value }); return INVALID; } return { status: "valid", value: input.data }; } get value() { return this._def.value; } } ZodLiteral.create = (value, params) => { return new ZodLiteral({ value, typeName: ZodFirstPartyTypeKind.ZodLiteral, ...processCreateParams(params) }); }; function createZodEnum(values, params) { return new ZodEnum({ values, typeName: ZodFirstPartyTypeKind.ZodEnum, ...processCreateParams(params) }); } class ZodEnum extends ZodType { _parse(input) { if (typeof input.data !== "string") { const ctx = this._getOrReturnCtx(input); const expectedValues = this._def.values; addIssueToContext(ctx, { expected: util.joinValues(expectedValues), received: ctx.parsedType, code: ZodIssueCode.invalid_type }); return INVALID; } if (this._def.values.indexOf(input.data) === -1) { const ctx = this._getOrReturnCtx(input); const expectedValues = this._def.values; addIssueToContext(ctx, { received: ctx.data, code: ZodIssueCode.invalid_enum_value, options: expectedValues }); return INVALID; } return OK(input.data); } get options() { return this._def.values; } get enum() { const enumValues = {}; for (const val of this._def.values) { enumValues[val] = val; } return enumValues; } get Values() { const enumValues = {}; for (const val of this._def.values) { enumValues[val] = val; } return enumValues; } get Enum() { const enumValues = {}; for (const val of this._def.values) { enumValues[val] = val; } return enumValues; } extract(values) { return ZodEnum.create(values); } exclude(values) { return ZodEnum.create(this.options.filter((opt) => !values.includes(opt))); } } ZodEnum.create = createZodEnum; class ZodNativeEnum extends ZodType { _parse(input) { const nativeEnumValues = util.getValidEnumValues(this._def.values); const ctx = this._getOrReturnCtx(input); if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) { const expectedValues = util.objectValues(nativeEnumValues); addIssueToContext(ctx, { expected: util.joinValues(expectedValues), received: ctx.parsedType, code: ZodIssueCode.invalid_type }); return INVALID; } if (nativeEnumValues.indexOf(input.data) === -1) { const expectedValues = util.objectValues(nativeEnumValues); addIssueToContext(ctx, { received: ctx.data, code: ZodIssueCode.invalid_enum_value, options: expectedValues }); return INVALID; } return OK(input.data); } get enum() { return this._def.values; } } ZodNativeEnum.create = (values, params) => { return new ZodNativeEnum({ values, typeName: ZodFirstPartyTypeKind.ZodNativeEnum, ...processCreateParams(params) }); }; class ZodPromise extends ZodType { unwrap() { return this._def.type; } _parse(input) { const { ctx } = this._processInputParams(input); if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) { addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.promise, received: ctx.parsedType }); return INVALID; } const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data); return OK(promisified.then((data) => { return this._def.type.parseAsync(data, { path: ctx.path, errorMap: ctx.common.contextualErrorMap }); })); } } ZodPromise.create = (schema, params) => { return new ZodPromise({ type: schema, typeName: ZodFirstPartyTypeKind.ZodPromise, ...processCreateParams(params) }); }; class ZodEffects extends ZodType { innerType() { return this._def.schema; } sourceType() { return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects ? this._def.schema.sourceType() : this._def.schema; } _parse(input) { const { status, ctx } = this._processInputParams(input); const effect = this._def.effect || null; const checkCtx = { addIssue: (arg) => { addIssueToContext(ctx, arg); if (arg.fatal) { status.abort(); } else { status.dirty(); } }, get path() { return ctx.path; } }; checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx); if (effect.type === "preprocess") { const processed = effect.transform(ctx.data, checkCtx); if (ctx.common.issues.length) { return { status: "dirty", value: ctx.data }; } if (ctx.common.async) { return Promise.resolve(processed).then((processed2) => { return this._def.schema._parseAsync({ data: processed2, path: ctx.path, parent: ctx }); }); } else { return this._def.schema._parseSync({ data: processed, path: ctx.path, parent: ctx }); } } if (effect.type === "refinement") { const executeRefinement = (acc) => { const result = effect.refinement(acc, checkCtx); if (ctx.common.async) { return Promise.resolve(result); } if (result instanceof Promise) { throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); } return acc; }; if (ctx.common.async === false) { const inner = this._def.schema._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }); if (inner.status === "aborted") return INVALID; if (inner.status === "dirty") status.dirty(); executeRefinement(inner.value); return { status: status.value, value: inner.value }; } else { return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { if (inner.status === "aborted") return INVALID; if (inner.status === "dirty") status.dirty(); return executeRefinement(inner.value).then(() => { return { status: status.value, value: inner.value }; }); }); } } if (effect.type === "transform") { if (ctx.common.async === false) { const base = this._def.schema._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }); if (!isValid(base)) return base; const result = effect.transform(base.value, checkCtx); if (result instanceof Promise) { throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); } return { status: status.value, value: result }; } else { return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { if (!isValid(base)) return base; return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result })); }); } } util.assertNever(effect); } } ZodEffects.create = (schema, effect, params) => { return new ZodEffects({ schema, typeName: ZodFirstPartyTypeKind.ZodEffects, effect, ...processCreateParams(params) }); }; ZodEffects.createWithPreprocess = (preprocess, schema, params) => { return new ZodEffects({ schema, effect: { type: "preprocess", transform: preprocess }, typeName: ZodFirstPartyTypeKind.ZodEffects, ...processCreateParams(params) }); }; class ZodOptional extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType === ZodParsedType.undefined) { return OK(void 0); } return this._def.innerType._parse(input); } unwrap() { return this._def.innerType; } } ZodOptional.create = (type, params) => { return new ZodOptional({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodOptional, ...processCreateParams(params) }); }; class ZodNullable extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType === ZodParsedType.null) { return OK(null); } return this._def.innerType._parse(input); } unwrap() { return this._def.innerType; } } ZodNullable.create = (type, params) => { return new ZodNullable({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodNullable, ...processCreateParams(params) }); }; class ZodDefault extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); let data = ctx.data; if (ctx.parsedType === ZodParsedType.undefined) { data = this._def.defaultValue(); } return this._def.innerType._parse({ data, path: ctx.path, parent: ctx }); } removeDefault() { return this._def.innerType; } } ZodDefault.create = (type, params) => { return new ZodDefault({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodDefault, defaultValue: typeof params.default === "function" ? params.default : () => params.default, ...processCreateParams(params) }); }; class ZodCatch extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); const newCtx = { ...ctx, common: { ...ctx.common, issues: [] } }; const result = this._def.innerType._parse({ data: newCtx.data, path: newCtx.path, parent: { ...newCtx } }); if (isAsync(result)) { return result.then((result2) => { return { status: "valid", value: result2.status === "valid" ? result2.value : this._def.catchValue({ get error() { return new ZodError(newCtx.common.issues); }, input: newCtx.data }) }; }); } else { return { status: "valid", value: result.status === "valid" ? result.value : this._def.catchValue({ get error() { return new ZodError(newCtx.common.issues); }, input: newCtx.data }) }; } } removeCatch() { return this._def.innerType; } } ZodCatch.create = (type, params) => { return new ZodCatch({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodCatch, catchValue: typeof params.catch === "function" ? params.catch : () => params.catch, ...processCreateParams(params) }); }; class ZodNaN extends ZodType { _parse(input) { const parsedType = this._getType(input); if (parsedType !== ZodParsedType.nan) { const ctx = this._getOrReturnCtx(input); addIssueToContext(ctx, { code: ZodIssueCode.invalid_type, expected: ZodParsedType.nan, received: ctx.parsedType }); return INVALID; } return { status: "valid", value: input.data }; } } ZodNaN.create = (params) => { return new ZodNaN({ typeName: ZodFirstPartyTypeKind.ZodNaN, ...processCreateParams(params) }); }; class ZodBranded extends ZodType { _parse(input) { const { ctx } = this._processInputParams(input); const data = ctx.data; return this._def.type._parse({ data, path: ctx.path, parent: ctx }); } unwrap() { return this._def.type; } } class ZodPipeline extends ZodType { _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.common.async) { const handleAsync = async () => { const inResult = await this._def.in._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }); if (inResult.status === "aborted") return INVALID; if (inResult.status === "dirty") { status.dirty(); return DIRTY(inResult.value); } else { return this._def.out._parseAsync({ data: inResult.value, path: ctx.path, parent: ctx }); } }; return handleAsync(); } else { const inResult = this._def.in._parseSync({ data: ctx.data, path: ctx.path, parent: ctx }); if (inResult.status === "aborted") return INVALID; if (inResult.status === "dirty") { status.dirty(); return { status: "dirty", value: inResult.value }; } else { return this._def.out._parseSync({ data: inResult.value, path: ctx.path, parent: ctx }); } } } static create(a, b) { return new ZodPipeline({ in: a, out: b, typeName: ZodFirstPartyTypeKind.ZodPipeline }); } } class ZodReadonly extends ZodType { _parse(input) { const result = this._def.innerType._parse(input); if (isValid(result)) { result.value = Object.freeze(result.value); } return result; } } ZodReadonly.create = (type, params) => { return new ZodReadonly({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodReadonly, ...processCreateParams(params) }); }; ({ object: ZodObject.lazycreate }); var ZodFirstPartyTypeKind; (function(ZodFirstPartyTypeKind2) { ZodFirstPartyTypeKind2["ZodString"] = "ZodString"; ZodFirstPartyTypeKind2["ZodNumber"] = "ZodNumber"; ZodFirstPartyTypeKind2["ZodNaN"] = "ZodNaN"; ZodFirstPartyTypeKind2["ZodBigInt"] = "ZodBigInt"; ZodFirstPartyTypeKind2["ZodBoolean"] = "ZodBoolean"; ZodFirstPartyTypeKind2["ZodDate"] = "ZodDate"; ZodFirstPartyTypeKind2["ZodSymbol"] = "ZodSymbol"; ZodFirstPartyTypeKind2["ZodUndefined"] = "ZodUndefined"; ZodFirstPartyTypeKind2["ZodNull"] = "ZodNull"; ZodFirstPartyTypeKind2["ZodAny"] = "ZodAny"; ZodFirstPartyTypeKind2["ZodUnknown"] = "ZodUnknown"; ZodFirstPartyTypeKind2["ZodNever"] = "ZodNever"; ZodFirstPartyTypeKind2["ZodVoid"] = "ZodVoid"; ZodFirstPartyTypeKind2["ZodArray"] = "ZodArray"; ZodFirstPartyTypeKind2["ZodObject"] = "ZodObject"; ZodFirstPartyTypeKind2["ZodUnion"] = "ZodUnion"; ZodFirstPartyTypeKind2["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion"; ZodFirstPartyTypeKind2["ZodIntersection"] = "ZodIntersection"; ZodFirstPartyTypeKind2["ZodTuple"] = "ZodTuple"; ZodFirstPartyTypeKind2["ZodRecord"] = "ZodRecord"; ZodFirstPartyTypeKind2["ZodMap"] = "ZodMap"; ZodFirstPartyTypeKind2["ZodSet"] = "ZodSet"; ZodFirstPartyTypeKind2["ZodFunction"] = "ZodFunction"; ZodFirstPartyTypeKind2["ZodLazy"] = "ZodLazy"; ZodFirstPartyTypeKind2["ZodLiteral"] = "ZodLiteral"; ZodFirstPartyTypeKind2["ZodEnum"] = "ZodEnum"; ZodFirstPartyTypeKind2["ZodEffects"] = "ZodEffects"; ZodFirstPartyTypeKind2["ZodNativeEnum"] = "ZodNativeEnum"; ZodFirstPartyTypeKind2["ZodOptional"] = "ZodOptional"; ZodFirstPartyTypeKind2["ZodNullable"] = "ZodNullable"; ZodFirstPartyTypeKind2["ZodDefault"] = "ZodDefault"; ZodFirstPartyTypeKind2["ZodCatch"] = "ZodCatch"; ZodFirstPartyTypeKind2["ZodPromise"] = "ZodPromise"; ZodFirstPartyTypeKind2["ZodBranded"] = "ZodBranded"; ZodFirstPartyTypeKind2["ZodPipeline"] = "ZodPipeline"; ZodFirstPartyTypeKind2["ZodReadonly"] = "ZodReadonly"; })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {})); const stringType = ZodString.create; ZodNumber.create; ZodNaN.create; ZodBigInt.create; ZodBoolean.create; ZodDate.create; ZodSymbol.create; ZodUndefined.create; ZodNull.create; ZodAny.create; ZodUnknown.create; ZodNever.create; ZodVoid.create; ZodArray.create; const objectType = ZodObject.create; ZodObject.strictCreate; ZodUnion.create; ZodDiscriminatedUnion.create; ZodIntersection.create; ZodTuple.create; ZodRecord.create; ZodMap.create; ZodSet.create; ZodFunction.create; ZodLazy.create; const literalType = ZodLiteral.create; ZodEnum.create; ZodNativeEnum.create; ZodPromise.create; ZodEffects.create; ZodOptional.create; ZodNullable.create; ZodEffects.createWithPreprocess; ZodPipeline.create; const formID = typeof form_id !== "undefined" ? form_id : "swpm-profile-form"; const isStrongPasswordEnabled = typeof strong_password_enabled !== "undefined" ? strong_password_enabled : false; const passValidatorRegex = typeof custom_pass_pattern_validator !== "undefined" ? custom_pass_pattern_validator : /^(?=.*\d)(?=.*[A-Z])(?=.*[a-z]).+$/; const passValidatorMinLength = typeof custom_pass_min_length_validator !== "undefined" ? custom_pass_min_length_validator : 8; const passPattern = new RegExp(passValidatorRegex); document.addEventListener("DOMContentLoaded", function() { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o; let existingEmailValue = null; const formConfig = { email: { value: "", eventListener: ["blur"], active: true, isAsyncValidation: true, isDirty: false, rule: stringType({ required_error: (_a = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _a.required, invalid_type_error: (_b = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _b.invalid }).trim().min(1, { message: (_c = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _c.required }).email({ message: (_d = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _d.invalid }).refine( async function(value) { const parseResult = stringType().email().safeParse(value); if (parseResult.success) { if (value === existingEmailValue) { return true; } const isAvailable = await checkAvailability( value, "email" ); return isAvailable; } return true; }, { message: (_e = validationMsg == null ? void 0 : validationMsg.email) == null ? void 0 : _e.exists } ) }, password: { value: "", eventListener: ["blur", "input"], active: true, isAsyncValidation: false, isDirty: false, rule: isStrongPasswordEnabled ? stringType({ required_error: (_f = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _f.required, invalid_type_error: (_g = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _g.invalid }).regex(passPattern, { message: (_h = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _h.regex }).min(passValidatorMinLength, { message: (_i = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _i.minLength }).optional().or(literalType("")) : stringType({ required_error: (_j = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _j.required, invalid_type_error: (_k = validationMsg == null ? void 0 : validationMsg.password) == null ? void 0 : _k.invalid }).optional().or(literalType("")) }, repass: { value: "", eventListener: ["blur", "input"], active: true, isAsyncValidation: false, isDirty: false, rule: stringType({ required_error: (_l = validationMsg == null ? void 0 : validationMsg.repass) == null ? void 0 : _l.required, invalid_type_error: (_m = validationMsg == null ? void 0 : validationMsg.repass) == null ? void 0 : _m.invalid }).refine( function(value) { return value === getFormConfigFieldValue("password"); }, { message: (_n = validationMsg == null ? void 0 : validationMsg.repass) == null ? void 0 : _n.mismatch } ) } }; const FormValidators = { email: formConfig.email.rule, password: formConfig.password.rule, repass: formConfig.repass.rule }; const FormSchema = objectType(FormValidators); const profileForm = document.getElementById(formID); const emailField = profileForm.querySelector(`.swpm-form-email`); if (emailField) { existingEmailValue = emailField.value; formConfig.email.value = existingEmailValue; } const fields = Object.keys(FormValidators); fields.forEach((field) => { const fieldOption = formConfig[field]; if (fieldOption.active) { fieldOption.eventListener.forEach((eventListener) => { var _a2; (_a2 = profileForm == null ? void 0 : profileForm.querySelector(`.swpm-form-${field}`)) == null ? void 0 : _a2.addEventListener(eventListener, (e) => { handleDomEvent(e, field); }); }); } }); (_o = profileForm == null ? void 0 : profileForm.querySelector(`.swpm-form-password`)) == null ? void 0 : _o.addEventListener("input", (e) => { if (formConfig.repass.isDirty) { validateInput("repass", getFormConfigFieldValue("repass")); } }); profileForm == null ? void 0 : profileForm.addEventListener("submit", async function(e) { e.preventDefault(); let validationSucess = true; for (const key in formConfig) { if (!formConfig[key].active) { continue; } let isSuccess = await validateInput( key, formConfig[key].value ); if (!isSuccess) { validationSucess = false; } } if (validationSucess) { profileForm.submit(); } else { scrollToFirstErrorField(); } }); async function validateInput(field, value) { let isValidationSuccessful = false; formConfig[field].isDirty = true; const fieldToValidate = FormSchema.pick({ [field]: true }); let parseResult; if (formConfig[field].isAsyncValidation) { parseResult = await fieldToValidate.safeParseAsync({ [field]: value }); } else { parseResult = fieldToValidate.safeParse({ [field]: value }); } const targetRow = getRowByField(field); const targetFieldDesc = getDescByField(field); if (!parseResult.success) { targetRow == null ? void 0 : targetRow.classList.add("error"); const issues = parseResult.error.issues; if (targetFieldDesc) { targetFieldDesc.innerHTML = ""; const errorLists = document.createElement("ul"); for (const i in issues) { const error = issues[i]; const errorMsg = error.message; const errorItem = document.createElement("li"); errorItem.innerText = errorMsg; errorLists.appendChild(errorItem); if (error.code === "too_small" && error.minimum === 1) { break; } } targetFieldDesc.appendChild(errorLists); } } else { if (targetFieldDesc) { targetFieldDesc.innerHTML = ""; } targetRow == null ? void 0 : targetRow.classList.remove("error"); isValidationSuccessful = true; } return isValidationSuccessful; } function scrollToFirstErrorField() { const profileForm2 = document.getElementById(formID); const firstErrorSection = profileForm2 == null ? void 0 : profileForm2.querySelector( ".swpm-form-row.error" ); if (firstErrorSection) { firstErrorSection.scrollIntoView({ behavior: "smooth", block: "start" }); const firstErrorField = firstErrorSection.querySelector( ".swpm-form-field" ); firstErrorField.focus(); } } function handleDomEvent(e, field) { const target = e.target; const inputValue = target.type === "checkbox" ? target.checked : target.value; formConfig[field].value = inputValue; validateInput(field, inputValue); } async function checkAvailability(value, field) { const queryArgs = swpmFormValidationAjax.query_args; const ajaxURL = swpmFormValidationAjax.ajax_url; if (field === "email") { queryArgs.action = "swpm_validate_email"; } queryArgs.fieldValue = value; const queryString = new URLSearchParams(queryArgs).toString(); const apiUrl = ajaxURL + "?" + queryString; return new Promise((resolve) => { fetch(apiUrl).then((response) => { if (response.ok) { return response.json(); } else { throw new Error("Request failed"); } }).then((data) => { const isAvailable = data[1]; resolve(isAvailable); }).catch((error) => { console.error("Error: ", error); }); }); } function getDescByField(field) { const profileForm2 = document.getElementById(formID); const targetField = profileForm2 == null ? void 0 : profileForm2.querySelector( `.swpm-${field}-row` ); return targetField == null ? void 0 : targetField.querySelector(`.swpm-form-desc`); } function getRowByField(field) { const profileForm2 = document.getElementById(formID); return profileForm2 == null ? void 0 : profileForm2.querySelector(`.swpm-${field}-row`); } function getFormConfigFieldValue(field) { if (formConfig[field] !== void 0) { return formConfig[field].value; } return null; } }); js/jquery.validationEngine.js000064400000224314147206617610012334 0ustar00/* * Inline Form Validation Engine 2.6.2, jQuery plugin * * Copyright(c) 2010, Cedric Dugas * http://www.position-absolute.com * * 2.0 Rewrite by Olivier Refalo * http://www.crionics.com * * Form validation engine allowing custom regex rules to be added. * Licensed under the MIT License */ (function($) { "use strict"; var methods = { /** * Kind of the constructor, called before any action * @param {Map} user options */ init: function(options) { var form = this; if (!form.data('jqv') || form.data('jqv') == null ) { options = methods._saveOptions(form, options); // bind all formError elements to close on click $(document).on("click", ".formError", function() { $(this).fadeOut(150, function() { // remove prompt once invisible $(this).closest('.formError').remove(); }); }); } return this; }, /** * Attachs jQuery.validationEngine to form.submit and field.blur events * Takes an optional params: a list of options * ie. jQuery("#formID1").validationEngine('attach', {promptPosition : "centerRight"}); */ attach: function(userOptions) { var form = this; var options; if(userOptions) options = methods._saveOptions(form, userOptions); else options = form.data('jqv'); options.validateAttribute = (form.find("[data-validation-engine*=validate]").length) ? "data-validation-engine" : "class"; if (options.binded) { // delegate fields form.on(options.validationEventTrigger, "["+options.validateAttribute+"*=validate]:not([type=checkbox]):not([type=radio]):not(.datepicker)", methods._onFieldEvent); form.on("click", "["+options.validateAttribute+"*=validate][type=checkbox],["+options.validateAttribute+"*=validate][type=radio]", methods._onFieldEvent); form.on(options.validationEventTrigger,"["+options.validateAttribute+"*=validate][class*=datepicker]", {"delay": 300}, methods._onFieldEvent); } if (options.autoPositionUpdate) { $(window).bind("resize", { "noAnimation": true, "formElem": form }, methods.updatePromptsPosition); } form.on("click","a[data-validation-engine-skip], a[class*='validate-skip'], button[data-validation-engine-skip], button[class*='validate-skip'], input[data-validation-engine-skip], input[class*='validate-skip']", methods._submitButtonClick); form.removeData('jqv_submitButton'); // bind form.submit form.on("submit", methods._onSubmitEvent); return this; }, /** * Unregisters any bindings that may point to jQuery.validaitonEngine */ detach: function() { var form = this; var options = form.data('jqv'); // unbind fields form.off(options.validationEventTrigger, "["+options.validateAttribute+"*=validate]:not([type=checkbox]):not([type=radio]):not(.datepicker)", methods._onFieldEvent); form.off("click", "["+options.validateAttribute+"*=validate][type=checkbox],["+options.validateAttribute+"*=validate][type=radio]", methods._onFieldEvent); form.off(options.validationEventTrigger,"["+options.validateAttribute+"*=validate][class*=datepicker]", methods._onFieldEvent); // unbind form.submit form.off("submit", methods._onSubmitEvent); form.removeData('jqv'); form.off("click", "a[data-validation-engine-skip], a[class*='validate-skip'], button[data-validation-engine-skip], button[class*='validate-skip'], input[data-validation-engine-skip], input[class*='validate-skip']", methods._submitButtonClick); form.removeData('jqv_submitButton'); if (options.autoPositionUpdate) $(window).off("resize", methods.updatePromptsPosition); return this; }, /** * Validates either a form or a list of fields, shows prompts accordingly. * Note: There is no ajax form validation with this method, only field ajax validation are evaluated * * @return true if the form validates, false if it fails */ validate: function(userOptions) { var element = $(this); var valid = null; var options; if (element.is("form") || element.hasClass("validationEngineContainer")) { if (element.hasClass('validating')) { // form is already validating. // Should abort old validation and start new one. I don't know how to implement it. return false; } else { element.addClass('validating'); if(userOptions) options = methods._saveOptions(element, userOptions); else options = element.data('jqv'); var valid = methods._validateFields(this); // If the form doesn't validate, clear the 'validating' class before the user has a chance to submit again setTimeout(function(){ element.removeClass('validating'); }, 100); if (valid && options.onSuccess) { options.onSuccess(); } else if (!valid && options.onFailure) { options.onFailure(); } } } else if (element.is('form') || element.hasClass('validationEngineContainer')) { element.removeClass('validating'); } else { // field validation var form = element.closest('form, .validationEngineContainer'); options = (form.data('jqv')) ? form.data('jqv') : $.validationEngine.defaults; valid = methods._validateField(element, options); if (valid && options.onFieldSuccess) options.onFieldSuccess(); else if (options.onFieldFailure && options.InvalidFields.length > 0) { options.onFieldFailure(); } return !valid; } if(options.onValidationComplete) { // !! ensures that an undefined return is interpreted as return false but allows a onValidationComplete() to possibly return true and have form continue processing return !!options.onValidationComplete(form, valid); } return valid; }, /** * Redraw prompts position, useful when you change the DOM state when validating */ updatePromptsPosition: function(event) { if (event && this == window) { var form = event.data.formElem; var noAnimation = event.data.noAnimation; } else var form = $(this.closest('form, .validationEngineContainer')); var options = form.data('jqv'); // No option, take default one if (!options) options = methods._saveOptions(form, options); form.find('['+options.validateAttribute+'*=validate]').not(":disabled").each(function(){ var field = $(this); if (options.prettySelect && field.is(":hidden")) field = form.find("#" + options.usePrefix + field.attr('id') + options.useSuffix); var prompt = methods._getPrompt(field); var promptText = $(prompt).find(".formErrorContent").html(); if(prompt) methods._updatePrompt(field, $(prompt), promptText, undefined, false, options, noAnimation); }); return this; }, /** * Displays a prompt on a element. * Note that the element needs an id! * * @param {String} promptText html text to display type * @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red) * @param {String} possible values topLeft, topRight, bottomLeft, centerRight, bottomRight */ showPrompt: function(promptText, type, promptPosition, showArrow) { var form = this.closest('form, .validationEngineContainer'); var options = form.data('jqv'); // No option, take default one if(!options) options = methods._saveOptions(this, options); if(promptPosition) options.promptPosition=promptPosition; options.showArrow = showArrow==true; methods._showPrompt(this, promptText, type, false, options); return this; }, /** * Closes form error prompts, CAN be invidual */ hide: function() { var form = $(this).closest('form, .validationEngineContainer'); var options = form.data('jqv'); // No option, take default one if (!options) options = methods._saveOptions(form, options); var fadeDuration = (options && options.fadeDuration) ? options.fadeDuration : 0.3; var closingtag; if(form.is("form") || form.hasClass("validationEngineContainer")) { closingtag = "parentForm"+methods._getClassName($(form).attr("id")); } else { closingtag = methods._getClassName($(form).attr("id")) +"formError"; } $('.'+closingtag).fadeTo(fadeDuration, 0, function() { $(this).closest('.formError').remove(); }); return this; }, /** * Closes all error prompts on the page */ hideAll: function() { var form = this; var options = form.data('jqv'); var duration = options ? options.fadeDuration:300; $('.formError').fadeTo(duration, 0, function() { $(this).closest('.formError').remove(); }); return this; }, /** * Typically called when user exists a field using tab or a mouse click, triggers a field * validation */ _onFieldEvent: function(event) { var field = $(this); var form = field.closest('form, .validationEngineContainer'); var options = form.data('jqv'); // No option, take default one if (!options) options = methods._saveOptions(form, options); options.eventTrigger = "field"; if (options.notEmpty == true){ if(field.val().length > 0){ // validate the current field window.setTimeout(function() { methods._validateField(field, options); }, (event.data) ? event.data.delay : 0); } }else{ // validate the current field window.setTimeout(function() { methods._validateField(field, options); }, (event.data) ? event.data.delay : 0); } }, /** * Called when the form is submited, shows prompts accordingly * * @param {jqObject} * form * @return false if form submission needs to be cancelled */ _onSubmitEvent: function() { var form = $(this); var options = form.data('jqv'); //check if it is trigger from skipped button if (form.data("jqv_submitButton")){ var submitButton = $("#" + form.data("jqv_submitButton")); if (submitButton){ if (submitButton.length > 0){ if (submitButton.hasClass("validate-skip") || submitButton.attr("data-validation-engine-skip") == "true") return true; } } } options.eventTrigger = "submit"; // validate each field // (- skip field ajax validation, not necessary IF we will perform an ajax form validation) var r=methods._validateFields(form); if (r && options.ajaxFormValidation) { methods._validateFormWithAjax(form, options); // cancel form auto-submission - process with async call onAjaxFormComplete return false; } if(options.onValidationComplete) { // !! ensures that an undefined return is interpreted as return false but allows a onValidationComplete() to possibly return true and have form continue processing return !!options.onValidationComplete(form, r); } return r; }, /** * Return true if the ajax field validations passed so far * @param {Object} options * @return true, is all ajax validation passed so far (remember ajax is async) */ _checkAjaxStatus: function(options) { var status = true; $.each(options.ajaxValidCache, function(key, value) { if (!value) { status = false; // break the each return false; } }); return status; }, /** * Return true if the ajax field is validated * @param {String} fieldid * @param {Object} options * @return true, if validation passed, false if false or doesn't exist */ _checkAjaxFieldStatus: function(fieldid, options) { return options.ajaxValidCache[fieldid] == true; }, /** * Validates form fields, shows prompts accordingly * * @param {jqObject} * form * @param {skipAjaxFieldValidation} * boolean - when set to true, ajax field validation is skipped, typically used when the submit button is clicked * * @return true if form is valid, false if not, undefined if ajax form validation is done */ _validateFields: function(form) { var options = form.data('jqv'); // this variable is set to true if an error is found var errorFound = false; // Trigger hook, start validation form.trigger("jqv.form.validating"); // first, evaluate status of non ajax fields var first_err=null; form.find('['+options.validateAttribute+'*=validate]').not(":disabled").each( function() { var field = $(this); var names = []; if ($.inArray(field.attr('name'), names) < 0) { errorFound |= methods._validateField(field, options); if (errorFound && first_err==null) if (field.is(":hidden") && options.prettySelect) first_err = field = form.find("#" + options.usePrefix + methods._jqSelector(field.attr('id')) + options.useSuffix); else { //Check if we need to adjust what element to show the prompt on //and and such scroll to instead if(field.data('jqv-prompt-at') instanceof jQuery ){ field = field.data('jqv-prompt-at'); } else if(field.data('jqv-prompt-at')) { field = $(field.data('jqv-prompt-at')); } first_err=field; } if (options.doNotShowAllErrosOnSubmit) return false; names.push(field.attr('name')); //if option set, stop checking validation rules after one error is found if(options.showOneMessage == true && errorFound){ return false; } } }); // second, check to see if all ajax calls completed ok // errorFound |= !methods._checkAjaxStatus(options); // third, check status and scroll the container accordingly form.trigger("jqv.form.result", [errorFound]); if (errorFound) { if (options.scroll) { var destination=first_err.offset().top; var fixleft = first_err.offset().left; //prompt positioning adjustment support. Usage: positionType:Xshift,Yshift (for ex.: bottomLeft:+20 or bottomLeft:-20,+10) var positionType=options.promptPosition; if (typeof(positionType)=='string' && positionType.indexOf(":")!=-1) positionType=positionType.substring(0,positionType.indexOf(":")); if (positionType!="bottomRight" && positionType!="bottomLeft") { var prompt_err= methods._getPrompt(first_err); if (prompt_err) { destination=prompt_err.offset().top; } } // Offset the amount the page scrolls by an amount in px to accomodate fixed elements at top of page if (options.scrollOffset) { destination -= options.scrollOffset; } // get the position of the first error, there should be at least one, no need to check this //var destination = form.find(".formError:not('.greenPopup'):first").offset().top; if (options.isOverflown) { var overflowDIV = $(options.overflownDIV); if(!overflowDIV.length) return false; var scrollContainerScroll = overflowDIV.scrollTop(); var scrollContainerPos = -parseInt(overflowDIV.offset().top); destination += scrollContainerScroll + scrollContainerPos - 5; var scrollContainer = $(options.overflownDIV).filter(":not(:animated)"); scrollContainer.animate({ scrollTop: destination }, 1100, function(){ if(options.focusFirstField) first_err.focus(); }); } else { $("html, body").animate({ scrollTop: destination }, 1100, function(){ if(options.focusFirstField) first_err.focus(); }); $("html, body").animate({scrollLeft: fixleft},1100) } } else if(options.focusFirstField) first_err.focus(); return false; } return true; }, /** * This method is called to perform an ajax form validation. * During this process all the (field, value) pairs are sent to the server which returns a list of invalid fields or true * * @param {jqObject} form * @param {Map} options */ _validateFormWithAjax: function(form, options) { var data = form.serialize(); var type = (options.ajaxFormValidationMethod) ? options.ajaxFormValidationMethod : "GET"; var url = (options.ajaxFormValidationURL) ? options.ajaxFormValidationURL : form.attr("action"); var dataType = (options.dataType) ? options.dataType : "json"; $.ajax({ type: type, url: url, cache: false, dataType: dataType, data: data, form: form, methods: methods, options: options, beforeSend: function() { return options.onBeforeAjaxFormValidation(form, options); }, error: function(data, transport) { if (options.onFailure) { options.onFailure(data, transport); } else { methods._ajaxError(data, transport); } }, success: function(json) { if ((dataType == "json") && (json !== true)) { // getting to this case doesn't necessary means that the form is invalid // the server may return green or closing prompt actions // this flag helps figuring it out var errorInForm=false; for (var i = 0; i < json.length; i++) { var value = json[i]; var errorFieldId = value[0]; var errorField = $($("#" + errorFieldId)[0]); // make sure we found the element if (errorField.length == 1) { // promptText or selector var msg = value[2]; // if the field is valid if (value[1] == true) { if (msg == "" || !msg){ // if for some reason, status==true and error="", just close the prompt methods._closePrompt(errorField); } else { // the field is valid, but we are displaying a green prompt if (options.allrules[msg]) { var txt = options.allrules[msg].alertTextOk; if (txt) msg = txt; } if (options.showPrompts) methods._showPrompt(errorField, msg, "pass", false, options, true); } } else { // the field is invalid, show the red error prompt errorInForm|=true; if (options.allrules[msg]) { var txt = options.allrules[msg].alertText; if (txt) msg = txt; } if(options.showPrompts) methods._showPrompt(errorField, msg, "", false, options, true); } } } options.onAjaxFormComplete(!errorInForm, form, json, options); } else options.onAjaxFormComplete(true, form, json, options); } }); }, /** * Validates field, shows prompts accordingly * * @param {jqObject} * field * @param {Array[String]} * field's validation rules * @param {Map} * user options * @return false if field is valid (It is inversed for *fields*, it return false on validate and true on errors.) */ _validateField: function(field, options, skipAjaxValidation) { if (!field.attr("id")) { field.attr("id", "form-validation-field-" + $.validationEngine.fieldIdCounter); ++$.validationEngine.fieldIdCounter; } if(field.hasClass(options.ignoreFieldsWithClass)) return false; if (!options.validateNonVisibleFields && (field.is(":hidden") && !options.prettySelect || field.parent().is(":hidden"))) return false; var rulesParsing = field.attr(options.validateAttribute); var getRules = /validate\[(.*)\]/.exec(rulesParsing); if (!getRules) return false; var str = getRules[1]; var rules = str.split(/\[|,|\]/); // true if we ran the ajax validation, tells the logic to stop messing with prompts var isAjaxValidator = false; var fieldName = field.attr("name"); var promptText = ""; var promptType = ""; var required = false; var limitErrors = false; options.isError = false; options.showArrow = options.showArrow ==true; // If the programmer wants to limit the amount of error messages per field, if (options.maxErrorsPerField > 0) { limitErrors = true; } var form = $(field.closest("form, .validationEngineContainer")); // Fix for adding spaces in the rules for (var i = 0; i < rules.length; i++) { rules[i] = rules[i].toString().replace(" ", "");//.toString to worked on IE8 // Remove any parsing errors if (rules[i] === '') { delete rules[i]; } } for (var i = 0, field_errors = 0; i < rules.length; i++) { // If we are limiting errors, and have hit the max, break if (limitErrors && field_errors >= options.maxErrorsPerField) { // If we haven't hit a required yet, check to see if there is one in the validation rules for this // field and that it's index is greater or equal to our current index if (!required) { var have_required = $.inArray('required', rules); required = (have_required != -1 && have_required >= i); } break; } var errorMsg = undefined; switch (rules[i]) { case "required": required = true; errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._required); break; case "custom": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._custom); break; case "groupRequired": // Check is its the first of group, if not, reload validation with first field // AND continue normal validation on present field var classGroup = "["+options.validateAttribute+"*=" +rules[i + 1] +"]"; var firstOfGroup = form.find(classGroup).eq(0); if(firstOfGroup[0] != field[0]){ methods._validateField(firstOfGroup, options, skipAjaxValidation); options.showArrow = true; } errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._groupRequired); if(errorMsg) required = true; options.showArrow = false; break; case "ajax": // AJAX defaults to returning it's loading message errorMsg = methods._ajax(field, rules, i, options); if (errorMsg) { promptType = "load"; } break; case "minSize": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._minSize); break; case "maxSize": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._maxSize); break; case "min": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._min); break; case "max": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._max); break; case "past": errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i, options, methods._past); break; case "future": errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i, options, methods._future); break; case "dateRange": var classGroup = "["+options.validateAttribute+"*=" + rules[i + 1] + "]"; options.firstOfGroup = form.find(classGroup).eq(0); options.secondOfGroup = form.find(classGroup).eq(1); //if one entry out of the pair has value then proceed to run through validation if (options.firstOfGroup[0].value || options.secondOfGroup[0].value) { errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i, options, methods._dateRange); } if (errorMsg) required = true; options.showArrow = false; break; case "dateTimeRange": var classGroup = "["+options.validateAttribute+"*=" + rules[i + 1] + "]"; options.firstOfGroup = form.find(classGroup).eq(0); options.secondOfGroup = form.find(classGroup).eq(1); //if one entry out of the pair has value then proceed to run through validation if (options.firstOfGroup[0].value || options.secondOfGroup[0].value) { errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i, options, methods._dateTimeRange); } if (errorMsg) required = true; options.showArrow = false; break; case "maxCheckbox": field = $(form.find("input[name='" + fieldName + "']")); errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._maxCheckbox); break; case "minCheckbox": field = $(form.find("input[name='" + fieldName + "']")); errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._minCheckbox); break; case "equals": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._equals); break; case "funcCall": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._funcCall); break; case "creditCard": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._creditCard); break; case "condRequired": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._condRequired); if (errorMsg !== undefined) { required = true; } break; case "funcCallRequired": errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._funcCallRequired); if (errorMsg !== undefined) { required = true; } break; default: } var end_validation = false; // If we were passed back an message object, check what the status was to determine what to do if (typeof errorMsg == "object") { switch (errorMsg.status) { case "_break": end_validation = true; break; // If we have an error message, set errorMsg to the error message case "_error": errorMsg = errorMsg.message; break; // If we want to throw an error, but not show a prompt, return early with true case "_error_no_prompt": return true; break; // Anything else we continue on default: break; } } //funcCallRequired, first in rules, and has error, skip anything else if( i==0 && str.indexOf('funcCallRequired')==0 && errorMsg !== undefined ){ if(promptText != '') { promptText += "
"; } promptText += errorMsg; options.isError=true; field_errors++; end_validation=true; } // If it has been specified that validation should end now, break if (end_validation) { break; } // If we have a string, that means that we have an error, so add it to the error message. if (typeof errorMsg == 'string') { if(promptText != '') { promptText += "
"; } promptText += errorMsg; options.isError = true; field_errors++; } } // If the rules required is not added, an empty field is not validated //the 3rd condition is added so that even empty password fields should be equal //otherwise if one is filled and another left empty, the "equal" condition would fail //which does not make any sense if(!required && !(field.val()) && field.val().length < 1 && $.inArray('equals', rules) < 0) options.isError = false; // Hack for radio/checkbox group button, the validation go into the // first radio/checkbox of the group var fieldType = field.prop("type"); var positionType=field.data("promptPosition") || options.promptPosition; if ((fieldType == "radio" || fieldType == "checkbox") && form.find("input[name='" + fieldName + "']").length > 1) { if(positionType === 'inline') { field = $(form.find("input[name='" + fieldName + "'][type!=hidden]:last")); } else { field = $(form.find("input[name='" + fieldName + "'][type!=hidden]:first")); } options.showArrow = options.showArrowOnRadioAndCheckbox; } if(field.is(":hidden") && options.prettySelect) { field = form.find("#" + options.usePrefix + methods._jqSelector(field.attr('id')) + options.useSuffix); } if (options.isError && options.showPrompts){ methods._showPrompt(field, promptText, promptType, false, options); }else{ if (!isAjaxValidator) methods._closePrompt(field); } if (!isAjaxValidator) { field.trigger("jqv.field.result", [field, options.isError, promptText]); } /* Record error */ var errindex = $.inArray(field[0], options.InvalidFields); if (errindex == -1) { if (options.isError) options.InvalidFields.push(field[0]); } else if (!options.isError) { options.InvalidFields.splice(errindex, 1); } methods._handleStatusCssClasses(field, options); /* run callback function for each field */ if (options.isError && options.onFieldFailure) options.onFieldFailure(field); if (!options.isError && options.onFieldSuccess) options.onFieldSuccess(field); return options.isError; }, /** * Handling css classes of fields indicating result of validation * * @param {jqObject} * field * @param {Array[String]} * field's validation rules * @private */ _handleStatusCssClasses: function(field, options) { /* remove all classes */ if(options.addSuccessCssClassToField) field.removeClass(options.addSuccessCssClassToField); if(options.addFailureCssClassToField) field.removeClass(options.addFailureCssClassToField); /* Add classes */ if (options.addSuccessCssClassToField && !options.isError) field.addClass(options.addSuccessCssClassToField); if (options.addFailureCssClassToField && options.isError) field.addClass(options.addFailureCssClassToField); }, /******************** * _getErrorMessage * * @param form * @param field * @param rule * @param rules * @param i * @param options * @param originalValidationMethod * @return {*} * @private */ _getErrorMessage:function (form, field, rule, rules, i, options, originalValidationMethod) { // If we are using the custon validation type, build the index for the rule. // Otherwise if we are doing a function call, make the call and return the object // that is passed back. var rule_index = jQuery.inArray(rule, rules); if (rule === "custom" || rule === "funcCall" || rule === "funcCallRequired") { var custom_validation_type = rules[rule_index + 1]; rule = rule + "[" + custom_validation_type + "]"; // Delete the rule from the rules array so that it doesn't try to call the // same rule over again delete(rules[rule_index]); } // Change the rule to the composite rule, if it was different from the original var alteredRule = rule; var element_classes = (field.attr("data-validation-engine")) ? field.attr("data-validation-engine") : field.attr("class"); var element_classes_array = element_classes.split(" "); // Call the original validation method. If we are dealing with dates or checkboxes, also pass the form var errorMsg; if (rule == "future" || rule == "past" || rule == "maxCheckbox" || rule == "minCheckbox") { errorMsg = originalValidationMethod(form, field, rules, i, options); } else { errorMsg = originalValidationMethod(field, rules, i, options); } // If the original validation method returned an error and we have a custom error message, // return the custom message instead. Otherwise return the original error message. if (errorMsg != undefined) { var custom_message = methods._getCustomErrorMessage($(field), element_classes_array, alteredRule, options); if (custom_message) errorMsg = custom_message; } return errorMsg; }, _getCustomErrorMessage:function (field, classes, rule, options) { var custom_message = false; var validityProp = /^custom\[.*\]$/.test(rule) ? methods._validityProp["custom"] : methods._validityProp[rule]; // If there is a validityProp for this rule, check to see if the field has an attribute for it if (validityProp != undefined) { custom_message = field.attr("data-errormessage-"+validityProp); // If there was an error message for it, return the message if (custom_message != undefined) return custom_message; } custom_message = field.attr("data-errormessage"); // If there is an inline custom error message, return it if (custom_message != undefined) return custom_message; var id = '#' + field.attr("id"); // If we have custom messages for the element's id, get the message for the rule from the id. // Otherwise, if we have custom messages for the element's classes, use the first class message we find instead. if (typeof options.custom_error_messages[id] != "undefined" && typeof options.custom_error_messages[id][rule] != "undefined" ) { custom_message = options.custom_error_messages[id][rule]['message']; } else if (classes.length > 0) { for (var i = 0; i < classes.length && classes.length > 0; i++) { var element_class = "." + classes[i]; if (typeof options.custom_error_messages[element_class] != "undefined" && typeof options.custom_error_messages[element_class][rule] != "undefined") { custom_message = options.custom_error_messages[element_class][rule]['message']; break; } } } if (!custom_message && typeof options.custom_error_messages[rule] != "undefined" && typeof options.custom_error_messages[rule]['message'] != "undefined"){ custom_message = options.custom_error_messages[rule]['message']; } return custom_message; }, _validityProp: { "required": "value-missing", "custom": "custom-error", "groupRequired": "value-missing", "ajax": "custom-error", "minSize": "range-underflow", "maxSize": "range-overflow", "min": "range-underflow", "max": "range-overflow", "past": "type-mismatch", "future": "type-mismatch", "dateRange": "type-mismatch", "dateTimeRange": "type-mismatch", "maxCheckbox": "range-overflow", "minCheckbox": "range-underflow", "equals": "pattern-mismatch", "funcCall": "custom-error", "funcCallRequired": "custom-error", "creditCard": "pattern-mismatch", "condRequired": "value-missing" }, /** * Required validation * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @param {bool} condRequired flag when method is used for internal purpose in condRequired check * @return an error string if validation failed */ _required: function(field, rules, i, options, condRequired) { switch (field.prop("type")) { case "radio": case "checkbox": // new validation style to only check dependent field if (condRequired) { if (!field.prop('checked')) { return options.allrules[rules[i]].alertTextCheckboxMultiple; } break; } // old validation style var form = field.closest("form, .validationEngineContainer"); var name = field.attr("name"); if (form.find("input[name='" + name + "']:checked").length == 0) { if (form.find("input[name='" + name + "']:visible").length == 1) return options.allrules[rules[i]].alertTextCheckboxe; else return options.allrules[rules[i]].alertTextCheckboxMultiple; } break; case "text": case "password": case "textarea": case "file": case "select-one": case "select-multiple": default: var field_val = $.trim( field.val() ); var dv_placeholder = $.trim( field.attr("data-validation-placeholder") ); var placeholder = $.trim( field.attr("placeholder") ); if ( ( !field_val ) || ( dv_placeholder && field_val == dv_placeholder ) || ( placeholder && field_val == placeholder ) ) { return options.allrules[rules[i]].alertText; } break; } }, /** * Validate that 1 from the group field is required * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _groupRequired: function(field, rules, i, options) { var classGroup = "["+options.validateAttribute+"*=" +rules[i + 1] +"]"; var isValid = false; // Check all fields from the group field.closest("form, .validationEngineContainer").find(classGroup).each(function(){ if(!methods._required($(this), rules, i, options)){ isValid = true; return false; } }); if(!isValid) { return options.allrules[rules[i]].alertText; } }, /** * Validate rules * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _custom: function(field, rules, i, options) { var customRule = rules[i + 1]; var rule = options.allrules[customRule]; var fn; if(!rule) { alert("jqv:custom rule not found - "+customRule); return; } if(rule["regex"]) { var ex=rule.regex; if(!ex) { alert("jqv:custom regex not found - "+customRule); return; } var pattern = new RegExp(ex); if (!pattern.test(field.val())) return options.allrules[customRule].alertText; } else if(rule["func"]) { fn = rule["func"]; if (typeof(fn) !== "function") { alert("jqv:custom parameter 'function' is no function - "+customRule); return; } if (!fn(field, rules, i, options)) return options.allrules[customRule].alertText; } else { alert("jqv:custom type not allowed "+customRule); return; } }, /** * Validate custom function outside of the engine scope * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _funcCall: function(field, rules, i, options) { var functionName = rules[i + 1]; var fn; if(functionName.indexOf('.') >-1) { var namespaces = functionName.split('.'); var scope = window; while(namespaces.length) { scope = scope[namespaces.shift()]; } fn = scope; } else fn = window[functionName] || options.customFunctions[functionName]; if (typeof(fn) == 'function') return fn(field, rules, i, options); }, _funcCallRequired: function(field, rules, i, options) { return methods._funcCall(field,rules,i,options); }, /** * Field match * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _equals: function(field, rules, i, options) { var equalsField = rules[i + 1]; if (field.val() != $("#" + equalsField).val()) return options.allrules.equals.alertText; }, /** * Check the maximum size (in characters) * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _maxSize: function(field, rules, i, options) { var max = rules[i + 1]; var len = field.val().length; if (len > max) { var rule = options.allrules.maxSize; return rule.alertText + max + rule.alertText2; } }, /** * Check the minimum size (in characters) * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _minSize: function(field, rules, i, options) { var min = rules[i + 1]; var len = field.val().length; if (len < min) { var rule = options.allrules.minSize; return rule.alertText + min + rule.alertText2; } }, /** * Check number minimum value * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _min: function(field, rules, i, options) { var min = parseFloat(rules[i + 1]); var len = parseFloat(field.val()); if (len < min) { var rule = options.allrules.min; if (rule.alertText2) return rule.alertText + min + rule.alertText2; return rule.alertText + min; } }, /** * Check number maximum value * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _max: function(field, rules, i, options) { var max = parseFloat(rules[i + 1]); var len = parseFloat(field.val()); if (len >max ) { var rule = options.allrules.max; if (rule.alertText2) return rule.alertText + max + rule.alertText2; //orefalo: to review, also do the translations return rule.alertText + max; } }, /** * Checks date is in the past * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _past: function(form, field, rules, i, options) { var p=rules[i + 1]; var fieldAlt = $(form.find("*[name='" + p.replace(/^#+/, '') + "']")); var pdate; if (p.toLowerCase() == "now") { pdate = new Date(); } else if (undefined != fieldAlt.val()) { if (fieldAlt.is(":disabled")) return; pdate = methods._parseDate(fieldAlt.val()); } else { pdate = methods._parseDate(p); } var vdate = methods._parseDate(field.val()); if (vdate > pdate ) { var rule = options.allrules.past; if (rule.alertText2) return rule.alertText + methods._dateToString(pdate) + rule.alertText2; return rule.alertText + methods._dateToString(pdate); } }, /** * Checks date is in the future * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _future: function(form, field, rules, i, options) { var p=rules[i + 1]; var fieldAlt = $(form.find("*[name='" + p.replace(/^#+/, '') + "']")); var pdate; if (p.toLowerCase() == "now") { pdate = new Date(); } else if (undefined != fieldAlt.val()) { if (fieldAlt.is(":disabled")) return; pdate = methods._parseDate(fieldAlt.val()); } else { pdate = methods._parseDate(p); } var vdate = methods._parseDate(field.val()); if (vdate < pdate ) { var rule = options.allrules.future; if (rule.alertText2) return rule.alertText + methods._dateToString(pdate) + rule.alertText2; return rule.alertText + methods._dateToString(pdate); } }, /** * Checks if valid date * * @param {string} date string * @return a bool based on determination of valid date */ _isDate: function (value) { var dateRegEx = new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/); return dateRegEx.test(value); }, /** * Checks if valid date time * * @param {string} date string * @return a bool based on determination of valid date time */ _isDateTime: function (value){ var dateTimeRegEx = new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/); return dateTimeRegEx.test(value); }, //Checks if the start date is before the end date //returns true if end is later than start _dateCompare: function (start, end) { return (new Date(start.toString()) < new Date(end.toString())); }, /** * Checks date range * * @param {jqObject} first field name * @param {jqObject} second field name * @return an error string if validation failed */ _dateRange: function (field, rules, i, options) { //are not both populated if ((!options.firstOfGroup[0].value && options.secondOfGroup[0].value) || (options.firstOfGroup[0].value && !options.secondOfGroup[0].value)) { return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } //are not both dates if (!methods._isDate(options.firstOfGroup[0].value) || !methods._isDate(options.secondOfGroup[0].value)) { return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } //are both dates but range is off if (!methods._dateCompare(options.firstOfGroup[0].value, options.secondOfGroup[0].value)) { return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } }, /** * Checks date time range * * @param {jqObject} first field name * @param {jqObject} second field name * @return an error string if validation failed */ _dateTimeRange: function (field, rules, i, options) { //are not both populated if ((!options.firstOfGroup[0].value && options.secondOfGroup[0].value) || (options.firstOfGroup[0].value && !options.secondOfGroup[0].value)) { return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } //are not both dates if (!methods._isDateTime(options.firstOfGroup[0].value) || !methods._isDateTime(options.secondOfGroup[0].value)) { return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } //are both dates but range is off if (!methods._dateCompare(options.firstOfGroup[0].value, options.secondOfGroup[0].value)) { return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } }, /** * Max number of checkbox selected * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _maxCheckbox: function(form, field, rules, i, options) { var nbCheck = rules[i + 1]; var groupname = field.attr("name"); var groupSize = form.find("input[name='" + groupname + "']:checked").length; if (groupSize > nbCheck) { options.showArrow = false; if (options.allrules.maxCheckbox.alertText2) return options.allrules.maxCheckbox.alertText + " " + nbCheck + " " + options.allrules.maxCheckbox.alertText2; return options.allrules.maxCheckbox.alertText; } }, /** * Min number of checkbox selected * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _minCheckbox: function(form, field, rules, i, options) { var nbCheck = rules[i + 1]; var groupname = field.attr("name"); var groupSize = form.find("input[name='" + groupname + "']:checked").length; if (groupSize < nbCheck) { options.showArrow = false; return options.allrules.minCheckbox.alertText + " " + nbCheck + " " + options.allrules.minCheckbox.alertText2; } }, /** * Checks that it is a valid credit card number according to the * Luhn checksum algorithm. * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _creditCard: function(field, rules, i, options) { //spaces and dashes may be valid characters, but must be stripped to calculate the checksum. var valid = false, cardNumber = field.val().replace(/ +/g, '').replace(/-+/g, ''); var numDigits = cardNumber.length; if (numDigits >= 14 && numDigits <= 16 && parseInt(cardNumber) > 0) { var sum = 0, i = numDigits - 1, pos = 1, digit, luhn = new String(); do { digit = parseInt(cardNumber.charAt(i)); luhn += (pos++ % 2 == 0) ? digit * 2 : digit; } while (--i >= 0) for (i = 0; i < luhn.length; i++) { sum += parseInt(luhn.charAt(i)); } valid = sum % 10 == 0; } if (!valid) return options.allrules.creditCard.alertText; }, /** * Ajax field validation * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return nothing! the ajax validator handles the prompts itself */ _ajax: function(field, rules, i, options) { var errorSelector = rules[i + 1]; var rule = options.allrules[errorSelector]; var extraData = rule.extraData; var extraDataDynamic = rule.extraDataDynamic; var data = { "fieldId" : field.attr("id"), "fieldValue" : field.val() }; if (typeof extraData === "object") { $.extend(data, extraData); } else if (typeof extraData === "string") { var tempData = extraData.split("&"); for(var i = 0; i < tempData.length; i++) { var values = tempData[i].split("="); if (values[0] && values[0]) { data[values[0]] = values[1]; } } } if (extraDataDynamic) { var tmpData = []; var domIds = String(extraDataDynamic).split(","); for (var i = 0; i < domIds.length; i++) { var id = domIds[i]; if ($(id).length) { var inputValue = field.closest("form, .validationEngineContainer").find(id).val(); var keyValue = id.replace('#', '') + '=' + escape(inputValue); data[id.replace('#', '')] = inputValue; } } } // If a field change event triggered this we want to clear the cache for this ID if (options.eventTrigger == "field") { delete(options.ajaxValidCache[field.attr("id")]); } // If there is an error or if the the field is already validated, do not re-execute AJAX if (!options.isError && !methods._checkAjaxFieldStatus(field.attr("id"), options) && options.eventTrigger!="submit") { $.ajax({ type: options.ajaxFormValidationMethod, url: rule.url, cache: false, dataType: "json", data: data, field: field, rule: rule, methods: methods, options: options, beforeSend: function() {}, error: function(data, transport) { if (options.onFailure) { options.onFailure(data, transport); } else { methods._ajaxError(data, transport); } }, success: function(json) { // asynchronously called on success, data is the json answer from the server var errorFieldId = json[0]; //var errorField = $($("#" + errorFieldId)[0]); var errorField = $("#"+ errorFieldId).eq(0); // make sure we found the element if (errorField.length == 1) { var status = json[1]; // read the optional msg from the server var msg = json[2]; if (!status) { // Houston we got a problem - display an red prompt options.ajaxValidCache[errorFieldId] = false; options.isError = true; // resolve the msg prompt if(msg) { if (options.allrules[msg]) { var txt = options.allrules[msg].alertText; if (txt) { msg = txt; } } } else msg = rule.alertText; if (options.showPrompts) methods._showPrompt(errorField, msg, "", true, options); } else { options.ajaxValidCache[errorFieldId] = true; // resolves the msg prompt if(msg) { if (options.allrules[msg]) { var txt = options.allrules[msg].alertTextOk; if (txt) { msg = txt; } } } else msg = rule.alertTextOk; if (options.showPrompts) { // see if we should display a green prompt if (msg) methods._showPrompt(errorField, msg, "pass", true, options); else methods._closePrompt(errorField); } // If a submit form triggered this, we want to re-submit the form if (options.eventTrigger == "submit") field.closest("form").submit(); } } errorField.trigger("jqv.field.result", [errorField, options.isError, msg]); } }); return rule.alertTextLoad; } }, /** * Common method to handle ajax errors * * @param {Object} data * @param {Object} transport */ _ajaxError: function(data, transport) { if(data.status == 0 && transport == null) alert("The page is not served from a server! ajax call failed"); else if(typeof console != "undefined") console.log("Ajax error: " + data.status + " " + transport); }, /** * date -> string * * @param {Object} date */ _dateToString: function(date) { return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate(); }, /** * Parses an ISO date * @param {String} d */ _parseDate: function(d) { var dateParts = d.split("-"); if(dateParts==d) dateParts = d.split("/"); if(dateParts==d) { dateParts = d.split("."); return new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]); } return new Date(dateParts[0], (dateParts[1] - 1) ,dateParts[2]); }, /** * Builds or updates a prompt with the given information * * @param {jqObject} field * @param {String} promptText html text to display type * @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red) * @param {boolean} ajaxed - use to mark fields than being validated with ajax * @param {Map} options user options */ _showPrompt: function(field, promptText, type, ajaxed, options, ajaxform) { //Check if we need to adjust what element to show the prompt on if(field.data('jqv-prompt-at') instanceof jQuery ){ field = field.data('jqv-prompt-at'); } else if(field.data('jqv-prompt-at')) { field = $(field.data('jqv-prompt-at')); } var prompt = methods._getPrompt(field); // The ajax submit errors are not see has an error in the form, // When the form errors are returned, the engine see 2 bubbles, but those are ebing closed by the engine at the same time // Because no error was found befor submitting if(ajaxform) prompt = false; // Check that there is indded text if($.trim(promptText)){ if (prompt) methods._updatePrompt(field, prompt, promptText, type, ajaxed, options); else methods._buildPrompt(field, promptText, type, ajaxed, options); } }, /** * Builds and shades a prompt for the given field. * * @param {jqObject} field * @param {String} promptText html text to display type * @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red) * @param {boolean} ajaxed - use to mark fields than being validated with ajax * @param {Map} options user options */ _buildPrompt: function(field, promptText, type, ajaxed, options) { // create the prompt var prompt = $('
'); prompt.addClass(methods._getClassName(field.attr("id")) + "formError"); // add a class name to identify the parent form of the prompt prompt.addClass("parentForm"+methods._getClassName(field.closest('form, .validationEngineContainer').attr("id"))); prompt.addClass("formError"); switch (type) { case "pass": prompt.addClass("greenPopup"); break; case "load": prompt.addClass("blackPopup"); break; default: /* it has error */ //alert("unknown popup type:"+type); } if (ajaxed) prompt.addClass("ajaxed"); // create the prompt content var promptContent = $('
').addClass("formErrorContent").html(promptText).appendTo(prompt); // determine position type var positionType=field.data("promptPosition") || options.promptPosition; // create the css arrow pointing at the field // note that there is no triangle on max-checkbox and radio if (options.showArrow) { var arrow = $('
').addClass("formErrorArrow"); //prompt positioning adjustment support. Usage: positionType:Xshift,Yshift (for ex.: bottomLeft:+20 or bottomLeft:-20,+10) if (typeof(positionType)=='string') { var pos=positionType.indexOf(":"); if(pos!=-1) positionType=positionType.substring(0,pos); } switch (positionType) { case "bottomLeft": case "bottomRight": prompt.find(".formErrorContent").before(arrow); arrow.addClass("formErrorArrowBottom").html('
'); break; case "topLeft": case "topRight": arrow.html('
'); prompt.append(arrow); break; } } // Add custom prompt class if (options.addPromptClass) prompt.addClass(options.addPromptClass); // Add custom prompt class defined in element var requiredOverride = field.attr('data-required-class'); if(requiredOverride !== undefined) { prompt.addClass(requiredOverride); } else { if(options.prettySelect) { if($('#' + field.attr('id')).next().is('select')) { var prettyOverrideClass = $('#' + field.attr('id').substr(options.usePrefix.length).substring(options.useSuffix.length)).attr('data-required-class'); if(prettyOverrideClass !== undefined) { prompt.addClass(prettyOverrideClass); } } } } prompt.css({ "opacity": 0 }); if(positionType === 'inline') { prompt.addClass("inline"); if(typeof field.attr('data-prompt-target') !== 'undefined' && $('#'+field.attr('data-prompt-target')).length > 0) { prompt.appendTo($('#'+field.attr('data-prompt-target'))); } else { field.after(prompt); } } else { field.before(prompt); } var pos = methods._calculatePosition(field, prompt, options); // Support RTL layouts by @yasser_lotfy ( Yasser Lotfy ) if ($('body').hasClass('rtl')) { prompt.css({ 'position': positionType === 'inline' ? 'relative' : 'absolute', "top": pos.callerTopPosition, "left": "initial", "right": pos.callerleftPosition, "marginTop": pos.marginTopSize, "opacity": 0 }).data("callerField", field); } else { prompt.css({ 'position': positionType === 'inline' ? 'relative' : 'absolute', "top": pos.callerTopPosition, "left": pos.callerleftPosition, "right": "initial", "marginTop": pos.marginTopSize, "opacity": 0 }).data("callerField", field); } if (options.autoHidePrompt) { setTimeout(function(){ prompt.animate({ "opacity": 0 },function(){ prompt.closest('.formError').remove(); }); }, options.autoHideDelay); } return prompt.animate({ "opacity": 0.87 }); }, /** * Updates the prompt text field - the field for which the prompt * @param {jqObject} field * @param {String} promptText html text to display type * @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red) * @param {boolean} ajaxed - use to mark fields than being validated with ajax * @param {Map} options user options */ _updatePrompt: function(field, prompt, promptText, type, ajaxed, options, noAnimation) { if (prompt) { if (typeof type !== "undefined") { if (type == "pass") prompt.addClass("greenPopup"); else prompt.removeClass("greenPopup"); if (type == "load") prompt.addClass("blackPopup"); else prompt.removeClass("blackPopup"); } if (ajaxed) prompt.addClass("ajaxed"); else prompt.removeClass("ajaxed"); prompt.find(".formErrorContent").html(promptText); var pos = methods._calculatePosition(field, prompt, options); // Support RTL layouts by @yasser_lotfy ( Yasser Lotfy ) if ($('body').hasClass('rtl')) { var css = {"top": pos.callerTopPosition, "left": "initial", "right": pos.callerleftPosition, "marginTop": pos.marginTopSize, "opacity": 0.87}; } else { var css = {"top": pos.callerTopPosition, "left": pos.callerleftPosition, "right": "initial", "marginTop": pos.marginTopSize, "opacity": 0.87}; } prompt.css({ "opacity": 0, "display": "block" }); if (noAnimation) prompt.css(css); else prompt.animate(css); } }, /** * Closes the prompt associated with the given field * * @param {jqObject} * field */ _closePrompt: function(field) { var prompt = methods._getPrompt(field); if (prompt) prompt.fadeTo("fast", 0, function() { prompt.closest('.formError').remove(); }); }, closePrompt: function(field) { return methods._closePrompt(field); }, /** * Returns the error prompt matching the field if any * * @param {jqObject} * field * @return undefined or the error prompt (jqObject) */ _getPrompt: function(field) { var formId = $(field).closest('form, .validationEngineContainer').attr('id'); var className = methods._getClassName(field.attr("id")) + "formError"; var match = $("." + methods._escapeExpression(className) + '.parentForm' + methods._getClassName(formId))[0]; if (match) return $(match); }, /** * Returns the escapade classname * * @param {selector} * className */ _escapeExpression: function (selector) { return selector.replace(/([#;&,\.\+\*\~':"\!\^$\[\]\(\)=>\|])/g, "\\$1"); }, /** * returns true if we are in a RTLed document * * @param {jqObject} field */ isRTL: function(field) { var $document = $(document); var $body = $('body'); var rtl = (field && field.hasClass('rtl')) || (field && (field.attr('dir') || '').toLowerCase()==='rtl') || $document.hasClass('rtl') || ($document.attr('dir') || '').toLowerCase()==='rtl' || $body.hasClass('rtl') || ($body.attr('dir') || '').toLowerCase()==='rtl'; return Boolean(rtl); }, /** * Calculates prompt position * * @param {jqObject} * field * @param {jqObject} * the prompt * @param {Map} * options * @return positions */ _calculatePosition: function (field, promptElmt, options) { var promptTopPosition, promptleftPosition, marginTopSize; var fieldWidth = field.width(); var fieldLeft = field.position().left; var fieldTop = field.position().top; var fieldHeight = field.height(); var promptHeight = promptElmt.height(); // is the form contained in an overflown container? promptTopPosition = promptleftPosition = 0; // compensation for the arrow marginTopSize = -promptHeight; //prompt positioning adjustment support //now you can adjust prompt position //usage: positionType:Xshift,Yshift //for example: // bottomLeft:+20 means bottomLeft position shifted by 20 pixels right horizontally // topRight:20, -15 means topRight position shifted by 20 pixels to right and 15 pixels to top //You can use +pixels, - pixels. If no sign is provided than + is default. var positionType=field.data("promptPosition") || options.promptPosition; var shift1=""; var shift2=""; var shiftX=0; var shiftY=0; if (typeof(positionType)=='string') { //do we have any position adjustments ? if (positionType.indexOf(":")!=-1) { shift1=positionType.substring(positionType.indexOf(":")+1); positionType=positionType.substring(0,positionType.indexOf(":")); //if any advanced positioning will be needed (percents or something else) - parser should be added here //for now we use simple parseInt() //do we have second parameter? if (shift1.indexOf(",") !=-1) { shift2=shift1.substring(shift1.indexOf(",") +1); shift1=shift1.substring(0,shift1.indexOf(",")); shiftY=parseInt(shift2); if (isNaN(shiftY)) shiftY=0; }; shiftX=parseInt(shift1); if (isNaN(shift1)) shift1=0; }; }; switch (positionType) { default: case "topRight": promptleftPosition += fieldLeft + fieldWidth - 27; promptTopPosition += fieldTop; break; case "topLeft": promptTopPosition += fieldTop; promptleftPosition += fieldLeft; break; case "centerRight": promptTopPosition = fieldTop+4; marginTopSize = 0; promptleftPosition= fieldLeft + field.outerWidth(true)+5; break; case "centerLeft": promptleftPosition = fieldLeft - (promptElmt.width() + 2); promptTopPosition = fieldTop+4; marginTopSize = 0; break; case "bottomLeft": promptTopPosition = fieldTop + field.height() + 5; marginTopSize = 0; promptleftPosition = fieldLeft; break; case "bottomRight": promptleftPosition = fieldLeft + fieldWidth - 27; promptTopPosition = fieldTop + field.height() + 5; marginTopSize = 0; break; case "inline": promptleftPosition = 0; promptTopPosition = 0; marginTopSize = 0; }; //apply adjusments if any promptleftPosition += shiftX; promptTopPosition += shiftY; return { "callerTopPosition": promptTopPosition + "px", "callerleftPosition": promptleftPosition + "px", "marginTopSize": marginTopSize + "px" }; }, /** * Saves the user options and variables in the form.data * * @param {jqObject} * form - the form where the user option should be saved * @param {Map} * options - the user options * @return the user options (extended from the defaults) */ _saveOptions: function(form, options) { // is there a language localisation ? if ($.validationEngineLanguage) var allRules = $.validationEngineLanguage.allRules; else $.error("jQuery.validationEngine rules are not loaded, plz add localization files to the page"); // --- Internals DO NOT TOUCH or OVERLOAD --- // validation rules and i18 $.validationEngine.defaults.allrules = allRules; var userOptions = $.extend(true,{},$.validationEngine.defaults,options); form.data('jqv', userOptions); return userOptions; }, /** * Removes forbidden characters from class name * @param {String} className */ _getClassName: function(className) { if(className) return className.replace(/:/g, "_").replace(/\./g, "_"); }, /** * Escape special character for jQuery selector * http://totaldev.com/content/escaping-characters-get-valid-jquery-id * @param {String} selector */ _jqSelector: function(str){ return str.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1'); }, /** * Conditionally required field * * @param {jqObject} field * @param {Array[String]} rules * @param {int} i rules index * @param {Map} * user options * @return an error string if validation failed */ _condRequired: function(field, rules, i, options) { var idx, dependingField; for(idx = (i + 1); idx < rules.length; idx++) { dependingField = jQuery("#" + rules[idx]).first(); /* Use _required for determining wether dependingField has a value. * There is logic there for handling all field types, and default value; so we won't replicate that here * Indicate this special use by setting the last parameter to true so we only validate the dependingField on chackboxes and radio buttons (#462) */ if (dependingField.length && methods._required(dependingField, ["required"], 0, options, true) == undefined) { /* We now know any of the depending fields has a value, * so we can validate this field as per normal required code */ return methods._required(field, ["required"], 0, options); } } }, _submitButtonClick: function(event) { var button = $(this); var form = button.closest('form, .validationEngineContainer'); form.data("jqv_submitButton", button.attr("id")); } }; /** * Plugin entry point. * You may pass an action as a parameter or a list of options. * if none, the init and attach methods are being called. * Remember: if you pass options, the attached method is NOT called automatically * * @param {String} * method (optional) action */ $.fn.validationEngine = function(method) { var form = $(this); if(!form[0]) return form; // stop here if the form does not exist if (typeof(method) == 'string' && method.charAt(0) != '_' && methods[method]) { // make sure init is called once if(method != "showPrompt" && method != "hide" && method != "hideAll") methods.init.apply(form); return methods[method].apply(form, Array.prototype.slice.call(arguments, 1)); } else if (typeof method == 'object' || !method) { // default constructor with or without arguments methods.init.apply(form, arguments); return methods.attach.apply(form); } else { $.error('Method ' + method + ' does not exist in jQuery.validationEngine'); } }; // LEAK GLOBAL OPTIONS $.validationEngine= {fieldIdCounter: 0,defaults:{ // Name of the event triggering field validation validationEventTrigger: "blur", // Automatically scroll viewport to the first error scroll: true, // Focus on the first input focusFirstField:true, // Show prompts, set to false to disable prompts showPrompts: true, // Should we attempt to validate non-visible input fields contained in the form? (Useful in cases of tabbed containers, e.g. jQuery-UI tabs) validateNonVisibleFields: false, // ignore the validation for fields with this specific class (Useful in cases of tabbed containers AND hidden fields we don't want to validate) ignoreFieldsWithClass: 'ignoreMe', // Opening box position, possible locations are: topLeft, // topRight, bottomLeft, centerRight, bottomRight, inline // inline gets inserted after the validated field or into an element specified in data-prompt-target promptPosition: "topRight", bindMethod:"bind", // internal, automatically set to true when it parse a _ajax rule inlineAjax: false, // if set to true, the form data is sent asynchronously via ajax to the form.action url (get) ajaxFormValidation: false, // The url to send the submit ajax validation (default to action) ajaxFormValidationURL: false, // HTTP method used for ajax validation ajaxFormValidationMethod: 'get', // Ajax form validation callback method: boolean onComplete(form, status, errors, options) // retuns false if the form.submit event needs to be canceled. onAjaxFormComplete: $.noop, // called right before the ajax call, may return false to cancel onBeforeAjaxFormValidation: $.noop, // Stops form from submitting and execute function assiciated with it onValidationComplete: false, // Used when you have a form fields too close and the errors messages are on top of other disturbing viewing messages doNotShowAllErrosOnSubmit: false, // Object where you store custom messages to override the default error messages custom_error_messages:{}, // true if you want to validate the input fields on blur event binded: true, // set to true if you want to validate the input fields on blur only if the field it's not empty notEmpty: false, // set to true, when the prompt arrow needs to be displayed showArrow: true, // set to false, determines if the prompt arrow should be displayed when validating // checkboxes and radio buttons showArrowOnRadioAndCheckbox: false, // did one of the validation fail ? kept global to stop further ajax validations isError: false, // Limit how many displayed errors a field can have maxErrorsPerField: false, // Caches field validation status, typically only bad status are created. // the array is used during ajax form validation to detect issues early and prevent an expensive submit ajaxValidCache: {}, // Auto update prompt position after window resize autoPositionUpdate: false, InvalidFields: [], onFieldSuccess: false, onFieldFailure: false, onSuccess: false, onFailure: false, validateAttribute: "class", addSuccessCssClassToField: "", addFailureCssClassToField: "", // Auto-hide prompt autoHidePrompt: false, // Delay before auto-hide autoHideDelay: 10000, // Fade out duration while hiding the validations fadeDuration: 300, // Use Prettify select library prettySelect: false, // Add css class on prompt addPromptClass : "", // Custom ID uses prefix usePrefix: "", // Custom ID uses suffix useSuffix: "", // Only show one message per error prompt showOneMessage: false }}; $(function(){$.validationEngine.defaults.promptPosition = methods.isRTL()?'topLeft':"topRight"}); })(jQuery); js/jquery.validationEngine-en.js000064400000030426147206617610012733 0ustar00(function ($) { $.fn.validationEngineLanguage = function () { }; $.validationEngineLanguage = { newLang: function () { $.validationEngineLanguage.allRules = { "required": {// Add your regex rules here, you can take telephone as an example "regex": "none", "alertText": "* This field is required", "alertTextCheckboxMultiple": "* Please select an option", "alertTextCheckboxe": "* This checkbox is required", "alertTextDateRange": "* Both date range fields are required" }, "requiredInFunction": { "func": function (field, rules, i, options) { return (field.val() == "test") ? true : false; }, "alertText": "* Field must equal test" }, "dateRange": { "regex": "none", "alertText": "* Invalid ", "alertText2": "Date Range" }, "dateTimeRange": { "regex": "none", "alertText": "* Invalid ", "alertText2": "Date Time Range" }, "minSize": { "regex": "none", "alertText": "* Minimum ", "alertText2": " characters required" }, "maxSize": { "regex": "none", "alertText": "* Maximum ", "alertText2": " characters allowed" }, "groupRequired": { "regex": "none", "alertText": "* You must fill one of the following fields", "alertTextCheckboxMultiple": "* Please select an option", "alertTextCheckboxe": "* This checkbox is required" }, "min": { "regex": "none", "alertText": "* Minimum value is " }, "max": { "regex": "none", "alertText": "* Maximum value is " }, "past": { "regex": "none", "alertText": "* Date prior to " }, "future": { "regex": "none", "alertText": "* Date past " }, "maxCheckbox": { "regex": "none", "alertText": "* Maximum ", "alertText2": " options allowed" }, "minCheckbox": { "regex": "none", "alertText": "* Please select ", "alertText2": " options" }, "equals": { "regex": "none", "alertText": "* Fields do not match" }, "creditCard": { "regex": "none", "alertText": "* Invalid credit card number" }, "phone": { // credit: jquery.h5validate.js / orefalo "regex": /^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/, "alertText": "* Invalid phone number" }, "email": { // HTML5 compatible email regex ( http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html# e-mail-state-%28type=email%29 ) "regex": /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, "alertText": "* Invalid email address" }, "strongPass": { "regex": /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).*$/g, "alertText": "* Password must contain at least:
- a digit
- an uppercase letter
- a lowercase letter" }, "SWPMUserName": { "regex": /^[a-zA-Z0-9.\-_*@]+$/, "alertText": "* Invalid Username" }, "zip": { "regex": /^\d{5}$|^\d{5}-\d{4}$/, "alertText": "* Invalid zip format" }, "integer": { "regex": /^[\-\+]?\d+$/, "alertText": "* Not a valid integer" }, "number": { // Number, including positive, negative, and floating decimal. credit: orefalo "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/, "alertText": "* Invalid floating decimal number" }, "date": { // Check if date is valid by leap year "func": function (field) { var pattern = new RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/); var match = pattern.exec(field.val()); if (match == null) return false; var year = match[1]; var month = match[2] * 1; var day = match[3] * 1; var date = new Date(year, month - 1, day); // because months starts from 0. return (date.getFullYear() == year && date.getMonth() == (month - 1) && date.getDate() == day); }, "alertText": "* Invalid date, must be in YYYY-MM-DD format" }, "ipv4": { "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/, "alertText": "* Invalid IP address" }, "url": { "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i, "alertText": "* Invalid URL" }, "onlyNumberSp": { "regex": /^[0-9\ ]+$/, "alertText": "* Numbers only" }, "onlyLetterSp": { "regex": /^[a-zA-Z\ \']+$/, "alertText": "* Letters only" }, "onlyLetterAccentSp": { "regex": /^[a-z\u00C0-\u017F\ ]+$/i, "alertText": "* Letters only (accents allowed)" }, "onlyLetterNumber": { "regex": /^[0-9a-zA-Z]+$/, "alertText": "* No special characters allowed" }, "noapostrophe": { "regex": /^[^\']*$/, "alertText": "* Apostrophe character is not allowed" }, // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings "ajaxUserCall": { "url": "ajaxurl", // you may want to pass extra data on the ajax call "extraData": "&action=swpm_validate_user_name&nonce="+swpmRegForm.nonce, "alertTextOk": "* This username is available", "alertText": "* This user is already taken", "alertTextLoad": "* Validating, please wait" }, "ajaxEmailCall": { "url": "ajaxurl", // you may want to pass extra data on the ajax call "extraData": "&action=swpm_validate_email&nonce="+swpmRegForm.nonce, "alertText": "* This email is already taken", "alertTextOk": "* This email is available", "alertTextLoad": "* Validating, please wait" }, "ajaxUserCallPhp": { "url": "phpajax/ajaxValidateFieldUser.php", // you may want to pass extra data on the ajax call "extraData": "name=eric", // if you provide an "alertTextOk", it will show as a green prompt when the field validates "alertTextOk": "* This username is available", "alertText": "* This user is already taken", "alertTextLoad": "* Validating, please wait" }, "ajaxNameCall": { // remote json service location "url": "ajaxValidateFieldName", // error "alertText": "* This name is already taken", // if you provide an "alertTextOk", it will show as a green prompt when the field validates "alertTextOk": "* This name is available", // speaks by itself "alertTextLoad": "* Validating, please wait" }, "ajaxNameCallPhp": { // remote json service location "url": "phpajax/ajaxValidateFieldName.php", // error "alertText": "* This name is already taken", // speaks by itself "alertTextLoad": "* Validating, please wait" }, "validate2fields": { "alertText": "* Please input HELLO" }, //tls warning:homegrown not fielded "dateFormat": { "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/, "alertText": "* Invalid Date" }, //tls warning:homegrown not fielded "dateTimeFormat": { "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/, "alertText": "* Invalid Date or Date Format", "alertText2": "Expected Format: ", "alertText3": "mm/dd/yyyy hh:mm:ss AM|PM or ", "alertText4": "yyyy-mm-dd hh:mm:ss AM|PM" } }; } }; $.validationEngineLanguage.newLang(); })(jQuery); js/swpm.password-meter.js000064400000003173147206617610011475 0ustar00(function($){ function check_pass_strength() { var type = $('#swpm-profile-page').attr('type'), pass1 = $('#pass1').val(), pass2 = $('#pass2').val(), strength; if (type === 'edit' && pass1.length === 0 && pass2.length === 0){ $('#pass1').closest('tr').removeClass('form-required'); } else{ $('#pass1').closest('tr').addClass('form-required'); } $('#pass-strength-result').removeClass('short bad good strong'); if ( ! pass1 ) { $('#pass-strength-result').html( pwsL10n.empty ); return; } strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass2 ); switch ( strength ) { case 2: $('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] ); break; case 3: $('#pass-strength-result').addClass('good').html( pwsL10n['good'] ); break; case 4: $('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] ); break; case 5: $('#pass-strength-result').addClass('short').html( pwsL10n['mismatch'] ); break; default: $('#pass-strength-result').addClass('short').html( pwsL10n['short'] ); } } $(document).ready( function() { $('#pass1').val('').keyup( check_pass_strength ); $('#pass2').val('').keyup( check_pass_strength ); $('#pass-strength-result').show(); }); })(jQuery); js/index.html000064400000000000147206617610007155 0ustar00swpm-compat.php000064400000002657147206617610007550 0ustar00_initialize($attributes); return $instance; } /** * static methods redirecting to gateway * * @return AddOn[] */ public static function all() { return Configuration::gateway()->addOn()->all(); } } class_alias('Braintree\AddOn', 'Braintree_AddOn'); lib/braintree/lib/Braintree/CreditCardVerification.php000064400000004312147206617610017040 0ustar00creditCardVerification()->create($attributes); } public static function fetch($query, $ids) { return Configuration::gateway()->creditCardVerification()->fetch($query, $ids); } public static function search($query) { return Configuration::gateway()->creditCardVerification()->search($query); } public static function createSignature() { return [ ['options' => ['amount', 'merchantAccountId', 'accountType']], ['creditCard' => [ 'cardholderName', 'cvv', 'number', 'expirationDate', 'expirationMonth', 'expirationYear', ['billingAddress' => CreditCardGateway::billingAddressSignature()] ] ]]; } } class_alias('Braintree\CreditCardVerification', 'Braintree_CreditCardVerification'); lib/braintree/lib/Braintree/AndroidPayCard.php000064400000005243147206617610015321 0ustar00== More information == * * See {@link https://developers.braintreepayments.com/javascript+php}
* * @package Braintree * @category Resources * * @property-read string $bin * @property-read string $cardType * @property-read \DateTime $createdAt * @property-read string $customerId * @property-read boolean $default * @property-read string $expirationMonth * @property-read string $expirationYear * @property-read string $googleTransactionId * @property-read string $imageUrl * @property-read string $last4 * @property-read string $sourceCardLast4 * @property-read string $sourceCardType * @property-read string $sourceDescription * @property-read \Braintree\Subscription[] $subscriptions * @property-read string $token * @property-read \DateTime $updatedAt * @property-read string $virtualCardLast4 * @property-read string $virtualCardType */ class AndroidPayCard extends Base { /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * factory method: returns an instance of AndroidPayCard * to the requesting method, with populated properties * * @ignore * @return AndroidPayCard */ public static function factory($attributes) { $defaultAttributes = [ 'expirationMonth' => '', 'expirationYear' => '', 'last4' => $attributes['virtualCardLast4'], 'cardType' => $attributes['virtualCardType'], ]; $instance = new self(); $instance->_initialize(array_merge($defaultAttributes, $attributes)); return $instance; } /** * sets instance properties from an array of values * * @access protected * @param array $androidPayCardAttribs array of Android Pay card properties * @return void */ protected function _initialize($androidPayCardAttribs) { // set the attributes $this->_attributes = $androidPayCardAttribs; $subscriptionArray = []; if (isset($androidPayCardAttribs['subscriptions'])) { foreach ($androidPayCardAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); } } class_alias('Braintree\AndroidPayCard', 'Braintree_AndroidPayCard'); lib/braintree/lib/Braintree/Transaction.php000064400000056221147206617610014764 0ustar00Minimalistic example: * * Transaction::saleNoValidate(array( * 'amount' => '100.00', * 'creditCard' => array( * 'number' => '5105105105105100', * 'expirationDate' => '05/12', * ), * )); * * * Full example: * * Transaction::saleNoValidate(array( * 'amount' => '100.00', * 'orderId' => '123', * 'channel' => 'MyShoppingCardProvider', * 'creditCard' => array( * // if token is omitted, the gateway will generate a token * 'token' => 'credit_card_123', * 'number' => '5105105105105100', * 'expirationDate' => '05/2011', * 'cvv' => '123', * ), * 'customer' => array( * // if id is omitted, the gateway will generate an id * 'id' => 'customer_123', * 'firstName' => 'Dan', * 'lastName' => 'Smith', * 'company' => 'Braintree', * 'email' => 'dan@example.com', * 'phone' => '419-555-1234', * 'fax' => '419-555-1235', * 'website' => 'http://braintreepayments.com' * ), * 'billing' => array( * 'firstName' => 'Carl', * 'lastName' => 'Jones', * 'company' => 'Braintree', * 'streetAddress' => '123 E Main St', * 'extendedAddress' => 'Suite 403', * 'locality' => 'Chicago', * 'region' => 'IL', * 'postalCode' => '60622', * 'countryName' => 'United States of America' * ), * 'shipping' => array( * 'firstName' => 'Andrew', * 'lastName' => 'Mason', * 'company' => 'Braintree', * 'streetAddress' => '456 W Main St', * 'extendedAddress' => 'Apt 2F', * 'locality' => 'Bartlett', * 'region' => 'IL', * 'postalCode' => '60103', * 'countryName' => 'United States of America' * ), * 'customFields' => array( * 'birthdate' => '11/13/1954' * ) * ) * * * == Storing in the Vault == * * The customer and credit card information used for * a transaction can be stored in the vault by setting * transaction[options][storeInVault] to true. * * $transaction = Transaction::saleNoValidate(array( * 'customer' => array( * 'firstName' => 'Adam', * 'lastName' => 'Williams' * ), * 'creditCard' => array( * 'number' => '5105105105105100', * 'expirationDate' => '05/2012' * ), * 'options' => array( * 'storeInVault' => true * ) * )); * * echo $transaction->customerDetails->id * // '865534' * echo $transaction->creditCardDetails->token * // '6b6m' * * * To also store the billing address in the vault, pass the * addBillingAddressToPaymentMethod option. * * Transaction.saleNoValidate(array( * ... * 'options' => array( * 'storeInVault' => true * 'addBillingAddressToPaymentMethod' => true * ) * )); * * * == Submitting for Settlement== * * This can only be done when the transction's * status is authorized. If amount is not specified, * the full authorized amount will be settled. If you would like to settle * less than the full authorized amount, pass the desired amount. * You cannot settle more than the authorized amount. * * A transaction can be submitted for settlement when created by setting * $transaction[options][submitForSettlement] to true. * * * $transaction = Transaction::saleNoValidate(array( * 'amount' => '100.00', * 'creditCard' => array( * 'number' => '5105105105105100', * 'expirationDate' => '05/2012' * ), * 'options' => array( * 'submitForSettlement' => true * ) * )); * * * == More information == * * For more detailed information on Transactions, see {@link https://developers.braintreepayments.com/reference/response/transaction/php https://developers.braintreepayments.com/reference/response/transaction/php} * * @package Braintree * @category Resources * * * @property-read \Braintree\AddOn[] $addons * @property-read string $additionalProcessorResponse raw response from processor * @property-read string $amount transaction amount * @property-read \Braintree\AmexExpressCheckoutCardDetails $amexExpressCheckoutCardDetails transaction Amex Express Checkout card info * @property-read \Braintree\AndroidPayCardDetails $androidPayCardDetails transaction Android Pay card info * @property-read \Braintree\ApplePayCardDetails $applePayCardDetails transaction Apple Pay card info * @property-read \Braintree\AuthorizationAdjustment[] $authorizationAdjustments populated when a transaction has authorization adjustments created when submitted for settlement * @property-read \DateTime $authorizationExpiresAt DateTime authorization will expire * @property-read string $avsErrorResponseCode * @property-read string $avsPostalCodeResponseCode * @property-read string $avsStreetAddressResponseCode * @property-read \Braintree\Transaction\AddressDetails $billingDetails transaction billing address * @property-read string $channel * @property-read \Braintree\CoinbaseDetails $coinbaseDetails transaction Coinbase account info * @property-read \DateTime $createdAt transaction created DateTime * @property-read \Braintree\CreditCardDetails $creditCardDetails transaction credit card info * @property-read string $currencyIsoCode * @property-read array $customFields custom fields passed with the request * @property-read \Braintree\Transaction\CustomerDetails $customerDetails transaction customer info * @property-read string $cvvResponseCode * @property-read \Braintree\Descriptor $descriptor * @property-read Braintree\DisbursementDetails $disbursementDetails populated when transaction is disbursed * @property-read string $discountAmount * @property-read \Braintree\Discount[] $discounts * @property-read \Braintree\Dispute[] $disputes populated when transaction is disputed * @property-read string $escrowStatus * @property-read \Braintree\FacilitatedDetails $facilitatedDetails * @property-read \Braintree\FacilitatorDetails $facilitatorDetails * @property-read string $gatewayRejectionReason * @property-read string $id transaction id * @property-read \Braintree\IdealPayment $idealPaymentDetails transaction Ideal Payment info * @property-read \Braintree\TransactionLineItem[] $lineItems * @property-read \Braintree\MasterpassCardDetails $masterpassCardDetails transaction Masterpass card info * @property-read string $merchantAccountId * @property-read string $networkTransactionId * @property-read string $orderId * @property-read string $paymentInstrumentType * @property-read \Braintree\PayPalDetails $paypalDetails transaction paypal account info * @property-read string $planId * @property-read string $processorAuthorizationCode * @property-read string $processorResponseCode gateway response code * @property-read string $processorResponseText * @property-read string $processorResponseType * @property-read string $processorSettlementResponseCode * @property-read string $processorSettlementResponseText * @property-read string $purchaseOrderNumber * @property-read mixed $reccuring * @property-read mixed $refundIds * @property-read string $refundedTransactionId * @property-read \Braintree\RiskData $riskData * @property-read \Braintree\SamsungPayCardDetails $samsungPayCardDetails transaction Samsung Pay card info * @property-read string $serviceFeeAmount * @property-read string $settlementBatchId * @property-read string $shippingAmount * @property-read \Braintree\Transaction\AddressDetails $shippingDetails transaction shipping address * @property-read string $status transaction status * @property-read \Braintree\Transaction\StatusDetails[] $statusHistory array of StatusDetails objects * @property-read \Braintree\Transaction\SubscriptionDetails $subscriptionDetails * @property-read string $subscriptionId * @property-read string $taxAmount * @property-read string $taxExcempt * @property-read \Braintree\ThreeDSecureInfo $threeDSecureInfo * @property-read string $type transaction type * @property-read \DateTime $updatedAt transaction updated DateTime * @property-read \Braintree\VenmoAccount $venmoAccountDetails transaction Venmo Account info * @property-read \Braintree\VisaCheckoutCardDetails $visaCheckoutCardDetails transaction Visa Checkout card info * @property-read string $voiceReferralName * */ class Transaction extends Base { // Transaction Status const AUTHORIZATION_EXPIRED = 'authorization_expired'; const AUTHORIZING = 'authorizing'; const AUTHORIZED = 'authorized'; const GATEWAY_REJECTED = 'gateway_rejected'; const FAILED = 'failed'; const PROCESSOR_DECLINED = 'processor_declined'; const SETTLED = 'settled'; const SETTLING = 'settling'; const SUBMITTED_FOR_SETTLEMENT = 'submitted_for_settlement'; const VOIDED = 'voided'; const UNRECOGNIZED = 'unrecognized'; const SETTLEMENT_DECLINED = 'settlement_declined'; const SETTLEMENT_PENDING = 'settlement_pending'; const SETTLEMENT_CONFIRMED = 'settlement_confirmed'; // Transaction Escrow Status const ESCROW_HOLD_PENDING = 'hold_pending'; const ESCROW_HELD = 'held'; const ESCROW_RELEASE_PENDING = 'release_pending'; const ESCROW_RELEASED = 'released'; const ESCROW_REFUNDED = 'refunded'; // Transaction Types const SALE = 'sale'; const CREDIT = 'credit'; // Transaction Created Using const FULL_INFORMATION = 'full_information'; const TOKEN = 'token'; // Transaction Sources const API = 'api'; const CONTROL_PANEL = 'control_panel'; const RECURRING = 'recurring'; // Gateway Rejection Reason const AVS = 'avs'; const AVS_AND_CVV = 'avs_and_cvv'; const CVV = 'cvv'; const DUPLICATE = 'duplicate'; const FRAUD = 'fraud'; const THREE_D_SECURE = 'three_d_secure'; const APPLICATION_INCOMPLETE = 'application_incomplete'; // Industry Types const LODGING_INDUSTRY = 'lodging'; const TRAVEL_AND_CRUISE_INDUSTRY = 'travel_cruise'; const TRAVEL_AND_FLIGHT_INDUSTRY = 'travel_flight'; /** * sets instance properties from an array of values * * @ignore * @access protected * @param array $transactionAttribs array of transaction data * @return void */ protected function _initialize($transactionAttribs) { $this->_attributes = $transactionAttribs; if (isset($transactionAttribs['applePay'])) { $this->_set('applePayCardDetails', new Transaction\ApplePayCardDetails( $transactionAttribs['applePay'] ) ); } if (isset($transactionAttribs['androidPayCard'])) { $this->_set('androidPayCardDetails', new Transaction\AndroidPayCardDetails( $transactionAttribs['androidPayCard'] ) ); } if (isset($transactionAttribs['masterpassCard'])) { $this->_set('masterpassCardDetails', new Transaction\MasterpassCardDetails( $transactionAttribs['masterpassCard'] ) ); } if (isset($transactionAttribs['visaCheckoutCard'])) { $this->_set('visaCheckoutCardDetails', new Transaction\VisaCheckoutCardDetails( $transactionAttribs['visaCheckoutCard'] ) ); } if (isset($transactionAttribs['samsungPayCard'])) { $this->_set('samsungPayCardDetails', new Transaction\SamsungPayCardDetails( $transactionAttribs['samsungPayCard'] ) ); } if (isset($transactionAttribs['amexExpressCheckoutCard'])) { $this->_set('amexExpressCheckoutCardDetails', new Transaction\AmexExpressCheckoutCardDetails( $transactionAttribs['amexExpressCheckoutCard'] ) ); } if (isset($transactionAttribs['venmoAccount'])) { $this->_set('venmoAccountDetails', new Transaction\VenmoAccountDetails( $transactionAttribs['venmoAccount'] ) ); } if (isset($transactionAttribs['creditCard'])) { $this->_set('creditCardDetails', new Transaction\CreditCardDetails( $transactionAttribs['creditCard'] ) ); } if (isset($transactionAttribs['coinbaseAccount'])) { $this->_set('coinbaseDetails', new Transaction\CoinbaseDetails( $transactionAttribs['coinbaseAccount'] ) ); } if (isset($transactionAttribs['usBankAccount'])) { $this->_set('usBankAccount', new Transaction\UsBankAccountDetails( $transactionAttribs['usBankAccount'] ) ); } if (isset($transactionAttribs['idealPayment'])) { $this->_set('idealPayment', new Transaction\IdealPaymentDetails( $transactionAttribs['idealPayment'] ) ); } if (isset($transactionAttribs['paypal'])) { $this->_set('paypalDetails', new Transaction\PayPalDetails( $transactionAttribs['paypal'] ) ); } if (isset($transactionAttribs['customer'])) { $this->_set('customerDetails', new Transaction\CustomerDetails( $transactionAttribs['customer'] ) ); } if (isset($transactionAttribs['billing'])) { $this->_set('billingDetails', new Transaction\AddressDetails( $transactionAttribs['billing'] ) ); } if (isset($transactionAttribs['shipping'])) { $this->_set('shippingDetails', new Transaction\AddressDetails( $transactionAttribs['shipping'] ) ); } if (isset($transactionAttribs['subscription'])) { $this->_set('subscriptionDetails', new Transaction\SubscriptionDetails( $transactionAttribs['subscription'] ) ); } if (isset($transactionAttribs['descriptor'])) { $this->_set('descriptor', new Descriptor( $transactionAttribs['descriptor'] ) ); } if (isset($transactionAttribs['disbursementDetails'])) { $this->_set('disbursementDetails', new DisbursementDetails($transactionAttribs['disbursementDetails']) ); } $disputes = []; if (isset($transactionAttribs['disputes'])) { foreach ($transactionAttribs['disputes'] AS $dispute) { $disputes[] = Dispute::factory($dispute); } } $this->_set('disputes', $disputes); $statusHistory = []; if (isset($transactionAttribs['statusHistory'])) { foreach ($transactionAttribs['statusHistory'] AS $history) { $statusHistory[] = new Transaction\StatusDetails($history); } } $this->_set('statusHistory', $statusHistory); $addOnArray = []; if (isset($transactionAttribs['addOns'])) { foreach ($transactionAttribs['addOns'] AS $addOn) { $addOnArray[] = AddOn::factory($addOn); } } $this->_set('addOns', $addOnArray); $discountArray = []; if (isset($transactionAttribs['discounts'])) { foreach ($transactionAttribs['discounts'] AS $discount) { $discountArray[] = Discount::factory($discount); } } $this->_set('discounts', $discountArray); $authorizationAdjustments = []; if (isset($transactionAttribs['authorizationAdjustments'])) { foreach ($transactionAttribs['authorizationAdjustments'] AS $authorizationAdjustment) { $authorizationAdjustments[] = AuthorizationAdjustment::factory($authorizationAdjustment); } } $this->_set('authorizationAdjustments', $authorizationAdjustments); if(isset($transactionAttribs['riskData'])) { $this->_set('riskData', RiskData::factory($transactionAttribs['riskData'])); } if(isset($transactionAttribs['threeDSecureInfo'])) { $this->_set('threeDSecureInfo', ThreeDSecureInfo::factory($transactionAttribs['threeDSecureInfo'])); } if(isset($transactionAttribs['facilitatedDetails'])) { $this->_set('facilitatedDetails', FacilitatedDetails::factory($transactionAttribs['facilitatedDetails'])); } if(isset($transactionAttribs['facilitatorDetails'])) { $this->_set('facilitatorDetails', FacilitatorDetails::factory($transactionAttribs['facilitatorDetails'])); } } /** * returns a string representation of the transaction * @return string */ public function __toString() { // array of attributes to print $display = [ 'id', 'type', 'amount', 'status', 'createdAt', 'creditCardDetails', 'customerDetails' ]; $displayAttributes = []; foreach ($display AS $attrib) { $displayAttributes[$attrib] = $this->$attrib; } return __CLASS__ . '[' . Util::attributesToString($displayAttributes) .']'; } public function isEqual($otherTx) { return $this->id === $otherTx->id; } public function vaultCreditCard() { $token = $this->creditCardDetails->token; if (empty($token)) { return null; } else { return CreditCard::find($token); } } /** @return void|Braintree\Customer */ public function vaultCustomer() { $customerId = $this->customerDetails->id; if (empty($customerId)) { return null; } else { return Customer::find($customerId); } } /** @return boolean */ public function isDisbursed() { return $this->disbursementDetails->isValid(); } /** @return line items */ public function lineItems() { return Configuration::gateway()->transactionLineItem()->findAll($this->id); } /** * factory method: returns an instance of Transaction * to the requesting method, with populated properties * * @ignore * @return Transaction */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } // static methods redirecting to gateway public static function cloneTransaction($transactionId, $attribs) { return Configuration::gateway()->transaction()->cloneTransaction($transactionId, $attribs); } public static function createFromTransparentRedirect($queryString) { return Configuration::gateway()->transaction()->createFromTransparentRedirect($queryString); } public static function createTransactionUrl() { return Configuration::gateway()->transaction()->createTransactionUrl(); } public static function credit($attribs) { return Configuration::gateway()->transaction()->credit($attribs); } public static function creditNoValidate($attribs) { return Configuration::gateway()->transaction()->creditNoValidate($attribs); } public static function find($id) { return Configuration::gateway()->transaction()->find($id); } public static function sale($attribs) { return Configuration::gateway()->transaction()->sale($attribs); } public static function saleNoValidate($attribs) { return Configuration::gateway()->transaction()->saleNoValidate($attribs); } public static function search($query) { return Configuration::gateway()->transaction()->search($query); } public static function fetch($query, $ids) { return Configuration::gateway()->transaction()->fetch($query, $ids); } public static function void($transactionId) { return Configuration::gateway()->transaction()->void($transactionId); } public static function voidNoValidate($transactionId) { return Configuration::gateway()->transaction()->voidNoValidate($transactionId); } public static function submitForSettlement($transactionId, $amount = null, $attribs = []) { return Configuration::gateway()->transaction()->submitForSettlement($transactionId, $amount, $attribs); } public static function submitForSettlementNoValidate($transactionId, $amount = null, $attribs = []) { return Configuration::gateway()->transaction()->submitForSettlementNoValidate($transactionId, $amount, $attribs); } public static function updateDetails($transactionId, $attribs = []) { return Configuration::gateway()->transaction()->updateDetails($transactionId, $attribs); } public static function submitForPartialSettlement($transactionId, $amount, $attribs = []) { return Configuration::gateway()->transaction()->submitForPartialSettlement($transactionId, $amount, $attribs); } public static function holdInEscrow($transactionId) { return Configuration::gateway()->transaction()->holdInEscrow($transactionId); } public static function releaseFromEscrow($transactionId) { return Configuration::gateway()->transaction()->releaseFromEscrow($transactionId); } public static function cancelRelease($transactionId) { return Configuration::gateway()->transaction()->cancelRelease($transactionId); } public static function refund($transactionId, $amount = null) { return Configuration::gateway()->transaction()->refund($transactionId, $amount); } } class_alias('Braintree\Transaction', 'Braintree_Transaction'); lib/braintree/lib/Braintree/TestingGateway.php000064400000002726147206617610015437 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_http = new Http($this->_config); } public function settle($transactionId) { return self::_doTestRequest('/settle', $transactionId); } public function settlementPending($transactionId) { return self::_doTestRequest('/settlement_pending', $transactionId); } public function settlementConfirm($transactionId) { return self::_doTestRequest('/settlement_confirm', $transactionId); } public function settlementDecline($transactionId) { return self::_doTestRequest('/settlement_decline', $transactionId); } private function _doTestRequest($testPath, $transactionId) { self::_checkEnvironment(); $path = $this->_config->merchantPath() . '/transactions/' . $transactionId . $testPath; $response = $this->_http->put($path); return Transaction::factory($response['transaction']); } private function _checkEnvironment() { if (Configuration::$global->getEnvironment() === 'production') { throw new Exception\TestOperationPerformedInProduction(); } } } class_alias('Braintree\TestingGateway', 'Braintree_TestingGateway'); lib/braintree/lib/Braintree/Exception/TooManyRequests.php000064400000000520147206617610017546 0ustar00_collection[] = $value; } /** * Set index's value * @param integer $index * @param mixed $value * @throws OutOfRangeException */ public function set($index, $value) { if($index >= $this->count()) throw new OutOfRangeException('Index out of range'); $this->_collection[$index] = $value; } /** * Remove a value from the collection * @param integer $index index to remove * @throws OutOfRangeException if index is out of range */ public function remove($index) { if($index >= $this->count()) throw new OutOfRangeException('Index out of range'); array_splice($this->_collection, $index, 1); } /** * Return value at index * @param integer $index * @return mixed * @throws OutOfRangeException */ public function get($index) { if($index >= $this->count()) throw new OutOfRangeException('Index out of range'); return $this->_collection[$index]; } /** * Determine if index exists * @param integer $index * @return boolean */ public function exists($index) { if($index >= $this->count()) return false; return true; } /** * Return count of items in collection * Implements countable * @return integer */ public function count() { return count($this->_collection); } /** * Return an iterator * Implements IteratorAggregate * @return ArrayIterator */ public function getIterator() { return new ArrayIterator($this->_collection); } /** * Set offset to value * Implements ArrayAccess * @see set * @param integer $offset * @param mixed $value */ public function offsetSet($offset, $value) { $this->set($offset, $value); } /** * Unset offset * Implements ArrayAccess * @see remove * @param integer $offset */ public function offsetUnset($offset) { $this->remove($offset); } /** * get an offset's value * Implements ArrayAccess * @see get * @param integer $offset * @return mixed */ public function offsetGet($offset) { return $this->get($offset); } /** * Determine if offset exists * Implements ArrayAccess * @see exists * @param integer $offset * @return boolean */ public function offsetExists($offset) { return $this->exists($offset); } } class_alias('Braintree\Collection', 'Braintree_Collection'); lib/braintree/lib/Braintree/TransparentRedirect.php000064400000006115147206617610016457 0ustar00 * $trData = TransparentRedirect::createCustomerData(array( * 'redirectUrl => 'http://example.com/redirect_back_to_merchant_site', * )); * * * In addition to the redirectUrl, any data that needs to be protected * from user tampering should be included in the trData. * For example, to prevent the user from tampering with the transaction * amount, include the amount in the trData. * * * $trData = TransparentRedirect::transactionData(array( * 'redirectUrl' => 'http://example.com/complete_transaction', * 'transaction' => array('amount' => '100.00'), * )); * * * * @package Braintree * @category Resources */ class TransparentRedirect { // Request Kinds const CREATE_TRANSACTION = 'create_transaction'; const CREATE_PAYMENT_METHOD = 'create_payment_method'; const UPDATE_PAYMENT_METHOD = 'update_payment_method'; const CREATE_CUSTOMER = 'create_customer'; const UPDATE_CUSTOMER = 'update_customer'; /** * @ignore * don't permit an explicit call of the constructor! * (like $t = new TransparentRedirect()) */ protected function __construct() { } // static methods redirecting to gateway public static function confirm($queryString) { return Configuration::gateway()->transparentRedirect()->confirm($queryString); } public static function createCreditCardData($params) { return Configuration::gateway()->transparentRedirect()->createCreditCardData($params); } public static function createCustomerData($params) { return Configuration::gateway()->transparentRedirect()->createCustomerData($params); } public static function url() { return Configuration::gateway()->transparentRedirect()->url(); } public static function transactionData($params) { return Configuration::gateway()->transparentRedirect()->transactionData($params); } public static function updateCreditCardData($params) { return Configuration::gateway()->transparentRedirect()->updateCreditCardData($params); } public static function updateCustomerData($params) { return Configuration::gateway()->transparentRedirect()->updateCustomerData($params); } public static function parseAndValidateQueryString($queryString) { return Configuration::gateway()->transparentRedirect()->parseAndValidateQueryString($queryString); } } class_alias('Braintree\TransparentRedirect', 'Braintree_TransparentRedirect'); lib/braintree/lib/Braintree/MerchantAccount/AddressDetails.php000064400000000377147206617610020451 0ustar00_attributes = $individualAttribs; if (isset($individualAttribs['address'])) { $this->_set('addressDetails', new AddressDetails($individualAttribs['address'])); } } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } } class_alias('Braintree\MerchantAccount\IndividualDetails', 'Braintree_MerchantAccount_IndividualDetails'); lib/braintree/lib/Braintree/MerchantAccount/BusinessDetails.php000064400000001222147206617610020645 0ustar00_attributes = $businessAttribs; if (isset($businessAttribs['address'])) { $this->_set('addressDetails', new AddressDetails($businessAttribs['address'])); } } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } } class_alias('Braintree\MerchantAccount\BusinessDetails', 'Braintree_MerchantAccount_BusinessDetails'); lib/braintree/lib/Braintree/MerchantAccount/FundingDetails.php000064400000000377147206617610020456 0ustar00 Braintree\DocumentUpload::EVIDENCE_DOCUMENT, * "file" => $pngFile * ]); * * For more information on DocumentUploads, see https://developers.braintreepayments.com/reference/request/document_upload/create * * @property-read string $contentType * @property-read \DateTime $expiresAt * @property-read string $id * @property-read string $kind * @property-read string $name * @property-read int $size */ class DocumentUpload extends Base { /* DocumentUpload Kind */ const EVIDENCE_DOCUMENT = "evidence_document"; protected function _initialize($documentUploadAttribs) { $this->_attributes = $documentUploadAttribs; } /** * Creates a DocumentUpload object * @param kind The kind of document * @param file The open file to upload * @throws InvalidArgumentException if the params are not expected */ public static function create($params) { return Configuration::gateway()->documentUpload()->create($params); } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } } class_alias('Braintree\DocumentUpload', 'Braintree_DocumentUpload'); lib/braintree/lib/Braintree/UsBankAccountVerificationGateway.php000064400000010070147206617610021054 0ustar00== More information == * * * @package Braintree * @category Resources */ class UsBankAccountVerificationGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /** * find a usBankAccountVerification by token * * @access public * @param string $token unique id * @return UsBankAccountVerification * @throws Exception\NotFound */ public function find($token) { try { $path = $this->_config->merchantPath() . '/us_bank_account_verifications/' . $token; $response = $this->_http->get($path); return UsBankAccountVerification::factory($response['usBankAccountVerification']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'US bank account with token ' . $token . ' not found' ); } } public function search($query) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $path = $this->_config->merchantPath() . '/us_bank_account_verifications/advanced_search_ids'; $response = $this->_http->post($path, ['search' => $criteria]); $pager = [ 'object' => $this, 'method' => 'fetch', 'methodArgs' => [$query] ]; return new ResourceCollection($response, $pager); } /** * complete micro transfer verification by confirming the transfer amounts * * @access public * @param string $token unique id * @param array $amounts amounts deposited in micro transfer * @return UsBankAccountVerification * @throws Exception\Unexpected */ public function confirmMicroTransferAmounts($token, $amounts) { try { $path = $this->_config->merchantPath() . '/us_bank_account_verifications/' . $token . '/confirm_micro_transfer_amounts'; $response = $this->_http->put($path, [ "us_bank_account_verification" => ["deposit_amounts" => $amounts] ]); return $this->_verifyGatewayResponse($response); } catch (Exception\Unexpected $e) { throw new Exception\Unexpected( 'Unexpected exception.' ); } } /** * generic method for validating incoming gateway responses * * creates a new UsBankAccountVerification object and encapsulates * it inside a Result\Successful object, or * encapsulates a Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid. * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else if (isset($response['usBankAccountVerification'])) { // return a populated instance of UsBankAccountVerification return new Result\Successful( UsBankAccountVerification::factory($response['usBankAccountVerification']) ); } else { throw new Exception\Unexpected( 'Expected US bank account or apiErrorResponse' ); } } } class_alias('Braintree\UsBankAccountVerificationGateway', 'Braintree_UsBankAccountVerificationGateway'); lib/braintree/lib/Braintree/CreditCardVerificationSearch.php000064400000003025147206617610020166 0ustar00== More information == * * For more detailed information on CreditCards, see {@link https://developers.braintreepayments.com/reference/response/credit-card/php https://developers.braintreepayments.com/reference/response/credit-card/php}
* For more detailed information on CreditCard verifications, see {@link https://developers.braintreepayments.com/reference/response/credit-card-verification/php https://developers.braintreepayments.com/reference/response/credit-card-verification/php} * * @package Braintree * @category Resources * * @property-read \Braintree\Address $billingAddress * @property-read string $bin * @property-read string $cardType * @property-read string $cardholderName * @property-read string $commercial * @property-read \DateTime $createdAt * @property-read string $customerId * @property-read string $customerLocation * @property-read string $debit * @property-read boolean $default * @property-read string $durbinRegulated * @property-read string $expirationDate * @property-read string $expirationMonth * @property-read string $expirationYear * @property-read boolean $expired * @property-read boolean $healthcare * @property-read string $imageUrl * @property-read string $issuingBank * @property-read string $last4 * @property-read string $maskedNumber * @property-read string $payroll * @property-read string $prepaid * @property-read string $productId * @property-read \Braintree\Subscription[] $subscriptions * @property-read string $token * @property-read string $uniqueNumberIdentifier * @property-read \DateTime $updatedAt * @property-read \Braintree\CreditCardVerification|null $verification */ class CreditCard extends Base { // Card Type const AMEX = 'American Express'; const CARTE_BLANCHE = 'Carte Blanche'; const CHINA_UNION_PAY = 'China UnionPay'; const DINERS_CLUB_INTERNATIONAL = 'Diners Club'; const DISCOVER = 'Discover'; const ELO = 'Elo'; const JCB = 'JCB'; const LASER = 'Laser'; const MAESTRO = 'Maestro'; const UK_MAESTRO = 'UK Maestro'; const MASTER_CARD = 'MasterCard'; const SOLO = 'Solo'; const SWITCH_TYPE = 'Switch'; const VISA = 'Visa'; const UNKNOWN = 'Unknown'; // Credit card origination location const INTERNATIONAL = "international"; const US = "us"; const PREPAID_YES = 'Yes'; const PREPAID_NO = 'No'; const PREPAID_UNKNOWN = 'Unknown'; const PAYROLL_YES = 'Yes'; const PAYROLL_NO = 'No'; const PAYROLL_UNKNOWN = 'Unknown'; const HEALTHCARE_YES = 'Yes'; const HEALTHCARE_NO = 'No'; const HEALTHCARE_UNKNOWN = 'Unknown'; const DURBIN_REGULATED_YES = 'Yes'; const DURBIN_REGULATED_NO = 'No'; const DURBIN_REGULATED_UNKNOWN = 'Unknown'; const DEBIT_YES = 'Yes'; const DEBIT_NO = 'No'; const DEBIT_UNKNOWN = 'Unknown'; const COMMERCIAL_YES = 'Yes'; const COMMERCIAL_NO = 'No'; const COMMERCIAL_UNKNOWN = 'Unknown'; const COUNTRY_OF_ISSUANCE_UNKNOWN = "Unknown"; const ISSUING_BANK_UNKNOWN = "Unknown"; const PRODUCT_ID_UNKNOWN = "Unknown"; /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * checks whether the card is expired based on the current date * * @return boolean */ public function isExpired() { return $this->expired; } /** * checks whether the card is associated with venmo sdk * * @return boolean */ public function isVenmoSdk() { return $this->venmoSdk; } /** * sets instance properties from an array of values * * @access protected * @param array $creditCardAttribs array of creditcard data * @return void */ protected function _initialize($creditCardAttribs) { // set the attributes $this->_attributes = $creditCardAttribs; // map each address into its own object $billingAddress = isset($creditCardAttribs['billingAddress']) ? Address::factory($creditCardAttribs['billingAddress']) : null; $subscriptionArray = []; if (isset($creditCardAttribs['subscriptions'])) { foreach ($creditCardAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); $this->_set('billingAddress', $billingAddress); $this->_set('expirationDate', $this->expirationMonth . '/' . $this->expirationYear); $this->_set('maskedNumber', $this->bin . '******' . $this->last4); if(isset($creditCardAttribs['verifications']) && count($creditCardAttribs['verifications']) > 0) { $verifications = $creditCardAttribs['verifications']; usort($verifications, [$this, '_compareCreatedAtOnVerifications']); $this->_set('verification', CreditCardVerification::factory($verifications[0])); } } private function _compareCreatedAtOnVerifications($verificationAttrib1, $verificationAttrib2) { return ($verificationAttrib2['createdAt'] < $verificationAttrib1['createdAt']) ? -1 : 1; } /** * returns false if comparing object is not a CreditCard, * or is a CreditCard with a different id * * @param object $otherCreditCard customer to compare against * @return boolean */ public function isEqual($otherCreditCard) { return !($otherCreditCard instanceof self) ? false : $this->token === $otherCreditCard->token; } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } /** * factory method: returns an instance of CreditCard * to the requesting method, with populated properties * * @ignore * @return CreditCard */ public static function factory($attributes) { $defaultAttributes = [ 'bin' => '', 'expirationMonth' => '', 'expirationYear' => '', 'last4' => '', ]; $instance = new self(); $instance->_initialize(array_merge($defaultAttributes, $attributes)); return $instance; } // static methods redirecting to gateway public static function create($attribs) { return Configuration::gateway()->creditCard()->create($attribs); } public static function createNoValidate($attribs) { return Configuration::gateway()->creditCard()->createNoValidate($attribs); } public static function createFromTransparentRedirect($queryString) { return Configuration::gateway()->creditCard()->createFromTransparentRedirect($queryString); } public static function createCreditCardUrl() { return Configuration::gateway()->creditCard()->createCreditCardUrl(); } public static function expired() { return Configuration::gateway()->creditCard()->expired(); } public static function fetchExpired($ids) { return Configuration::gateway()->creditCard()->fetchExpired($ids); } public static function expiringBetween($startDate, $endDate) { return Configuration::gateway()->creditCard()->expiringBetween($startDate, $endDate); } public static function fetchExpiring($startDate, $endDate, $ids) { return Configuration::gateway()->creditCard()->fetchExpiring($startDate, $endDate, $ids); } public static function find($token) { return Configuration::gateway()->creditCard()->find($token); } public static function fromNonce($nonce) { return Configuration::gateway()->creditCard()->fromNonce($nonce); } public static function credit($token, $transactionAttribs) { return Configuration::gateway()->creditCard()->credit($token, $transactionAttribs); } public static function creditNoValidate($token, $transactionAttribs) { return Configuration::gateway()->creditCard()->creditNoValidate($token, $transactionAttribs); } public static function sale($token, $transactionAttribs) { return Configuration::gateway()->creditCard()->sale($token, $transactionAttribs); } public static function saleNoValidate($token, $transactionAttribs) { return Configuration::gateway()->creditCard()->saleNoValidate($token, $transactionAttribs); } public static function update($token, $attributes) { return Configuration::gateway()->creditCard()->update($token, $attributes); } public static function updateNoValidate($token, $attributes) { return Configuration::gateway()->creditCard()->updateNoValidate($token, $attributes); } public static function updateCreditCardUrl() { return Configuration::gateway()->creditCard()->updateCreditCardUrl(); } public static function updateFromTransparentRedirect($queryString) { return Configuration::gateway()->creditCard()->updateFromTransparentRedirect($queryString); } public static function delete($token) { return Configuration::gateway()->creditCard()->delete($token); } /** @return array */ public static function allCardTypes() { return [ CreditCard::AMEX, CreditCard::CARTE_BLANCHE, CreditCard::CHINA_UNION_PAY, CreditCard::DINERS_CLUB_INTERNATIONAL, CreditCard::DISCOVER, CreditCard::ELO, CreditCard::JCB, CreditCard::LASER, CreditCard::MAESTRO, CreditCard::MASTER_CARD, CreditCard::SOLO, CreditCard::SWITCH_TYPE, CreditCard::VISA, CreditCard::UNKNOWN ]; } } class_alias('Braintree\CreditCard', 'Braintree_CreditCard'); lib/braintree/lib/Braintree/TextNode.php000064400000000415147206617610014223 0ustar00searchTerms["contains"] = strval($value); return $this; } } class_alias('Braintree\TextNode', 'Braintree_TextNode'); lib/braintree/lib/Braintree/PayPalAccountGateway.php000064400000012344147206617610016522 0ustar00== More information == * * * @package Braintree * @category Resources */ class PayPalAccountGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /** * find a paypalAccount by token * * @access public * @param string $token paypal accountunique id * @return PayPalAccount * @throws Exception\NotFound */ public function find($token) { $this->_validateId($token); try { $path = $this->_config->merchantPath() . '/payment_methods/paypal_account/' . $token; $response = $this->_http->get($path); return PayPalAccount::factory($response['paypalAccount']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'paypal account with token ' . $token . ' not found' ); } } /** * updates the paypalAccount record * * if calling this method in context, $token * is the 2nd attribute. $token is not sent in object context. * * @access public * @param array $attributes * @param string $token (optional) * @return Result\Successful or Result\Error */ public function update($token, $attributes) { Util::verifyKeys(self::updateSignature(), $attributes); $this->_validateId($token); return $this->_doUpdate('put', '/payment_methods/paypal_account/' . $token, ['paypalAccount' => $attributes]); } public function delete($token) { $this->_validateId($token); $path = $this->_config->merchantPath() . '/payment_methods/paypal_account/' . $token; $this->_http->delete($path); return new Result\Successful(); } /** * create a new sale for the current PayPal account * * @param string $token * @param array $transactionAttribs * @return Result\Successful|Result\Error * @see Transaction::sale() */ public function sale($token, $transactionAttribs) { $this->_validateId($token); return Transaction::sale( array_merge( $transactionAttribs, ['paymentMethodToken' => $token] ) ); } public static function updateSignature() { return [ 'token', ['options' => ['makeDefault']] ]; } /** * sends the update request to the gateway * * @ignore * @param string $subPath * @param array $params * @return mixed */ private function _doUpdate($httpVerb, $subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->$httpVerb($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * generic method for validating incoming gateway responses * * creates a new PayPalAccount object and encapsulates * it inside a Result\Successful object, or * encapsulates a Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid. * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['paypalAccount'])) { // return a populated instance of PayPalAccount return new Result\Successful( PayPalAccount::factory($response['paypalAccount']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( 'Expected paypal account or apiErrorResponse' ); } } /** * verifies that a valid paypal account identifier is being used * @ignore * @param string $identifier * @param Optional $string $identifierType type of identifier supplied, default 'token' * @throws InvalidArgumentException */ private function _validateId($identifier = null, $identifierType = 'token') { if (empty($identifier)) { throw new InvalidArgumentException( 'expected paypal account id to be set' ); } if (!preg_match('/^[0-9A-Za-z_-]+$/', $identifier)) { throw new InvalidArgumentException( $identifier . ' is an invalid paypal account ' . $identifierType . '.' ); } } } class_alias('Braintree\PayPalAccountGateway', 'Braintree_PayPalAccountGateway'); lib/braintree/lib/Braintree/AchMandate.php000064400000002432147206617610014457 0ustar00_attributes) . ']'; } /** * sets instance properties from an array of values * * @ignore * @access protected * @param array $achAttribs array of achMandate data * @return void */ protected function _initialize($achAttribs) { // set the attributes $this->_attributes = $achAttribs; } /** * factory method: returns an instance of AchMandate * to the requesting method, with populated properties * @ignore * @return AchMandate */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } } class_alias('Braintree\AchMandate', 'Braintree_Mandate'); lib/braintree/lib/Braintree/PartnerMerchant.php000064400000001666147206617610015577 0ustar00_initialize($attributes); return $instance; } /** * @ignore */ protected function _initialize($attributes) { $this->_attributes = $attributes; } } class_alias('Braintree\PartnerMerchant', 'Braintree_PartnerMerchant'); lib/braintree/lib/Braintree/ApplePayOptions.php000064400000001151147206617610015556 0ustar00_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; } } class_alias('Braintree\ApplePayOptions', 'Braintree_ApplePayOptions'); lib/braintree/lib/Braintree/TransactionGateway.php000064400000051220147206617610016300 0ustar00== More information == * * For more detailed information on Transactions, see {@link https://developers.braintreepayments.com/reference/response/transaction/php https://developers.braintreepayments.com/reference/response/transaction/php} * * @package Braintree * @category Resources */ class TransactionGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function cloneTransaction($transactionId, $attribs) { Util::verifyKeys(self::cloneSignature(), $attribs); return $this->_doCreate('/transactions/' . $transactionId . '/clone', ['transactionClone' => $attribs]); } /** * @ignore * @access private * @param array $attribs * @return Result\Successful|Result\Error */ private function create($attribs) { Util::verifyKeys(self::createSignature(), $attribs); return $this->_doCreate('/transactions', ['transaction' => $attribs]); } /** * @ignore * @access private * @param array $attribs * @return object * @throws Exception\ValidationError */ private function createNoValidate($attribs) { $result = $this->create($attribs); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * * @deprecated since version 2.3.0 * @access public * @param array $attribs * @return object */ public function createFromTransparentRedirect($queryString) { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::confirm", E_USER_NOTICE); $params = TransparentRedirect::parseAndValidateQueryString( $queryString ); return $this->_doCreate( '/transactions/all/confirm_transparent_redirect_request', ['id' => $params['id']] ); } /** * * @deprecated since version 2.3.0 * @access public * @param none * @return string */ public function createTransactionUrl() { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::url", E_USER_NOTICE); return $this->_config->baseUrl() . $this->_config->merchantPath() . '/transactions/all/create_via_transparent_redirect_request'; } public static function cloneSignature() { return ['amount', 'channel', ['options' => ['submitForSettlement']]]; } /** * creates a full array signature of a valid gateway request * @return array gateway request signature format */ public static function createSignature() { return [ 'amount', 'billingAddressId', 'channel', 'customerId', 'deviceData', 'deviceSessionId', 'fraudMerchantId', 'merchantAccountId', 'orderId', 'paymentMethodNonce', 'paymentMethodToken', 'purchaseOrderNumber', 'recurring', 'serviceFeeAmount', 'sharedPaymentMethodToken', 'sharedPaymentMethodNonce', 'sharedCustomerId', 'sharedShippingAddressId', 'sharedBillingAddressId', 'shippingAddressId', 'taxAmount', 'taxExempt', 'threeDSecureToken', 'transactionSource', 'type', 'venmoSdkPaymentMethodCode', 'shippingAmount', 'discountAmount', 'shipsFromPostalCode', ['riskData' => ['customerBrowser', 'customerIp', 'customer_browser', 'customer_ip'] ], ['creditCard' => ['token', 'cardholderName', 'cvv', 'expirationDate', 'expirationMonth', 'expirationYear', 'number'], ], ['customer' => [ 'id', 'company', 'email', 'fax', 'firstName', 'lastName', 'phone', 'website'], ], ['billing' => [ 'firstName', 'lastName', 'company', 'countryName', 'countryCodeAlpha2', 'countryCodeAlpha3', 'countryCodeNumeric', 'extendedAddress', 'locality', 'postalCode', 'region', 'streetAddress'], ], ['shipping' => [ 'firstName', 'lastName', 'company', 'countryName', 'countryCodeAlpha2', 'countryCodeAlpha3', 'countryCodeNumeric', 'extendedAddress', 'locality', 'postalCode', 'region', 'streetAddress'], ], ['threeDSecurePassThru' => [ 'eciFlag', 'cavv', 'xid'], ], ['options' => [ 'holdInEscrow', 'storeInVault', 'storeInVaultOnSuccess', 'submitForSettlement', 'addBillingAddressToPaymentMethod', 'venmoSdkSession', 'storeShippingAddressInVault', 'payeeId', 'payeeEmail', 'skipAdvancedFraudChecking', 'skipAvs', 'skipCvv', ['creditCard' => ['accountType'] ], ['threeDSecure' => ['required'] ], # TODO: Snake case version included for backwards compatiblity. Remove in the next major version ['three_d_secure' => ['required'] ], ['paypal' => [ 'payeeId', 'payeeEmail', 'customField', 'description', ['supplementaryData' => ['_anyKey_']], ] ], ['amexRewards' => [ 'requestId', 'points', 'currencyAmount', 'currencyIsoCode' ] ], ['venmo' => [ # TODO: Snake case version included for backwards compatiblity. Remove in the next major version 'profile_id', 'profileId' ] ] ], ], ['customFields' => ['_anyKey_']], ['descriptor' => ['name', 'phone', 'url']], ['paypalAccount' => ['payeeId', 'payeeEmail', 'payerId', 'paymentId']], # TODO: Snake case version included for backwards compatiblity. Remove in the next major version ['apple_pay_card' => ['number', 'cardholder_name', 'cryptogram', 'expiration_month', 'expiration_year', 'eci_indicator']], ['applePayCard' => ['number', 'cardholderName', 'cryptogram', 'expirationMonth', 'expirationYear', 'eciIndicator']], ['industry' => ['industryType', ['data' => [ 'folioNumber', 'checkInDate', 'checkOutDate', 'travelPackage', 'departureDate', 'lodgingCheckInDate', 'lodgingCheckOutDate', 'lodgingName', 'roomRate', 'passengerFirstName', 'passengerLastName', 'passengerMiddleInitial', 'passengerTitle', 'issuedDate', 'travelAgencyName', 'travelAgencyCode', 'ticketNumber', 'issuingCarrierCode', 'customerCode', 'fareAmount', 'feeAmount', 'taxAmount', 'restrictedTicket', ['legs' => [ 'conjunctionTicket', 'exchangeTicket', 'couponNumber', 'serviceClass', 'carrierCode', 'fareBasisCode', 'flightNumber', 'departureDate', 'departureAirportCode', 'departureTime', 'arrivalAirportCode', 'arrivalTime', 'stopoverPermitted', 'fareAmount', 'feeAmount', 'taxAmount', 'endorsementOrRestrictions' ] ] ] ] ] ], ['lineItems' => ['quantity', 'name', 'description', 'kind', 'unitAmount', 'unitTaxAmount', 'totalAmount', 'discountAmount', 'taxAmount', 'unitOfMeasure', 'productCode', 'commodityCode', 'url']], ['externalVault' => ['status' , 'previousNetworkTransactionId'], ] ]; } public static function submitForSettlementSignature() { return ['orderId', ['descriptor' => ['name', 'phone', 'url']]]; } public static function updateDetailsSignature() { return ['amount', 'orderId', ['descriptor' => ['name', 'phone', 'url']]]; } public static function refundSignature() { return ['amount', 'orderId']; } /** * * @access public * @param array $attribs * @return Result\Successful|Result\Error */ public function credit($attribs) { return $this->create(array_merge($attribs, ['type' => Transaction::CREDIT])); } /** * * @access public * @param array $attribs * @return Result\Successful|Result\Error * @throws Exception\ValidationError */ public function creditNoValidate($attribs) { $result = $this->credit($attribs); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * @access public * @param string id * @return Transaction */ public function find($id) { $this->_validateId($id); try { $path = $this->_config->merchantPath() . '/transactions/' . $id; $response = $this->_http->get($path); return Transaction::factory($response['transaction']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'transaction with id ' . $id . ' not found' ); } } /** * new sale * @param array $attribs * @return Result\Successful|Result\Error */ public function sale($attribs) { return $this->create(array_merge(['type' => Transaction::SALE], $attribs)); } /** * roughly equivalent to the ruby bang method * @access public * @param array $attribs * @return array * @throws Exception\ValidationsFailed */ public function saleNoValidate($attribs) { $result = $this->sale($attribs); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * Returns a ResourceCollection of transactions matching the search query. * * If query is a string, the search will be a basic search. * If query is a hash, the search will be an advanced search. * For more detailed information and examples, see {@link https://developers.braintreepayments.com/reference/request/transaction/search/php https://developers.braintreepayments.com/reference/request/transaction/search/php} * * @param mixed $query search query * @param array $options options such as page number * @return ResourceCollection * @throws InvalidArgumentException */ public function search($query) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $path = $this->_config->merchantPath() . '/transactions/advanced_search_ids'; $response = $this->_http->post($path, ['search' => $criteria]); if (array_key_exists('searchResults', $response)) { $pager = [ 'object' => $this, 'method' => 'fetch', 'methodArgs' => [$query] ]; return new ResourceCollection($response, $pager); } else { throw new Exception\DownForMaintenance(); } } public function fetch($query, $ids) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $criteria["ids"] = TransactionSearch::ids()->in($ids)->toparam(); $path = $this->_config->merchantPath() . '/transactions/advanced_search'; $response = $this->_http->post($path, ['search' => $criteria]); if (array_key_exists('creditCardTransactions', $response)) { return Util::extractattributeasarray( $response['creditCardTransactions'], 'transaction' ); } else { throw new Exception\DownForMaintenance(); } } /** * void a transaction by id * * @param string $id transaction id * @return Result\Successful|Result\Error */ public function void($transactionId) { $this->_validateId($transactionId); $path = $this->_config->merchantPath() . '/transactions/'. $transactionId . '/void'; $response = $this->_http->put($path); return $this->_verifyGatewayResponse($response); } /** * */ public function voidNoValidate($transactionId) { $result = $this->void($transactionId); return Util::returnObjectOrThrowException(__CLASS__, $result); } public function submitForSettlement($transactionId, $amount = null, $attribs = []) { $this->_validateId($transactionId); Util::verifyKeys(self::submitForSettlementSignature(), $attribs); $attribs['amount'] = $amount; $path = $this->_config->merchantPath() . '/transactions/'. $transactionId . '/submit_for_settlement'; $response = $this->_http->put($path, ['transaction' => $attribs]); return $this->_verifyGatewayResponse($response); } public function submitForSettlementNoValidate($transactionId, $amount = null, $attribs = []) { $result = $this->submitForSettlement($transactionId, $amount, $attribs); return Util::returnObjectOrThrowException(__CLASS__, $result); } public function updateDetails($transactionId, $attribs = []) { $this->_validateId($transactionId); Util::verifyKeys(self::updateDetailsSignature(), $attribs); $path = $this->_config->merchantPath() . '/transactions/'. $transactionId . '/update_details'; $response = $this->_http->put($path, ['transaction' => $attribs]); return $this->_verifyGatewayResponse($response); } public function submitForPartialSettlement($transactionId, $amount, $attribs = []) { $this->_validateId($transactionId); Util::verifyKeys(self::submitForSettlementSignature(), $attribs); $attribs['amount'] = $amount; $path = $this->_config->merchantPath() . '/transactions/'. $transactionId . '/submit_for_partial_settlement'; $response = $this->_http->post($path, ['transaction' => $attribs]); return $this->_verifyGatewayResponse($response); } public function holdInEscrow($transactionId) { $this->_validateId($transactionId); $path = $this->_config->merchantPath() . '/transactions/' . $transactionId . '/hold_in_escrow'; $response = $this->_http->put($path, []); return $this->_verifyGatewayResponse($response); } public function releaseFromEscrow($transactionId) { $this->_validateId($transactionId); $path = $this->_config->merchantPath() . '/transactions/' . $transactionId . '/release_from_escrow'; $response = $this->_http->put($path, []); return $this->_verifyGatewayResponse($response); } public function cancelRelease($transactionId) { $this->_validateId($transactionId); $path = $this->_config->merchantPath() . '/transactions/' . $transactionId . '/cancel_release'; $response = $this->_http->put($path, []); return $this->_verifyGatewayResponse($response); } public function refund($transactionId, $amount_or_options = null) { self::_validateId($transactionId); if(gettype($amount_or_options) == "array") { $options = $amount_or_options; } else { $options = [ "amount" => $amount_or_options ]; } Util::verifyKeys(self::refundSignature(), $options); $params = ['transaction' => $options]; $path = $this->_config->merchantPath() . '/transactions/' . $transactionId . '/refund'; $response = $this->_http->post($path, $params); return $this->_verifyGatewayResponse($response); } /** * sends the create request to the gateway * * @ignore * @param var $subPath * @param array $params * @return Result\Successful|Result\Error */ public function _doCreate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * verifies that a valid transaction id is being used * @ignore * @param string transaction id * @throws InvalidArgumentException */ private function _validateId($id = null) { if (empty($id)) { throw new InvalidArgumentException( 'expected transaction id to be set' ); } if (!preg_match('/^[0-9a-z]+$/', $id)) { throw new InvalidArgumentException( $id . ' is an invalid transaction id.' ); } } /** * generic method for validating incoming gateway responses * * creates a new Transaction object and encapsulates * it inside a Result\Successful object, or * encapsulates a Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid. * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['transaction'])) { // return a populated instance of Transaction return new Result\Successful( Transaction::factory($response['transaction']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected transaction or apiErrorResponse" ); } } } class_alias('Braintree\TransactionGateway', 'Braintree_TransactionGateway'); lib/braintree/lib/Braintree/EndsWithNode.php000064400000000714147206617610015026 0ustar00name = $name; $this->searchTerms = []; } public function endsWith($value) { $this->searchTerms["ends_with"] = strval($value); return $this; } public function toParam() { return $this->searchTerms; } } class_alias('Braintree\EndsWithNode', 'Braintree_EndsWithNode'); lib/braintree/lib/Braintree/Digest.php000064400000003177147206617610013720 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasClientCredentials(); $this->_http = new Http($gateway->config); $this->_http->useClientCredentials(); } public function create($attribs) { $response = $this->_http->post('/merchants/create_via_api', ['merchant' => $attribs]); return $this->_verifyGatewayResponse($response); } private function _verifyGatewayResponse($response) { if (isset($response['response']['merchant'])) { // return a populated instance of merchant return new Result\Successful([ Merchant::factory($response['response']['merchant']), OAuthCredentials::factory($response['response']['credentials']), ]); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected merchant or apiErrorResponse" ); } } } class_alias('Braintree\MerchantGateway', 'Braintree_MerchantGateway'); lib/braintree/lib/Braintree/Test/TransactionAmounts.php000064400000001016147206617610017242 0ustar00testing()->settle($transactionId); } /** * settlement confirm a transaction by id in sandbox * * @param string $id transaction id * @param Configuration $config gateway config * @return Transaction */ public static function settlementConfirm($transactionId) { return Configuration::gateway()->testing()->settlementConfirm($transactionId); } /** * settlement decline a transaction by id in sandbox * * @param string $id transaction id * @param Configuration $config gateway config * @return Transaction */ public static function settlementDecline($transactionId) { return Configuration::gateway()->testing()->settlementDecline($transactionId); } /** * settlement pending a transaction by id in sandbox * * @param string $id transaction id * @param Configuration $config gateway config * @return Transaction */ public static function settlementPending($transactionId) { return Configuration::gateway()->testing()->settlementPending($transactionId); } } class_alias('Braintree\Test\Transaction', 'Braintree_Test_Transaction'); lib/braintree/lib/Braintree/Test/VenmoSdk.php000064400000001345147206617610015141 0ustar00 '378734493671000', 'Discover' => '6011000990139424', 'MasterCard' => '5105105105105100', 'Visa' => '4000111111111115', ]; public static $amexPayWithPoints = [ 'Success' => "371260714673002", 'IneligibleCard' => "378267515471109", 'InsufficientPoints' => "371544868764018", ]; public static $disputes = [ 'Chargeback' => '4023898493988028', ]; public static function getAll() { return array_merge( self::$amExes, self::$discoverCards, self::$eloCards, self::$masterCards, self::$visas ); } } class_alias('Braintree\Test\CreditCardNumbers', 'Braintree_Test_CreditCardNumbers'); lib/braintree/lib/Braintree/Test/Nonces.php000064400000010773147206617610014645 0ustar00_attributes = $attribs; $merchantAccountArray = []; if (isset($attribs['merchantAccounts'])) { foreach ($attribs['merchantAccounts'] AS $merchantAccount) { $merchantAccountArray[] = MerchantAccount::factory($merchantAccount); } } $this->_set('merchantAccounts', $merchantAccountArray); } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /** * returns a string representation of the merchant * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } } class_alias('Braintree\Merchant', 'Braintree_Merchant'); lib/braintree/lib/Braintree/ConnectedMerchantStatusTransitioned.php000064400000001611147206617610021644 0ustar00_initialize($attributes); $instance->_attributes['merchantId'] = $instance->_attributes['merchantPublicId']; return $instance; } /** * @ignore */ protected function _initialize($attributes) { $this->_attributes = $attributes; } } class_alias('Braintree\ConnectedMerchantStatusTransitioned', 'Braintree_ConnectedMerchantStatusTransitioned'); lib/braintree/lib/Braintree/WebhookNotification.php000064400000014332147206617610016441 0ustar00webhookNotification()->parse($signature, $payload); } public static function verify($challenge) { return Configuration::gateway()->webhookNotification()->verify($challenge); } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; if (!isset($attributes['sourceMerchantId'])) { $this->_set('sourceMerchantId', null); } if (isset($attributes['subject']['apiErrorResponse'])) { $wrapperNode = $attributes['subject']['apiErrorResponse']; } else { $wrapperNode = $attributes['subject']; } if (isset($wrapperNode['subscription'])) { $this->_set('subscription', Subscription::factory($attributes['subject']['subscription'])); } if (isset($wrapperNode['merchantAccount'])) { $this->_set('merchantAccount', MerchantAccount::factory($wrapperNode['merchantAccount'])); } if (isset($wrapperNode['transaction'])) { $this->_set('transaction', Transaction::factory($wrapperNode['transaction'])); } if (isset($wrapperNode['disbursement'])) { $this->_set('disbursement', Disbursement::factory($wrapperNode['disbursement'])); } if (isset($wrapperNode['partnerMerchant'])) { $this->_set('partnerMerchant', PartnerMerchant::factory($wrapperNode['partnerMerchant'])); } if (isset($wrapperNode['oauthApplicationRevocation'])) { $this->_set('oauthAccessRevocation', OAuthAccessRevocation::factory($wrapperNode['oauthApplicationRevocation'])); } if (isset($wrapperNode['connectedMerchantStatusTransitioned'])) { $this->_set('connectedMerchantStatusTransitioned', ConnectedMerchantStatusTransitioned::factory($wrapperNode['connectedMerchantStatusTransitioned'])); } if (isset($wrapperNode['connectedMerchantPaypalStatusChanged'])) { $this->_set('connectedMerchantPayPalStatusChanged', ConnectedMerchantPayPalStatusChanged::factory($wrapperNode['connectedMerchantPaypalStatusChanged'])); } if (isset($wrapperNode['dispute'])) { $this->_set('dispute', Dispute::factory($wrapperNode['dispute'])); } if (isset($wrapperNode['accountUpdaterDailyReport'])) { $this->_set('accountUpdaterDailyReport', AccountUpdaterDailyReport::factory($wrapperNode['accountUpdaterDailyReport'])); } if (isset($wrapperNode['idealPayment'])) { $this->_set('idealPayment', IdealPayment::factory($wrapperNode['idealPayment'])); } if (isset($wrapperNode['grantedPaymentInstrumentUpdate'])) { $this->_set('grantedPaymentInstrumentUpdate', GrantedPaymentInstrumentUpdate::factory($wrapperNode['grantedPaymentInstrumentUpdate'])); } if ($attributes['kind'] == self::GRANTED_PAYMENT_METHOD_REVOKED) { $this->_set('revokedPaymentMethodMetadata', RevokedPaymentMethodMetadata::factory($wrapperNode)); } if (isset($wrapperNode['localPayment'])) { $this->_set('localPaymentCompleted', LocalPaymentCompleted::factory($wrapperNode['localPayment'])); } if (isset($wrapperNode['errors'])) { $this->_set('errors', new Error\ValidationErrorCollection($wrapperNode['errors'])); $this->_set('message', $wrapperNode['message']); } } } class_alias('Braintree\WebhookNotification', 'Braintree_WebhookNotification'); lib/braintree/lib/Braintree/TransactionLineItemGateway.php000064400000003644147206617610017736 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /** * @access public * @param string id * @return Transaction */ public function findAll($id) { $this->_validateId($id); try { $path = $this->_config->merchantPath() . '/transactions/' . $id . '/line_items'; $response = $this->_http->get($path); $lineItems = []; if (isset($response['lineItems'])) { foreach ($response['lineItems'] AS $lineItem) { $lineItems[] = new TransactionLineItem($lineItem); } } return $lineItems; } catch (Exception\NotFound $e) { throw new Exception\NotFound('transaction line items with id ' . $id . ' not found'); } } /** * verifies that a valid transaction id is being used * @ignore * @param string transaction id * @throws InvalidArgumentException */ private function _validateId($id = null) { if (empty($id)) { throw new InvalidArgumentException('expected transaction id to be set'); } if (!preg_match('/^[0-9a-z]+$/', $id)) { throw new InvalidArgumentException($id . ' is an invalid transaction id.'); } } } class_alias('Braintree\TransactionLineItemGateway', 'Braintree_TransactionLineItemGateway'); lib/braintree/lib/Braintree/AmexExpressCheckoutCard.php000064400000004546147206617610017226 0ustar00== More information == * * See {@link https://developers.braintreepayments.com/javascript+php}
* * @package Braintree * @category Resources * * @property-read string $bin * @property-read string $cardMemberExpiryDate * @property-read string $cardMemberNumber * @property-read string $cardType * @property-read \DateTime $createdAt * @property-read string $customerId * @property-read boolean $default * @property-read string $expirationMonth * @property-read string $expirationYear * @property-read string $imageUrl * @property-read string $token * @property-read string $sourceDescription * @property-read \Braintree\Subscription[] $subscriptions * @property-read \DateTime $updatedAt */ class AmexExpressCheckoutCard extends Base { /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * factory method: returns an instance of AmexExpressCheckoutCard * to the requesting method, with populated properties * * @ignore * @return AmexExpressCheckoutCard */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /** * sets instance properties from an array of values * * @access protected * @param array $amexExpressCheckoutCardAttribs array of Amex Express Checkout card properties * @return void */ protected function _initialize($amexExpressCheckoutCardAttribs) { // set the attributes $this->_attributes = $amexExpressCheckoutCardAttribs; $subscriptionArray = []; if (isset($amexExpressCheckoutCardAttribs['subscriptions'])) { foreach ($amexExpressCheckoutCardAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); } } class_alias('Braintree\AmexExpressCheckoutCard', 'Braintree_AmexExpressCheckoutCard'); lib/braintree/lib/Braintree/WebhookNotificationGateway.php000064400000005041147206617610017760 0ustar00config = $gateway->config; $this->config->assertHasAccessTokenOrKeys(); } public function parse($signature, $payload) { if (is_null($signature)) { throw new Exception\InvalidSignature("signature cannot be null"); } if (is_null($payload)) { throw new Exception\InvalidSignature("payload cannot be null"); } if (preg_match("/[^A-Za-z0-9+=\/\n]/", $payload) === 1) { throw new Exception\InvalidSignature("payload contains illegal characters"); } self::_validateSignature($signature, $payload); $xml = base64_decode($payload); $attributes = Xml::buildArrayFromXml($xml); return WebhookNotification::factory($attributes['notification']); } public function verify($challenge) { if (!preg_match('/^[a-f0-9]{20,32}$/', $challenge)) { throw new Exception\InvalidChallenge("challenge contains non-hex characters"); } $publicKey = $this->config->getPublicKey(); $digest = Digest::hexDigestSha1($this->config->getPrivateKey(), $challenge); return "{$publicKey}|{$digest}"; } private function _payloadMatches($signature, $payload) { $payloadSignature = Digest::hexDigestSha1($this->config->getPrivateKey(), $payload); return Digest::secureCompare($signature, $payloadSignature); } private function _validateSignature($signatureString, $payload) { $signaturePairs = preg_split("/&/", $signatureString); $signature = self::_matchingSignature($signaturePairs); if (!$signature) { throw new Exception\InvalidSignature("no matching public key"); } if (!(self::_payloadMatches($signature, $payload) || self::_payloadMatches($signature, $payload . "\n"))) { throw new Exception\InvalidSignature("signature does not match payload - one has been modified"); } } private function _matchingSignature($signaturePairs) { foreach ($signaturePairs as $pair) { $components = preg_split("/\|/", $pair); if ($components[0] == $this->config->getPublicKey()) { return $components[1]; } } return null; } } class_alias('Braintree\WebhookNotificationGateway', 'Braintree_WebhookNotificationGateway'); lib/braintree/lib/Braintree/MerchantAccount.php000064400000005176147206617610015560 0ustar00_initialize($attributes); return $instance; } protected function _initialize($merchantAccountAttribs) { $this->_attributes = $merchantAccountAttribs; if (isset($merchantAccountAttribs['individual'])) { $individual = $merchantAccountAttribs['individual']; $this->_set('individualDetails', MerchantAccount\IndividualDetails::Factory($individual)); } if (isset($merchantAccountAttribs['business'])) { $business = $merchantAccountAttribs['business']; $this->_set('businessDetails', MerchantAccount\BusinessDetails::Factory($business)); } if (isset($merchantAccountAttribs['funding'])) { $funding = $merchantAccountAttribs['funding']; $this->_set('fundingDetails', new MerchantAccount\FundingDetails($funding)); } if (isset($merchantAccountAttribs['masterMerchantAccount'])) { $masterMerchantAccount = $merchantAccountAttribs['masterMerchantAccount']; $this->_set('masterMerchantAccount', self::Factory($masterMerchantAccount)); } } // static methods redirecting to gateway public static function create($attribs) { return Configuration::gateway()->merchantAccount()->create($attribs); } public static function find($merchant_account_id) { return Configuration::gateway()->merchantAccount()->find($merchant_account_id); } public static function update($merchant_account_id, $attributes) { return Configuration::gateway()->merchantAccount()->update($merchant_account_id, $attributes); } } class_alias('Braintree\MerchantAccount', 'Braintree_MerchantAccount'); lib/braintree/lib/Braintree/Descriptor.php000064400000000360147206617610014606 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function registerDomain($domain) { $path = $this->_config->merchantPath() . '/processing/apple_pay/validate_domains'; $response = $this->_http->post($path, ['url' => $domain]); if (array_key_exists('response', $response) && $response['response']['success']) { return new Result\Successful; } else if (array_key_exists('apiErrorResponse', $response)) { return new Result\Error($response['apiErrorResponse']); } } public function unregisterDomain($domain) { $path = $this->_config->merchantPath() . '/processing/apple_pay/unregister_domain'; $this->_http->delete($path, ['url' => $domain]); return new Result\Successful; } public function registeredDomains() { $path = $this->_config->merchantPath() . '/processing/apple_pay/registered_domains'; $response = $this->_http->get($path); if (array_key_exists('response', $response) && array_key_exists('domains', $response['response'])) { $options = ApplePayOptions::factory($response['response']); return new Result\Successful($options, 'applePayOptions'); } else if (array_key_exists('apiErrorResponse', $response)) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected('expected response or apiErrorResponse'); } } } class_alias('Braintree\ApplePayGateway', 'Braintree_ApplePayGateway'); lib/braintree/lib/Braintree/IsNode.php000064400000000657147206617610013662 0ustar00name = $name; $this->searchTerms = []; } public function is($value) { $this->searchTerms['is'] = strval($value); return $this; } public function toParam() { return $this->searchTerms; } } class_alias('Braintree\IsNode', 'Braintree_IsNode'); lib/braintree/lib/Braintree/ClientToken.php000064400000002256147206617610014715 0ustar00clientToken()->generate($params); } /** * * @param type $params * @throws InvalidArgumentException */ public static function conditionallyVerifyKeys($params) { return Configuration::gateway()->clientToken()->conditionallyVerifyKeys($params); } /** * * @return string client token retrieved from server */ public static function generateWithCustomerIdSignature() { return Configuration::gateway()->clientToken()->generateWithCustomerIdSignature(); } /** * * @return string client token retrieved from server */ public static function generateWithoutCustomerIdSignature() { return Configuration::gateway()->clientToken()->generateWithoutCustomerIdSignature(); } } class_alias('Braintree\ClientToken', 'Braintree_ClientToken'); lib/braintree/lib/Braintree/DisbursementDetails.php000064400000001266147206617610016450 0ustar00disbursementDate); } } class_alias('Braintree\DisbursementDetails', 'Braintree_DisbursementDetails'); lib/braintree/lib/Braintree/PartialMatchNode.php000064400000000656147206617610015657 0ustar00searchTerms["starts_with"] = strval($value); return $this; } public function endsWith($value) { $this->searchTerms["ends_with"] = strval($value); return $this; } } class_alias('Braintree\PartialMatchNode', 'Braintree_PartialMatchNode'); lib/braintree/lib/Braintree/PayPalAccount.php000064400000005712147206617610015201 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read string $billingAgreementId * @property-read \DateTime $createdAt * @property-read string $customerId * @property-read boolean $default * @property-read string $email * @property-read string $imageUrl * @property-read string $payerId * @property-read \Braintree\Subscription[] $subscriptions * @property-read string $token * @property-read \DateTime $updatedAt */ class PayPalAccount extends Base { /** * factory method: returns an instance of PayPalAccount * to the requesting method, with populated properties * * @ignore * @return PayPalAccount */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * sets instance properties from an array of values * * @access protected * @param array $paypalAccountAttribs array of paypalAccount data * @return void */ protected function _initialize($paypalAccountAttribs) { // set the attributes $this->_attributes = $paypalAccountAttribs; $subscriptionArray = []; if (isset($paypalAccountAttribs['subscriptions'])) { foreach ($paypalAccountAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } // static methods redirecting to gateway public static function find($token) { return Configuration::gateway()->payPalAccount()->find($token); } public static function update($token, $attributes) { return Configuration::gateway()->payPalAccount()->update($token, $attributes); } public static function delete($token) { return Configuration::gateway()->payPalAccount()->delete($token); } public static function sale($token, $transactionAttribs) { return Configuration::gateway()->payPalAccount()->sale($token, $transactionAttribs); } } class_alias('Braintree\PayPalAccount', 'Braintree_PayPalAccount'); lib/braintree/lib/Braintree/Disbursement.php000064400000003426147206617610015142 0ustar00_attributes = $disbursementAttribs; $this->merchantAccountDetails = $disbursementAttribs['merchantAccount']; if (isset($disbursementAttribs['merchantAccount'])) { $this->_set('merchantAccount', MerchantAccount::factory($disbursementAttribs['merchantAccount']) ); } } public function transactions() { $collection = Transaction::search([ TransactionSearch::ids()->in($this->transactionIds), ]); return $collection; } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } public function __toString() { $display = [ 'id', 'merchantAccountDetails', 'exceptionMessage', 'amount', 'disbursementDate', 'followUpAction', 'retry', 'success', 'transactionIds', 'disbursementType' ]; $displayAttributes = []; foreach ($display AS $attrib) { $displayAttributes[$attrib] = $this->$attrib; } return __CLASS__ . '[' . Util::attributesToString($displayAttributes) .']'; } public function isDebit() { return $this->disbursementType == Disbursement::TYPE_DEBIT; } public function isCredit() { return $this->disbursementType == Disbursement::TYPE_CREDIT; } } class_alias('Braintree\Disbursement', 'Braintree_Disbursement'); lib/braintree/lib/Braintree/MultipleValueNode.php000064400000001662147206617610016074 0ustar00name = $name; $this->items = []; $this->allowedValues = $allowedValues; } public function in($values) { $bad_values = array_diff($values, $this->allowedValues); if (count($this->allowedValues) > 0 && count($bad_values) > 0) { $message = 'Invalid argument(s) for ' . $this->name . ':'; foreach ($bad_values AS $bad_value) { $message .= ' ' . $bad_value; } throw new InvalidArgumentException($message); } $this->items = $values; return $this; } public function is($value) { return $this->in([$value]); } public function toParam() { return $this->items; } } class_alias('Braintree\MultipleValueNode', 'Braintree_MultipleValueNode'); lib/braintree/lib/Braintree/IbanBankAccount.php000064400000002700147206617610015452 0ustar00_attributes) . ']'; } /** * sets instance properties from an array of values * * @ignore * @access protected * @param array $ibanAttribs array of ibanBankAccount data * @return void */ protected function _initialize($ibanAttribs) { // set the attributes $this->_attributes = $ibanAttribs; } /** * factory method: returns an instance of IbanBankAccount * to the requesting method, with populated properties * @ignore * @return IbanBankAccount */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } } class_alias('Braintree\IbanBankAccount', 'Braintree_IbanBankAccount'); lib/braintree/lib/Braintree/SubscriptionGateway.php000064400000017121147206617610016501 0ustar00== More information == * * For more detailed information on Subscriptions, see {@link https://developers.braintreepayments.com/reference/response/subscription/php https://developers.braintreepayments.com/reference/response/subscription/php} * * PHP Version 5 * * @package Braintree */ class SubscriptionGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function create($attributes) { Util::verifyKeys(self::_createSignature(), $attributes); $path = $this->_config->merchantPath() . '/subscriptions'; $response = $this->_http->post($path, ['subscription' => $attributes]); return $this->_verifyGatewayResponse($response); } public function find($id) { $this->_validateId($id); try { $path = $this->_config->merchantPath() . '/subscriptions/' . $id; $response = $this->_http->get($path); return Subscription::factory($response['subscription']); } catch (Exception\NotFound $e) { throw new Exception\NotFound('subscription with id ' . $id . ' not found'); } } public function search($query) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $path = $this->_config->merchantPath() . '/subscriptions/advanced_search_ids'; $response = $this->_http->post($path, ['search' => $criteria]); $pager = [ 'object' => $this, 'method' => 'fetch', 'methodArgs' => [$query] ]; return new ResourceCollection($response, $pager); } public function fetch($query, $ids) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $criteria["ids"] = SubscriptionSearch::ids()->in($ids)->toparam(); $path = $this->_config->merchantPath() . '/subscriptions/advanced_search'; $response = $this->_http->post($path, ['search' => $criteria]); return Util::extractAttributeAsArray( $response['subscriptions'], 'subscription' ); } public function update($subscriptionId, $attributes) { Util::verifyKeys(self::_updateSignature(), $attributes); $path = $this->_config->merchantPath() . '/subscriptions/' . $subscriptionId; $response = $this->_http->put($path, ['subscription' => $attributes]); return $this->_verifyGatewayResponse($response); } public function retryCharge($subscriptionId, $amount = null, $submitForSettlement = false) { $transaction_params = ['type' => Transaction::SALE, 'subscriptionId' => $subscriptionId]; if (isset($amount)) { $transaction_params['amount'] = $amount; } if ($submitForSettlement) { $transaction_params['options'] = ['submitForSettlement' => $submitForSettlement]; } $path = $this->_config->merchantPath() . '/transactions'; $response = $this->_http->post($path, ['transaction' => $transaction_params]); return $this->_verifyGatewayResponse($response); } public function cancel($subscriptionId) { $path = $this->_config->merchantPath() . '/subscriptions/' . $subscriptionId . '/cancel'; $response = $this->_http->put($path); return $this->_verifyGatewayResponse($response); } private static function _createSignature() { return array_merge( [ 'billingDayOfMonth', 'firstBillingDate', 'createdAt', 'updatedAt', 'id', 'merchantAccountId', 'neverExpires', 'numberOfBillingCycles', 'paymentMethodToken', 'paymentMethodNonce', 'planId', 'price', 'trialDuration', 'trialDurationUnit', 'trialPeriod', ['descriptor' => ['name', 'phone', 'url']], ['options' => [ 'doNotInheritAddOnsOrDiscounts', 'startImmediately', ['paypal' => ['description']] ]], ], self::_addOnDiscountSignature() ); } private static function _updateSignature() { return array_merge( [ 'merchantAccountId', 'numberOfBillingCycles', 'paymentMethodToken', 'planId', 'paymentMethodNonce', 'id', 'neverExpires', 'price', ['descriptor' => ['name', 'phone', 'url']], ['options' => [ 'prorateCharges', 'replaceAllAddOnsAndDiscounts', 'revertSubscriptionOnProrationFailure', ['paypal' => ['description']] ]], ], self::_addOnDiscountSignature() ); } private static function _addOnDiscountSignature() { return [ [ 'addOns' => [ ['add' => ['amount', 'inheritedFromId', 'neverExpires', 'numberOfBillingCycles', 'quantity']], ['update' => ['amount', 'existingId', 'neverExpires', 'numberOfBillingCycles', 'quantity']], ['remove' => ['_anyKey_']], ] ], [ 'discounts' => [ ['add' => ['amount', 'inheritedFromId', 'neverExpires', 'numberOfBillingCycles', 'quantity']], ['update' => ['amount', 'existingId', 'neverExpires', 'numberOfBillingCycles', 'quantity']], ['remove' => ['_anyKey_']], ] ] ]; } /** * @ignore */ private function _validateId($id = null) { if (empty($id)) { throw new InvalidArgumentException( 'expected subscription id to be set' ); } if (!preg_match('/^[0-9A-Za-z_-]+$/', $id)) { throw new InvalidArgumentException( $id . ' is an invalid subscription id.' ); } } /** * @ignore */ private function _verifyGatewayResponse($response) { if (isset($response['subscription'])) { return new Result\Successful( Subscription::factory($response['subscription']) ); } else if (isset($response['transaction'])) { // return a populated instance of Transaction, for subscription retryCharge return new Result\Successful( Transaction::factory($response['transaction']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected subscription, transaction, or apiErrorResponse" ); } } } class_alias('Braintree\SubscriptionGateway', 'Braintree_SubscriptionGateway'); lib/braintree/lib/Braintree/CreditCardGateway.php000064400000036647147206617610016037 0ustar00== More information == * * For more detailed information on CreditCards, see {@link https://developers.braintreepayments.com/reference/response/credit-card/php https://developers.braintreepayments.com/reference/response/credit-card/php}
* For more detailed information on CreditCard verifications, see {@link https://developers.braintreepayments.com/reference/response/credit-card-verification/php https://developers.braintreepayments.com/reference/response/credit-card-verification/php} * * @package Braintree * @category Resources */ class CreditCardGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function create($attribs) { Util::verifyKeys(self::createSignature(), $attribs); return $this->_doCreate('/payment_methods', ['credit_card' => $attribs]); } /** * attempts the create operation assuming all data will validate * returns a CreditCard object instead of a Result * * @access public * @param array $attribs * @return CreditCard * @throws Exception\ValidationError */ public function createNoValidate($attribs) { $result = $this->create($attribs); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * create a customer from a TransparentRedirect operation * * @deprecated since version 2.3.0 * @access public * @param array $attribs * @return Result\Successful|Result\Error */ public function createFromTransparentRedirect($queryString) { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::confirm", E_USER_NOTICE); $params = TransparentRedirect::parseAndValidateQueryString( $queryString ); return $this->_doCreate( '/payment_methods/all/confirm_transparent_redirect_request', ['id' => $params['id']] ); } /** * * @deprecated since version 2.3.0 * @access public * @param none * @return string */ public function createCreditCardUrl() { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::url", E_USER_NOTICE); return $this->_config->baseUrl() . $this->_config->merchantPath(). '/payment_methods/all/create_via_transparent_redirect_request'; } /** * returns a ResourceCollection of expired credit cards * @return ResourceCollection */ public function expired() { $path = $this->_config->merchantPath() . '/payment_methods/all/expired_ids'; $response = $this->_http->post($path); $pager = [ 'object' => $this, 'method' => 'fetchExpired', 'methodArgs' => [] ]; return new ResourceCollection($response, $pager); } public function fetchExpired($ids) { $path = $this->_config->merchantPath() . "/payment_methods/all/expired"; $response = $this->_http->post($path, ['search' => ['ids' => $ids]]); return Util::extractattributeasarray( $response['paymentMethods'], 'creditCard' ); } /** * returns a ResourceCollection of credit cards expiring between start/end * * @return ResourceCollection */ public function expiringBetween($startDate, $endDate) { $queryPath = $this->_config->merchantPath() . '/payment_methods/all/expiring_ids?start=' . date('mY', $startDate) . '&end=' . date('mY', $endDate); $response = $this->_http->post($queryPath); $pager = [ 'object' => $this, 'method' => 'fetchExpiring', 'methodArgs' => [$startDate, $endDate] ]; return new ResourceCollection($response, $pager); } public function fetchExpiring($startDate, $endDate, $ids) { $queryPath = $this->_config->merchantPath() . '/payment_methods/all/expiring?start=' . date('mY', $startDate) . '&end=' . date('mY', $endDate); $response = $this->_http->post($queryPath, ['search' => ['ids' => $ids]]); return Util::extractAttributeAsArray( $response['paymentMethods'], 'creditCard' ); } /** * find a creditcard by token * * @access public * @param string $token credit card unique id * @return CreditCard * @throws Exception\NotFound */ public function find($token) { $this->_validateId($token); try { $path = $this->_config->merchantPath() . '/payment_methods/credit_card/' . $token; $response = $this->_http->get($path); return CreditCard::factory($response['creditCard']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'credit card with token ' . $token . ' not found' ); } } /** * Convert a payment method nonce to a credit card * * @access public * @param string $nonce payment method nonce * @return CreditCard * @throws Exception\NotFound */ public function fromNonce($nonce) { $this->_validateId($nonce, "nonce"); try { $path = $this->_config->merchantPath() . '/payment_methods/from_nonce/' . $nonce; $response = $this->_http->get($path); return CreditCard::factory($response['creditCard']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'credit card with nonce ' . $nonce . ' locked, consumed or not found' ); } } /** * create a credit on the card for the passed transaction * * @access public * @param array $attribs * @return Result\Successful|Result\Error */ public function credit($token, $transactionAttribs) { $this->_validateId($token); return Transaction::credit( array_merge( $transactionAttribs, ['paymentMethodToken' => $token] ) ); } /** * create a credit on this card, assuming validations will pass * * returns a Transaction object on success * * @access public * @param array $attribs * @return Transaction * @throws Exception\ValidationError */ public function creditNoValidate($token, $transactionAttribs) { $result = $this->credit($token, $transactionAttribs); return Util::returnObjectOrThrowException('Braintree\Transaction', $result); } /** * create a new sale for the current card * * @param string $token * @param array $transactionAttribs * @return Result\Successful|Result\Error * @see Transaction::sale() */ public function sale($token, $transactionAttribs) { $this->_validateId($token); return Transaction::sale( array_merge( $transactionAttribs, ['paymentMethodToken' => $token] ) ); } /** * create a new sale using this card, assuming validations will pass * * returns a Transaction object on success * * @access public * @param array $transactionAttribs * @param string $token * @return Transaction * @throws Exception\ValidationsFailed * @see Transaction::sale() */ public function saleNoValidate($token, $transactionAttribs) { $result = $this->sale($token, $transactionAttribs); return Util::returnObjectOrThrowException('Braintree\Transaction', $result); } /** * updates the creditcard record * * if calling this method in context, $token * is the 2nd attribute. $token is not sent in object context. * * @access public * @param array $attributes * @param string $token (optional) * @return Result\Successful|Result\Error */ public function update($token, $attributes) { Util::verifyKeys(self::updateSignature(), $attributes); $this->_validateId($token); return $this->_doUpdate('put', '/payment_methods/credit_card/' . $token, ['creditCard' => $attributes]); } /** * update a creditcard record, assuming validations will pass * * if calling this method in context, $token * is the 2nd attribute. $token is not sent in object context. * returns a CreditCard object on success * * @access public * @param array $attributes * @param string $token * @return CreditCard * @throws Exception\ValidationsFailed */ public function updateNoValidate($token, $attributes) { $result = $this->update($token, $attributes); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * * @access public * @param none * @return string */ public function updateCreditCardUrl() { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::url", E_USER_NOTICE); return $this->_config->baseUrl() . $this->_config->merchantPath() . '/payment_methods/all/update_via_transparent_redirect_request'; } /** * update a customer from a TransparentRedirect operation * * @deprecated since version 2.3.0 * @access public * @param array $attribs * @return object */ public function updateFromTransparentRedirect($queryString) { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::confirm", E_USER_NOTICE); $params = TransparentRedirect::parseAndValidateQueryString( $queryString ); return $this->_doUpdate( 'post', '/payment_methods/all/confirm_transparent_redirect_request', ['id' => $params['id']] ); } public function delete($token) { $this->_validateId($token); $path = $this->_config->merchantPath() . '/payment_methods/credit_card/' . $token; $this->_http->delete($path); return new Result\Successful(); } private static function baseOptions() { return ['makeDefault', 'verificationMerchantAccountId', 'verifyCard', 'verificationAmount', 'verificationAccountType', 'venmoSdkSession']; } private static function baseSignature($options) { return [ 'billingAddressId', 'cardholderName', 'cvv', 'number', 'deviceSessionId', 'expirationDate', 'expirationMonth', 'expirationYear', 'token', 'venmoSdkPaymentMethodCode', 'deviceData', 'fraudMerchantId', 'paymentMethodNonce', ['options' => $options], [ 'billingAddress' => self::billingAddressSignature() ], ]; } public static function billingAddressSignature() { return [ 'firstName', 'lastName', 'company', 'countryCodeAlpha2', 'countryCodeAlpha3', 'countryCodeNumeric', 'countryName', 'extendedAddress', 'locality', 'region', 'postalCode', 'streetAddress' ]; } public static function createSignature() { $options = self::baseOptions(); $options[] = "failOnDuplicatePaymentMethod"; $signature = self::baseSignature($options); $signature[] = 'customerId'; return $signature; } public static function updateSignature() { $options = self::baseOptions(); $options[] = "failOnDuplicatePaymentMethod"; $signature = self::baseSignature($options); $updateExistingBillingSignature = [ [ 'options' => [ 'updateExisting' ] ] ]; foreach($signature AS $key => $value) { if(is_array($value) and array_key_exists('billingAddress', $value)) { $signature[$key]['billingAddress'] = array_merge_recursive($value['billingAddress'], $updateExistingBillingSignature); } } return $signature; } /** * sends the create request to the gateway * * @ignore * @param string $subPath * @param array $params * @return mixed */ public function _doCreate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * verifies that a valid credit card identifier is being used * @ignore * @param string $identifier * @param Optional $string $identifierType type of identifier supplied, default "token" * @throws InvalidArgumentException */ private function _validateId($identifier = null, $identifierType = "token") { if (empty($identifier)) { throw new InvalidArgumentException( 'expected credit card id to be set' ); } if (!preg_match('/^[0-9A-Za-z_-]+$/', $identifier)) { throw new InvalidArgumentException( $identifier . ' is an invalid credit card ' . $identifierType . '.' ); } } /** * sends the update request to the gateway * * @ignore * @param string $url * @param array $params * @return mixed */ private function _doUpdate($httpVerb, $subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->$httpVerb($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * generic method for validating incoming gateway responses * * creates a new CreditCard object and encapsulates * it inside a Result\Successful object, or * encapsulates a Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['creditCard'])) { // return a populated instance of Address return new Result\Successful( CreditCard::factory($response['creditCard']) ); } elseif (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected address or apiErrorResponse" ); } } } class_alias('Braintree\CreditCardGateway', 'Braintree_CreditCardGateway'); lib/braintree/lib/Braintree/PaymentMethodNonce.php000064400000003237147206617610016237 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read \Braintree\BinData $binData * @property-read boolean $default * @property-read string $nonce * @property-read \Braintree\ThreeDSecureInfo $threeDSecureInfo * @property-read string $type */ class PaymentMethodNonce extends Base { // static methods redirecting to gateway public static function create($token) { return Configuration::gateway()->paymentMethodNonce()->create($token); } public static function find($nonce) { return Configuration::gateway()->paymentMethodNonce()->find($nonce); } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } protected function _initialize($nonceAttributes) { $this->_attributes = $nonceAttributes; $this->_set('nonce', $nonceAttributes['nonce']); $this->_set('type', $nonceAttributes['type']); if(isset($nonceAttributes['threeDSecureInfo'])) { $this->_set('threeDSecureInfo', ThreeDSecureInfo::factory($nonceAttributes['threeDSecureInfo'])); } if(isset($nonceAttributes['binData'])) { $this->_set('binData', BinData::factory($nonceAttributes['binData'])); } } } class_alias('Braintree\PaymentMethodNonce', 'Braintree_PaymentMethodNonce'); lib/braintree/lib/Braintree/GrantedPaymentInstrumentUpdate.php000064400000004153147206617610020652 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read string $grantOwnerMerchantId * @property-read string $grantRecipientMerchantId * @property-read string $paymentMethodNonce * @property-read string $token * @property-read string $updatedFields */ class GrantedPaymentInstrumentUpdate extends Base { /** * factory method: returns an instance of GrantedPaymentInstrumentUpdate * to the requesting method, with populated properties * * @ignore * @return GrantedPaymentInstrumentUpdate */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /* instance methods */ /** * sets instance properties from an array of values * * @access protected * @param array $GrantedPaymentInstrumentAttribs array of grantedPaymentInstrumentUpdate data * @return void */ protected function _initialize($grantedPaymentInstrumentUpdateAttribs) { // set the attributes $this->_attributes = $grantedPaymentInstrumentUpdateAttribs; $paymentMethodNonce = isset($grantedPaymentInstrumentUpdateAttribs['paymentMethodNonce']) ? GrantedPaymentInstrumentUpdate::factory($grantedPaymentInstrumentUpdateAttribs['paymentMethodNonce']) : null; $this->_set('paymentMethodNonce', $paymentMethodNonce); } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } } class_alias('Braintree\GrantedPaymentInstrumentUpdate', 'Braintree_GrantedPaymentInstrumentUpdate'); lib/braintree/lib/Braintree/RangeNode.php000064400000001466147206617610014342 0ustar00name = $name; $this->searchTerms = []; } public function greaterThanOrEqualTo($value) { $this->searchTerms['min'] = $value; return $this; } public function lessThanOrEqualTo($value) { $this->searchTerms['max'] = $value; return $this; } public function is($value) { $this->searchTerms['is'] = $value; return $this; } public function between($min, $max) { return $this->greaterThanOrEqualTo($min)->lessThanOrEqualTo($max); } public function toParam() { return $this->searchTerms; } } class_alias('Braintree\RangeNode', 'Braintree_RangeNode'); lib/braintree/lib/Braintree/OAuthGateway.php000064400000007651147206617610015044 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_http = new Http($gateway->config); $this->_http->useClientCredentials(); $this->_config->assertHasClientCredentials(); } public function createTokenFromCode($params) { $params['grantType'] = "authorization_code"; return $this->_createToken($params); } public function createTokenFromRefreshToken($params) { $params['grantType'] = "refresh_token"; return $this->_createToken($params); } public function revokeAccessToken($accessToken) { $params = ['token' => $accessToken]; $response = $this->_http->post('/oauth/revoke_access_token', $params); return $this->_verifyGatewayResponse($response); } private function _createToken($params) { $params = ['credentials' => $params]; $response = $this->_http->post('/oauth/access_tokens', $params); return $this->_verifyGatewayResponse($response); } private function _verifyGatewayResponse($response) { if (isset($response['credentials'])) { $result = new Result\Successful( OAuthCredentials::factory($response['credentials']) ); return $this->_mapSuccess($result); } else if (isset($response['result'])) { $result = new Result\Successful( OAuthResult::factory($response['result']) ); return $this->_mapAccessTokenRevokeSuccess($result); } else if (isset($response['apiErrorResponse'])) { $result = new Result\Error($response['apiErrorResponse']); return $this->_mapError($result); } else { throw new Exception\Unexpected( "Expected credentials or apiErrorResponse" ); } } public function _mapError($result) { $error = $result->errors->deepAll()[0]; if ($error->code == Error\Codes::OAUTH_INVALID_GRANT) { $result->error = 'invalid_grant'; } else if ($error->code == Error\Codes::OAUTH_INVALID_CREDENTIALS) { $result->error = 'invalid_credentials'; } else if ($error->code == Error\Codes::OAUTH_INVALID_SCOPE) { $result->error = 'invalid_scope'; } $result->errorDescription = explode(': ', $error->message)[1]; return $result; } public function _mapAccessTokenRevokeSuccess($result) { $result->revocationResult = $result->success; return $result; } public function _mapSuccess($result) { $credentials = $result->credentials; $result->accessToken = $credentials->accessToken; $result->refreshToken = $credentials->refreshToken; $result->tokenType = $credentials->tokenType; $result->expiresAt = $credentials->expiresAt; return $result; } public function connectUrl($params = []) { $query = Util::camelCaseToDelimiterArray($params, '_'); $query['client_id'] = $this->_config->getClientId(); $queryString = preg_replace('/\%5B\d+\%5D/', '%5B%5D', http_build_query($query)); return $this->_config->baseUrl() . '/oauth/connect?' . $queryString; } /** * @deprecated since version 3.26.1 */ public function computeSignature($url) { $key = hash('sha256', $this->_config->getClientSecret(), true); return hash_hmac('sha256', $url, $key); } } class_alias('Braintree\OAuthGateway', 'Braintree_OAuthGateway'); lib/braintree/lib/Braintree/SettlementBatchSummaryGateway.php000064400000005602147206617610020462 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /** * * @param string $settlement_date * @param string $groupByCustomField * @return SettlementBatchSummary|Result\Error */ public function generate($settlement_date, $groupByCustomField = NULL) { $criteria = ['settlement_date' => $settlement_date]; if (isset($groupByCustomField)) { $criteria['group_by_custom_field'] = $groupByCustomField; } $params = ['settlement_batch_summary' => $criteria]; $path = $this->_config->merchantPath() . '/settlement_batch_summary'; $response = $this->_http->post($path, $params); if (isset($groupByCustomField)) { $response['settlementBatchSummary']['records'] = $this->_underscoreCustomField( $groupByCustomField, $response['settlementBatchSummary']['records'] ); } return $this->_verifyGatewayResponse($response); } /** * * @param string $groupByCustomField * @param array $records * @return array */ private function _underscoreCustomField($groupByCustomField, $records) { $updatedRecords = []; foreach ($records as $record) { $camelized = Util::delimiterToCamelCase($groupByCustomField); $record[$groupByCustomField] = $record[$camelized]; unset($record[$camelized]); $updatedRecords[] = $record; } return $updatedRecords; } /** * * @param array $response * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['settlementBatchSummary'])) { return new Result\Successful( SettlementBatchSummary::factory($response['settlementBatchSummary']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected settlementBatchSummary or apiErrorResponse" ); } } } class_alias('Braintree\SettlementBatchSummaryGateway', 'Braintree_SettlementBatchSummaryGateway'); lib/braintree/lib/Braintree/AddressGateway.php000064400000022253147206617610015404 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /* public class methods */ /** * * @access public * @param array $attribs * @return Result\Successful|Result\Error */ public function create($attribs) { Util::verifyKeys(self::createSignature(), $attribs); $customerId = isset($attribs['customerId']) ? $attribs['customerId'] : null; $this->_validateCustomerId($customerId); unset($attribs['customerId']); try { return $this->_doCreate( '/customers/' . $customerId . '/addresses', ['address' => $attribs] ); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'Customer ' . $customerId . ' not found.' ); } } /** * attempts the create operation assuming all data will validate * returns a Address object instead of a Result * * @access public * @param array $attribs * @return self * @throws Exception\ValidationError */ public function createNoValidate($attribs) { $result = $this->create($attribs); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * delete an address by id * * @param mixed $customerOrId * @param string $addressId */ public function delete($customerOrId = null, $addressId = null) { $this->_validateId($addressId); $customerId = $this->_determineCustomerId($customerOrId); $path = $this->_config->merchantPath() . '/customers/' . $customerId . '/addresses/' . $addressId; $this->_http->delete($path); return new Result\Successful(); } /** * find an address by id * * Finds the address with the given addressId that is associated * to the given customerOrId. * If the address cannot be found, a NotFound exception will be thrown. * * * @access public * @param mixed $customerOrId * @param string $addressId * @return Address * @throws Exception\NotFound */ public function find($customerOrId, $addressId) { $customerId = $this->_determineCustomerId($customerOrId); $this->_validateId($addressId); try { $path = $this->_config->merchantPath() . '/customers/' . $customerId . '/addresses/' . $addressId; $response = $this->_http->get($path); return Address::factory($response['address']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'address for customer ' . $customerId . ' with id ' . $addressId . ' not found.' ); } } /** * updates the address record * * if calling this method in context, * customerOrId is the 2nd attribute, addressId 3rd. * customerOrId & addressId are not sent in object context. * * * @access public * @param array $attributes * @param mixed $customerOrId (only used in call) * @param string $addressId (only used in call) * @return Result\Successful|Result\Error */ public function update($customerOrId, $addressId, $attributes) { $this->_validateId($addressId); $customerId = $this->_determineCustomerId($customerOrId); Util::verifyKeys(self::updateSignature(), $attributes); $path = $this->_config->merchantPath() . '/customers/' . $customerId . '/addresses/' . $addressId; $response = $this->_http->put($path, ['address' => $attributes]); return $this->_verifyGatewayResponse($response); } /** * update an address record, assuming validations will pass * * if calling this method in context, * customerOrId is the 2nd attribute, addressId 3rd. * customerOrId & addressId are not sent in object context. * * @access public * @param array $transactionAttribs * @param string $customerId * @return Transaction * @throws Exception\ValidationsFailed * @see Address::update() */ public function updateNoValidate($customerOrId, $addressId, $attributes) { $result = $this->update($customerOrId, $addressId, $attributes); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * creates a full array signature of a valid create request * @return array gateway create request format */ public static function createSignature() { return [ 'company', 'countryCodeAlpha2', 'countryCodeAlpha3', 'countryCodeNumeric', 'countryName', 'customerId', 'extendedAddress', 'firstName', 'lastName', 'locality', 'postalCode', 'region', 'streetAddress' ]; } /** * creates a full array signature of a valid update request * @return array gateway update request format */ public static function updateSignature() { // TODO: remove customerId from update signature return self::createSignature(); } /** * verifies that a valid address id is being used * @ignore * @param string $id address id * @throws InvalidArgumentException */ private function _validateId($id = null) { if (empty($id) || trim($id) == "") { throw new InvalidArgumentException( 'expected address id to be set' ); } if (!preg_match('/^[0-9A-Za-z_-]+$/', $id)) { throw new InvalidArgumentException( $id . ' is an invalid address id.' ); } } /** * verifies that a valid customer id is being used * @ignore * @param string $id customer id * @throws InvalidArgumentException */ private function _validateCustomerId($id = null) { if (empty($id) || trim($id) == "") { throw new InvalidArgumentException( 'expected customer id to be set' ); } if (!preg_match('/^[0-9A-Za-z_-]+$/', $id)) { throw new InvalidArgumentException( $id . ' is an invalid customer id.' ); } } /** * determines if a string id or Customer object was passed * @ignore * @param mixed $customerOrId * @return string customerId */ private function _determineCustomerId($customerOrId) { $customerId = ($customerOrId instanceof Customer) ? $customerOrId->id : $customerOrId; $this->_validateCustomerId($customerId); return $customerId; } /* private class methods */ /** * sends the create request to the gateway * @ignore * @param string $subPath * @param array $params * @return Result\Successful|Result\Error */ private function _doCreate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * generic method for validating incoming gateway responses * * creates a new Address object and encapsulates * it inside a Result\Successful object, or * encapsulates an Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['address'])) { // return a populated instance of Address return new Result\Successful( Address::factory($response['address']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected address or apiErrorResponse" ); } } } class_alias('Braintree\AddressGateway', 'Braintree_AddressGateway'); lib/braintree/lib/Braintree/PaymentMethod.php000064400000002000147206617610015237 0ustar00== More information == * * * @package Braintree * @category Resources */ class PaymentMethod extends Base { // static methods redirecting to gateway public static function create($attribs) { return Configuration::gateway()->paymentMethod()->create($attribs); } public static function find($token) { return Configuration::gateway()->paymentMethod()->find($token); } public static function update($token, $attribs) { return Configuration::gateway()->paymentMethod()->update($token, $attribs); } public static function delete($token, $options=[]) { return Configuration::gateway()->paymentMethod()->delete($token, $options); } } class_alias('Braintree\PaymentMethod', 'Braintree_PaymentMethod'); lib/braintree/lib/Braintree/ClientTokenGateway.php000064400000006520147206617610016235 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function generate($params=[]) { if (!array_key_exists("version", $params)) { $params["version"] = ClientToken::DEFAULT_VERSION; } $this->conditionallyVerifyKeys($params); $generateParams = ["client_token" => $params]; return $this->_doGenerate('/client_token', $generateParams); } /** * sends the generate request to the gateway * * @ignore * @param var $url * @param array $params * @return string */ public function _doGenerate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * * @param array $params * @throws InvalidArgumentException */ public function conditionallyVerifyKeys($params) { if (array_key_exists("customerId", $params)) { Util::verifyKeys($this->generateWithCustomerIdSignature(), $params); } else { Util::verifyKeys($this->generateWithoutCustomerIdSignature(), $params); } } /** * * @return mixed[] */ public function generateWithCustomerIdSignature() { return [ "version", "customerId", "proxyMerchantId", ["options" => ["makeDefault", "verifyCard", "failOnDuplicatePaymentMethod"]], "merchantAccountId"]; } /** * * @return string[] */ public function generateWithoutCustomerIdSignature() { return ["version", "proxyMerchantId", "merchantAccountId"]; } /** * generic method for validating incoming gateway responses * * If the request is successful, returns a client token string. * Otherwise, throws an InvalidArgumentException with the error * response from the Gateway or an HTTP status code exception. * * @ignore * @param array $response gateway response values * @return string client token * @throws InvalidArgumentException | HTTP status code exception */ private function _verifyGatewayResponse($response) { if (isset($response['clientToken'])) { return $response['clientToken']['value']; } elseif (isset($response['apiErrorResponse'])) { throw new InvalidArgumentException( $response['apiErrorResponse']['message'] ); } else { throw new Exception\Unexpected( "Expected clientToken or apiErrorResponse" ); } } } class_alias('Braintree\ClientTokenGateway', 'Braintree_ClientTokenGateway'); lib/braintree/lib/Braintree/DiscountGateway.php000064400000001407147206617610015605 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function all() { $path = $this->_config->merchantPath() . '/discounts'; $response = $this->_http->get($path); $discounts = ["discount" => $response['discounts']]; return Util::extractAttributeAsArray( $discounts, 'discount' ); } } class_alias('Braintree\DiscountGateway', 'Braintree_DiscountGateway'); lib/braintree/lib/Braintree/Plan.php000064400000003731147206617610013367 0ustar00_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; $addOnArray = []; if (isset($attributes['addOns'])) { foreach ($attributes['addOns'] AS $addOn) { $addOnArray[] = AddOn::factory($addOn); } } $this->_attributes['addOns'] = $addOnArray; $discountArray = []; if (isset($attributes['discounts'])) { foreach ($attributes['discounts'] AS $discount) { $discountArray[] = Discount::factory($discount); } } $this->_attributes['discounts'] = $discountArray; $planArray = []; if (isset($attributes['plans'])) { foreach ($attributes['plans'] AS $plan) { $planArray[] = self::factory($plan); } } $this->_attributes['plans'] = $planArray; } // static methods redirecting to gateway public static function all() { return Configuration::gateway()->plan()->all(); } } class_alias('Braintree\Plan', 'Braintree_Plan'); lib/braintree/lib/Braintree/SignatureService.php000064400000000746147206617610015762 0ustar00key = $key; $this->digest = $digest; } public function sign($payload) { return $this->hash($payload) . "|" . $payload; } public function hash($data) { return call_user_func($this->digest, $this->key, $data); } } class_alias('Braintree\SignatureService', 'Braintree_SignatureService'); lib/braintree/lib/Braintree/Customer.php000064400000033135147206617610014277 0ustar00== More information == * * For more detailed information on Customers, see {@link https://developers.braintreepayments.com/reference/response/customer/php https://developers.braintreepayments.com/reference/response/customer/php} * * @package Braintree * @category Resources * * @property-read \Braintree\Address[] $addresses * @property-read \Braintree\AndroidPayCard[] $androidPayCards * @property-read \Braintree\AmexExpressCheckoutCard[] $amexExpressCheckoutCards * @property-read \Braintree\ApplePayCard[] $applePayCards * @property-read \Braintree\CoinbaseAccount[] $coinbaseAccounts * @property-read string $company * @property-read \DateTime $createdAt * @property-read \Braintree\CreditCard[] $creditCards * @property-read array $customFields custom fields passed with the request * @property-read string $email * @property-read string $fax * @property-read string $firstName * @property-read string $id * @property-read string $lastName * @property-read \Braintree\MasterpassCard[] $masterpassCards * @property-read \Braintree\PaymentMethod[] $paymentMethods * @property-read \Braintree\PayPalAccount[] $paypalAccounts * @property-read string $phone * @property-read \Braintree\SamsungPayCard[] $samsungPayCards * @property-read \DateTime $updatedAt * @property-read \Braintree\UsBankAccount[] $usBankAccounts * @property-read \Braintree\VenmoAccount[] $venmoAccounts * @property-read \Braintree\VisaCheckoutCard[] $visaCheckoutCards * @property-read string $website */ class Customer extends Base { /** * * @return Customer[] */ public static function all() { return Configuration::gateway()->customer()->all(); } /** * * @param string $query * @param int[] $ids * @return Customer|Customer[] */ public static function fetch($query, $ids) { return Configuration::gateway()->customer()->fetch($query, $ids); } /** * * @param array $attribs * @return Result\Successful|Result\Error */ public static function create($attribs = []) { return Configuration::gateway()->customer()->create($attribs); } /** * * @param array $attribs * @return Customer */ public static function createNoValidate($attribs = []) { return Configuration::gateway()->customer()->createNoValidate($attribs); } /** * @deprecated since version 2.3.0 * @param string $queryString * @return Result\Successful */ public static function createFromTransparentRedirect($queryString) { return Configuration::gateway()->customer()->createFromTransparentRedirect($queryString); } /** * @deprecated since version 2.3.0 * @return string */ public static function createCustomerUrl() { return Configuration::gateway()->customer()->createCustomerUrl(); } /** * * @throws Exception\NotFound * @param string $id customer id * @return Customer */ public static function find($id, $associationFilterId = null) { return Configuration::gateway()->customer()->find($id, $associationFilterId); } /** * * @param int $customerId * @param array $transactionAttribs * @return Result\Successful|Result\Error */ public static function credit($customerId, $transactionAttribs) { return Configuration::gateway()->customer()->credit($customerId, $transactionAttribs); } /** * * @throws Exception\ValidationError * @param type $customerId * @param type $transactionAttribs * @return Transaction */ public static function creditNoValidate($customerId, $transactionAttribs) { return Configuration::gateway()->customer()->creditNoValidate($customerId, $transactionAttribs); } /** * * @throws Exception on invalid id or non-200 http response code * @param int $customerId * @return Result\Successful */ public static function delete($customerId) { return Configuration::gateway()->customer()->delete($customerId); } /** * * @param int $customerId * @param array $transactionAttribs * @return Transaction */ public static function sale($customerId, $transactionAttribs) { return Configuration::gateway()->customer()->sale($customerId, $transactionAttribs); } /** * * @param int $customerId * @param array $transactionAttribs * @return Transaction */ public static function saleNoValidate($customerId, $transactionAttribs) { return Configuration::gateway()->customer()->saleNoValidate($customerId, $transactionAttribs); } /** * * @throws InvalidArgumentException * @param string $query * @return ResourceCollection */ public static function search($query) { return Configuration::gateway()->customer()->search($query); } /** * * @throws Exception\Unexpected * @param int $customerId * @param array $attributes * @return Result\Successful|Result\Error */ public static function update($customerId, $attributes) { return Configuration::gateway()->customer()->update($customerId, $attributes); } /** * * @throws Exception\Unexpected * @param int $customerId * @param array $attributes * @return CustomerGateway */ public static function updateNoValidate($customerId, $attributes) { return Configuration::gateway()->customer()->updateNoValidate($customerId, $attributes); } /** * * @deprecated since version 2.3.0 * @return string */ public static function updateCustomerUrl() { return Configuration::gateway()->customer()->updateCustomerUrl(); } /** * * @deprecated since version 2.3.0 * @param string $queryString * @return Result\Successful|Result\Error */ public static function updateFromTransparentRedirect($queryString) { return Configuration::gateway()->customer()->updateFromTransparentRedirect($queryString); } /* instance methods */ /** * sets instance properties from an array of values * * @ignore * @access protected * @param array $customerAttribs array of customer data */ protected function _initialize($customerAttribs) { $this->_attributes = $customerAttribs; $addressArray = []; if (isset($customerAttribs['addresses'])) { foreach ($customerAttribs['addresses'] AS $address) { $addressArray[] = Address::factory($address); } } $this->_set('addresses', $addressArray); $creditCardArray = []; if (isset($customerAttribs['creditCards'])) { foreach ($customerAttribs['creditCards'] AS $creditCard) { $creditCardArray[] = CreditCard::factory($creditCard); } } $this->_set('creditCards', $creditCardArray); $coinbaseAccountArray = []; if (isset($customerAttribs['coinbaseAccounts'])) { foreach ($customerAttribs['coinbaseAccounts'] AS $coinbaseAccount) { $coinbaseAccountArray[] = CoinbaseAccount::factory($coinbaseAccount); } } $this->_set('coinbaseAccounts', $coinbaseAccountArray); $paypalAccountArray = []; if (isset($customerAttribs['paypalAccounts'])) { foreach ($customerAttribs['paypalAccounts'] AS $paypalAccount) { $paypalAccountArray[] = PayPalAccount::factory($paypalAccount); } } $this->_set('paypalAccounts', $paypalAccountArray); $applePayCardArray = []; if (isset($customerAttribs['applePayCards'])) { foreach ($customerAttribs['applePayCards'] AS $applePayCard) { $applePayCardArray[] = ApplePayCard::factory($applePayCard); } } $this->_set('applePayCards', $applePayCardArray); $androidPayCardArray = []; if (isset($customerAttribs['androidPayCards'])) { foreach ($customerAttribs['androidPayCards'] AS $androidPayCard) { $androidPayCardArray[] = AndroidPayCard::factory($androidPayCard); } } $this->_set('androidPayCards', $androidPayCardArray); $amexExpressCheckoutCardArray = []; if (isset($customerAttribs['amexExpressCheckoutCards'])) { foreach ($customerAttribs['amexExpressCheckoutCards'] AS $amexExpressCheckoutCard) { $amexExpressCheckoutCardArray[] = AmexExpressCheckoutCard::factory($amexExpressCheckoutCard); } } $this->_set('amexExpressCheckoutCards', $amexExpressCheckoutCardArray); $venmoAccountArray = array(); if (isset($customerAttribs['venmoAccounts'])) { foreach ($customerAttribs['venmoAccounts'] AS $venmoAccount) { $venmoAccountArray[] = VenmoAccount::factory($venmoAccount); } } $this->_set('venmoAccounts', $venmoAccountArray); $visaCheckoutCardArray = []; if (isset($customerAttribs['visaCheckoutCards'])) { foreach ($customerAttribs['visaCheckoutCards'] AS $visaCheckoutCard) { $visaCheckoutCardArray[] = VisaCheckoutCard::factory($visaCheckoutCard); } } $this->_set('visaCheckoutCards', $visaCheckoutCardArray); $masterpassCardArray = []; if (isset($customerAttribs['masterpassCards'])) { foreach ($customerAttribs['masterpassCards'] AS $masterpassCard) { $masterpassCardArray[] = MasterpassCard::factory($masterpassCard); } } $this->_set('masterpassCards', $masterpassCardArray); $samsungPayCardArray = []; if (isset($customerAttribs['samsungPayCards'])) { foreach ($customerAttribs['samsungPayCards'] AS $samsungPayCard) { $samsungPayCardArray[] = SamsungPayCard::factory($samsungPayCard); } } $this->_set('samsungPayCards', $samsungPayCardArray); $usBankAccountArray = array(); if (isset($customerAttribs['usBankAccounts'])) { foreach ($customerAttribs['usBankAccounts'] AS $usBankAccount) { $usBankAccountArray[] = UsBankAccount::factory($usBankAccount); } } $this->_set('usBankAccounts', $usBankAccountArray); $this->_set('paymentMethods', array_merge( $this->creditCards, $this->paypalAccounts, $this->applePayCards, $this->coinbaseAccounts, $this->androidPayCards, $this->amexExpressCheckoutCards, $this->venmoAccounts, $this->visaCheckoutCards, $this->masterpassCards, $this->samsungPayCards, $this->usBankAccounts )); } /** * returns a string representation of the customer * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } /** * returns false if comparing object is not a Customer, * or is a Customer with a different id * * @param object $otherCust customer to compare against * @return boolean */ public function isEqual($otherCust) { return !($otherCust instanceof Customer) ? false : $this->id === $otherCust->id; } /** * returns an array containt all of the customer's payment methods * * @deprecated since version 3.1.0 - use the paymentMethods property directly * * @return array */ public function paymentMethods() { return $this->paymentMethods; } /** * returns the customer's default payment method * * @return CreditCard|PayPalAccount */ public function defaultPaymentMethod() { $defaultPaymentMethods = array_filter($this->paymentMethods, 'Braintree\Customer::_defaultPaymentMethodFilter'); return current($defaultPaymentMethods); } public static function _defaultPaymentMethodFilter($paymentMethod) { return $paymentMethod->isDefault(); } /* private class properties */ /** * @access protected * @var array registry of customer data */ protected $_attributes = [ 'addresses' => '', 'company' => '', 'creditCards' => '', 'email' => '', 'fax' => '', 'firstName' => '', 'id' => '', 'lastName' => '', 'phone' => '', 'createdAt' => '', 'updatedAt' => '', 'website' => '', ]; /** * factory method: returns an instance of Customer * to the requesting method, with populated properties * * @ignore * @param array $attributes * @return Customer */ public static function factory($attributes) { $instance = new Customer(); $instance->_initialize($attributes); return $instance; } } class_alias('Braintree\Customer', 'Braintree_Customer'); lib/braintree/lib/Braintree/TransactionSearch.php000064400000017513147206617610016113 0ustar00_totalItems = $totalItems; $this->_pageSize = $pageSize; $this->_currentPage = $currentPage; } public function getTotalItems() { return $this->_totalItems; } public function getPageSize() { return $this->_pageSize; } public function getCurrentPage() { return $this->_currentPage; } } class_alias('Braintree\PaginatedResult', 'Braintree_PaginatedResult'); lib/braintree/lib/Braintree/OAuthResult.php000064400000001363147206617610014713 0ustar00_attributes = $attribs; } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /** * returns a string representation of the result * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } } class_alias('Braintree\OAuthResult', 'Braintree_OAuthResult'); lib/braintree/lib/Braintree/UsBankAccountVerification.php000064400000005404147206617610017537 0ustar00== More information == * * * @package Braintree * @category Resources * */ class UsBankAccountVerification extends Result\UsBankAccountVerification { /** * factory method: returns an instance of UsBankAccountVerification * to the requesting method, with populated properties * * @ignore * @return UsBankAccountVerification */ public static function factory($attributes) { $instance = new self($attributes); $instance->_initialize($attributes); return $instance; } /* instance methods */ /** * sets instance properties from an array of values * * @access protected * @param array $usBankAccountVerificationAttribs array of usBankAccountVerification data * @return void */ protected function _initialize($usBankAccountVerificationAttribs) { // set the attributes $this->_attributes = $usBankAccountVerificationAttribs; } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } // static methods redirecting to gateway /** * finds a US bank account verification * * @access public * @param string $token unique id * @return UsBankAccountVerification */ public static function find($token) { return Configuration::gateway()->usBankAccountVerification()->find($token); } /** * Returns a ResourceCollection of US bank account verifications matching the search query. * * @access public * @param mixed $query search query * @return ResourceCollection */ public static function search($query) { return Configuration::gateway()->usBankAccountVerification()->search($query); } /** * Returns a ResourceCollection of US bank account verifications matching the search query. * * @access public * @param string $token unique id * @param array $amounts micro transfer amounts * @return ResourceCollection */ public static function confirmMicroTransferAmounts($token, $amounts) { return Configuration::gateway()->usBankAccountVerification()->confirmMicroTransferAmounts($token, $amounts); } } class_alias('Braintree\UsBankAccountVerification', 'Braintree_UsBankAccountVerification'); lib/braintree/lib/Braintree/WebhookTestingGateway.php000064400000050005147206617610016747 0ustar00config = $gateway->config; $this->config->assertHasAccessTokenOrKeys(); } public function sampleNotification($kind, $id, $sourceMerchantId = null) { $xml = self::_sampleXml($kind, $id, $sourceMerchantId); $payload = base64_encode($xml) . "\n"; $signature = $this->config->getPublicKey() . "|" . Digest::hexDigestSha1($this->config->getPrivateKey(), $payload); return [ 'bt_signature' => $signature, 'bt_payload' => $payload ]; } private static function _sampleXml($kind, $id, $sourceMerchantId) { switch ($kind) { case WebhookNotification::SUB_MERCHANT_ACCOUNT_APPROVED: $subjectXml = self::_merchantAccountApprovedSampleXml($id); break; case WebhookNotification::SUB_MERCHANT_ACCOUNT_DECLINED: $subjectXml = self::_merchantAccountDeclinedSampleXml($id); break; case WebhookNotification::TRANSACTION_DISBURSED: $subjectXml = self::_transactionDisbursedSampleXml($id); break; case WebhookNotification::TRANSACTION_SETTLED: $subjectXml = self::_transactionSettledSampleXml($id); break; case WebhookNotification::TRANSACTION_SETTLEMENT_DECLINED: $subjectXml = self::_transactionSettlementDeclinedSampleXml($id); break; case WebhookNotification::DISBURSEMENT_EXCEPTION: $subjectXml = self::_disbursementExceptionSampleXml($id); break; case WebhookNotification::DISBURSEMENT: $subjectXml = self::_disbursementSampleXml($id); break; case WebhookNotification::PARTNER_MERCHANT_CONNECTED: $subjectXml = self::_partnerMerchantConnectedSampleXml($id); break; case WebhookNotification::PARTNER_MERCHANT_DISCONNECTED: $subjectXml = self::_partnerMerchantDisconnectedSampleXml($id); break; case WebhookNotification::PARTNER_MERCHANT_DECLINED: $subjectXml = self::_partnerMerchantDeclinedSampleXml($id); break; case WebhookNotification::OAUTH_ACCESS_REVOKED: $subjectXml = self::_oauthAccessRevocationSampleXml($id); break; case WebhookNotification::CONNECTED_MERCHANT_STATUS_TRANSITIONED: $subjectXml = self::_connectedMerchantStatusTransitionedSampleXml($id); break; case WebhookNotification::CONNECTED_MERCHANT_PAYPAL_STATUS_CHANGED: $subjectXml = self::_connectedMerchantPayPalStatusChangedSampleXml($id); break; case WebhookNotification::DISPUTE_OPENED: $subjectXml = self::_disputeOpenedSampleXml($id); break; case WebhookNotification::DISPUTE_LOST: $subjectXml = self::_disputeLostSampleXml($id); break; case WebhookNotification::DISPUTE_WON: $subjectXml = self::_disputeWonSampleXml($id); break; case WebhookNotification::SUBSCRIPTION_CHARGED_SUCCESSFULLY: $subjectXml = self::_subscriptionChargedSuccessfullySampleXml($id); break; case WebhookNotification::SUBSCRIPTION_CHARGED_UNSUCCESSFULLY: $subjectXml = self::_subscriptionChargedUnsuccessfullySampleXml($id); break; case WebhookNotification::CHECK: $subjectXml = self::_checkSampleXml(); break; case WebhookNotification::ACCOUNT_UPDATER_DAILY_REPORT: $subjectXml = self::_accountUpdaterDailyReportSampleXml($id); break; case WebhookNotification::IDEAL_PAYMENT_COMPLETE: $subjectXml = self::_idealPaymentCompleteSampleXml($id); break; case WebhookNotification::IDEAL_PAYMENT_FAILED: $subjectXml = self::_idealPaymentFailedSampleXml($id); break; // NEXT_MAJOR_VERSION remove GRANTED_PAYMENT_INSTRUMENT_UPDATE case WebhookNotification::GRANTED_PAYMENT_INSTRUMENT_UPDATE: $subjectXml = self::_grantedPaymentInstrumentUpdateSampleXml(); break; case WebhookNotification::GRANTOR_UPDATED_GRANTED_PAYMENT_METHOD: $subjectXml = self::_grantedPaymentInstrumentUpdateSampleXml(); break; case WebhookNotification::RECIPIENT_UPDATED_GRANTED_PAYMENT_METHOD: $subjectXml = self::_grantedPaymentInstrumentUpdateSampleXml(); break; case WebhookNotification::LOCAL_PAYMENT_COMPLETED: $subjectXml = self::_localPaymentCompletedSampleXml(); break; default: $subjectXml = self::_subscriptionSampleXml($id); break; } $timestamp = self::_timestamp(); $sourceMerchantIdXml = ''; if (!is_null($sourceMerchantId)) { $sourceMerchantIdXml = "{$sourceMerchantId}"; } return " {$timestamp} {$kind} {$sourceMerchantIdXml} {$subjectXml} "; } private static function _merchantAccountApprovedSampleXml($id) { return " {$id} master_ma_for_{$id} active active "; } private static function _merchantAccountDeclinedSampleXml($id) { return " Credit score is too low 82621 Credit score is too low base {$id} suspended master_ma_for_{$id} suspended "; } private static function _transactionDisbursedSampleXml($id) { return " ${id} 100 2013-07-09 "; } private static function _transactionSettledSampleXml($id) { return " ${id} settled sale USD 100.00 ogaotkivejpfayqfeaimuktty us_bank_account 123456789 1234 checking Dan Schulman "; } private static function _transactionSettlementDeclinedSampleXml($id) { return " ${id} settlement_declined sale USD 100.00 ogaotkivejpfayqfeaimuktty us_bank_account 123456789 1234 checking Dan Schulman "; } private static function _disbursementExceptionSampleXml($id) { return " ${id} asdfg qwert false false merchant_account_token USD false active 100.00 2014-02-10 bank_rejected update_funding_information "; } private static function _disbursementSampleXml($id) { return " ${id} asdfg qwert true false merchant_account_token USD false active 100.00 2014-02-10 "; } private static function _disputeOpenedSampleXml($id) { return " 250.00 250.0 245.00 USD 2014-03-01 2014-03-21 chargeback open fraud ${id} ${id} 250.00 2014-03-21 "; } private static function _disputeLostSampleXml($id) { return " 250.00 250.0 245.00 USD 2014-03-01 2014-03-21 chargeback lost fraud ${id} ${id} 250.00 2020-02-10 2014-03-21 "; } private static function _disputeWonSampleXml($id) { return " 250.00 250.0 245.00 USD 2014-03-01 2014-03-21 chargeback won fraud ${id} ${id} 250.00 2014-03-21 2014-03-22 "; } private static function _subscriptionSampleXml($id) { return " {$id} "; } private static function _subscriptionChargedSuccessfullySampleXml($id) { return " {$id} 2016-03-21 2017-03-31 {$id} submitted_for_settlement 49.99 "; } private static function _subscriptionChargedUnsuccessfullySampleXml($id) { return " {$id} 2016-03-21 2017-03-31 {$id} failed 49.99 "; } private static function _checkSampleXml() { return " true "; } private static function _partnerMerchantConnectedSampleXml($id) { return " public_id public_key private_key abc123 cse_key "; } private static function _partnerMerchantDisconnectedSampleXml($id) { return " abc123 "; } private static function _partnerMerchantDeclinedSampleXml($id) { return " abc123 "; } private static function _oauthAccessRevocationSampleXml($id) { return " {$id} oauth_application_client_id "; } private static function _accountUpdaterDailyReportSampleXml($id) { return " 2016-01-14 link-to-csv-report "; } private static function _connectedMerchantStatusTransitionedSampleXml($id) { return " {$id} new_status oauth_application_client_id "; } private static function _connectedMerchantPayPalStatusChangedSampleXml($id) { return " {$id} link oauth_application_client_id "; } private static function _idealPaymentCompleteSampleXml($id) { return " {$id} COMPLETE ABCISSUER ORDERABC EUR 10.00 2016-11-29T23:27:34.547Z https://example.com 1234567890 "; } private static function _idealPaymentFailedSampleXml($id) { return " {$id} FAILED ABCISSUER ORDERABC EUR 10.00 2016-11-29T23:27:34.547Z https://example.com 1234567890 "; } private static function _grantedPaymentInstrumentUpdateSampleXml() { return " vczo7jqrpwrsi2px cf0i8wgarszuy6hc ee257d98-de40-47e8-96b3-a6954ea7a9a4 false false abc123z expiration-month expiration-year "; } private static function _localPaymentCompletedSampleXml() { return " a-payment-id a-payer-id "; } private static function _timestamp() { // $originalZone = date_default_timezone_get(); // date_default_timezone_set('UTC'); $timestamp = strftime('%Y-%m-%dT%TZ'); // date_default_timezone_set($originalZone); return $timestamp; } } class_alias('Braintree\WebhookTestingGateway', 'Braintree_WebhookTestingGateway'); lib/braintree/lib/Braintree/Version.php000064400000001161147206617610014115 0ustar00== More information == * * * @package Braintree * @category Resources */ class IdealPaymentGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /** * find an IdealPayment by id * * @access public * @param string $idealPaymentId * @return IdealPayment * @throws Exception\NotFound */ public function find($idealPaymentId) { try { $path = $this->_config->merchantPath() . '/ideal_payments/' . $idealPaymentId; $response = $this->_http->get($path); return IdealPayment::factory($response['idealPayment']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'iDEAL Payment with id ' . $idealPaymentId . ' not found' ); } } /** * create a new sale for the current IdealPayment * * @param string $idealPaymentId * @param array $transactionAttribs * @return Result\Successful|Result\Error * @see Transaction::sale() */ public function sale($idealPaymentId, $transactionAttribs) { return Transaction::sale( array_merge( $transactionAttribs, ['paymentMethodNonce' => $idealPaymentId] ) ); } /** * generic method for validating incoming gateway responses * * creates a new IdealPayment object and encapsulates * it inside a Result\Successful object, or * encapsulates a Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid. * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['idealPayment'])) { // return a populated instance of IdealPayment return new Result\Successful( IdealPayment::factory($response['idealPayment']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( 'Expected Ideal Payment or apiErrorResponse' ); } } } class_alias('Braintree\IdealPaymentGateway', 'Braintree_IdealPaymentGateway'); lib/braintree/lib/Braintree/Error/Validation.php000064400000003171147206617610015656 0ustar00== More information == * * For more detailed information on Validation errors, see {@link https://developers.braintreepayments.com/reference/general/validation-errors/overview/php https://developers.braintreepayments.com/reference/general/validation-errors/overview/php} * * @package Braintree * @subpackage Error * * @property-read string $attribute * @property-read string $code * @property-read string $message */ class Validation { private $_attribute; private $_code; private $_message; /** * @ignore * @param array $attributes */ public function __construct($attributes) { $this->_initializeFromArray($attributes); } /** * initializes instance properties from the keys/values of an array * @ignore * @access protected * @param array $attributes array of properties to set - single level * @return void */ private function _initializeFromArray($attributes) { foreach($attributes AS $name => $value) { $varName = "_$name"; $this->$varName = Util::delimiterToCamelCase($value, '_'); } } /** * * @ignore */ public function __get($name) { $varName = "_$name"; return isset($this->$varName) ? $this->$varName : null; } } class_alias('Braintree\Error\Validation', 'Braintree_Error_Validation'); lib/braintree/lib/Braintree/Error/ErrorCollection.php000064400000005755147206617610016703 0ustar00_errors = new ValidationErrorCollection($errorData); } /** * Return count of items in collection * Implements countable * * @return integer */ public function count() { return $this->deepSize(); } /** * Returns all of the validation errors at all levels of nesting in a single, flat array. */ public function deepAll() { return $this->_errors->deepAll(); } /** * Returns the total number of validation errors at all levels of nesting. For example, *if creating a customer with a credit card and a billing address, and each of the customer, * credit card, and billing address has 1 error, this method will return 3. * * @return int size */ public function deepSize() { $size = $this->_errors->deepSize(); return $size; } /** * return errors for the passed key name * * @param string $key * @return mixed */ public function forKey($key) { return $this->_errors->forKey($key); } /** * return errors for the passed html field. * For example, $result->errors->onHtmlField("transaction[customer][last_name]") * * @param string $field * @return array */ public function onHtmlField($field) { $pieces = preg_split("/[\[\]]+/", $field, 0, PREG_SPLIT_NO_EMPTY); $errors = $this; foreach(array_slice($pieces, 0, -1) as $key) { $errors = $errors->forKey(Util::delimiterToCamelCase($key)); if (!isset($errors)) { return []; } } $finalKey = Util::delimiterToCamelCase(end($pieces)); return $errors->onAttribute($finalKey); } /** * Returns the errors at the given nesting level (see forKey) in a single, flat array: * * * $result = Customer::create(...); * $customerErrors = $result->errors->forKey('customer')->shallowAll(); * */ public function shallowAll() { return $this->_errors->shallowAll(); } /** * * @ignore */ public function __get($name) { $varName = "_$name"; return isset($this->$varName) ? $this->$varName : null; } /** * * @ignore */ public function __toString() { return sprintf('%s', $this->_errors); } } class_alias('Braintree\Error\ErrorCollection', 'Braintree_Error_ErrorCollection'); lib/braintree/lib/Braintree/Error/ValidationErrorCollection.php000064400000006612147206617610020707 0ustar00== More information == * * For more detailed information on Validation errors, see {@link https://developers.braintreepayments.com/reference/general/validation-errors/overview/php https://developers.braintreepayments.com/reference/general/validation-errors/overview/php} * * @package Braintree * @subpackage Error * * @property-read array $errors * @property-read array $nested */ class ValidationErrorCollection extends Collection { private $_errors = []; private $_nested = []; /** * @ignore */ public function __construct($data) { foreach($data AS $key => $errorData) // map errors to new collections recursively if ($key == 'errors') { foreach ($errorData AS $error) { $this->_errors[] = new Validation($error); } } else { $this->_nested[$key] = new ValidationErrorCollection($errorData); } } public function deepAll() { $validationErrors = array_merge([], $this->_errors); foreach($this->_nested as $nestedErrors) { $validationErrors = array_merge($validationErrors, $nestedErrors->deepAll()); } return $validationErrors; } public function deepSize() { $total = sizeof($this->_errors); foreach($this->_nested as $_nestedErrors) { $total = $total + $_nestedErrors->deepSize(); } return $total; } public function forIndex($index) { return $this->forKey("index" . $index); } public function forKey($key) { return isset($this->_nested[$key]) ? $this->_nested[$key] : null; } public function onAttribute($attribute) { $matches = []; foreach ($this->_errors AS $key => $error) { if($error->attribute == $attribute) { $matches[] = $error; } } return $matches; } public function shallowAll() { return $this->_errors; } /** * * @ignore */ public function __get($name) { $varName = "_$name"; return isset($this->$varName) ? $this->$varName : null; } /** * @ignore */ public function __toString() { $output = []; // TODO: implement scope if (!empty($this->_errors)) { $output[] = $this->_inspect($this->_errors); } if (!empty($this->_nested)) { foreach ($this->_nested AS $key => $values) { $output[] = $this->_inspect($this->_nested); } } return join(', ', $output); } /** * @ignore */ private function _inspect($errors, $scope = null) { $eOutput = '[' . __CLASS__ . '/errors:['; foreach($errors AS $error => $errorObj) { $outputErrs[] = "({$errorObj->error['code']} {$errorObj->error['message']})"; } $eOutput .= join(', ', $outputErrs) . ']]'; return $eOutput; } } class_alias('Braintree\Error\ValidationErrorCollection', 'Braintree_Error_ValidationErrorCollection'); lib/braintree/lib/Braintree/Error/Codes.php000064400000156153147206617610014632 0ustar00 * $result = Customer::all(); * * foreach($result as $transaction) { * print_r($transaction->id); * } * * * @package Braintree * @subpackage Utility */ class ResourceCollection implements Iterator { private $_batchIndex; private $_ids; private $_index; private $_items; private $_pageSize; private $_pager; /** * set up the resource collection * * expects an array of attributes with literal keys * * @param array $response * @param array $pager */ public function __construct($response, $pager) { $this->_pageSize = $response["searchResults"]["pageSize"]; $this->_ids = $response["searchResults"]["ids"]; $this->_pager = $pager; } /** * returns the current item when iterating with foreach */ public function current() { return $this->_items[$this->_index]; } /** * returns the first item in the collection * * @return mixed */ public function firstItem() { $ids = $this->_ids; $page = $this->_getPage([$ids[0]]); return $page[0]; } public function key() { return null; } /** * advances to the next item in the collection when iterating with foreach */ public function next() { ++$this->_index; } /** * rewinds the testIterateOverResults collection to the first item when iterating with foreach */ public function rewind() { $this->_batchIndex = 0; $this->_getNextPage(); } /** * returns whether the current item is valid when iterating with foreach */ public function valid() { if ($this->_index == count($this->_items) && $this->_batchIndex < count($this->_ids)) { $this->_getNextPage(); } if ($this->_index < count($this->_items)) { return true; } else { return false; } } public function maximumCount() { return count($this->_ids); } private function _getNextPage() { if (empty($this->_ids)) { $this->_items = []; } else { $this->_items = $this->_getPage(array_slice($this->_ids, $this->_batchIndex, $this->_pageSize)); $this->_batchIndex += $this->_pageSize; $this->_index = 0; } } /** * requests the next page of results for the collection * * @return void */ private function _getPage($ids) { $object = $this->_pager['object']; $method = $this->_pager['method']; $methodArgs = []; foreach ($this->_pager['methodArgs'] as $arg) { array_push($methodArgs, $arg); } array_push($methodArgs, $ids); return call_user_func_array( [$object, $method], $methodArgs ); } /** * returns all IDs in the collection * * @return array */ public function getIds() { return $this->_ids; } } class_alias('Braintree\ResourceCollection', 'Braintree_ResourceCollection'); lib/braintree/lib/Braintree/DisputeGateway.php000064400000021333147206617610015432 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /* public class methods */ /** * Accepts a dispute, given a dispute ID * * @param string $id */ public function accept($id) { try { if (trim($id) == "") { throw new Exception\NotFound(); } $path = $this->_config->merchantPath() . '/disputes/' . $id . '/accept'; $response = $this->_http->put($path); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } return new Result\Successful(); } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } } /** * Adds file evidence to a dispute, given a dispute ID and a document ID * * @param string $disputeId * @param string $documentIdOrRequest */ public function addFileEvidence($disputeId, $documentIdOrRequest) { $request = is_array($documentIdOrRequest) ? $documentIdOrRequest : ['documentId' => $documentIdOrRequest]; if (trim($disputeId) == "") { throw new Exception\NotFound('dispute with id "' . $disputeId . '" not found'); } if (trim($request['documentId']) == "") { throw new Exception\NotFound('document with id "' . $request['documentId'] . '" not found'); } try { if (array_key_exists('category', $request)) { if (trim($request['category']) == "") { throw new InvalidArgumentException('category cannot be blank'); } } $request['document_upload_id'] = $request['documentId']; unset($request['documentId']); $path = $this->_config->merchantPath() . '/disputes/' . $disputeId . '/evidence'; $response = $this->_http->post($path, ['evidence' => $request]); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } if (isset($response['evidence'])) { $evidence = new Dispute\EvidenceDetails($response['evidence']); return new Result\Successful($evidence); } } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $disputeId . '" not found'); } } /** * Adds text evidence to a dispute, given a dispute ID and content * * @param string $id * @param string $content */ public function addTextEvidence($id, $contentOrRequest) { $request = is_array($contentOrRequest) ? $contentOrRequest : ['content' => $contentOrRequest]; if (trim($request['content']) == "") { throw new InvalidArgumentException('content cannot be blank'); } try { $evidence = [ 'comments' => $request['content'], ]; if (trim($id) == "") { throw new Exception\NotFound(); } if (array_key_exists('tag', $request)) { $evidence['category'] = $request['tag']; } if (array_key_exists('category', $request)) { if (trim($request['category']) == "") { throw new InvalidArgumentException('category cannot be blank'); } $evidence['category'] = $request['category']; } if (array_key_exists('sequenceNumber', $request)) { if (trim($request['sequenceNumber']) == "") { throw new InvalidArgumentException('sequenceNumber cannot be blank'); } else if ((string)(int)($request['sequenceNumber']) != $request['sequenceNumber']) { throw new InvalidArgumentException('sequenceNumber must be an integer'); } $evidence['sequenceNumber'] = (int)$request['sequenceNumber']; } $path = $this->_config->merchantPath() . '/disputes/' . $id . '/evidence'; $response = $this->_http->post($path, [ 'evidence' => $evidence ]); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } if (isset($response['evidence'])) { $evidence = new Dispute\EvidenceDetails($response['evidence']); return new Result\Successful($evidence); } } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } } /** * Finalize a dispute, given a dispute ID * * @param string $id */ public function finalize($id) { try { if (trim($id) == "") { throw new Exception\NotFound(); } $path = $this->_config->merchantPath() . '/disputes/' . $id . '/finalize'; $response = $this->_http->put($path); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } return new Result\Successful(); } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } } /** * Find a dispute, given a dispute ID * * @param string $id */ public function find($id) { if (trim($id) == "") { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } try { $path = $this->_config->merchantPath() . '/disputes/' . $id; $response = $this->_http->get($path); return Dispute::factory($response['dispute']); } catch (Exception\NotFound $e) { throw new Exception\NotFound('dispute with id "' . $id . '" not found'); } } /** * Remove evidence from a dispute, given a dispute ID and evidence ID * * @param string $disputeId * @param string $evidenceId */ public function removeEvidence($disputeId, $evidenceId) { try { if (trim($disputeId) == "" || trim($evidenceId) == "") { throw new Exception\NotFound(); } $path = $this->_config->merchantPath() . '/disputes/' . $disputeId . '/evidence/' . $evidenceId; $response = $this->_http->delete($path); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } return new Result\Successful(); } catch (Exception\NotFound $e) { throw new Exception\NotFound('evidence with id "' . $evidenceId . '" for dispute with id "' . $disputeId . '" not found'); } } /** * Search for Disputes, given a DisputeSearch query * * @param DisputeSearch $query */ public function search($query) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $pager = [ 'object' => $this, 'method' => 'fetchDisputes', 'query' => $criteria ]; return new PaginatedCollection($pager); } public function fetchDisputes($query, $page) { $response = $this->_http->post($this->_config->merchantPath() . '/disputes/advanced_search?page=' . $page, [ 'search' => $query ]); $body = $response['disputes']; $disputes = Util::extractattributeasarray($body, 'dispute'); $totalItems = $body['totalItems'][0]; $pageSize = $body['pageSize'][0]; return new PaginatedResult($totalItems, $pageSize, $disputes); } } class_alias('Braintree\DisputeGateway', 'Braintree_DisputeGateway'); lib/braintree/lib/Braintree/CoinbaseAccount.php000064400000005420147206617610015532 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read string $customerId * @property-read string $token * @property-read string $userId * @property-read string $userName * @property-read string $userEmail */ class CoinbaseAccount extends Base { /** * factory method: returns an instance of CoinbaseAccount * to the requesting method, with populated properties * * @ignore * @return CoinbaseAccount */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * sets instance properties from an array of values * * @access protected * @param array $coinbaseAccountAttribs array of coinbaseAccount data * @return void */ protected function _initialize($coinbaseAccountAttribs) { // set the attributes $this->_attributes = $coinbaseAccountAttribs; $subscriptionArray = []; if (isset($coinbaseAccountAttribs['subscriptions'])) { foreach ($coinbaseAccountAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } // static methods redirecting to gateway public static function find($token) { return Configuration::gateway()->coinbaseAccount()->find($token); } public static function update($token, $attributes) { return Configuration::gateway()->coinbaseAccount()->update($token, $attributes); } public static function delete($token) { return Configuration::gateway()->coinbaseAccount()->delete($token); } public static function sale($token, $transactionAttribs) { return Configuration::gateway()->coinbaseAccount()->sale($token, $transactionAttribs); } } class_alias('Braintree\CoinbaseAccount', 'Braintree_CoinbaseAccount'); lib/braintree/lib/Braintree/Dispute.php000064400000014171147206617610014112 0ustar00_attributes = $disputeAttribs; if (isset($disputeAttribs['transaction'])) { $transactionDetails = new Dispute\TransactionDetails($disputeAttribs['transaction']); $this->_set('transactionDetails', $transactionDetails); $this->_set('transaction', $transactionDetails); } if (isset($disputeAttribs['evidence'])) { $evidenceArray = array_map(function($evidence) { return new Dispute\EvidenceDetails($evidence); }, $disputeAttribs['evidence']); $this->_set('evidence', $evidenceArray); } if (isset($disputeAttribs['statusHistory'])) { $statusHistoryArray = array_map(function($statusHistory) { return new Dispute\StatusHistoryDetails($statusHistory); }, $disputeAttribs['statusHistory']); $this->_set('statusHistory', $statusHistoryArray); } if (isset($disputeAttribs['transaction'])) { $this->_set('transaction', new Dispute\TransactionDetails($disputeAttribs['transaction']) ); } } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } public function __toString() { $display = [ 'amount', 'reason', 'status', 'replyByDate', 'receivedDate', 'currencyIsoCode' ]; $displayAttributes = []; foreach ($display AS $attrib) { $displayAttributes[$attrib] = $this->$attrib; } return __CLASS__ . '[' . Util::attributesToString($displayAttributes) .']'; } /** * Accepts a dispute, given a dispute ID * * @param string $id */ public static function accept($id) { return Configuration::gateway()->dispute()->accept($id); } /** * Adds file evidence to a dispute, given a dispute ID and a document ID * * @param string $disputeId * @param string $documentIdOrRequest */ public static function addFileEvidence($disputeId, $documentIdOrRequest) { return Configuration::gateway()->dispute()->addFileEvidence($disputeId, $documentIdOrRequest); } /** * Adds text evidence to a dispute, given a dispute ID and content * * @param string $id * @param string $contentOrRequest */ public static function addTextEvidence($id, $contentOrRequest) { return Configuration::gateway()->dispute()->addTextEvidence($id, $contentOrRequest); } /** * Finalize a dispute, given a dispute ID * * @param string $id */ public static function finalize($id) { return Configuration::gateway()->dispute()->finalize($id); } /** * Find a dispute, given a dispute ID * * @param string $id */ public static function find($id) { return Configuration::gateway()->dispute()->find($id); } /** * Remove evidence from a dispute, given a dispute ID and evidence ID * * @param string $disputeId * @param string $evidenceId */ public static function removeEvidence($disputeId, $evidenceId) { return Configuration::gateway()->dispute()->removeEvidence($disputeId, $evidenceId); } /** * Search for Disputes, given a DisputeSearch query * * @param DisputeSearch $query */ public static function search($query) { return Configuration::gateway()->dispute()->search($query); } } class_alias('Braintree\Dispute', 'Braintree_Dispute'); lib/braintree/lib/Braintree/PaymentMethodNonceGateway.php000064400000003116147206617610017555 0ustar00== More information == * * * @package Braintree * @category Resources */ class PaymentMethodNonceGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_http = new Http($gateway->config); } public function create($token) { $subPath = '/payment_methods/' . $token . '/nonces'; $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath); return new Result\Successful( PaymentMethodNonce::factory($response['paymentMethodNonce']), "paymentMethodNonce" ); } /** * @access public * */ public function find($nonce) { try { $path = $this->_config->merchantPath() . '/payment_method_nonces/' . $nonce; $response = $this->_http->get($path); return PaymentMethodNonce::factory($response['paymentMethodNonce']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'payment method nonce with id ' . $nonce . ' not found' ); } } } class_alias('Braintree\PaymentMethodNonceGateway', 'Braintree_PaymentMethodNonceGateway'); lib/braintree/lib/Braintree/MasterpassCard.php000064400000010666147206617610015416 0ustar00== More information == * * For more detailed information on CreditCard verifications, see {@link https://developers.braintreepayments.com/reference/response/credit-card-verification/php https://developers.braintreepayments.com/reference/response/credit-card-verification/php} * * @package Braintree * @category Resources * * @property-read \Braintree\Address $billingAddress * @property-read string $bin * @property-read string $cardType * @property-read string $cardholderName * @property-read string $commercial * @property-read string $countryOfIssuance * @property-read \DateTime $createdAt * @property-read string $customerId * @property-read string $customerLocation * @property-read string $debit * @property-read boolean $default * @property-read string $durbinRegulated * @property-read string $expirationDate * @property-read string $expirationMonth * @property-read string $expirationYear * @property-read boolean $expired * @property-read string $healthcare * @property-read string $imageUrl * @property-read string $issuingBank * @property-read string $last4 * @property-read string $maskedNumber * @property-read string $payroll * @property-read string $prepaid * @property-read string $productId * @property-read \Braintree\Subscription[] $subscriptions * @property-read string $token * @property-read string $uniqueNumberIdentifier * @property-read \DateTime $updatedAt */ class MasterpassCard extends Base { /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * checks whether the card is expired based on the current date * * @return boolean */ public function isExpired() { return $this->expired; } /** * sets instance properties from an array of values * * @access protected * @param array $creditCardAttribs array of creditcard data * @return void */ protected function _initialize($creditCardAttribs) { // set the attributes $this->_attributes = $creditCardAttribs; // map each address into its own object $billingAddress = isset($creditCardAttribs['billingAddress']) ? Address::factory($creditCardAttribs['billingAddress']) : null; $subscriptionArray = []; if (isset($creditCardAttribs['subscriptions'])) { foreach ($creditCardAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); $this->_set('billingAddress', $billingAddress); $this->_set('expirationDate', $this->expirationMonth . '/' . $this->expirationYear); $this->_set('maskedNumber', $this->bin . '******' . $this->last4); } /** * returns false if comparing object is not a CreditCard, * or is a CreditCard with a different id * * @param object $otherCreditCard customer to compare against * @return boolean */ public function isEqual($otherMasterpassCard) { return !($otherMasterpassCard instanceof self) ? false : $this->token === $otherMasterpassCard->token; } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } /** * factory method: returns an instance of CreditCard * to the requesting method, with populated properties * * @ignore * @return MasterpassCard */ public static function factory($attributes) { $defaultAttributes = [ 'bin' => '', 'expirationMonth' => '', 'expirationYear' => '', 'last4' => '', ]; $instance = new self(); $instance->_initialize(array_merge($defaultAttributes, $attributes)); return $instance; } } class_alias('Braintree\MasterpassCard', 'Braintree_MasterpassCard'); lib/braintree/lib/Braintree/SamsungPayCard.php000064400000010312147206617610015347 0ustar00default; } /** * checks whether the card is expired based on the current date * * @return boolean */ public function isExpired() { return $this->expired; } /** * sets instance properties from an array of values * * @access protected * @param array $creditCardAttribs array of creditcard data * @return void */ protected function _initialize($creditCardAttribs) { // set the attributes $this->_attributes = $creditCardAttribs; // map each address into its own object $billingAddress = isset($creditCardAttribs['billingAddress']) ? Address::factory($creditCardAttribs['billingAddress']) : null; $subscriptionArray = []; if (isset($creditCardAttribs['subscriptions'])) { foreach ($creditCardAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); $this->_set('billingAddress', $billingAddress); $this->_set('expirationDate', $this->expirationMonth . '/' . $this->expirationYear); $this->_set('maskedNumber', $this->bin . '******' . $this->last4); } /** * returns false if comparing object is not a SamsungPayCard, * or is a SamsungPayCard with a different id * * @param object $otherSamsungPayCard customer to compare against * @return boolean */ public function isEqual($otherSamsungPayCard) { return !($otherSamsungPayCard instanceof self) ? false : $this->token === $otherSamsungPayCard->token; } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } /** * factory method: returns an instance of SamsungPayCard * to the requesting method, with populated properties * * @ignore * @return SamsungPayCard */ public static function factory($attributes) { $defaultAttributes = [ 'bin' => '', 'expirationMonth' => '', 'expirationYear' => '', 'last4' => '', ]; $instance = new self(); $instance->_initialize(array_merge($defaultAttributes, $attributes)); return $instance; } } class_alias('Braintree\SamsungPayCard', 'Braintree_SamsungPayCard'); lib/braintree/lib/Braintree/CustomerSearch.php000064400000005224147206617610015423 0ustar00 $value) { if ($kind == 'clientId') { $this->_clientId = $value; } if ($kind == 'clientSecret') { $this->_clientSecret = $value; } if ($kind == 'accessToken') { $this->_accessToken = $value; } } $this->parse(); } /** * * @access protected * @static * @var array valid environments, used for validation */ private static $_validEnvironments = [ 'development', 'integration', 'sandbox', 'production', 'qa', ]; public function parse() { $environments = []; if (!empty($this->_clientId)) { $environments[] = ['clientId', $this->_parseClientCredential('clientId', $this->_clientId, 'client_id')]; } if (!empty($this->_clientSecret)) { $environments[] = ['clientSecret', $this->_parseClientCredential('clientSecret', $this->_clientSecret, 'client_secret')]; } if (!empty($this->_accessToken)) { $environments[] = ['accessToken', $this->_parseAccessToken()]; } $checkEnv = $environments[0]; foreach ($environments as $env) { if ($env[1] !== $checkEnv[1]) { throw new Exception\Configuration( 'Mismatched credential environments: ' . $checkEnv[0] . ' environment is ' . $checkEnv[1] . ' and ' . $env[0] . ' environment is ' . $env[1]); } } self::assertValidEnvironment($checkEnv[1]); $this->_environment = $checkEnv[1]; } public static function assertValidEnvironment($environment) { if (!in_array($environment, self::$_validEnvironments)) { throw new Exception\Configuration('"' . $environment . '" is not a valid environment.'); } } private function _parseClientCredential($credentialType, $value, $expectedValuePrefix) { $explodedCredential = explode('$', $value); if (sizeof($explodedCredential) != 3) { throw new Exception\Configuration('Incorrect ' . $credentialType . ' format. Expected: type$environment$token'); } $gotValuePrefix = $explodedCredential[0]; $environment = $explodedCredential[1]; $token = $explodedCredential[2]; if ($gotValuePrefix != $expectedValuePrefix) { throw new Exception\Configuration('Value passed for ' . $credentialType . ' is not a ' . $credentialType); } return $environment; } private function _parseAccessToken() { $accessTokenExploded = explode('$', $this->_accessToken); if (sizeof($accessTokenExploded) != 4) { throw new Exception\Configuration('Incorrect accessToken syntax. Expected: type$environment$merchant_id$token'); } $gotValuePrefix = $accessTokenExploded[0]; $environment = $accessTokenExploded[1]; $merchantId = $accessTokenExploded[2]; $token = $accessTokenExploded[3]; if ($gotValuePrefix != 'access_token') { throw new Exception\Configuration('Value passed for accessToken is not an accessToken'); } $this->_merchantId = $merchantId; return $environment; } public function getClientId() { return $this->_clientId; } public function getClientSecret() { return $this->_clientSecret; } public function getAccessToken() { return $this->_accessToken; } public function getEnvironment() { return $this->_environment; } public function getMerchantId() { return $this->_merchantId; } } class_alias('Braintree\CredentialsParser', 'Braintree_CredentialsParser'); lib/braintree/lib/Braintree/WebhookTesting.php000064400000000523147206617610015425 0ustar00webhookTesting()->sampleNotification($kind, $id, $sourceMerchantId); } } class_alias('Braintree\WebhookTesting', 'Braintree_WebhookTesting'); lib/braintree/lib/Braintree/Xml/Parser.php000064400000007654147206617610014501 0ustar00loadXML($xml); $root = $document->documentElement->nodeName; return Util::delimiterToCamelCaseArray([ $root => self::_nodeToValue($document->childNodes->item(0)), ]); } /** * Converts a node to an array of values or nodes * * @param DOMNode @node * @return mixed */ private static function _nodeToArray($node) { $type = null; if ($node instanceof DOMElement) { $type = $node->getAttribute('type'); } switch($type) { case 'array': $array = []; foreach ($node->childNodes as $child) { $value = self::_nodeToValue($child); if ($value !== null) { $array[] = $value; } } return $array; case 'collection': $collection = []; foreach ($node->childNodes as $child) { $value = self::_nodetoValue($child); if ($value !== null) { if (!isset($collection[$child->nodeName])) { $collection[$child->nodeName] = []; } $collection[$child->nodeName][] = self::_nodeToValue($child); } } return $collection; default: $values = []; if ($node->childNodes->length === 1 && $node->childNodes->item(0) instanceof DOMText) { return $node->childNodes->item(0)->nodeValue; } else { foreach ($node->childNodes as $child) { if (!$child instanceof DOMText) { $values[$child->nodeName] = self::_nodeToValue($child); } } return $values; } } } /** * Converts a node to a PHP value * * @param DOMNode $node * @return mixed */ private static function _nodeToValue($node) { $type = null; if ($node instanceof DOMElement) { $type = $node->getAttribute('type'); } switch($type) { case 'datetime': return self::_timestampToUTC((string) $node->nodeValue); case 'date': return new DateTime((string) $node->nodeValue); case 'integer': return (int) $node->nodeValue; case 'boolean': $value = (string) $node->nodeValue; if(is_numeric($value)) { return (bool) $value; } else { return ($value !== "true") ? false : true; } case 'array': case 'collection': return self::_nodeToArray($node); default: if ($node->hasChildNodes()) { return self::_nodeToArray($node); } elseif (trim($node->nodeValue) === '') { return null; } else { return $node->nodeValue; } } } /** * Converts XML timestamps into DateTime instances * * @param string $timestamp * @return DateTime */ private static function _timestampToUTC($timestamp) { $tz = new DateTimeZone('UTC'); $dateTime = new DateTime($timestamp, $tz); $dateTime->setTimezone($tz); return $dateTime; } } class_alias('Braintree\Xml\Parser', 'Braintree_Xml_Parser'); lib/braintree/lib/Braintree/Xml/Generator.php000064400000011172147206617610015161 0ustar00openMemory(); $writer->setIndent(true); $writer->setIndentString(' '); $writer->startDocument('1.0', 'UTF-8'); // get the root element name $aKeys = array_keys($aData); $rootElementName = $aKeys[0]; // open the root element $writer->startElement($rootElementName); // create the body self::_createElementsFromArray($writer, $aData[$rootElementName], $rootElementName); // close the root element and document $writer->endElement(); $writer->endDocument(); // send the output as string return $writer->outputMemory(); } /** * Construct XML elements with attributes from an associative array. * * @access protected * @static * @param object $writer XMLWriter object * @param array $aData contains attributes and values * @return void */ private static function _createElementsFromArray(&$writer, $aData) { if (!is_array($aData)) { if (is_bool($aData)) { $writer->text($aData ? 'true' : 'false'); } else { $writer->text($aData); } return; } foreach ($aData AS $elementName => $element) { // handle child elements $writer->startElement($elementName); if (is_array($element)) { if (array_key_exists(0, $element) || empty($element)) { $writer->writeAttribute('type', 'array'); foreach ($element AS $ignored => $itemInArray) { $writer->startElement('item'); self::_createElementsFromArray($writer, $itemInArray); $writer->endElement(); } } else { self::_createElementsFromArray($writer, $element); } } else { // generate attributes as needed $attribute = self::_generateXmlAttribute($element); if (is_array($attribute)) { $writer->writeAttribute($attribute[0], $attribute[1]); $element = $attribute[2]; } $writer->text($element); } $writer->endElement(); } } /** * convert passed data into an array of attributeType, attributeName, and value * dates sent as DateTime objects will be converted to strings * @access protected * @param mixed $value * @return array attributes and element value */ private static function _generateXmlAttribute($value) { if ($value instanceof DateTime) { return ['type', 'datetime', self::_dateTimeToXmlTimestamp($value)]; } if (is_int($value)) { return ['type', 'integer', $value]; } if (is_bool($value)) { return ['type', 'boolean', ($value ? 'true' : 'false')]; } if ($value === NULL) { return ['nil', 'true', $value]; } } /** * converts datetime back to xml schema format * @access protected * @param object $dateTime * @return string XML schema formatted timestamp */ private static function _dateTimeToXmlTimestamp($dateTime) { $dateTimeForUTC = clone $dateTime; $dateTimeForUTC->setTimeZone(new DateTimeZone('UTC')); return ($dateTimeForUTC->format('Y-m-d\TH:i:s') . 'Z'); } private static function _castDateTime($string) { try { if (empty($string)) { return false; } $dateTime = new DateTime($string); return self::_dateTimeToXmlTimestamp($dateTime); } catch (Exception $e) { // not a datetime return false; } } } class_alias('Braintree\Xml\Generator', 'Braintree_Xml_Generator'); lib/braintree/lib/Braintree/AddOnGateway.php000064400000001755147206617610015010 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /** * * @return AddOn[] */ public function all() { $path = $this->_config->merchantPath() . '/add_ons'; $response = $this->_http->get($path); $addOns = ["addOn" => $response['addOns']]; return Util::extractAttributeAsArray( $addOns, 'addOn' ); } } class_alias('Braintree\AddOnGateway', 'Braintree_AddOnGateway'); lib/braintree/lib/Braintree/UsBankAccount.php000064400000006247147206617610015202 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read string $customerId * @property-read string $email * @property-read string $token * @property-read string $imageUrl * @property-read string $routingNumber * @property-read string $accountType * @property-read string $accountHolderName * @property-read string $last4 * @property-read string $bankName * @property-read string $achMandate * @property-read boolean $default * @property-read boolean $verified */ class UsBankAccount extends Base { /** * factory method: returns an instance of UsBankAccount * to the requesting method, with populated properties * * @ignore * @return UsBankAccount */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /* instance methods */ /** * sets instance properties from an array of values * * @access protected * @param array $usBankAccountAttribs array of usBankAccount data * @return void */ protected function _initialize($usBankAccountAttribs) { // set the attributes $this->_attributes = $usBankAccountAttribs; $achMandate = isset($usBankAccountAttribs['achMandate']) ? AchMandate::factory($usBankAccountAttribs['achMandate']) : null; $this->_set('achMandate', $achMandate); if (isset($usBankAccountAttribs['verifications'])) { $verification_records = $usBankAccountAttribs['verifications']; $verifications = array(); for ($i = 0; $i < count($verification_records); $i++) { $verifications[$i] = UsBankAccountVerification::factory($verification_records[$i]); } $this->_set('verifications', $verifications); } else { $this->_set('verifications', null); } } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } // static methods redirecting to gateway public static function find($token) { return Configuration::gateway()->usBankAccount()->find($token); } public static function sale($token, $transactionAttribs) { $transactionAttribs['options'] = [ 'submitForSettlement' => true ]; return Configuration::gateway()->usBankAccount()->sale($token, $transactionAttribs); } } class_alias('Braintree\UsBankAccount', 'Braintree_UsBankAccount'); lib/braintree/lib/Braintree/PaginatedCollection.php000064400000005576147206617610016416 0ustar00 * $result = MerchantAccount::all(); * * foreach($result as $merchantAccount) { * print_r($merchantAccount->status); * } * * * @package Braintree * @subpackage Utility */ class PaginatedCollection implements Iterator { private $_pager; private $_pageSize; private $_currentPage; private $_index; private $_totalItems; private $_items; /** * set up the paginated collection * * expects an array of an object and method to call on it * * @param array $pager */ public function __construct($pager) { $this->_pager = $pager; $this->_pageSize = 0; $this->_currentPage = 0; $this->_totalItems = 0; $this->_index = 0; } /** * returns the current item when iterating with foreach */ public function current() { return $this->_items[($this->_index % $this->_pageSize)]; } public function key() { return null; } /** * advances to the next item in the collection when iterating with foreach */ public function next() { ++$this->_index; } /** * rewinds the collection to the first item when iterating with foreach */ public function rewind() { $this->_index = 0; $this->_currentPage = 0; $this->_pageSize = 0; $this->_totalItems = 0; $this->_items = []; } /** * returns whether the current item is valid when iterating with foreach */ public function valid() { if ($this->_currentPage == 0 || $this->_index % $this->_pageSize == 0 && $this->_index < $this->_totalItems) { $this->_getNextPage(); } return $this->_index < $this->_totalItems; } private function _getNextPage() { $this->_currentPage++; $object = $this->_pager['object']; $method = $this->_pager['method']; if (isset($this->_pager['query'])) { $query = $this->_pager['query']; $result = call_user_func( [$object, $method], $query, $this->_currentPage ); } else { $result = call_user_func( [$object, $method], $this->_currentPage ); } $this->_totalItems= $result->getTotalItems(); $this->_pageSize = $result->getPageSize(); $this->_items = $result->getCurrentPage(); } } class_alias('Braintree\PaginatedCollection', 'Braintree_PaginatedCollection'); lib/braintree/lib/Braintree/DisputeSearch.php000064400000003625147206617610015242 0ustar00_attributes)) { return $this->_attributes[$name]; } else { trigger_error('Undefined property on ' . get_class($this) . ': ' . $name, E_USER_NOTICE); return null; } } /** * Checks for the existence of a property stored in the private $_attributes property * * @ignore * @param string $name * @return boolean */ public function __isset($name) { return array_key_exists($name, $this->_attributes); } /** * Mutator for instance properties stored in the private $_attributes property * * @ignore * @param string $key * @param mixed $value */ public function _set($key, $value) { $this->_attributes[$key] = $value; } /** * Implementation of JsonSerializable * * @ignore * @return array */ public function jsonSerialize() { return $this->_attributes; } } lib/braintree/lib/Braintree/Address.php000064400000010057147206617610014061 0ustar00id === $other->id && $this->customerId === $other->customerId); } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @ignore * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } /** * sets instance properties from an array of values * * @ignore * @access protected * @param array $addressAttribs array of address data * @return void */ protected function _initialize($addressAttribs) { // set the attributes $this->_attributes = $addressAttribs; } /** * factory method: returns an instance of Address * to the requesting method, with populated properties * @ignore * @return Address */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } // static methods redirecting to gateway /** * * @param array $attribs * @return Address */ public static function create($attribs) { return Configuration::gateway()->address()->create($attribs); } /** * * @param array $attribs * @return Address */ public static function createNoValidate($attribs) { return Configuration::gateway()->address()->createNoValidate($attribs); } /** * * @param Customer|int $customerOrId * @param int $addressId * @throws InvalidArgumentException * @return Result\Successful */ public static function delete($customerOrId = null, $addressId = null) { return Configuration::gateway()->address()->delete($customerOrId, $addressId); } /** * * @param Customer|int $customerOrId * @param int $addressId * @throws Exception\NotFound * @return Address */ public static function find($customerOrId, $addressId) { return Configuration::gateway()->address()->find($customerOrId, $addressId); } /** * * @param Customer|int $customerOrId * @param int $addressId * @param array $attributes * @throws Exception\Unexpected * @return Result\Successful|Result\Error */ public static function update($customerOrId, $addressId, $attributes) { return Configuration::gateway()->address()->update($customerOrId, $addressId, $attributes); } public static function updateNoValidate($customerOrId, $addressId, $attributes) { return Configuration::gateway()->address()->updateNoValidate($customerOrId, $addressId, $attributes); } } class_alias('Braintree\Address', 'Braintree_Address'); lib/braintree/lib/Braintree/TransactionLineItem.php000064400000002631147206617610016407 0ustar00transactionLineItem()->findAll($transactionId); } } class_alias('Braintree\TransactionLineItem', 'Braintree_TransactionLineItem'); class_alias('Braintree\TransactionLineItem', 'Braintree\Transaction\LineItem'); class_alias('Braintree\TransactionLineItem', 'Braintree_Transaction_LineItem'); lib/braintree/lib/Braintree/Exception.php000064400000000364147206617610014432 0ustar00_initialize($attributes); return $instance; } protected function _initialize($authorizationAdjustmentAttribs) { $this->_attributes = $authorizationAdjustmentAttribs; } public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } } class_alias('Braintree\AuthorizationAdjustment', 'Braintree_Authorization_Adjustment'); lib/braintree/lib/Braintree/MultipleValueOrTextNode.php000064400000002013147206617610017231 0ustar00textNode = new TextNode($name); } public function contains($value) { $this->textNode->contains($value); return $this; } public function endsWith($value) { $this->textNode->endsWith($value); return $this; } public function is($value) { $this->textNode->is($value); return $this; } public function isNot($value) { $this->textNode->isNot($value); return $this; } public function startsWith($value) { $this->textNode->startsWith($value); return $this; } public function toParam() { return array_merge(parent::toParam(), $this->textNode->toParam()); } } class_alias('Braintree\MultipleValueOrTextNode', 'Braintree_MultipleValueOrTextNode'); lib/braintree/lib/Braintree/AccountUpdaterDailyReport.php000064400000002031147206617610017565 0ustar00_attributes = $disputeAttribs; } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } public function __toString() { $display = [ 'reportDate', 'reportUrl' ]; $displayAttributes = []; foreach ($display AS $attrib) { $displayAttributes[$attrib] = $this->$attrib; } return __CLASS__ . '[' . Util::attributesToString($displayAttributes) .']'; } } class_alias('Braintree\AccountUpdaterDailyReport', 'Braintree_AccountUpdaterDailyReport'); lib/braintree/lib/Braintree/ApplePayCard.php000064400000005631147206617610015003 0ustar00== More information == * * See {@link https://developers.braintreepayments.com/javascript+php}
* * @package Braintree * @category Resources * * @property-read string $bin * @property-read string $cardType * @property-read \DateTime $createdAt * @property-read string $customerId * @property-read boolean $default * @property-read string $expirationDate * @property-read string $expirationMonth * @property-read string $expirationYear * @property-read boolean $expired * @property-read string $imageUrl * @property-read string $last4 * @property-read string $token * @property-read string $paymentInstrumentName * @property-read string $sourceDescription * @property-read \Braintree\Subscription[] $subscriptions * @property-read \DateTime $updatedAt */ class ApplePayCard extends Base { // Card Type const AMEX = 'Apple Pay - American Express'; const MASTER_CARD = 'Apple Pay - MasterCard'; const VISA = 'Apple Pay - Visa'; /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * checks whether the card is expired based on the current date * * @return boolean */ public function isExpired() { return $this->expired; } /** * factory method: returns an instance of ApplePayCard * to the requesting method, with populated properties * * @ignore * @return ApplePayCard */ public static function factory($attributes) { $defaultAttributes = [ 'expirationMonth' => '', 'expirationYear' => '', 'last4' => '', ]; $instance = new self(); $instance->_initialize(array_merge($defaultAttributes, $attributes)); return $instance; } /** * sets instance properties from an array of values * * @access protected * @param array $applePayCardAttribs array of Apple Pay card properties * @return void */ protected function _initialize($applePayCardAttribs) { // set the attributes $this->_attributes = $applePayCardAttribs; $subscriptionArray = []; if (isset($applePayCardAttribs['subscriptions'])) { foreach ($applePayCardAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); $this->_set('expirationDate', $this->expirationMonth . '/' . $this->expirationYear); } } class_alias('Braintree\ApplePayCard', 'Braintree_ApplePayCard'); lib/braintree/lib/Braintree/Gateway.php000064400000011660147206617610014076 0ustar00config = $config; } /** * * @return AddOnGateway */ public function addOn() { return new AddOnGateway($this); } /** * * @return AddressGateway */ public function address() { return new AddressGateway($this); } /** * * @return ApplePayGateway */ public function applePay() { return new ApplePayGateway($this); } /** * * @return ClientTokenGateway */ public function clientToken() { return new ClientTokenGateway($this); } /** * * @return CreditCardGateway */ public function creditCard() { return new CreditCardGateway($this); } /** * * @return CreditCardVerificationGateway */ public function creditCardVerification() { return new CreditCardVerificationGateway($this); } /** * * @return CustomerGateway */ public function customer() { return new CustomerGateway($this); } /** * * @return DiscountGateway */ public function discount() { return new DiscountGateway($this); } /** * * @return DisputeGateway */ public function dispute() { return new DisputeGateway($this); } /** * * @return DocumentUploadGateway */ public function documentUpload() { return new DocumentUploadGateway($this); } /** * * @return MerchantGateway */ public function merchant() { return new MerchantGateway($this); } /** * * @return MerchantAccountGateway */ public function merchantAccount() { return new MerchantAccountGateway($this); } /** * * @return OAuthGateway */ public function oauth() { return new OAuthGateway($this); } /** * * @return PaymentMethodGateway */ public function paymentMethod() { return new PaymentMethodGateway($this); } /** * * @return PaymentMethodNonceGateway */ public function paymentMethodNonce() { return new PaymentMethodNonceGateway($this); } /** * * @return PayPalAccountGateway */ public function payPalAccount() { return new PayPalAccountGateway($this); } /** * * @return PlanGateway */ public function plan() { return new PlanGateway($this); } /** * * @return SettlementBatchSummaryGateway */ public function settlementBatchSummary() { return new SettlementBatchSummaryGateway($this); } /** * * @return SubscriptionGateway */ public function subscription() { return new SubscriptionGateway($this); } /** * * @return TestingGateway */ public function testing() { return new TestingGateway($this); } /** * * @return TransactionGateway */ public function transaction() { return new TransactionGateway($this); } /** * * @return TransactionLineItemGateway */ public function transactionLineItem() { return new TransactionLineItemGateway($this); } /** * * @return TransparentRedirectGateway */ public function transparentRedirect() { return new TransparentRedirectGateway($this); } /** * * @return UsBankAccountGateway */ public function usBankAccount() { return new UsBankAccountGateway($this); } /** * * @return UsBankAccountVerificationGateway */ public function usBankAccountVerification() { return new UsBankAccountVerificationGateway($this); } /** * * @return IdealPaymentGateway */ public function idealPayment() { return new IdealPaymentGateway($this); } /** * * @return WebhookNotificationGateway */ public function webhookNotification() { return new WebhookNotificationGateway($this); } /** * * @return WebhookTestingGateway */ public function webhookTesting() { return new WebhookTestingGateway($this); } } class_alias('Braintree\Gateway', 'Braintree_Gateway'); lib/braintree/lib/Braintree/Subscription/StatusDetails.php000064400000001232147206617610017744 0ustar00== More information == * * * @package Braintree * @category Resources */ class PaymentMethodGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function create($attribs) { Util::verifyKeys(self::createSignature(), $attribs); return $this->_doCreate('/payment_methods', ['payment_method' => $attribs]); } /** * find a PaymentMethod by token * * @param string $token payment method unique id * @return CreditCard|PayPalAccount * @throws Exception\NotFound */ public function find($token) { $this->_validateId($token); try { $path = $this->_config->merchantPath() . '/payment_methods/any/' . $token; $response = $this->_http->get($path); return PaymentMethodParser::parsePaymentMethod($response); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'payment method with token ' . $token . ' not found' ); } } public function update($token, $attribs) { Util::verifyKeys(self::updateSignature(), $attribs); return $this->_doUpdate('/payment_methods/any/' . $token, ['payment_method' => $attribs]); } public function delete($token, $options=[]) { Util::verifyKeys(self::deleteSignature(), $options); $this->_validateId($token); $queryString = ""; if (!empty($options)) { $queryString = "?" . http_build_query(Util::camelCaseToDelimiterArray($options, '_')); } return $this->_doDelete('/payment_methods/any/' . $token . $queryString); } public function grant($sharedPaymentMethodToken, $attribs=[]) { if (is_bool($attribs) === true) { $attribs = ['allow_vaulting' => $attribs]; } $options = [ 'shared_payment_method_token' => $sharedPaymentMethodToken ]; return $this->_doGrant( '/payment_methods/grant', [ 'payment_method' => array_merge($attribs, $options) ] ); } public function revoke($sharedPaymentMethodToken) { return $this->_doRevoke( '/payment_methods/revoke', [ 'payment_method' => [ 'shared_payment_method_token' => $sharedPaymentMethodToken ] ] ); } private static function baseSignature() { $billingAddressSignature = AddressGateway::createSignature(); $optionsSignature = [ 'failOnDuplicatePaymentMethod', 'makeDefault', 'verificationMerchantAccountId', 'verifyCard', 'verificationAccountType', 'verificationAmount', 'usBankAccountVerificationMethod', ['paypal' => [ 'payee_email', 'payeeEmail', 'order_id', 'orderId', 'custom_field', 'customField', 'description', 'amount', ['shipping' => [ 'firstName', 'lastName', 'company', 'countryName', 'countryCodeAlpha2', 'countryCodeAlpha3', 'countryCodeNumeric', 'extendedAddress', 'locality', 'postalCode', 'region', 'streetAddress'], ], ]], ]; return [ 'billingAddressId', 'cardholderName', 'cvv', 'deviceData', 'expirationDate', 'expirationMonth', 'expirationYear', 'number', 'paymentMethodNonce', 'token', ['options' => $optionsSignature], ['billingAddress' => $billingAddressSignature] ]; } public static function createSignature() { $signature = array_merge(self::baseSignature(), ['customerId', 'paypalRefreshToken', 'paypalVaultWithoutUpgrade']); return $signature; } public static function updateSignature() { $billingAddressSignature = AddressGateway::updateSignature(); array_push($billingAddressSignature, [ 'options' => [ 'updateExisting' ] ]); $signature = array_merge(self::baseSignature(), [ 'deviceSessionId', 'venmoSdkPaymentMethodCode', 'fraudMerchantId', ['billingAddress' => $billingAddressSignature] ]); return $signature; } private static function deleteSignature() { return ['revokeAllGrants']; } /** * sends the create request to the gateway * * @ignore * @param string $subPath * @param array $params * @return mixed */ public function _doCreate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyGatewayResponse($response); } public function _doGrant($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyGrantResponse($response); } public function _doRevoke($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyRevokeResponse($response); } /** * sends the update request to the gateway * * @ignore * @param string $subPath * @param array $params * @return mixed */ public function _doUpdate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->put($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * sends the delete request to the gateway * * @ignore * @param string $subPath * @return mixed */ public function _doDelete($subPath) { $fullPath = $this->_config->merchantPath() . $subPath; $this->_http->delete($fullPath); return new Result\Successful(); } /** * generic method for validating incoming gateway responses * * creates a new CreditCard or PayPalAccount object * and encapsulates it inside a Result\Successful object, or * encapsulates a Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid. * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else if (($response)) { return new Result\Successful( PaymentMethodParser::parsePaymentMethod($response), 'paymentMethod' ); } else { throw new Exception\Unexpected( 'Expected payment method or apiErrorResponse' ); } } private function _verifyGrantResponse($response) { if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else if (isset($response['paymentMethodNonce'])) { return new Result\Successful( PaymentMethodNonce::factory($response['paymentMethodNonce']), 'paymentMethodNonce' ); } else { throw new Exception\Unexpected( 'Expected paymentMethodNonce or apiErrorResponse' ); } } private function _verifyRevokeResponse($response) { if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else if (isset($response['success'])) { return new Result\Successful(); } else { throw new Exception\Unexpected( 'Expected success or apiErrorResponse' ); } } /** * verifies that a valid payment method identifier is being used * @ignore * @param string $identifier * @param Optional $string $identifierType type of identifier supplied, default 'token' * @throws InvalidArgumentException */ private function _validateId($identifier = null, $identifierType = 'token') { if (empty($identifier)) { throw new InvalidArgumentException( 'expected payment method id to be set' ); } if (!preg_match('/^[0-9A-Za-z_-]+$/', $identifier)) { throw new InvalidArgumentException( $identifier . ' is an invalid payment method ' . $identifierType . '.' ); } } } class_alias('Braintree\PaymentMethodGateway', 'Braintree_PaymentMethodGateway'); lib/braintree/lib/Braintree/Discount.php000064400000001655147206617610014270 0ustar00_initialize($attributes); return $instance; } // static methods redirecting to gateway public static function all() { return Configuration::gateway()->discount()->all(); } } class_alias('Braintree\Discount', 'Braintree_Discount'); lib/braintree/lib/Braintree/Util.php000064400000042037147206617610013414 0ustar00success) { return $resultObj->$resultObjName; } else { throw new Exception\ValidationsFailed(); } } /** * removes the header from a classname * * @param string $name ClassName * @return camelCased classname minus header */ public static function cleanClassName($name) { $classNamesToResponseKeys = [ 'Braintree\CreditCard' => 'creditCard', 'Braintree_CreditCard' => 'creditCard', 'Braintree\CreditCardGateway' => 'creditCard', 'Braintree_CreditCardGateway' => 'creditCard', 'Braintree\Customer' => 'customer', 'Braintree_Customer' => 'customer', 'Braintree\CustomerGateway' => 'customer', 'Braintree_CustomerGateway' => 'customer', 'Braintree\Subscription' => 'subscription', 'Braintree_Subscription' => 'subscription', 'Braintree\SubscriptionGateway' => 'subscription', 'Braintree_SubscriptionGateway' => 'subscription', 'Braintree\Transaction' => 'transaction', 'Braintree_Transaction' => 'transaction', 'Braintree\TransactionGateway' => 'transaction', 'Braintree_TransactionGateway' => 'transaction', 'Braintree\CreditCardVerification' => 'verification', 'Braintree_CreditCardVerification' => 'verification', 'Braintree\CreditCardVerificationGateway' => 'verification', 'Braintree_CreditCardVerificationGateway' => 'verification', 'Braintree\AddOn' => 'addOn', 'Braintree_AddOn' => 'addOn', 'Braintree\AddOnGateway' => 'addOn', 'Braintree_AddOnGateway' => 'addOn', 'Braintree\Discount' => 'discount', 'Braintree_Discount' => 'discount', 'Braintree\DiscountGateway' => 'discount', 'Braintree_DiscountGateway' => 'discount', 'Braintree\Dispute' => 'dispute', 'Braintree_Dispute' => 'dispute', 'Braintree\Dispute\EvidenceDetails' => 'evidence', 'Braintree_Dispute_EvidenceDetails' => 'evidence', 'Braintree\DocumentUpload' => 'documentUpload', 'Braintree_DocumentUpload' => 'doumentUpload', 'Braintree\Plan' => 'plan', 'Braintree_Plan' => 'plan', 'Braintree\PlanGateway' => 'plan', 'Braintree_PlanGateway' => 'plan', 'Braintree\Address' => 'address', 'Braintree_Address' => 'address', 'Braintree\AddressGateway' => 'address', 'Braintree_AddressGateway' => 'address', 'Braintree\SettlementBatchSummary' => 'settlementBatchSummary', 'Braintree_SettlementBatchSummary' => 'settlementBatchSummary', 'Braintree\SettlementBatchSummaryGateway' => 'settlementBatchSummary', 'Braintree_SettlementBatchSummaryGateway' => 'settlementBatchSummary', 'Braintree\Merchant' => 'merchant', 'Braintree_Merchant' => 'merchant', 'Braintree\MerchantGateway' => 'merchant', 'Braintree_MerchantGateway' => 'merchant', 'Braintree\MerchantAccount' => 'merchantAccount', 'Braintree_MerchantAccount' => 'merchantAccount', 'Braintree\MerchantAccountGateway' => 'merchantAccount', 'Braintree_MerchantAccountGateway' => 'merchantAccount', 'Braintree\OAuthCredentials' => 'credentials', 'Braintree_OAuthCredentials' => 'credentials', 'Braintree\OAuthResult' => 'result', 'Braintree_OAuthResult' => 'result', 'Braintree\PayPalAccount' => 'paypalAccount', 'Braintree_PayPalAccount' => 'paypalAccount', 'Braintree\PayPalAccountGateway' => 'paypalAccount', 'Braintree_PayPalAccountGateway' => 'paypalAccount', 'Braintree\UsBankAccountVerification' => 'usBankAccountVerification', 'Braintree_UsBankAccountVerification' => 'usBankAccountVerification', ]; return $classNamesToResponseKeys[$name]; } /** * * @param string $name className * @return string ClassName */ public static function buildClassName($name) { $responseKeysToClassNames = [ 'creditCard' => 'Braintree\CreditCard', 'customer' => 'Braintree\Customer', 'dispute' => 'Braintree\Dispute', 'documentUpload' => 'Braintree\DocumentUpload', 'subscription' => 'Braintree\Subscription', 'transaction' => 'Braintree\Transaction', 'verification' => 'Braintree\CreditCardVerification', 'addOn' => 'Braintree\AddOn', 'discount' => 'Braintree\Discount', 'plan' => 'Braintree\Plan', 'address' => 'Braintree\Address', 'settlementBatchSummary' => 'Braintree\SettlementBatchSummary', 'merchantAccount' => 'Braintree\MerchantAccount', ]; return (string) $responseKeysToClassNames[$name]; } /** * convert alpha-beta-gamma to alphaBetaGamma * * @access public * @param string $string * @param null|string $delimiter * @return string modified string */ public static function delimiterToCamelCase($string, $delimiter = '[\-\_]') { static $callback = null; if ($callback === null) { $callback = function ($matches) { return strtoupper($matches[1]); }; } return preg_replace_callback('/' . $delimiter . '(\w)/', $callback, $string); } /** * convert alpha-beta-gamma to alpha_beta_gamma * * @access public * @param string $string * @return string modified string */ public static function delimiterToUnderscore($string) { return preg_replace('/-/', '_', $string); } /** * find capitals and convert to delimiter + lowercase * * @access public * @param string $string * @param null|string $delimiter * @return string modified string */ public static function camelCaseToDelimiter($string, $delimiter = '-') { return strtolower(preg_replace('/([A-Z])/', "$delimiter\\1", $string)); } public static function delimiterToCamelCaseArray($array, $delimiter = '[\-\_]') { $converted = []; foreach ($array as $key => $value) { if (is_string($key)) { $key = self::delimiterToCamelCase($key, $delimiter); } if (is_array($value)) { // Make an exception for custom fields, which must be underscore (can't be // camelCase). if ($key === 'customFields') { $value = self::delimiterToUnderscoreArray($value); } else { $value = self::delimiterToCamelCaseArray($value, $delimiter); } } $converted[$key] = $value; } return $converted; } public static function camelCaseToDelimiterArray($array, $delimiter = '-') { $converted = []; foreach ($array as $key => $value) { if (is_string($key)) { $key = self::camelCaseToDelimiter($key, $delimiter); } if (is_array($value)) { $value = self::camelCaseToDelimiterArray($value, $delimiter); } $converted[$key] = $value; } return $converted; } public static function delimiterToUnderscoreArray($array) { $converted = []; foreach ($array as $key => $value) { $key = self::delimiterToUnderscore($key); $converted[$key] = $value; } return $converted; } /** * * @param array $array associative array to implode * @param string $separator (optional, defaults to =) * @param string $glue (optional, defaults to ', ') * @return bool */ public static function implodeAssociativeArray($array, $separator = '=', $glue = ', ') { // build a new array with joined keys and values $tmpArray = null; foreach ($array AS $key => $value) { if ($value instanceof DateTime) { $value = $value->format('r'); } $tmpArray[] = $key . $separator . $value; } // implode and return the new array return (is_array($tmpArray)) ? implode($glue, $tmpArray) : false; } public static function attributesToString($attributes) { $printableAttribs = []; foreach ($attributes AS $key => $value) { if (is_array($value)) { $pAttrib = self::attributesToString($value); } else if ($value instanceof DateTime) { $pAttrib = $value->format(DateTime::RFC850); } else { $pAttrib = $value; } $printableAttribs[$key] = sprintf('%s', $pAttrib); } return self::implodeAssociativeArray($printableAttribs); } /** * verify user request structure * * compares the expected signature of a gateway request * against the actual structure sent by the user * * @param array $signature * @param array $attributes */ public static function verifyKeys($signature, $attributes) { $validKeys = self::_flattenArray($signature); $userKeys = self::_flattenUserKeys($attributes); $invalidKeys = array_diff($userKeys, $validKeys); $invalidKeys = self::_removeWildcardKeys($validKeys, $invalidKeys); if(!empty($invalidKeys)) { asort($invalidKeys); $sortedList = join(', ', $invalidKeys); throw new InvalidArgumentException('invalid keys: ' . $sortedList); } } /** * flattens a numerically indexed nested array to a single level * @param array $keys * @param string $namespace * @return array */ private static function _flattenArray($keys, $namespace = null) { $flattenedArray = []; foreach($keys AS $key) { if(is_array($key)) { $theKeys = array_keys($key); $theValues = array_values($key); $scope = $theKeys[0]; $fullKey = empty($namespace) ? $scope : $namespace . '[' . $scope . ']'; $flattenedArray = array_merge($flattenedArray, self::_flattenArray($theValues[0], $fullKey)); } else { $fullKey = empty($namespace) ? $key : $namespace . '[' . $key . ']'; $flattenedArray[] = $fullKey; } } sort($flattenedArray); return $flattenedArray; } private static function _flattenUserKeys($keys, $namespace = null) { $flattenedArray = []; foreach($keys AS $key => $value) { $fullKey = empty($namespace) ? $key : $namespace; if (!is_numeric($key) && $namespace != null) { $fullKey .= '[' . $key . ']'; } if (is_numeric($key) && is_string($value)) { $fullKey .= '[' . $value . ']'; } if(is_array($value)) { $more = self::_flattenUserKeys($value, $fullKey); $flattenedArray = array_merge($flattenedArray, $more); } else { $flattenedArray[] = $fullKey; } } sort($flattenedArray); return $flattenedArray; } /** * removes wildcard entries from the invalid keys array * @param array $validKeys * @param $invalidKey) { if (stristr($invalidKey, $wildcardKey)) { unset($invalidKeys[$index]); } } } } return $invalidKeys; } } class_alias('Braintree\Util', 'Braintree_Util'); lib/braintree/lib/Braintree/BinData.php000064400000001751147206617610013777 0ustar00_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; } /** * returns a string representation of the bin data * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } } class_alias('Braintree\BinData', 'Braintree_BinData'); lib/braintree/lib/Braintree/CreditCardVerificationGateway.php000064400000004512147206617610020364 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function create($attributes) { $response = $this->_http->post($this->_config->merchantPath() . "/verifications", ['verification' => $attributes]); return $this->_verifyGatewayResponse($response); } private function _verifyGatewayResponse($response) { if(isset($response['verification'])){ return new Result\Successful( CreditCardVerification::factory($response['verification']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected transaction or apiErrorResponse" ); } } public function fetch($query, $ids) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $criteria["ids"] = CreditCardVerificationSearch::ids()->in($ids)->toparam(); $path = $this->_config->merchantPath() . '/verifications/advanced_search'; $response = $this->_http->post($path, ['search' => $criteria]); return Util::extractattributeasarray( $response['creditCardVerifications'], 'verification' ); } public function search($query) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $path = $this->_config->merchantPath() . '/verifications/advanced_search_ids'; $response = $this->_http->post($path, ['search' => $criteria]); $pager = [ 'object' => $this, 'method' => 'fetch', 'methodArgs' => [$query] ]; return new ResourceCollection($response, $pager); } } class_alias('Braintree\CreditCardVerificationGateway', 'Braintree_CreditCardVerificationGateway'); lib/braintree/lib/Braintree/KeyValueNode.php000064400000000660147206617610015026 0ustar00name = $name; $this->searchTerm = True; } public function is($value) { $this->searchTerm = $value; return $this; } public function toParam() { return $this->searchTerm; } } class_alias('Braintree\KeyValueNode', 'Braintree_KeyValueNode'); lib/braintree/lib/Braintree/TransparentRedirectGateway.php000064400000022102147206617610017773 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); } /** * * @ignore */ private static $_transparentRedirectKeys = 'redirectUrl'; private static $_createCustomerSignature; private static $_updateCustomerSignature; private static $_transactionSignature; private static $_createCreditCardSignature; private static $_updateCreditCardSignature; /** * create signatures for different call types * @ignore */ public static function init() { self::$_createCustomerSignature = [ self::$_transparentRedirectKeys, ['customer' => CustomerGateway::createSignature()], ]; self::$_updateCustomerSignature = [ self::$_transparentRedirectKeys, 'customerId', ['customer' => CustomerGateway::updateSignature()], ]; self::$_transactionSignature = [ self::$_transparentRedirectKeys, ['transaction' => TransactionGateway::createSignature()], ]; self::$_createCreditCardSignature = [ self::$_transparentRedirectKeys, ['creditCard' => CreditCardGateway::createSignature()], ]; self::$_updateCreditCardSignature = [ self::$_transparentRedirectKeys, 'paymentMethodToken', ['creditCard' => CreditCardGateway::updateSignature()], ]; } public function confirm($queryString) { $params = TransparentRedirect::parseAndValidateQueryString( $queryString ); $confirmationKlasses = [ TransparentRedirect::CREATE_TRANSACTION => 'Braintree\TransactionGateway', TransparentRedirect::CREATE_CUSTOMER => 'Braintree\CustomerGateway', TransparentRedirect::UPDATE_CUSTOMER => 'Braintree\CustomerGateway', TransparentRedirect::CREATE_PAYMENT_METHOD => 'Braintree\CreditCardGateway', TransparentRedirect::UPDATE_PAYMENT_METHOD => 'Braintree\CreditCardGateway', ]; $confirmationGateway = new $confirmationKlasses[$params["kind"]]($this->_gateway); return $confirmationGateway->_doCreate('/transparent_redirect_requests/' . $params['id'] . '/confirm', []); } /** * returns the trData string for creating a credit card, * @param array $params * @return string */ public function createCreditCardData($params) { Util::verifyKeys( self::$_createCreditCardSignature, $params ); $params["kind"] = TransparentRedirect::CREATE_PAYMENT_METHOD; return $this->_data($params); } /** * returns the trData string for creating a customer. * @param array $params * @return string */ public function createCustomerData($params) { Util::verifyKeys( self::$_createCustomerSignature, $params ); $params["kind"] = TransparentRedirect::CREATE_CUSTOMER; return $this->_data($params); } public function url() { return $this->_config->baseUrl() . $this->_config->merchantPath() . '/transparent_redirect_requests'; } /** * returns the trData string for creating a transaction * @param array $params * @return string */ public function transactionData($params) { Util::verifyKeys( self::$_transactionSignature, $params ); $params["kind"] = TransparentRedirect::CREATE_TRANSACTION; $transactionType = isset($params['transaction']['type']) ? $params['transaction']['type'] : null; if ($transactionType != Transaction::SALE && $transactionType != Transaction::CREDIT) { throw new InvalidArgumentException( 'expected transaction[type] of sale or credit, was: ' . $transactionType ); } return $this->_data($params); } /** * Returns the trData string for updating a credit card. * * The paymentMethodToken of the credit card to update is required. * * * $trData = TransparentRedirect::updateCreditCardData(array( * 'redirectUrl' => 'http://example.com/redirect_here', * 'paymentMethodToken' => 'token123', * )); * * * @param array $params * @return string */ public function updateCreditCardData($params) { Util::verifyKeys( self::$_updateCreditCardSignature, $params ); if (!isset($params['paymentMethodToken'])) { throw new InvalidArgumentException( 'expected params to contain paymentMethodToken.' ); } $params["kind"] = TransparentRedirect::UPDATE_PAYMENT_METHOD; return $this->_data($params); } /** * Returns the trData string for updating a customer. * * The customerId of the customer to update is required. * * * $trData = TransparentRedirect::updateCustomerData(array( * 'redirectUrl' => 'http://example.com/redirect_here', * 'customerId' => 'customer123', * )); * * * @param array $params * @return string */ public function updateCustomerData($params) { Util::verifyKeys( self::$_updateCustomerSignature, $params ); if (!isset($params['customerId'])) { throw new InvalidArgumentException( 'expected params to contain customerId of customer to update' ); } $params["kind"] = TransparentRedirect::UPDATE_CUSTOMER; return $this->_data($params); } public function parseAndValidateQueryString($queryString) { // parse the params into an array parse_str($queryString, $params); // remove the hash $queryStringWithoutHash = null; if (preg_match('/^(.*)&hash=[a-f0-9]+$/', $queryString, $match)) { $queryStringWithoutHash = $match[1]; } if($params['http_status'] != '200') { $message = null; if(array_key_exists('bt_message', $params)) { $message = $params['bt_message']; } Util::throwStatusCodeException(isset($params['http_status']) ? $params['http_status'] : null, $message); } // recreate the hash and compare it if ($this->_hash($queryStringWithoutHash) == $params['hash']) { return $params; } else { throw new Exception\ForgedQueryString(); } } /** * * @ignore */ private function _data($params) { if (!isset($params['redirectUrl'])) { throw new InvalidArgumentException( 'expected params to contain redirectUrl' ); } $params = $this->_underscoreKeys($params); $now = new DateTime('now', new DateTimeZone('UTC')); $trDataParams = array_merge($params, [ 'api_version' => Configuration::API_VERSION, 'public_key' => $this->_config->publicKey(), 'time' => $now->format('YmdHis'), ] ); ksort($trDataParams); $urlEncodedData = http_build_query($trDataParams, null, "&"); $signatureService = new SignatureService( $this->_config->privateKey(), "Braintree\Digest::hexDigestSha1" ); return $signatureService->sign($urlEncodedData); } private function _underscoreKeys($array) { foreach($array as $key=>$value) { $newKey = Util::camelCaseToDelimiter($key, '_'); unset($array[$key]); if (is_array($value)) { $array[$newKey] = $this->_underscoreKeys($value); } else { $array[$newKey] = $value; } } return $array; } /** * @ignore */ private function _hash($string) { return Digest::hexDigestSha1($this->_config->privateKey(), $string); } } TransparentRedirectGateway::init(); class_alias('Braintree\TransparentRedirectGateway', 'Braintree_TransparentRedirectGateway'); lib/braintree/lib/Braintree/VisaCheckoutCard.php000064400000012104147206617610015651 0ustar00== More information == * * For more detailed information on CreditCard verifications, see {@link https://developers.braintreepayments.com/reference/response/credit-card-verification/php https://developers.braintreepayments.com/reference/response/credit-card-verification/php} * * @package Braintree * @category Resources * * @property-read \Braintree\Address $billingAddress * @property-read string $bin * @property-read string $callId * @property-read string $cardType * @property-read string $cardholderName * @property-read string $commercial * @property-read string $countryOfIssuance * @property-read \DateTime $createdAt * @property-read string $customerId * @property-read string $customerLocation * @property-read string $debit * @property-read boolean $default * @property-read string $durbinRegulated * @property-read string $expirationDate * @property-read string $expirationMonth * @property-read string $expirationYear * @property-read boolean $expired * @property-read string $healthcare * @property-read string $imageUrl * @property-read string $issuingBank * @property-read string $last4 * @property-read string $maskedNumber * @property-read string $payroll * @property-read string $prepaid * @property-read string $productId * @property-read \Braintree\Subscription[] $subscriptions * @property-read string $token * @property-read string $uniqueNumberIdentifier * @property-read \DateTime $updatedAt */ class VisaCheckoutCard extends Base { /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * checks whether the card is expired based on the current date * * @return boolean */ public function isExpired() { return $this->expired; } /** * sets instance properties from an array of values * * @access protected * @param array $creditCardAttribs array of creditcard data * @return void */ protected function _initialize($creditCardAttribs) { // set the attributes $this->_attributes = $creditCardAttribs; // map each address into its own object $billingAddress = isset($creditCardAttribs['billingAddress']) ? Address::factory($creditCardAttribs['billingAddress']) : null; $subscriptionArray = []; if (isset($creditCardAttribs['subscriptions'])) { foreach ($creditCardAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); $this->_set('billingAddress', $billingAddress); $this->_set('expirationDate', $this->expirationMonth . '/' . $this->expirationYear); $this->_set('maskedNumber', $this->bin . '******' . $this->last4); if(isset($creditCardAttribs['verifications']) && count($creditCardAttribs['verifications']) > 0) { $verifications = $creditCardAttribs['verifications']; usort($verifications, [$this, '_compareCreatedAtOnVerifications']); $this->_set('verification', CreditCardVerification::factory($verifications[0])); } } private function _compareCreatedAtOnVerifications($verificationAttrib1, $verificationAttrib2) { return ($verificationAttrib2['createdAt'] < $verificationAttrib1['createdAt']) ? -1 : 1; } /** * returns false if comparing object is not a VisaCheckoutCard, * or is a VisaCheckoutCard with a different id * * @param object $otherVisaCheckoutCard customer to compare against * @return boolean */ public function isEqual($otherVisaCheckoutCard) { return !($otherVisaCheckoutCard instanceof self) ? false : $this->token === $otherVisaCheckoutCard->token; } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } /** * factory method: returns an instance of VisaCheckoutCard * to the requesting method, with populated properties * * @ignore * @return VisaCheckoutCard */ public static function factory($attributes) { $defaultAttributes = [ 'bin' => '', 'expirationMonth' => '', 'expirationYear' => '', 'last4' => '', ]; $instance = new self(); $instance->_initialize(array_merge($defaultAttributes, $attributes)); return $instance; } } class_alias('Braintree\VisaCheckoutCard', 'Braintree_VisaCheckoutCard'); lib/braintree/lib/Braintree/UsBankAccountGateway.php000064400000005700147206617610016515 0ustar00== More information == * * * @package Braintree * @category Resources */ class UsBankAccountGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /** * find a usBankAccount by token * * @access public * @param string $token paypal accountunique id * @return UsBankAccount * @throws Exception\NotFound */ public function find($token) { try { $path = $this->_config->merchantPath() . '/payment_methods/us_bank_account/' . $token; $response = $this->_http->get($path); return UsBankAccount::factory($response['usBankAccount']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'US bank account with token ' . $token . ' not found' ); } } /** * create a new sale for the current UsBank account * * @param string $token * @param array $transactionAttribs * @return Result\Successful|Result\Error * @see Transaction::sale() */ public function sale($token, $transactionAttribs) { return Transaction::sale( array_merge( $transactionAttribs, ['paymentMethodToken' => $token] ) ); } /** * generic method for validating incoming gateway responses * * creates a new UsBankAccount object and encapsulates * it inside a Result\Successful object, or * encapsulates a Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid. * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['usBankAccount'])) { // return a populated instance of UsBankAccount return new Result\Successful( UsBankAccount::factory($response['usBankAccount']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( 'Expected US bank account or apiErrorResponse' ); } } } class_alias('Braintree\UsBankAccountGateway', 'Braintree_UsBankAccountGateway'); lib/braintree/lib/Braintree/UsBankAccountVerificationSearch.php000064400000003106147206617610020662 0ustar00 $definition]; if ($variables) { $graphQLRequest["variables"] = $variables; } $response = $this->_doUrlRequest('POST', $this->_config->graphQLBaseUrl(), json_encode($graphQLRequest), null, $this->graphQLHeaders()); $result = json_decode($response["body"], true); Util::throwGraphQLResponseException($result); return $result; } } class_alias('Braintree\GraphQL', 'Braintree_GraphQL'); lib/braintree/lib/Braintree/RiskData.php000064400000001412147206617610014171 0ustar00_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; } /** * returns a string representation of the risk data * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } } class_alias('Braintree\RiskData', 'Braintree_RiskData'); lib/braintree/lib/Braintree/FacilitatedDetails.php000064400000001474147206617610016216 0ustar00_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; } /** * returns a string representation of the facilitated details * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } } class_alias('Braintree\FacilitatedDetails', 'Braintree_FacilitatedDetails'); lib/braintree/lib/Braintree/SettlementBatchSummary.php000064400000002233147206617610017135 0ustar00_initialize($attributes); return $instance; } /** * @ignore * @param array $attributes */ protected function _initialize($attributes) { $this->_attributes = $attributes; } public function records() { return $this->_attributes['records']; } /** * static method redirecting to gateway * * @param string $settlement_date Date YYYY-MM-DD * @param string $groupByCustomField * @return Result\Successful|Result\Error */ public static function generate($settlement_date, $groupByCustomField = NULL) { return Configuration::gateway()->settlementBatchSummary()->generate($settlement_date, $groupByCustomField); } } class_alias('Braintree\SettlementBatchSummary', 'Braintree_SettlementBatchSummary'); lib/braintree/lib/Braintree/ProcessorResponseTypes.php000064400000000533147206617610017215 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read string $token * @property-read string $imageUrl */ class UnknownPaymentMethod extends Base { /** * factory method: returns an instance of UnknownPaymentMethod * to the requesting method, with populated properties * * @ignore * @return UnknownPaymentMethod */ public static function factory($attributes) { $instance = new self(); $values = array_values($attributes); $instance->_initialize(array_shift($values)); return $instance; } /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * sets instance properties from an array of values * * @access protected * @param array $unknownPaymentMethodAttribs array of unknownPaymentMethod data * @return void */ protected function _initialize($unknownPaymentMethodAttribs) { // set the attributes $this->imageUrl = 'https://assets.braintreegateway.com/payment_method_logo/unknown.png'; $this->_attributes = $unknownPaymentMethodAttribs; } } class_alias('Braintree\UnknownPaymentMethod', 'Braintree_UnknownPaymentMethod'); lib/braintree/lib/Braintree/Configuration.php000064400000043450147206617610015306 0ustar00 $value) { if ($kind == 'environment') { CredentialsParser::assertValidEnvironment($value); $this->_environment = $value; } if ($kind == 'merchantId') { $this->_merchantId = $value; } if ($kind == 'publicKey') { $this->_publicKey = $value; } if ($kind == 'privateKey') { $this->_privateKey = $value; } if ($kind == 'timeout') { $this->_timeout = $value; } if ($kind == 'acceptGzipEncoding') { $this->_acceptGzipEncoding = $value; } } if (isset($attribs['clientId']) || isset($attribs['accessToken'])) { if (isset($attribs['environment']) || isset($attribs['merchantId']) || isset($attribs['publicKey']) || isset($attribs['privateKey'])) { throw new Exception\Configuration('Cannot mix OAuth credentials (clientId, clientSecret, accessToken) with key credentials (publicKey, privateKey, environment, merchantId).'); } $parsedCredentials = new CredentialsParser($attribs); $this->_environment = $parsedCredentials->getEnvironment(); $this->_merchantId = $parsedCredentials->getMerchantId(); $this->_clientId = $parsedCredentials->getClientId(); $this->_clientSecret = $parsedCredentials->getClientSecret(); $this->_accessToken = $parsedCredentials->getAccessToken(); } } /** * resets configuration to default * @access public */ public static function reset() { self::$global = new Configuration(); } public static function gateway() { return new Gateway(self::$global); } public static function environment($value=null) { if (empty($value)) { return self::$global->getEnvironment(); } CredentialsParser::assertValidEnvironment($value); self::$global->setEnvironment($value); } public static function merchantId($value=null) { if (empty($value)) { return self::$global->getMerchantId(); } self::$global->setMerchantId($value); } public static function publicKey($value=null) { if (empty($value)) { return self::$global->getPublicKey(); } self::$global->setPublicKey($value); } public static function privateKey($value=null) { if (empty($value)) { return self::$global->getPrivateKey(); } self::$global->setPrivateKey($value); } /** * Sets or gets the read timeout to use for making requests. * * @param integer $value If provided, sets the read timeout * @return integer The read timeout used for connecting to Braintree */ public static function timeout($value=null) { if (empty($value)) { return self::$global->getTimeout(); } self::$global->setTimeout($value); } /** * Sets or gets the SSL version to use for making requests. See * https://php.net/manual/en/function.curl-setopt.php for possible * CURLOPT_SSLVERSION values. * * @param integer $value If provided, sets the SSL version * @return integer The SSL version used for connecting to Braintree */ public static function sslVersion($value=null) { if (empty($value)) { return self::$global->getSslVersion(); } self::$global->setSslVersion($value); } /** * Sets or gets the proxy host to use for connecting to Braintree * * @param string $value If provided, sets the proxy host * @return string The proxy host used for connecting to Braintree */ public static function proxyHost($value = null) { if (empty($value)) { return self::$global->getProxyHost(); } self::$global->setProxyHost($value); } /** * Sets or gets the port of the proxy to use for connecting to Braintree * * @param string $value If provided, sets the port of the proxy * @return string The port of the proxy used for connecting to Braintree */ public static function proxyPort($value = null) { if (empty($value)) { return self::$global->getProxyPort(); } self::$global->setProxyPort($value); } /** * Sets or gets the proxy type to use for connecting to Braintree. This value * can be any of the CURLOPT_PROXYTYPE options in PHP cURL. * * @param string $value If provided, sets the proxy type * @return string The proxy type used for connecting to Braintree */ public static function proxyType($value = null) { if (empty($value)) { return self::$global->getProxyType(); } self::$global->setProxyType($value); } /** * Specifies whether or not a proxy is properly configured * * @return bool true if a proxy is configured properly, false if not */ public static function isUsingProxy() { $proxyHost = self::$global->getProxyHost(); $proxyPort = self::$global->getProxyPort(); return !empty($proxyHost) && !empty($proxyPort); } public static function proxyUser($value = null) { if (empty($value)) { return self::$global->getProxyUser(); } self::$global->setProxyUser($value); } public static function proxyPassword($value = null) { if (empty($value)) { return self::$global->getProxyPassword(); } self::$global->setProxyPassword($value); } /** * Specified whether or not a username and password have been provided for * use with an authenticated proxy * * @return bool true if both proxyUser and proxyPassword are present */ public static function isAuthenticatedProxy() { $proxyUser = self::$global->getProxyUser(); $proxyPwd = self::$global->getProxyPassword(); return !empty($proxyUser) && !empty($proxyPwd); } /** * Specify if the HTTP client is able to decode gzipped responses. * * @param bool $value If true, will send an Accept-Encoding header with a gzip value. If false, will not send an Accept-Encoding header with a gzip value. * @return bool true if an Accept-Encoding header with a gzip value will be sent, false if not */ public static function acceptGzipEncoding($value = null) { if (is_null($value)) { return self::$global->getAcceptGzipEncoding(); } self::$global->setAcceptGzipEncoding($value); } public static function assertGlobalHasAccessTokenOrKeys() { self::$global->assertHasAccessTokenOrKeys(); } public function assertHasAccessTokenOrKeys() { if (empty($this->_accessToken)) { if (empty($this->_merchantId)) { throw new Exception\Configuration('Braintree\\Configuration::merchantId needs to be set (or accessToken needs to be passed to Braintree\\Gateway).'); } else if (empty($this->_environment)) { throw new Exception\Configuration('Braintree\\Configuration::environment needs to be set.'); } else if (empty($this->_publicKey)) { throw new Exception\Configuration('Braintree\\Configuration::publicKey needs to be set.'); } else if (empty($this->_privateKey)) { throw new Exception\Configuration('Braintree\\Configuration::privateKey needs to be set.'); } } } public function assertHasClientCredentials() { $this->assertHasClientId(); $this->assertHasClientSecret(); } public function assertHasClientId() { if (empty($this->_clientId)) { throw new Exception\Configuration('clientId needs to be passed to Braintree\\Gateway.'); } } public function assertHasClientSecret() { if (empty($this->_clientSecret)) { throw new Exception\Configuration('clientSecret needs to be passed to Braintree\\Gateway.'); } } public function getEnvironment() { return $this->_environment; } /** * Do not use this method directly. Pass in the environment to the constructor. */ public function setEnvironment($value) { $this->_environment = $value; } public function getMerchantId() { return $this->_merchantId; } /** * Do not use this method directly. Pass in the merchantId to the constructor. */ public function setMerchantId($value) { $this->_merchantId = $value; } public function getPublicKey() { return $this->_publicKey; } public function getClientId() { return $this->_clientId; } /** * Do not use this method directly. Pass in the publicKey to the constructor. */ public function setPublicKey($value) { $this->_publicKey = $value; } public function getPrivateKey() { return $this->_privateKey; } public function getClientSecret() { return $this->_clientSecret; } /** * Do not use this method directly. Pass in the privateKey to the constructor. */ public function setPrivateKey($value) { $this->_privateKey = $value; } private function setProxyHost($value) { $this->_proxyHost = $value; } public function getProxyHost() { return $this->_proxyHost; } private function setProxyPort($value) { $this->_proxyPort = $value; } public function getProxyPort() { return $this->_proxyPort; } private function setProxyType($value) { $this->_proxyType = $value; } public function getProxyType() { return $this->_proxyType; } private function setProxyUser($value) { $this->_proxyUser = $value; } public function getProxyUser() { return $this->_proxyUser; } private function setProxyPassword($value) { $this->_proxyPassword = $value; } public function getProxyPassword() { return $this->_proxyPassword; } private function setTimeout($value) { $this->_timeout = $value; } public function getTimeout() { return $this->_timeout; } private function setSslVersion($value) { $this->_sslVersion = $value; } private function getSslVersion() { return $this->_sslVersion; } public function getAcceptGzipEncoding() { return $this->_acceptGzipEncoding; } private function setAcceptGzipEncoding($value) { $this->_acceptGzipEncoding = $value; } public function getAccessToken() { return $this->_accessToken; } public function isAccessToken() { return !empty($this->_accessToken); } public function isClientCredentials() { return !empty($this->_clientId); } /** * returns the base braintree gateway URL based on config values * * @access public * @param none * @return string braintree gateway URL */ public function baseUrl() { return sprintf('%s://%s:%d', $this->protocol(), $this->serverName(), $this->portNumber()); } /** * returns the base URL for Braintree's GraphQL endpoint based on config values * * @access public * @param none * @return string Braintree GraphQL URL */ public function graphQLBaseUrl() { return sprintf('%s://%s:%d/graphql', $this->protocol(), $this->graphQLServerName(), $this->graphQLPortNumber()); } /** * sets the merchant path based on merchant ID * * @access protected * @param none * @return string merchant path uri */ public function merchantPath() { return '/merchants/' . $this->_merchantId; } /** * sets the physical path for the location of the CA certs * * @access public * @param none * @return string filepath */ public function caFile($sslPath = NULL) { $sslPath = $sslPath ? $sslPath : DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'ssl' . DIRECTORY_SEPARATOR; $caPath = __DIR__ . $sslPath . 'api_braintreegateway_com.ca.crt'; if (!file_exists($caPath)) { throw new Exception\SSLCaFileNotFound(); } return $caPath; } /** * returns the port number depending on environment * * @access public * @param none * @return int portnumber */ public function portNumber() { if ($this->sslOn()) { return 443; } return getenv("GATEWAY_PORT") ? getenv("GATEWAY_PORT") : 3000; } /** * returns the graphql port number depending on environment * * @access public * @param none * @return int graphql portnumber */ public function graphQLPortNumber() { if ($this->sslOn()) { return 443; } return getenv("GRAPHQL_PORT") ?: 8080; } /** * returns http protocol depending on environment * * @access public * @param none * @return string http || https */ public function protocol() { return $this->sslOn() ? 'https' : 'http'; } /** * returns gateway server name depending on environment * * @access public * @param none * @return string server domain name */ public function serverName() { switch($this->_environment) { case 'production': $serverName = 'api.braintreegateway.com'; break; case 'qa': $serverName = 'gateway.qa.braintreepayments.com'; break; case 'sandbox': $serverName = 'api.sandbox.braintreegateway.com'; break; case 'development': case 'integration': default: $serverName = 'localhost'; break; } return $serverName; } /** * returns Braintree GraphQL server name depending on environment * * @access public * @param none * @return string graphql domain name */ public function graphQLServerName() { switch($this->_environment) { case 'production': $graphQLServerName = 'payments.braintree-api.com'; break; case 'qa': $graphQLServerName = 'payments-qa.dev.braintree-api.com'; break; case 'sandbox': $graphQLServerName = 'payments.sandbox.braintree-api.com'; break; case 'development': case 'integration': default: $graphQLServerName = 'graphql.bt.local'; break; } return $graphQLServerName; } public function authUrl() { switch($this->_environment) { case 'production': $serverName = 'https://auth.venmo.com'; break; case 'qa': $serverName = 'https://auth.qa.venmo.com'; break; case 'sandbox': $serverName = 'https://auth.sandbox.venmo.com'; break; case 'development': case 'integration': default: $serverName = 'http://auth.venmo.dev:9292'; break; } return $serverName; } /** * returns boolean indicating SSL is on or off for this session, * depending on environment * * @access public * @param none * @return boolean */ public function sslOn() { switch($this->_environment) { case 'integration': case 'development': $ssl = false; break; case 'production': case 'qa': case 'sandbox': default: $ssl = true; break; } return $ssl; } /** * log message to default logger * * @param string $message * */ public function logMessage($message) { error_log('[Braintree] ' . $message); } } Configuration::reset(); class_alias('Braintree\Configuration', 'Braintree_Configuration'); lib/braintree/lib/Braintree/Result/CreditCardVerification.php000064400000005277147206617610020331 0ustar00_initializeFromArray($attributes); } /** * initializes instance properties from the keys/values of an array * @ignore * @access protected * @param $aAttribs array of properties to set - single level * @return void */ private function _initializeFromArray($attributes) { if(isset($attributes['riskData'])) { $attributes['riskData'] = RiskData::factory($attributes['riskData']); } $this->_attributes = $attributes; foreach($attributes AS $name => $value) { $varName = "_$name"; $this->$varName = $value; } } /** * @ignore */ public function __get($name) { $varName = "_$name"; return isset($this->$varName) ? $this->$varName : null; } /** * returns a string representation of the customer * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } public static function allStatuses() { return [ CreditCardVerification::FAILED, CreditCardVerification::GATEWAY_REJECTED, CreditCardVerification::PROCESSOR_DECLINED, CreditCardVerification::VERIFIED ]; } } class_alias('Braintree\Result\CreditCardVerification', 'Braintree_Result_CreditCardVerification'); lib/braintree/lib/Braintree/Result/Error.php000064400000007511147206617610015044 0ustar00 * $result = Transaction::void('abc123'); * if ($result->success) { * // Successful Result * } else { * // Result\Error * } * * * @package Braintree * @subpackage Result * * @property-read array $params original passed params * @property-read \Braintree\Error\ErrorCollection $errors * @property-read \Braintree\Result\CreditCardVerification $creditCardVerification credit card verification data */ class Error extends Base { /** * @var bool always false */ public $success = false; /** * return original value for a field * For example, if a user tried to submit 'invalid-email' in the html field transaction[customer][email], * $result->valueForHtmlField("transaction[customer][email]") would yield "invalid-email" * * @param string $field * @return string */ public function valueForHtmlField($field) { $pieces = preg_split("/[\[\]]+/", $field, 0, PREG_SPLIT_NO_EMPTY); $params = $this->params; foreach(array_slice($pieces, 0, -1) as $key) { $params = $params[Util::delimiterToCamelCase($key)]; } if ($key != 'custom_fields') { $finalKey = Util::delimiterToCamelCase(end($pieces)); } else { $finalKey = end($pieces); } $fieldValue = isset($params[$finalKey]) ? $params[$finalKey] : null; return $fieldValue; } /** * overrides default constructor * @ignore * @param array $response gateway response array */ public function __construct($response) { $this->_attributes = $response; $this->_set('errors', new ErrorCollection($response['errors'])); if(isset($response['verification'])) { $this->_set('creditCardVerification', new CreditCardVerification($response['verification'])); } else { $this->_set('creditCardVerification', null); } if(isset($response['transaction'])) { $this->_set('transaction', Transaction::factory($response['transaction'])); } else { $this->_set('transaction', null); } if(isset($response['subscription'])) { $this->_set('subscription', Subscription::factory($response['subscription'])); } else { $this->_set('subscription', null); } if(isset($response['merchantAccount'])) { $this->_set('merchantAccount', MerchantAccount::factory($response['merchantAccount'])); } else { $this->_set('merchantAccount', null); } if(isset($response['verification'])) { $this->_set('verification', new CreditCardVerification($response['verification'])); } else { $this->_set('verification', null); } } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @ignore * @return string */ public function __toString() { $output = Util::attributesToString($this->_attributes); if (isset($this->_creditCardVerification)) { $output .= sprintf('%s', $this->_creditCardVerification); } return __CLASS__ .'[' . $output . ']'; } } class_alias('Braintree\Result\Error', 'Braintree_Result_Error'); lib/braintree/lib/Braintree/Result/UsBankAccountVerification.php000064400000006233147206617610021016 0ustar00_initializeFromArray($attributes); $usBankAccount = isset($attributes['usBankAccount']) ? UsBankAccount::factory($attributes['usBankAccount']) : null; $this->usBankAccount = $usBankAccount; } /** * initializes instance properties from the keys/values of an array * @ignore * @access protected * @param $aAttribs array of properties to set - single level * @return void */ private function _initializeFromArray($attributes) { $this->_attributes = $attributes; foreach($attributes AS $name => $value) { $varName = "_$name"; $this->$varName = $value; } } /** * @ignore */ public function __get($name) { $varName = "_$name"; return isset($this->$varName) ? $this->$varName : null; } /** * returns a string representation of the customer * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } public static function allStatuses() { return [ UsBankAccountVerification::FAILED, UsBankAccountVerification::GATEWAY_REJECTED, UsBankAccountVerification::PROCESSOR_DECLINED, UsBankAccountVerification::VERIFIED, UsBankAccountVerification::PENDING, ]; } public static function allVerificationMethods() { return [ UsBankAccountVerification::TOKENIZED_CHECK, UsBankAccountVerification::NETWORK_CHECK, UsBankAccountVerification::INDEPENDENT_CHECK, UsBankAccountVerification::MICRO_TRANSFERS, ]; } } class_alias('Braintree\Result\UsBankAccountVerification', 'Braintree_Result_UsBankAccountVerification'); lib/braintree/lib/Braintree/Result/Successful.php000064400000005142147206617610016070 0ustar00customer like so: * * * $result = Customer::create(array('first_name' => "John")); * if ($result->success) { * // Successful * echo "Created customer {$result->customer->id}"; * } else { * // Error * } * * * * @package Braintree * @subpackage Result */ class Successful extends Instance { /** * * @var boolean always true */ public $success = true; /** * * @var string stores the internal name of the object providing access to */ private $_returnObjectNames; /** * @ignore * @param array|null $objsToReturn * @param array|null $propertyNames */ public function __construct($objsToReturn = [], $propertyNames = []) { // Sanitize arguments (preserves backwards compatibility) if (!is_array($objsToReturn)) { $objsToReturn = [$objsToReturn]; } if (!is_array($propertyNames)) { $propertyNames = [$propertyNames]; } $objects = $this->_mapPropertyNamesToObjsToReturn($propertyNames, $objsToReturn); $this->_attributes = []; $this->_returnObjectNames = []; foreach ($objects as $propertyName => $objToReturn) { // save the name for indirect access array_push($this->_returnObjectNames, $propertyName); // create the property! $this->$propertyName = $objToReturn; } } /** * * @ignore * @return string string representation of the object's structure */ public function __toString() { $objects = []; foreach ($this->_returnObjectNames as $returnObjectName) { array_push($objects, $returnObjectName); } return __CLASS__ . '[' . implode(', ', $objects) . ']'; } private function _mapPropertyNamesToObjsToReturn($propertyNames, $objsToReturn) { if(count($objsToReturn) != count($propertyNames)) { $propertyNames = []; foreach ($objsToReturn as $obj) { array_push($propertyNames, Util::cleanClassName(get_class($obj))); } } return array_combine($propertyNames, $objsToReturn); } } class_alias('Braintree\Result\Successful', 'Braintree_Result_Successful'); lib/braintree/lib/Braintree/RevokedPaymentMethodMetadata.php000064400000002710147206617610020230 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read string $customerId * @property-read string $token * @property-read string $revokedPaymentMethod */ class RevokedPaymentMethodMetadata extends Base { /** * factory method: returns an instance of RevokedPaymentMethodMetadata * to the requesting method, with populated properties * * @ignore * @return RevokedPaymentMethodMetadata */ public static function factory($attributes) { $instance = new self(); $instance->revokedPaymentMethod = PaymentMethodParser::parsePaymentMethod($attributes); $instance->customerId = $instance->revokedPaymentMethod->customerId; $instance->token = $instance->revokedPaymentMethod->token; return $instance; } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } } class_alias('Braintree\RevokedPaymentMethodMetadata', 'Braintree_RevokedPaymentMethodMetadata'); lib/braintree/lib/Braintree/Subscription.php000064400000013037147206617610015161 0ustar00== More information == * * For more detailed information on Subscriptions, see {@link https://developers.braintreepayments.com/reference/response/subscription/php https://developers.braintreepayments.com/reference/response/subscription/php} * * PHP Version 5 * * @package Braintree * * @property-read \Braintree\Addon[] $addOns * @property-read string $balance * @property-read int $billingDayOfMonth * @property-read \DateTime $billingPeriodEndDate * @property-read \DateTime $billingPeriodStartDate * @property-read \DateTime $createdAt * @property-read int $currentBillingCycle * @property-read int|null $daysPastDue * @property-read string|null $description * @property-read \Braintree\Descriptor|null $descriptor * @property-read \Braintree\Discount[] $discounts * @property-read int $failureCount * @property-read \DateTime $firstBillingDate * @property-read string $id * @property-read string $merchantAccountId * @property-read boolean $neverExpires * @property-read string $nextBillingPeriodAmount * @property-read \DateTime $nextBillingDate * @property-read int|null $numberOfBillingCycles * @property-read \DateTime|null $paidThroughDate * @property-read string $paymentMethodToken * @property-read string $planId * @property-read string $price * @property-read string $status * @property-read \Braintree\Subscription\StatusDetails[] $statusHistory * @property-read \Braintree\Transaction[] $transactions * @property-read int $trialDuration * @property-read string $trialDurationUnit * @property-read boolean $trialPeriod * @property-read \DateTime $updatedAt */ class Subscription extends Base { const ACTIVE = 'Active'; const CANCELED = 'Canceled'; const EXPIRED = 'Expired'; const PAST_DUE = 'Past Due'; const PENDING = 'Pending'; // Subscription Sources const API = 'api'; const CONTROL_PANEL = 'control_panel'; const RECURRING = 'recurring'; /** * @ignore */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /** * @ignore */ protected function _initialize($attributes) { $this->_attributes = $attributes; $addOnArray = []; if (isset($attributes['addOns'])) { foreach ($attributes['addOns'] AS $addOn) { $addOnArray[] = AddOn::factory($addOn); } } $this->_attributes['addOns'] = $addOnArray; $discountArray = []; if (isset($attributes['discounts'])) { foreach ($attributes['discounts'] AS $discount) { $discountArray[] = Discount::factory($discount); } } $this->_attributes['discounts'] = $discountArray; if (isset($attributes['descriptor'])) { $this->_set('descriptor', new Descriptor($attributes['descriptor'])); } if (isset($attributes['description'])) { $this->_set('description', $attributes['description']); } $statusHistory = []; if (isset($attributes['statusHistory'])) { foreach ($attributes['statusHistory'] AS $history) { $statusHistory[] = new Subscription\StatusDetails($history); } } $this->_attributes['statusHistory'] = $statusHistory; $transactionArray = []; if (isset($attributes['transactions'])) { foreach ($attributes['transactions'] AS $transaction) { $transactionArray[] = Transaction::factory($transaction); } } $this->_attributes['transactions'] = $transactionArray; } /** * returns a string representation of the customer * @return string */ public function __toString() { $excludedAttributes = ['statusHistory']; $displayAttributes = []; foreach($this->_attributes as $key => $val) { if (!in_array($key, $excludedAttributes)) { $displayAttributes[$key] = $val; } } return __CLASS__ . '[' . Util::attributesToString($displayAttributes) .']'; } // static methods redirecting to gateway public static function create($attributes) { return Configuration::gateway()->subscription()->create($attributes); } public static function find($id) { return Configuration::gateway()->subscription()->find($id); } public static function search($query) { return Configuration::gateway()->subscription()->search($query); } public static function fetch($query, $ids) { return Configuration::gateway()->subscription()->fetch($query, $ids); } public static function update($subscriptionId, $attributes) { return Configuration::gateway()->subscription()->update($subscriptionId, $attributes); } public static function retryCharge($subscriptionId, $amount = null, $submitForSettlement = false) { return Configuration::gateway()->subscription()->retryCharge($subscriptionId, $amount, $submitForSettlement); } public static function cancel($subscriptionId) { return Configuration::gateway()->subscription()->cancel($subscriptionId); } } class_alias('Braintree\Subscription', 'Braintree_Subscription'); lib/braintree/lib/Braintree/Instance.php000064400000003534147206617610014242 0ustar00_initializeFromArray($attributes); } } /** * returns private/nonexistent instance properties * @access public * @param string $name property name * @return mixed contents of instance properties */ public function __get($name) { if (array_key_exists($name, $this->_attributes)) { return $this->_attributes[$name]; } else { trigger_error('Undefined property on ' . get_class($this) . ': ' . $name, E_USER_NOTICE); return null; } } /** * used by isset() and empty() * @access public * @param string $name property name * @return boolean */ public function __isset($name) { return array_key_exists($name, $this->_attributes); } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { $objOutput = Util::implodeAssociativeArray($this->_attributes); return get_class($this) .'[' . $objOutput . ']'; } /** * initializes instance properties from the keys/values of an array * @ignore * @access protected * @param $aAttribs array of properties to set - single level * @return void */ private function _initializeFromArray($attributes) { $this->_attributes = $attributes; } } class_alias('Braintree\Instance', 'Braintree_Instance'); lib/braintree/lib/Braintree/VenmoAccount.php000064400000004020147206617610015066 0ustar00== More information == * * See {@link https://developers.braintreepayments.com/javascript+php}
* * @package Braintree * @category Resources * * @property-read \DateTime $createdAt * @property-read string $customerId * @property-read boolean $default * @property-read string $imageUrl * @property-read string $sourceDescription * @property-read \Braintree\Subscription[] $subscriptions * @property-read string $token * @property-read \DateTime $updatedAt * @property-read string $username * @property-read string $venmoUserId */ class VenmoAccount extends Base { /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * factory method: returns an instance of VenmoAccount * to the requesting method, with populated properties * * @ignore * @return VenmoAccount */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /** * sets instance properties from an array of values * * @access protected * @param array $venmoAccountAttribs array of Venmo account properties * @return void */ protected function _initialize($venmoAccountAttribs) { $this->_attributes = $venmoAccountAttribs; $subscriptionArray = array(); if (isset($venmoAccountAttribs['subscriptions'])) { foreach ($venmoAccountAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); } } class_alias('Braintree\VenmoAccount', 'Braintree_VenmoAccount'); lib/braintree/lib/Braintree/OAuthAccessRevocation.php000064400000001141147206617610016662 0ustar00_initialize($attributes); return $instance; } /** * @ignore */ protected function _initialize($attributes) { $this->_attributes = $attributes; } } class_alias('Braintree\OAuthAccessRevocation', 'Braintree_OAuthAccessRevocation'); lib/braintree/lib/Braintree/SubscriptionSearch.php000064400000003142147206617610016303 0ustar00_initialize($attributes); $instance->_attributes['merchantId'] = $instance->_attributes['merchantPublicId']; return $instance; } /** * @ignore */ protected function _initialize($attributes) { $this->_attributes = $attributes; } } class_alias('Braintree\ConnectedMerchantPayPalStatusChanged', 'Braintree_ConnectedMerchantPayPalStatusChanged'); lib/braintree/lib/Braintree/Modification.php000064400000001051147206617610015073 0ustar00_attributes = $attributes; } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } public function __toString() { return get_called_class() . '[' . Util::attributesToString($this->_attributes) . ']'; } } class_alias('Braintree\Modification', 'Braintree_Modification'); lib/braintree/lib/Braintree/EuropeBankAccount.php000064400000003340147206617610016041 0ustar00== More information == * * See {@link https://developers.braintreepayments.com/javascript+php}
* * @package Braintree * @category Resources * * @property-read string $account-holder-name * @property-read string $bic * @property-read string $customerId * @property-read string $default * @property-read string $image-url * @property-read string $mandate-reference-number * @property-read string $masked-iban * @property-read string $token */ class EuropeBankAccount extends Base { /* instance methods */ /** * returns false if default is null or false * * @return boolean */ public function isDefault() { return $this->default; } /** * factory method: returns an instance of EuropeBankAccount * to the requesting method, with populated properties * * @ignore * @return EuropeBankAccount */ public static function factory($attributes) { $defaultAttributes = [ ]; $instance = new self(); $instance->_initialize(array_merge($defaultAttributes, $attributes)); return $instance; } /** * sets instance properties from an array of values * * @access protected * @param array $europeBankAccountAttribs array of EuropeBankAccount properties * @return void */ protected function _initialize($europeBankAccountAttribs) { $this->_attributes = $europeBankAccountAttribs; } } class_alias('Braintree\EuropeBankAccount', 'Braintree_EuropeBankAccount'); lib/braintree/lib/Braintree/CustomerGateway.php000064400000053175147206617610015627 0ustar00== More information == * * For more detailed information on Customers, see {@link https://developers.braintreepayments.com/reference/response/customer/php https://developers.braintreepayments.com/reference/response/customer/php} * * @package Braintree * @category Resources */ class CustomerGateway { private $_gateway; private $_config; private $_http; public function __construct($gateway) { $this->_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function all() { $path = $this->_config->merchantPath() . '/customers/advanced_search_ids'; $response = $this->_http->post($path); $pager = [ 'object' => $this, 'method' => 'fetch', 'methodArgs' => [[]] ]; return new ResourceCollection($response, $pager); } public function fetch($query, $ids) { $criteria = []; foreach ($query as $term) { $criteria[$term->name] = $term->toparam(); } $criteria["ids"] = CustomerSearch::ids()->in($ids)->toparam(); $path = $this->_config->merchantPath() . '/customers/advanced_search'; $response = $this->_http->post($path, ['search' => $criteria]); return Util::extractattributeasarray( $response['customers'], 'customer' ); } /** * Creates a customer using the given +attributes+. If :id is not passed, * the gateway will generate it. * * * $result = Customer::create(array( * 'first_name' => 'John', * 'last_name' => 'Smith', * 'company' => 'Smith Co.', * 'email' => 'john@smith.com', * 'website' => 'www.smithco.com', * 'fax' => '419-555-1234', * 'phone' => '614-555-1234' * )); * if($result->success) { * echo 'Created customer ' . $result->customer->id; * } else { * echo 'Could not create customer, see result->errors'; * } * * * @access public * @param array $attribs * @return Result\Successful|Result\Error */ public function create($attribs = []) { Util::verifyKeys(self::createSignature(), $attribs); return $this->_doCreate('/customers', ['customer' => $attribs]); } /** * attempts the create operation assuming all data will validate * returns a Customer object instead of a Result * * @access public * @param array $attribs * @return Customer * @throws Exception\ValidationError */ public function createNoValidate($attribs = []) { $result = $this->create($attribs); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * create a customer from a TransparentRedirect operation * * @deprecated since version 2.3.0 * @access public * @param array $attribs * @return Customer */ public function createFromTransparentRedirect($queryString) { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::confirm", E_USER_NOTICE); $params = TransparentRedirect::parseAndValidateQueryString( $queryString ); return $this->_doCreate( '/customers/all/confirm_transparent_redirect_request', ['id' => $params['id']] ); } /** * * @deprecated since version 2.3.0 * @access public * @param none * @return string */ public function createCustomerUrl() { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::url", E_USER_NOTICE); return $this->_config->baseUrl() . $this->_config->merchantPath() . '/customers/all/create_via_transparent_redirect_request'; } /** * creates a full array signature of a valid create request * @return array gateway create request format */ public static function createSignature() { $creditCardSignature = CreditCardGateway::createSignature(); unset($creditCardSignature[array_search('customerId', $creditCardSignature)]); $signature = [ 'id', 'company', 'email', 'fax', 'firstName', 'lastName', 'phone', 'website', 'deviceData', 'deviceSessionId', 'fraudMerchantId', 'paymentMethodNonce', ['riskData' => ['customerBrowser', 'customerIp', 'customer_browser', 'customer_ip'] ], ['creditCard' => $creditCardSignature], ['customFields' => ['_anyKey_']], ['options' => [ ['paypal' => [ 'payee_email', 'payeeEmail', 'order_id', 'orderId', 'custom_field', 'customField', 'description', 'amount', ['shipping' => [ 'firstName', 'lastName', 'company', 'countryName', 'countryCodeAlpha2', 'countryCodeAlpha3', 'countryCodeNumeric', 'extendedAddress', 'locality', 'postalCode', 'region', 'streetAddress'], ], ]] ]], ]; return $signature; } /** * creates a full array signature of a valid update request * @return array update request format */ public static function updateSignature() { $creditCardSignature = CreditCardGateway::updateSignature(); foreach($creditCardSignature AS $key => $value) { if(is_array($value) and array_key_exists('options', $value)) { array_push($creditCardSignature[$key]['options'], 'updateExistingToken'); } } $signature = [ 'id', 'company', 'email', 'fax', 'firstName', 'lastName', 'phone', 'website', 'deviceData', 'deviceSessionId', 'fraudMerchantId', 'paymentMethodNonce', 'defaultPaymentMethodToken', ['creditCard' => $creditCardSignature], ['customFields' => ['_anyKey_']], ['options' => [ ['paypal' => [ 'payee_email', 'payeeEmail', 'order_id', 'orderId', 'custom_field', 'customField', 'description', 'amount', ['shipping' => [ 'firstName', 'lastName', 'company', 'countryName', 'countryCodeAlpha2', 'countryCodeAlpha3', 'countryCodeNumeric', 'extendedAddress', 'locality', 'postalCode', 'region', 'streetAddress'], ], ]], ]], ]; return $signature; } /** * find a customer by id * * @access public * @param string id customer Id * @param string associationFilterId association filter Id * @return Customer|boolean The customer object or false if the request fails. * @throws Exception\NotFound */ public function find($id, $associationFilterId = null) { $this->_validateId($id); try { $queryParams = ''; if ($associationFilterId) { $queryParams = '?association_filter_id=' . $associationFilterId; } $path = $this->_config->merchantPath() . '/customers/' . $id . $queryParams; $response = $this->_http->get($path); return Customer::factory($response['customer']); } catch (Exception\NotFound $e) { throw new Exception\NotFound( 'customer with id ' . $id . ' not found' ); } } /** * credit a customer for the passed transaction * * @access public * @param int $customerId * @param array $transactionAttribs * @return Result\Successful|Result\Error */ public function credit($customerId, $transactionAttribs) { $this->_validateId($customerId); return Transaction::credit( array_merge($transactionAttribs, ['customerId' => $customerId] ) ); } /** * credit a customer, assuming validations will pass * * returns a Transaction object on success * * @access public * @param int $customerId * @param array $transactionAttribs * @return Transaction * @throws Exception\ValidationError */ public function creditNoValidate($customerId, $transactionAttribs) { $result = $this->credit($customerId, $transactionAttribs); return Util::returnObjectOrThrowException('Braintree\Transaction', $result); } /** * delete a customer by id * * @param string $customerId */ public function delete($customerId) { $this->_validateId($customerId); $path = $this->_config->merchantPath() . '/customers/' . $customerId; $this->_http->delete($path); return new Result\Successful(); } /** * create a new sale for a customer * * @param string $customerId * @param array $transactionAttribs * @return Result\Successful|Result\Error * @see Transaction::sale() */ public function sale($customerId, $transactionAttribs) { $this->_validateId($customerId); return Transaction::sale( array_merge($transactionAttribs, ['customerId' => $customerId] ) ); } /** * create a new sale for a customer, assuming validations will pass * * returns a Transaction object on success * @access public * @param string $customerId * @param array $transactionAttribs * @return Transaction * @throws Exception\ValidationsFailed * @see Transaction::sale() */ public function saleNoValidate($customerId, $transactionAttribs) { $result = $this->sale($customerId, $transactionAttribs); return Util::returnObjectOrThrowException('Braintree\Transaction', $result); } /** * Returns a ResourceCollection of customers matching the search query. * * If query is a string, the search will be a basic search. * If query is a hash, the search will be an advanced search. * For more detailed information and examples, see {@link https://developers.braintreepayments.com/reference/request/customer/search/php https://developers.braintreepayments.com/reference/request/customer/search/php} * * @param mixed $query search query * @return ResourceCollection * @throws InvalidArgumentException */ public function search($query) { $criteria = []; foreach ($query as $term) { $result = $term->toparam(); if(is_null($result) || empty($result)) { throw new InvalidArgumentException('Operator must be provided'); } $criteria[$term->name] = $term->toparam(); } $path = $this->_config->merchantPath() . '/customers/advanced_search_ids'; $response = $this->_http->post($path, ['search' => $criteria]); $pager = [ 'object' => $this, 'method' => 'fetch', 'methodArgs' => [$query] ]; return new ResourceCollection($response, $pager); } /** * updates the customer record * * if calling this method in static context, customerId * is the 2nd attribute. customerId is not sent in object context. * * @access public * @param string $customerId (optional) * @param array $attributes * @return Result\Successful|Result\Error */ public function update($customerId, $attributes) { Util::verifyKeys(self::updateSignature(), $attributes); $this->_validateId($customerId); return $this->_doUpdate( 'put', '/customers/' . $customerId, ['customer' => $attributes] ); } /** * update a customer record, assuming validations will pass * * if calling this method in static context, customerId * is the 2nd attribute. customerId is not sent in object context. * returns a Customer object on success * * @access public * @param string $customerId * @param array $attributes * @return Customer * @throws Exception\ValidationsFailed */ public function updateNoValidate($customerId, $attributes) { $result = $this->update($customerId, $attributes); return Util::returnObjectOrThrowException(__CLASS__, $result); } /** * * @deprecated since version 2.3.0 * @access public * @return string */ public function updateCustomerUrl() { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::url", E_USER_NOTICE); return $this->_config->baseUrl() . $this->_config->merchantPath() . '/customers/all/update_via_transparent_redirect_request'; } /** * update a customer from a TransparentRedirect operation * * @deprecated since version 2.3.0 * @access public * @param string $queryString * @return object */ public function updateFromTransparentRedirect($queryString) { trigger_error("DEPRECATED: Please use TransparentRedirectRequest::confirm", E_USER_NOTICE); $params = TransparentRedirect::parseAndValidateQueryString( $queryString ); return $this->_doUpdate( 'post', '/customers/all/confirm_transparent_redirect_request', ['id' => $params['id']] ); } /* instance methods */ /** * sets instance properties from an array of values * * @ignore * @access protected * @param array $customerAttribs array of customer data * @return void */ protected function _initialize($customerAttribs) { // set the attributes $this->_attributes = $customerAttribs; // map each address into its own object $addressArray = []; if (isset($customerAttribs['addresses'])) { foreach ($customerAttribs['addresses'] AS $address) { $addressArray[] = Address::factory($address); } } $this->_set('addresses', $addressArray); // map each creditCard into its own object $creditCardArray = []; if (isset($customerAttribs['creditCards'])) { foreach ($customerAttribs['creditCards'] AS $creditCard) { $creditCardArray[] = CreditCard::factory($creditCard); } } $this->_set('creditCards', $creditCardArray); // map each coinbaseAccount into its own object $coinbaseAccountArray = []; if (isset($customerAttribs['coinbaseAccounts'])) { foreach ($customerAttribs['coinbaseAccounts'] AS $coinbaseAccount) { $coinbaseAccountArray[] = CoinbaseAccount::factory($coinbaseAccount); } } $this->_set('coinbaseAccounts', $coinbaseAccountArray); // map each paypalAccount into its own object $paypalAccountArray = []; if (isset($customerAttribs['paypalAccounts'])) { foreach ($customerAttribs['paypalAccounts'] AS $paypalAccount) { $paypalAccountArray[] = PayPalAccount::factory($paypalAccount); } } $this->_set('paypalAccounts', $paypalAccountArray); // map each applePayCard into its own object $applePayCardArray = []; if (isset($customerAttribs['applePayCards'])) { foreach ($customerAttribs['applePayCards'] AS $applePayCard) { $applePayCardArray[] = ApplePayCard::factory($applePayCard); } } $this->_set('applePayCards', $applePayCardArray); // map each androidPayCard into its own object $androidPayCardArray = []; if (isset($customerAttribs['androidPayCards'])) { foreach ($customerAttribs['androidPayCards'] AS $androidPayCard) { $androidPayCardArray[] = AndroidPayCard::factory($androidPayCard); } } $this->_set('androidPayCards', $androidPayCardArray); $this->_set('paymentMethods', array_merge($this->creditCards, $this->paypalAccounts, $this->applePayCards, $this->coinbaseAccounts, $this->androidPayCards)); } /** * returns a string representation of the customer * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } /** * returns false if comparing object is not a Customer, * or is a Customer with a different id * * @param object $otherCust customer to compare against * @return boolean */ public function isEqual($otherCust) { return !($otherCust instanceof Customer) ? false : $this->id === $otherCust->id; } /** * returns an array containt all of the customer's payment methods * * @return array */ public function paymentMethods() { return $this->paymentMethods; } /** * returns the customer's default payment method * * @return CreditCard|PayPalAccount|ApplePayCard|AndroidPayCard */ public function defaultPaymentMethod() { $defaultPaymentMethods = array_filter($this->paymentMethods, 'Braintree\\Customer::_defaultPaymentMethodFilter'); return current($defaultPaymentMethods); } public static function _defaultPaymentMethodFilter($paymentMethod) { return $paymentMethod->isDefault(); } /* private class properties */ /** * @access protected * @var array registry of customer data */ protected $_attributes = [ 'addresses' => '', 'company' => '', 'creditCards' => '', 'email' => '', 'fax' => '', 'firstName' => '', 'id' => '', 'lastName' => '', 'phone' => '', 'createdAt' => '', 'updatedAt' => '', 'website' => '', ]; /** * sends the create request to the gateway * * @ignore * @param string $subPath * @param array $params * @return mixed */ public function _doCreate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * verifies that a valid customer id is being used * @ignore * @param string customer id * @throws InvalidArgumentException */ private function _validateId($id = null) { if (is_null($id)) { throw new InvalidArgumentException( 'expected customer id to be set' ); } if (!preg_match('/^[0-9A-Za-z_-]+$/', $id)) { throw new InvalidArgumentException( $id . ' is an invalid customer id.' ); } } /* private class methods */ /** * sends the update request to the gateway * * @ignore * @param string $subPath * @param array $params * @return mixed */ private function _doUpdate($httpVerb, $subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->$httpVerb($fullPath, $params); return $this->_verifyGatewayResponse($response); } /** * generic method for validating incoming gateway responses * * creates a new Customer object and encapsulates * it inside a Result\Successful object, or * encapsulates a Errors object inside a Result\Error * alternatively, throws an Unexpected exception if the response is invalid. * * @ignore * @param array $response gateway response values * @return Result\Successful|Result\Error * @throws Exception\Unexpected */ private function _verifyGatewayResponse($response) { if (isset($response['customer'])) { // return a populated instance of Customer return new Result\Successful( Customer::factory($response['customer']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected customer or apiErrorResponse" ); } } } class_alias('Braintree\CustomerGateway', 'Braintree_CustomerGateway'); lib/braintree/lib/Braintree/EqualityNode.php000064400000000403147206617610015071 0ustar00searchTerms['is_not'] = strval($value); return $this; } } class_alias('Braintree\EqualityNode', 'Braintree_EqualityNode'); lib/braintree/lib/Braintree/PaymentMethodParser.php000064400000004405147206617610016427 0ustar00== More information == * * * @package Braintree * @category Resources * */ class PaymentMethodParser { public static function parsePaymentMethod($response) { if (isset($response['creditCard'])) { return CreditCard::factory($response['creditCard']); } else if (isset($response['paypalAccount'])) { return PayPalAccount::factory($response['paypalAccount']); } else if (isset($response['coinbaseAccount'])) { return CoinbaseAccount::factory($response['coinbaseAccount']); } else if (isset($response['applePayCard'])) { return ApplePayCard::factory($response['applePayCard']); } else if (isset($response['androidPayCard'])) { return AndroidPayCard::factory($response['androidPayCard']); } else if (isset($response['amexExpressCheckoutCard'])) { return AmexExpressCheckoutCard::factory($response['amexExpressCheckoutCard']); } else if (isset($response['europeBankAccount'])) { return EuropeBankAccount::factory($response['europeBankAccount']); } else if (isset($response['usBankAccount'])) { return UsBankAccount::factory($response['usBankAccount']); } else if (isset($response['venmoAccount'])) { return VenmoAccount::factory($response['venmoAccount']); } else if (isset($response['visaCheckoutCard'])) { return VisaCheckoutCard::factory($response['visaCheckoutCard']); } else if (isset($response['masterpassCard'])) { return MasterpassCard::factory($response['masterpassCard']); } else if (isset($response['samsungPayCard'])) { return SamsungPayCard::factory($response['samsungPayCard']); } else if (is_array($response)) { return UnknownPaymentMethod::factory($response); } else { throw new Exception\Unexpected( 'Expected payment method' ); } } } class_alias('Braintree\PaymentMethodParser', 'Braintree_PaymentMethodParser'); lib/braintree/lib/Braintree/Transaction/CustomerDetails.php000064400000001235147206617610020066 0ustar00_attributes['cardType'] = $this->virtualCardType; $this->_attributes['last4'] = $this->virtualCardLast4; } } class_alias('Braintree\Transaction\AndroidPayCardDetails', 'Braintree_Transaction_AndroidPayCardDetails'); lib/braintree/lib/Braintree/Transaction/UsBankAccountDetails.php000064400000002066147206617610020770 0ustar00achMandate = $achMandate; } } class_alias('Braintree\Transaction\UsBankAccountDetails', 'Braintree_Transaction_UsBankAccountDetails'); lib/braintree/lib/Braintree/Transaction/ApplePayCardDetails.php000064400000001575147206617610020601 0ustar00_attributes['expirationDate'] = $this->expirationMonth . '/' . $this->expirationYear; $this->_attributes['maskedNumber'] = $this->bin . '******' . $this->last4; } } class_alias('Braintree\Transaction\SamsungPayCardDetails', 'Braintree_Transaction_SamsungPayCardDetails'); lib/braintree/lib/Braintree/Transaction/StatusDetails.php000064400000001061147206617610017545 0ustar00_attributes['expirationDate'] = $this->expirationMonth . '/' . $this->expirationYear; $this->_attributes['maskedNumber'] = $this->bin . '******' . $this->last4; } } class_alias('Braintree\Transaction\CreditCardDetails', 'Braintree_Transaction_CreditCardDetails'); lib/braintree/lib/Braintree/Transaction/SubscriptionDetails.php000064400000000775147206617610020761 0ustar00_attributes['expirationDate'] = $this->expirationMonth . '/' . $this->expirationYear; $this->_attributes['maskedNumber'] = $this->bin . '******' . $this->last4; } } class_alias('Braintree\Transaction\VisaCheckoutCardDetails', 'Braintree_Transaction_VisaCheckoutCardDetails'); lib/braintree/lib/Braintree/Transaction/IdealPaymentDetails.php000064400000001147147206617610020643 0ustar00_attributes['expirationDate'] = $this->expirationMonth . '/' . $this->expirationYear; $this->_attributes['maskedNumber'] = $this->bin . '******' . $this->last4; } } class_alias('Braintree\Transaction\MasterpassCardDetails', 'Braintree_Transaction_MasterpassCardDetails'); lib/braintree/lib/Braintree/Transaction/CoinbaseDetails.php000064400000001417147206617610020012 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } /* public class methods */ /** * Accepts a dispute, given a dispute ID * * @param string $id */ public function create($params) { Util::verifyKeys(self::createSignature(), $params); $file = $params['file']; if (!is_resource($file)) { throw new InvalidArgumentException('file must be a stream resource'); } $payload = [ 'document_upload[kind]' => $params['kind'] ]; $path = $this->_config->merchantPath() . '/document_uploads/'; $response = $this->_http->postMultipart($path, $payload, $file); if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } if (isset($response['documentUpload'])) { $documentUpload = DocumentUpload::factory($response['documentUpload']); return new Result\Successful($documentUpload); } } public static function createSignature() { return [ 'file', 'kind' ]; } } class_alias('Braintree\DocumentUploadGateway', 'Braintree_DocumentUploadGateway'); lib/braintree/lib/Braintree/IdealPayment.php000064400000004626147206617610015055 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read string $id * @property-read string $idealTransactionId * @property-read string $currency * @property-read string $amount * @property-read string $status * @property-read string $orderId * @property-read string $issuer * @property-read string $ibanBankAccount */ class IdealPayment extends Base { /** * factory method: returns an instance of IdealPayment * to the requesting method, with populated properties * * @ignore * @return IdealPayment */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /* instance methods */ /** * sets instance properties from an array of values * * @access protected * @param array $idealPaymentAttribs array of idealPayment data * @return void */ protected function _initialize($idealPaymentAttribs) { // set the attributes $this->_attributes = $idealPaymentAttribs; $ibanBankAccount = isset($idealPaymentAttribs['ibanBankAccount']) ? IbanBankAccount::factory($idealPaymentAttribs['ibanBankAccount']) : null; $this->_set('ibanBankAccount', $ibanBankAccount); } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } // static methods redirecting to gateway public static function find($idealPaymentId) { return Configuration::gateway()->idealPayment()->find($idealPaymentId); } public static function sale($idealPaymentId, $transactionAttribs) { $transactionAttribs['options'] = [ 'submitForSettlement' => true ]; return Configuration::gateway()->idealPayment()->sale($idealPaymentId, $transactionAttribs); } } class_alias('Braintree\IdealPayment', 'Braintree_IdealPayment'); lib/braintree/lib/Braintree/Dispute/EvidenceDetails.php000064400000001445147206617610017142 0ustar00_config = $config; } public function delete($path, $params = null) { $response = $this->_doRequest('DELETE', $path, $this->_buildXml($params)); $responseCode = $response['status']; if ($responseCode === 200 || $responseCode === 204) { return true; } else if ($responseCode === 422) { return Xml::buildArrayFromXml($response['body']); } else { Util::throwStatusCodeException($response['status']); } } public function get($path) { $response = $this->_doRequest('GET', $path); if ($response['status'] === 200) { return Xml::buildArrayFromXml($response['body']); } else { Util::throwStatusCodeException($response['status']); } } public function post($path, $params = null) { $response = $this->_doRequest('POST', $path, $this->_buildXml($params)); $responseCode = $response['status']; if ($responseCode === 200 || $responseCode === 201 || $responseCode === 422 || $responseCode == 400) { return Xml::buildArrayFromXml($response['body']); } else { Util::throwStatusCodeException($responseCode); } } public function postMultipart($path, $params, $file) { $headers = [ 'User-Agent: Braintree PHP Library ' . Version::get(), 'X-ApiVersion: ' . Configuration::API_VERSION ]; $response = $this->_doRequest('POST', $path, $params, $file, $headers); $responseCode = $response['status']; if ($responseCode === 200 || $responseCode === 201 || $responseCode === 422 || $responseCode == 400) { return Xml::buildArrayFromXml($response['body']); } else { Util::throwStatusCodeException($responseCode); } } public function put($path, $params = null) { $response = $this->_doRequest('PUT', $path, $this->_buildXml($params)); $responseCode = $response['status']; if ($responseCode === 200 || $responseCode === 201 || $responseCode === 422 || $responseCode == 400) { return Xml::buildArrayFromXml($response['body']); } else { Util::throwStatusCodeException($responseCode); } } private function _buildXml($params) { return empty($params) ? null : Xml::buildXmlFromArray($params); } private function _getHeaders() { return [ 'Accept: application/xml', ]; } private function _getAuthorization() { if ($this->_useClientCredentials) { return [ 'user' => $this->_config->getClientId(), 'password' => $this->_config->getClientSecret(), ]; } else if ($this->_config->isAccessToken()) { return [ 'token' => $this->_config->getAccessToken(), ]; } else { return [ 'user' => $this->_config->getPublicKey(), 'password' => $this->_config->getPrivateKey(), ]; } } public function useClientCredentials() { $this->_useClientCredentials = true; } private function _doRequest($httpVerb, $path, $requestBody = null, $file = null, $headers = null) { return $this->_doUrlRequest($httpVerb, $this->_config->baseUrl() . $path, $requestBody, $file, $headers); } public function _doUrlRequest($httpVerb, $url, $requestBody = null, $file = null, $customHeaders = null) { $curl = curl_init(); curl_setopt($curl, CURLOPT_TIMEOUT, $this->_config->timeout()); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $httpVerb); curl_setopt($curl, CURLOPT_URL, $url); if ($this->_config->acceptGzipEncoding()) { curl_setopt($curl, CURLOPT_ENCODING, 'gzip'); } if ($this->_config->sslVersion()) { curl_setopt($curl, CURLOPT_SSLVERSION, $this->_config->sslVersion()); } $headers = []; if ($customHeaders) { $headers = $customHeaders; } else { $headers = $this->_getHeaders($curl); $headers[] = 'User-Agent: Braintree PHP Library ' . Version::get(); $headers[] = 'X-ApiVersion: ' . Configuration::API_VERSION; $headers[] = 'Content-Type: application/xml'; } $authorization = $this->_getAuthorization(); if (isset($authorization['user'])) { curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, $authorization['user'] . ':' . $authorization['password']); } else if (isset($authorization['token'])) { $headers[] = 'Authorization: Bearer ' . $authorization['token']; } if ($this->_config->sslOn()) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($curl, CURLOPT_CAINFO, $this->getCaFile()); } if (!empty($file)) { $boundary = "---------------------" . md5(mt_rand() . microtime()); $headers[] = "Content-Type: multipart/form-data; boundary={$boundary}"; $this->prepareMultipart($curl, $requestBody, $file, $boundary); } else if (!empty($requestBody)) { curl_setopt($curl, CURLOPT_POSTFIELDS, $requestBody); } if ($this->_config->isUsingProxy()) { $proxyHost = $this->_config->getProxyHost(); $proxyPort = $this->_config->getProxyPort(); $proxyType = $this->_config->getProxyType(); $proxyUser = $this->_config->getProxyUser(); $proxyPwd= $this->_config->getProxyPassword(); curl_setopt($curl, CURLOPT_PROXY, $proxyHost . ':' . $proxyPort); if (!empty($proxyType)) { curl_setopt($curl, CURLOPT_PROXYTYPE, $proxyType); } if ($this->_config->isAuthenticatedProxy()) { curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyUser . ':' . $proxyPwd); } } curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); $httpStatus = curl_getinfo($curl, CURLINFO_HTTP_CODE); $error_code = curl_errno($curl); $error = curl_error($curl); if ($error_code == 28 && $httpStatus == 0) { throw new Exception\Timeout(); } curl_close($curl); if ($this->_config->sslOn()) { if ($httpStatus == 0) { throw new Exception\SSLCertificate($error, $error_code); } } else if ($error_code) { throw new Exception\Connection($error, $error_code); } return ['status' => $httpStatus, 'body' => $response]; } function prepareMultipart($ch, $requestBody, $file, $boundary) { $disallow = ["\0", "\"", "\r", "\n"]; $fileInfo = new finfo(FILEINFO_MIME_TYPE); $filePath = stream_get_meta_data($file)['uri']; $data = file_get_contents($filePath); $mimeType = $fileInfo->buffer($data); // build normal parameters foreach ($requestBody as $k => $v) { $k = str_replace($disallow, "_", $k); $body[] = implode("\r\n", [ "Content-Disposition: form-data; name=\"{$k}\"", "", filter_var($v), ]); } // build file parameter $splitFilePath = explode(DIRECTORY_SEPARATOR, $filePath); $filePath = end($splitFilePath); $filePath = str_replace($disallow, "_", $filePath); $body[] = implode("\r\n", [ "Content-Disposition: form-data; name=\"file\"; filename=\"{$filePath}\"", "Content-Type: {$mimeType}", "", $data, ]); // add boundary for each parameters array_walk($body, function (&$part) use ($boundary) { $part = "--{$boundary}\r\n{$part}"; }); // add final boundary $body[] = "--{$boundary}--"; $body[] = ""; // set options return curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => implode("\r\n", $body) ]); } private function getCaFile() { static $memo; if ($memo === null) { $caFile = $this->_config->caFile(); if (substr($caFile, 0, 7) !== 'phar://') { return $caFile; } $extractedCaFile = sys_get_temp_dir() . '/api_braintreegateway_com.ca.crt'; if (!file_exists($extractedCaFile) || sha1_file($extractedCaFile) != sha1_file($caFile)) { if (!copy($caFile, $extractedCaFile)) { throw new Exception\SSLCaFileNotFound(); } } $memo = $extractedCaFile; } return $memo; } } class_alias('Braintree\Http', 'Braintree_Http'); lib/braintree/lib/Braintree/MerchantAccountGateway.php000064400000013467147206617610017104 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function create($attribs) { Util::verifyKeys(self::detectSignature($attribs), $attribs); return $this->_doCreate('/merchant_accounts/create_via_api', ['merchant_account' => $attribs]); } public function find($merchant_account_id) { try { $path = $this->_config->merchantPath() . '/merchant_accounts/' . $merchant_account_id; $response = $this->_http->get($path); return MerchantAccount::factory($response['merchantAccount']); } catch (Exception\NotFound $e) { throw new Exception\NotFound('merchant account with id ' . $merchant_account_id . ' not found'); } } public function update($merchant_account_id, $attributes) { Util::verifyKeys(self::updateSignature(), $attributes); return $this->_doUpdate('/merchant_accounts/' . $merchant_account_id . '/update_via_api', ['merchant_account' => $attributes]); } public static function detectSignature($attribs) { if (isset($attribs['applicantDetails'])) { trigger_error("DEPRECATED: Passing applicantDetails to create is deprecated. Please use individual, business, and funding", E_USER_NOTICE); return self::createDeprecatedSignature(); } else { return self::createSignature(); } } public static function updateSignature() { $signature = self::createSignature(); unset($signature['tosAccepted']); return $signature; } public function createForCurrency($attribs) { $response = $this->_http->post($this->_config->merchantPath() . '/merchant_accounts/create_for_currency', ['merchant_account' => $attribs]); return $this->_verifyGatewayResponse($response); } public function all() { $pager = [ 'object' => $this, 'method' => 'fetchMerchantAccounts', ]; return new PaginatedCollection($pager); } public function fetchMerchantAccounts($page) { $response = $this->_http->get($this->_config->merchantPath() . '/merchant_accounts?page=' . $page); $body = $response['merchantAccounts']; $merchantAccounts = Util::extractattributeasarray($body, 'merchantAccount'); $totalItems = $body['totalItems'][0]; $pageSize = $body['pageSize'][0]; return new PaginatedResult($totalItems, $pageSize, $merchantAccounts); } public static function createSignature() { $addressSignature = ['streetAddress', 'postalCode', 'locality', 'region']; $individualSignature = [ 'firstName', 'lastName', 'email', 'phone', 'dateOfBirth', 'ssn', ['address' => $addressSignature] ]; $businessSignature = [ 'dbaName', 'legalName', 'taxId', ['address' => $addressSignature] ]; $fundingSignature = [ 'routingNumber', 'accountNumber', 'destination', 'email', 'mobilePhone', 'descriptor', ]; return [ 'id', 'tosAccepted', 'masterMerchantAccountId', ['individual' => $individualSignature], ['funding' => $fundingSignature], ['business' => $businessSignature] ]; } public static function createDeprecatedSignature() { $applicantDetailsAddressSignature = ['streetAddress', 'postalCode', 'locality', 'region']; $applicantDetailsSignature = [ 'companyName', 'firstName', 'lastName', 'email', 'phone', 'dateOfBirth', 'ssn', 'taxId', 'routingNumber', 'accountNumber', ['address' => $applicantDetailsAddressSignature] ]; return [ ['applicantDetails' => $applicantDetailsSignature], 'id', 'tosAccepted', 'masterMerchantAccountId' ]; } public function _doCreate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->post($fullPath, $params); return $this->_verifyGatewayResponse($response); } private function _doUpdate($subPath, $params) { $fullPath = $this->_config->merchantPath() . $subPath; $response = $this->_http->put($fullPath, $params); return $this->_verifyGatewayResponse($response); } private function _verifyGatewayResponse($response) { if (isset($response['response'])) { $response = $response['response']; } if (isset($response['merchantAccount'])) { // return a populated instance of merchantAccount return new Result\Successful( MerchantAccount::factory($response['merchantAccount']) ); } else if (isset($response['apiErrorResponse'])) { return new Result\Error($response['apiErrorResponse']); } else { throw new Exception\Unexpected( "Expected merchant account or apiErrorResponse" ); } } } class_alias('Braintree\MerchantAccountGateway', 'Braintree_MerchantAccountGateway'); lib/braintree/lib/Braintree/ThreeDSecureInfo.php000064400000001465147206617610015635 0ustar00_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; } /** * returns a string representation of the three d secure info * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } } class_alias('Braintree\ThreeDSecureInfo', 'Braintree_ThreeDSecureInfo'); lib/braintree/lib/Braintree/LocalPaymentCompleted.php000064400000003350147206617610016717 0ustar00== More information == * * * @package Braintree * @category Resources * * @property-read string $grantOwnerMerchantId * @property-read string $grantRecipientMerchantId * @property-read string $paymentMethodNonce * @property-read string $token * @property-read string $updatedFields */ class LocalPaymentCompleted extends Base { /** * factory method: returns an instance of GrantedPaymentInstrumentUpdate * to the requesting method, with populated properties * * @ignore * @return LocalPaymentCompleted */ public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /* instance methods */ /** * sets instance properties from an array of values * * @access protected * @param array $LocalPaymentCompletedAttribs array of localPaymentCompleted data * @return void */ protected function _initialize($localPaymentCompletedAttribs) { // set the attributes $this->_attributes = $localPaymentCompletedAttribs; } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) . ']'; } } class_alias('Braintree\LocalPaymentCompleted', 'Braintree_LocalPaymentCompleted'); lib/braintree/lib/Braintree/PlanGateway.php000064400000001526147206617610014711 0ustar00_gateway = $gateway; $this->_config = $gateway->config; $this->_config->assertHasAccessTokenOrKeys(); $this->_http = new Http($gateway->config); } public function all() { $path = $this->_config->merchantPath() . '/plans'; $response = $this->_http->get($path); if (key_exists('plans', $response)){ $plans = ["plan" => $response['plans']]; } else { $plans = ["plan" => []]; } return Util::extractAttributeAsArray( $plans, 'plan' ); } } class_alias('Braintree\PlanGateway', 'Braintree_PlanGateway'); lib/braintree/lib/Braintree/OAuthCredentials.php000064400000001410147206617610015663 0ustar00_attributes = $attribs; } public static function factory($attributes) { $instance = new self(); $instance->_initialize($attributes); return $instance; } /** * returns a string representation of the access token * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } } class_alias('Braintree\OAuthCredentials', 'Braintree_OAuthCredentials'); lib/braintree/lib/Braintree/FacilitatorDetails.php000064400000001532147206617610016241 0ustar00_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; } /** * returns a string representation of the facilitator details * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } } class_alias('Braintree\FacilitatorDetails', 'Braintree_FacilitatorDetails'); lib/braintree/lib/Braintree/index.html000064400000000000147206617610013743 0ustar00lib/braintree/lib/ssl/api_braintreegateway_com.ca.crt000064400000035052147206617610016773 0ustar00-----BEGIN CERTIFICATE----- MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y 5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ 4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO 0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj 7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS 8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ 3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH /PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu 9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo 2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI 4uJEvlz36hz1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt 43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg 06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm +9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep +OkuE6N36B9K -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB /wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG 9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF 9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN /BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz 4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 7M2CYfE45k+XmCpajQ== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI 2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx 1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV 5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY 1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl MrY= -----END CERTIFICATE----- lib/braintree/lib/autoload.php000064400000001140147206617610012362 0ustar00= 5.4.0 required'); } class Braintree { public static function requireDependencies() { $requiredExtensions = ['xmlwriter', 'openssl', 'dom', 'hash', 'curl']; foreach ($requiredExtensions AS $ext) { if (!extension_loaded($ext)) { throw new Braintree_Exception('The Braintree library requires the ' . $ext . ' extension.'); } } } } Braintree::requireDependencies(); lib/braintree/lib/index.html000064400000000000147206617610012030 0ustar00lib/braintree/index.html000064400000000000147206617610011262 0ustar00lib/paypal/class-swpm-paypal-js-button-embed.php000064400000015431147206617610015701 0ustar00 0, 'live_client_id' => 'THE LIVE CLIENT ID', 'sandbox_client_id' => 'THE SANDBOX CLIENT ID', 'currency' => 'USD', 'disable-funding' => '', //array('card', 'credit', 'venmo') 'intent' => 'capture', 'is_subscription' => 0, ); */ $this->settings_args = $settings_args; } /* Set the settings args that will be used to generate the PayPal JS SDK arguments for Subscription buttons. */ public function set_settings_args_for_subscriptions( $settings_args_sub ) { $this->settings_args_subscription = $settings_args_sub; } public function get_next_button_id() { $next_button_id = $this->button_id_prefix . count(self::$on_page_payment_buttons); self::$on_page_payment_buttons[] = $next_button_id; return $next_button_id; } /* * Generate the arguments for the PayPal JS SDK. It will be used to load the SDK script. */ public function generate_paypal_js_sdk_args( $args = array()){ //Reference - https://developer.paypal.com/sdk/js/configuration/ $sdk_args = array(); $sdk_args['client-id'] = $args['is_live_mode'] ? $args['live_client_id'] : $args['sandbox_client_id']; $sdk_args['intent'] = isset($args['intent']) ? $args['intent'] : 'capture'; $sdk_args['currency'] = $args['currency']; if ( isset( $args['is_subscription'] ) && ! empty( $args['is_subscription'] ) ) { //Enable vault for subscription payments. $sdk_args['vault'] = 'true'; } // Enable Venmo by default (could be disabled by 'disable-funding' option). $sdk_args['enable-funding'] = 'venmo';//We can add more funding options here (exmaple: venmo, paylater) // Required for Venmo in sandbox. if ( ! $args['is_live_mode'] ) { $sdk_args['buyer-country'] = 'US'; } //Check disable funding options. $disabled_funding = isset( $args['disable-funding'] ) ? $args['disable-funding'] : ''; if ( is_array( $disabled_funding ) && ! empty( $disabled_funding ) ) { // Convert array to comma separated string. $disable_funding_arg = ''; foreach ( $disabled_funding as $funding ) { $disable_funding_arg .= $funding . ','; } $disable_funding_arg = rtrim( $disable_funding_arg, ',' );//Remove the last comma and any white space. $sdk_args['disable-funding'] = $disable_funding_arg; } //Trigger filter hook so the PayPal SDK arguments can be modified. $sdk_args = apply_filters( 'swpm_generate_paypal_js_sdk_args', $sdk_args ); return $sdk_args; } /** * Load the PayPal JS SDK Script in the footer. This one loads the SDK with standard parameters (useful for one-time payments). * * It will be called from the button's shortcode (using a hook) if at least one button is present on the page. * The button's JS code needs to be executed after the SDK is loaded. Check for 'swpm_paypal_sdk_loaded' event. */ public function load_paypal_sdk() { $args = $this->settings_args; $sdk_args = $this->generate_paypal_js_sdk_args($args); $script_url = add_query_arg( $sdk_args, 'https://www.paypal.com/sdk/js' ); ?> settings_args_subscription; $sdk_args = $this->generate_paypal_js_sdk_args($args); $script_url = add_query_arg( $sdk_args, 'https://www.paypal.com/sdk/js' ); ?> generate_paypal_js_sdk_args(); $script_url = add_query_arg( $sdk_args, 'https://www.paypal.com/sdk/js' ); $output = ''; return $output; } }lib/paypal/class-swpm-paypal-bearer.php000064400000013643147206617610014145 0ustar00has( self::BEARER_CACHE_KEY ); if ( $token_exists ) { //A cached token exists. Check if it is expired. //SwpmLog::log_simple_debug('Cached bearer token exists. Checking if it is valid.', true); $token = $paypal_cache->get( self::BEARER_CACHE_KEY ); $is_valid_token = $this->is_valid_token( $token, $environment_mode ); if ( $is_valid_token ) { //The cached token is valid. Return it. $token_string = $token['token_value']; SwpmLog::log_simple_debug('Using the cached PayPal API access token (since it is still valid). Environment mode: ' . $environment_mode, true); return $token_string; } } //A token doesn't exist or it is expired. Create a new one. //It will save/cache the newly created token also. $token_string = $this->create_new_bearer_token( $environment_mode ); return $token_string; } /** * Creates a new bearer token. * @return access_token */ public function create_new_bearer_token( $environment_mode = '' ) { //If the environment mode is passed, then use that, otherwise use the mode from settings. $settings = SwpmSettings::get_instance(); if( empty($environment_mode) ){ //Get the environment mode from settings. $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' );//The value will be checked="checked" or empty string. if( !empty($sandbox_enabled) ){ $environment_mode = 'sandbox'; }else{ $environment_mode = 'production'; } } SwpmLog::log_simple_debug('[New Token] Creating a new PayPal API access token for environment mode: ' . $environment_mode, true); if( $environment_mode == 'sandbox' ){ $client_id = $settings->get_value('paypal-sandbox-client-id'); $secret = $settings->get_value('paypal-sandbox-secret-key'); }else{ $client_id = $settings->get_value('paypal-live-client-id'); $secret = $settings->get_value('paypal-live-secret-key'); } //Check if the client id and secret are set before trying to create a bearer token using those values. if( empty( $client_id ) || empty( $secret ) ){ SwpmLog::log_simple_debug('PayPal API credentials are not set. Missing Client ID or Secret Key. Please set them in the plugin\'s payment settings page.', false); return false; } //Get the API base URL based on the environment mode. $api_base_url = SWPM_PayPal_Utility_Functions::get_api_base_url_by_environment_mode($environment_mode); $url = trailingslashit( $api_base_url ) . 'v1/oauth2/token?grant_type=client_credentials'; $args = array( 'method' => 'POST', 'headers' => array( // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode 'Authorization' => 'Basic ' . base64_encode( $client_id . ':' . $secret ), ), ); $response = SWPM_PayPal_Request_API::send_request_by_url_and_args( $url, $args ); if ( $response === false ) { //WP could not post the request. It has already logged the error in the log file. So just return ''. return false; } $status_code = (int) wp_remote_retrieve_response_code( $response ); if ( $status_code !== 200 ) { //PayPal API returned an error. $response_body = wp_remote_retrieve_body( $response ); SwpmLog::log_simple_debug( 'PayPal API returned an error. Status Code: ' . $status_code . ' Response Body: ' . $response_body, false ); return false; } //Get the token string value from the response. $token_string = self::get_token_from_json ( $response['body'] ); //Cache/save the bearer token in the database. self::cache_token( $token_string, $environment_mode ); SwpmLog::log_simple_debug('PayPal access token created successfully.', true); return $token_string; } public static function cache_token( $token_string, $environment_mode = 'prouction' ) { $token = array( 'token_value' => $token_string, 'created_at' => time(), 'environment_mode' => $environment_mode, ); $paypal_cache = SWPM_PayPal_Cache::get_instance(); $paypal_cache->set( self::BEARER_CACHE_KEY, $token, self::BEARER_CACHE_EXPIRATION );//Cache for 8 hours. } public static function delete_cached_token() { $paypal_cache = SWPM_PayPal_Cache::get_instance(); $paypal_cache->delete( self::BEARER_CACHE_KEY ); } /** * Checks if token is expired or not * @return bool */ public function is_valid_token( $token, $environment_mode = 'production' ) { $token_string = $token['token_value']; $created_at = $token['created_at']; $token_env_mode = $token['environment_mode']; if( $token_env_mode != $environment_mode ){ //The token is not for the current environment mode. So it is not valid. return false; } $expiry_timestamp = $created_at + self::BEARER_CACHE_EXPIRATION; if ( time() > $expiry_timestamp ) { //The token is expired. return false; } return true; } public static function get_token_from_json( $json ) { $json = (object) json_decode( $json ); $token = ''; if ( isset( $json->access_token ) || isset( $json->client_token ) ) { $token = isset( $json->access_token ) ? $json->access_token : $json->client_token; } return $token; } }lib/paypal/class-swpm-paypal-cache.php000064400000002263147206617610013744 0ustar00get( $key ); return false !== $value; } /** * Deletes a cache. * @param string $key The key. */ public function delete( $key ) { delete_transient( $key ); } /** * Caches a value. * @param string $key The key under which the value should be cached. * @param mixed $value The value to cache. * @param int $expiration Time until expiration in seconds. * @return bool */ public function set( $key, $value, $expiration = 0 ) { return (bool) set_transient( $key, $value, $expiration ); } }lib/paypal/class-swpm-paypal-acdc-related.php000064400000024413147206617610015212 0ustar00get_bearer_token( $environment_mode ); $url = trailingslashit( $api_base_url ) . 'v1/identity/generate-token'; $args = array( 'method' => 'POST', 'headers' => array( 'Authorization' => 'Bearer ' . $bearer_token, 'Content-Type' => 'application/json', 'PayPal-Partner-Attribution-Id' => 'TipsandTricks_SP_PPCP', ), ); $args['body'] = wp_json_encode( array( 'customer_id' => $customer_id, ) ); //Send the request to the PayPal API. $response = SWPM_PayPal_Request_API::send_request_by_url_and_args( $url, $args ); if ( is_wp_error( $response ) ) { //WP could not post the request. $error_msg = $response->get_error_message();//Get the error from the WP_Error object. SwpmLog::log_simple_debug( 'Failed to post the request to the PayPal API. Error: ' . $error_msg, false ); return false; } $status_code = (int) wp_remote_retrieve_response_code( $response ); if ( $status_code !== 200 ) { //PayPal API returned an error. $response_body = wp_remote_retrieve_body( $response ); SwpmLog::log_simple_debug( 'PayPal API returned an error. Status Code: ' . $status_code . ' Response Body: ' . $response_body, false ); return false; } //Get the client_token string value from the response. $json = json_decode( wp_remote_retrieve_body( $response ) ); $client_token = isset( $json->client_token) ? $json->client_token : ''; return $client_token; } /** * Handles the order setup for ACDC 'Buy Now' type buttons. */ public function swpm_acdc_setup_order(){ SwpmLog::log_array_data_to_debug( 'Received request - swpm_acdc_setup_order', true); //Get the data from the request $data = isset( $_POST['data'] ) ? stripslashes_deep( $_POST['data'] ) : array(); if ( empty( $data ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Empty data received.', 'simple-membership' ), ) ); } if( !is_array( $data ) ){ //Convert the JSON string to an array (Vanilla JS AJAX data will be in JSON format). $data = json_decode( $data, true); } $button_id = isset( $data['button_id'] ) ? sanitize_text_field( $data['button_id'] ) : ''; $on_page_button_id = isset( $data['on_page_button_id'] ) ? sanitize_text_field( $data['on_page_button_id'] ) : ''; SwpmLog::log_simple_debug( 'acdc_setup_order ajax request received for createOrder. Button ID: '.$button_id.', On Page Button ID: ' . $on_page_button_id, true ); // Check nonce. if ( ! check_ajax_referer( $on_page_button_id, '_wpnonce', false ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Nonce check failed. The page was most likely cached. Please reload the page and try again.', 'simple-membership' ), ) ); exit; } //Get the Item name for this button. This will be used as the item name in the IPN. $button_cpt = get_post($button_id); //Retrieve the CPT for this button $item_name = htmlspecialchars($button_cpt->post_title); $item_name = substr($item_name, 0, 127);//Limit the item name to 127 characters (PayPal limit) //Get the payment amount for this button. $payment_amount = get_post_meta($button_id, 'payment_amount', true); //Get the currency for this button. $currency = get_post_meta( $button_id, 'payment_currency', true ); $quantity = 1; $digital_goods_enabled = 1; // Create the order using the PayPal API. // https://developer.paypal.com/docs/api/orders/v2/#orders_create $data = array( 'item_name' => $item_name, 'payment_amount' => $payment_amount, 'currency' => $currency, 'quantity' => $quantity, 'digital_goods_enabled' => $digital_goods_enabled, ); $api_injector = new SWPM_PayPal_Request_API_Injector(); $response = $api_injector->create_paypal_order_by_url_and_args( $data ); // SwpmLog::log_simple_debug('--- Var Export Below ---', true); // $debug = var_export($response, true); // SwpmLog::log_simple_debug($debug, true); if($response !== false){ $paypal_order_id = $response; } else { //Failed to create the order. wp_send_json( array( 'success' => false, 'err_msg' => __( 'Failed to create the order. Enable the debug logging feature to get more details.', 'simple-membership' ), ) ); exit; } SwpmLog::log_simple_debug( 'acdc_setup_order done. PayPal Order ID: ' . $paypal_order_id, true ); //If everything is processed successfully, send the success response. wp_send_json( array( 'success' => true, 'order_id' => $paypal_order_id ) ); exit; } /** * Handles the order capture for ACDC 'Buy Now' type buttons. */ public function swpm_acdc_capture_order(){ //Get the data from the request $order_id = isset( $_POST['order_id'] ) ? sanitize_text_field($_POST['order_id']) : ''; if ( empty( $order_id ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Empty order ID received.', 'simple-membership' ), ) ); } $on_page_button_id = isset( $_POST['on_page_button_id'] ) ? sanitize_text_field( $_POST['on_page_button_id'] ) : ''; //$button_id = isset( $data['button_id'] ) ? sanitize_text_field( $data['button_id'] ) : ''; SwpmLog::log_simple_debug( 'Received request - swpm_acdc_capture_order. Order ID: ' . $order_id . ', on_page_button_id: ' . $on_page_button_id, true ); // Check nonce. if ( ! check_ajax_referer( $on_page_button_id, '_wpnonce', false ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Nonce check failed. The page was most likely cached. Please reload the page and try again.', 'simple-membership' ), ) ); exit; } // Capture the order using the PayPal API - https://developer.paypal.com/docs/api/orders/v2/#orders_capture $api_injector = new SWPM_PayPal_Request_API_Injector(); $response = $api_injector->capture_paypal_order( $order_id ); if($response !== false){ $paypal_capture_id = $response; } else { //Failed to capture the order. wp_send_json( array( 'success' => false, 'err_msg' => __( 'Failed to capture the order. Enable the debug logging feature to get more details.', 'simple-membership' ), ) ); exit; } //If everything is processed successfully, send the success response. $order_data = array('order_id' => $order_id, 'capture_id' => $paypal_capture_id, 'captured' => 'success' ); wp_send_json( array( 'success' => true, 'orderData' => $order_data ) ); exit; } }lib/paypal/class-swpm-paypal-webhook-event-handler.php000064400000036375147206617610017104 0ustar00handle_subscription_status_update('activated', $event, $mode ); break; case 'BILLING.SUBSCRIPTION.EXPIRED': // A subscription expires. $this->handle_subscription_status_update('expired', $event, $mode ); break; case 'BILLING.SUBSCRIPTION.CANCELLED': // A subscription is cancelled. $this->handle_subscription_status_update('cancelled', $event, $mode ); break; case 'BILLING.SUBSCRIPTION.SUSPENDED': // A subscription is suspended. $this->handle_subscription_status_update('suspended', $event, $mode ); break; case 'PAYMENT.SALE.COMPLETED': // A payment is made on a subscription. Update access starts date (if needed). $this->handle_subscription_payment_received('sale_completed', $event, $mode ); break; case 'PAYMENT.SALE.REFUNDED': // A merchant refunded a sale. $this->handle_payment_refunded('sale_refunded', $event, $mode ); break; case 'PAYMENT.CAPTURE.REFUNDED': // A merchant refunded a payment capture. $this->handle_payment_refunded('capture_refunded', $event, $mode ); break; default: // Nothing to do for us. Ignore this event. break; } /** * Trigger an action hook after webhook verification (can be used to do further customization). * * @param array $event The event data received from PayPal API. * @see https://developer.paypal.com/docs/api-basics/notifications/webhooks/notification-messages/ */ do_action( 'swpm_paypal_subscription_webhook_event', $event ); if ( ! headers_sent() ) { //Send a 200 status code to PayPal to indicate that the webhook event was received successfully. header("HTTP/1.1 200 OK"); } echo '200 OK';//Force header output. exit; } /** * Handle subscription status update. */ public function handle_subscription_status_update( $status, $event, $mode ) { //Get the subscription ID from the event data. $subscription_id = $event['resource']['id']; SwpmLog::log_simple_debug( 'Handling Webhook status update. Subscription ID: ' . $subscription_id, true ); if( $status == 'activated'){ //Hanlded at checkout time. Nothing to do here at this time. return; } if( $status == 'expired' || $status == 'cancelled' || $status == 'suspended'){ //Set the account profile to expired or inactive. //Retrieve the member record for this subscription $member_record = SwpmMemberUtils::get_user_by_subsriber_id( $subscription_id ); if( ! $member_record ){ // No member record found SwpmLog::log_simple_debug( 'Could not find an existing member record for the given subscriber ID: ' . $subscription_id . '. This user profile may have been deleted. Nothing to do', true ); return; } // Found a member record $member_id = $member_record->member_id; //Example value: array('last_webhook_status' => 'expired' ); if( SwpmMemberUtils::get_subscription_data_extra_info($member_id, 'last_webhook_status') == $status ){ //Nothing to do. This webhook status has already been processed. SwpmLog::log_simple_debug( 'This webhook status ('.$status.') has already been processed for this member (ID: '.$member_id.'). Nothing to do.', true ); return; } else { //Save the last webhook status. SwpmMemberUtils::set_subscription_data_extra_info( $member_id, 'last_webhook_status', $status ); //Handle the account status update according to the membership level's expiry settings. $ipn_data = array(); $ipn_data['subscr_id'] = $subscription_id; $ipn_data['custom'] = 'swpm_id=' . $member_id; swpm_handle_subsc_cancel_stand_alone( $ipn_data ); return; } } } /** * Handle subscription payment received. */ public function handle_subscription_payment_received( $payment_status, $event, $mode ){ //Get the subscription ID from the event data. $subscription_id = isset( $event['resource']['billing_agreement_id'] ) ? $event['resource']['billing_agreement_id'] : ''; $txn_id = isset( $event['resource']['id'] ) ? $event['resource']['id'] : ''; SwpmLog::log_simple_debug( 'Subscription ID from resource: ' . $subscription_id . '. Transaction ID: ' . $txn_id, true ); if( empty( $subscription_id )){ SwpmLog::log_simple_debug( 'Subscription ID is empty. Ignoring this webhook event.', true ); return; } if( self::is_sale_completed_webhook_already_processed( $event ) ){ //This webhook event has already been processed. Ignoring this webhook event. return; } //Get the subscription details from PayPal API endpoint - v1/billing/subscriptions/{$subscription_id} $api_injector = new SWPM_PayPal_Request_API_Injector(); $api_injector->set_mode_and_api_creds_based_on_mode( $mode ); $sub_details = $api_injector->get_paypal_subscription_details( $subscription_id ); if( $sub_details !== false ){ $billing_info = $sub_details->billing_info; if(is_object($billing_info)){ //Convert the object to an array. $billing_info = json_decode(json_encode($billing_info), true); } //SwpmLog::log_array_data_to_debug( $billing_info, true );//Debugging only. $tenure_type = isset($billing_info['cycle_executions'][0]['tenure_type']) ? $billing_info['cycle_executions'][0]['tenure_type'] : ''; //'REGULAR' or 'TRIAL' $sequence = isset($billing_info['cycle_executions'][0]['sequence']) ? $billing_info['cycle_executions'][0]['sequence'] : '';//1, 2, 3, etc. $cycles_completed = isset($billing_info['cycle_executions'][0]['cycles_completed']) ? $billing_info['cycle_executions'][0]['cycles_completed'] : '';//1, 2, 3, etc. $last_payment_time = isset($billing_info['last_payment']['time']) ? $billing_info['last_payment']['time'] : ''; SwpmLog::log_simple_debug( 'Subscription tenure type: ' . $tenure_type . ', Sequence: ' . $sequence . ', Cycles Completed: '. $cycles_completed. ', Last Payment Time: ' . $last_payment_time, true ); //Create the IPN data array from the subscription details. $ipn_data = self::create_ipn_data_from_paypal_api_subscription_details_data( $sub_details, $event ); //SwpmLog::log_array_data_to_debug( $ipn_data, true );//Debugging only. //Update the "Access starts date" of the member account to the current date. swpm_update_member_subscription_start_date_if_applicable( $ipn_data ); //Save the payment transaction details to the DB. SwpmTransactions::save_txn_record( $ipn_data, array() ); SwpmLog::log_simple_debug( 'Executed save_txn_record() function.', true ); // Trigger the webhook processed action hook (so other plugins can can listen for this event). do_action( 'swpm_paypal_subscription_sale_completed_webhook_processed', $ipn_data ); } else { //Error getting subscription details. SwpmLog::log_simple_debug( 'Error! Failed to get subscription details from the PayPal API.', false ); //TODO - Show additional error details if available. return; } } public function handle_payment_refunded( $payment_status, $event, $mode ){ //For subscription payment, the account is cancelled when the subscription is cancelled or expired. //For one time payment, the refund event will trigger the account cancellation. //TODO - Handle any other refund related webhook notifications. SwpmLog::log_simple_debug( 'Processing the payment refund/reversal webhook event.', true ); SwpmLog::log_array_data_to_debug( $event, true );//Debugging only. if( $payment_status != 'capture_refunded'){ //At the moment we are only processing the capture refunded event. SwpmLog::log_simple_debug( 'This is not a capture refund event. Ignore this event.', true ); return; } $refund_txn_id = isset( $event['resource']['id'] ) ? $event['resource']['id'] : ''; $rerfund_amount = isset( $event['resource']['amount']['value'] ) ? $event['resource']['amount']['value'] : 0; $refund_currency = isset( $event['resource']['amount']['currency_code'] ) ? $event['resource']['amount']['currency_code'] : ''; $links = isset( $event['resource']['links'] ) ? $event['resource']['links'] : array(); $link_refund_txn = isset( $links[0]['href'] ) ? $links[0]['href'] : ''; //This will contain the origial capture transaction ID and the URL to query and get the details. $link_capture_txn = isset( $links[1]['href'] ) ? $links[1]['href'] : ''; //Get the original capture txn ID from the refund link url. $uri_path_components = explode("/", parse_url($link_capture_txn, PHP_URL_PATH)); $orig_capture_txn_id = array_pop($uri_path_components); SwpmLog::log_simple_debug( 'Transaction ID from resource. Transaction ID: ' . $orig_capture_txn_id . '. Original Capture Link: ' . $link_capture_txn, true ); if( empty( $orig_capture_txn_id )){ SwpmLog::log_simple_debug( 'Transaction ID value is empty. Ignoring this webhook event.', true ); return; } $ipn_data = array(); $ipn_data['parent_txn_id'] = $orig_capture_txn_id;//Important for one time transactions refund. $ipn_data['subscr_id'] = ''; swpm_handle_refund_using_parent_txn_id( $ipn_data ); } public static function create_ipn_data_from_paypal_api_subscription_details_data( $sub_details, $event ){ //Creates the $ipn_data array using the data from the PayPal API endpoint - v1/billing/subscriptions/{$subscription_id} $ipn_data = array(); if(!is_object($sub_details)){ SwpmLog::log_simple_debug( 'Error! Invalid subscription details data. Cannot create ipn data.', false ); return false; } //Get the subscriber info array $subscriber_info = $sub_details->subscriber; if(is_object($subscriber_info)){ //Convert the object to an array. $subscriber_info = json_decode(json_encode($subscriber_info), true); } //Get the billing info array $billing_info = $sub_details->billing_info; if(is_object($billing_info)){ //Convert the object to an array. $billing_info = json_decode(json_encode($billing_info), true); } //Get the Subscription ID and Txn ID from the event data. $subscription_id = isset( $event['resource']['billing_agreement_id'] ) ? $event['resource']['billing_agreement_id'] : ''; $txn_id = isset( $event['resource']['id'] ) ? $event['resource']['id'] : ''; //Get the custom field data of the original subscription checkout from the user profile (if available). $custom = SwpmTransactions::get_original_custom_value_from_transactions_cpt( $subscription_id ); //Set the data to the $ipn_data array. $ipn_data['custom'] = isset($custom) ? $custom : ''; $ipn_data['payer_email'] = $subscriber_info['email_address']; $ipn_data['first_name'] = $subscriber_info['name']['given_name']; $ipn_data['last_name'] = $subscriber_info['name']['surname']; $ipn_data['txn_id'] = $txn_id; $ipn_data['subscr_id'] = $subscription_id; $ipn_data['mc_gross'] = isset($billing_info['last_payment']['amount']['value']) ? $billing_info['last_payment']['amount']['value'] : ''; $ipn_data['gateway'] = 'paypal_subscription_checkout'; $ipn_data['txn_type'] = 'pp_subscription_sale_completed_webhook'; $ipn_data['status'] = 'Completed'; return $ipn_data; } public static function is_sale_completed_webhook_already_processed( $event ){ // Query the DB to check if we have already processed this transaction or not. $txn_id = isset( $event['resource']['id'] ) ? $event['resource']['id'] : ''; $subscription_id = isset( $event['resource']['billing_agreement_id'] ) ? $event['resource']['billing_agreement_id'] : ''; $txn_row = SwpmTransactions::get_transaction_row_by_txn_id_and_subscription_id($txn_id, $subscription_id); if (!empty($txn_row)) { // And if we have already processed it, do nothing and return true SwpmLog::log_simple_debug( "This webhook event has already been processed (Txn ID: ".$txn_id.", Subscr ID: ".$subscription_id."). This looks to be a duplicate webhook notification. Nothing to do.", true ); return true; } return false; } /** * Gets the HTTP headers that you received from PayPal webhook. */ public static function get_paypal_webhook_headers() { //This method of getting the headers is more robust than using getallheaders() as this method will work on nginx servers as well. $headers = array(); foreach ( $_SERVER as $key => $value ) { if ( substr( $key, 0, 5 ) !== 'HTTP_' ) { continue; } $header = str_replace( ' ', '-', str_replace( '_', ' ', strtoupper( substr( $key, 5 ) ) ) ); $headers[ $header ] = $value; } return $headers; } public static function verify_webhook_event_for_given_mode( $event, $mode ){ //Get HTTP headers received from the PayPal webhook. $headers = self::get_paypal_webhook_headers(); //Verify the webhook event signaure. $pp_webhook = new SWPM_PayPal_Webhook(); //Set the mode based on the received webhook (so we are processing according to that instead of the current mode setting in the plugin settings). $pp_webhook->set_mode_and_api_creds_based_on_mode( $mode ); $response = $pp_webhook->verify_webhook_signature( $event, $headers ); if( $response !== false && $response->verification_status === 'SUCCESS' ){ //Webhook verification success! return true; } if ( isset( $response->verification_status ) && $response->verification_status !== 'SUCCESS' ) { SwpmLog::log_simple_debug( 'Error! Webhook verification failed! Environment mode: '. $mode . ', Verification status: ' . $response->verification_status, false ); return false; } //If we are here then something went wrong. Log the error and return false. //We can check the SWPM_PayPal_Request_API->last_error to find additional details if needed. SwpmLog::log_simple_debug( 'Error! Webhook verification failed! Environment mode: '. $mode, false ); return false; } } lib/paypal/class-swpm-paypal-request-api.php000064400000035516147206617610015147 0ustar00 'Simple Membership', 'url' => 'https://wordpress.org/plugins/simple-membership/', ); public static function get_instance() { if (null === self::$instance) { self::$instance = new self(); } return self::$instance; } public function set_mode_and_api_credentials( $mode, $live_client_id, $live_secret, $sandbox_client_id, $sandbox_secret ) { $this->set_api_environment_mode( $mode ); if ( $mode == 'production' ) { $client_id = $live_client_id; $secret = $live_secret; } else { $client_id = $sandbox_client_id; $secret = $sandbox_secret; } $this->set_api_credentials( $client_id, $secret ); } public function set_api_credentials( $client_id, $secret ) { if( empty( $client_id ) || empty( $secret ) ){ wp_die( "PayPal API credentials are not set. Missing Client ID or Secret Key. Please set them in the plugin's payment settings page." ); } $this->client_id = $client_id; $this->secret = $secret; $this->basic_auth_string = base64_encode( $this->client_id . ":" . $this->secret ); } public function set_api_environment_mode( $mode = 'production' ) { $this->environment_mode = $mode; } public function get_api_environment_mode() { return $this->environment_mode; } public function get_api_base_url() { if ($this->environment_mode == 'production') { return $this->production_api_base_url; } else { return $this->sandbox_api_base_url; } } /* * Useful to encode params for HTTP GET request where an array can be in the URL. */ private function encode_params( $d ) { if (true === $d) { return 'true'; } if (false === $d) { return 'false'; } if (is_array( $d )) { $res = array(); foreach ( $d as $k => $v ) { $res[ $k ] = $this->encode_params( $v ); } return $res; } return $d; } private function before_request() { //Reset the last_error variable before making a request. $this->last_error = array('error_message' => ''); } public function get_last_error() { return $this->last_error; } /** * Headers to use when making API requests using basic auth. We don't use this normally (as we use the bearer token method). */ private function get_headers() { $ua_string = $this->format_app_info_to_string( $this->app_info ); $headers = array( 'Content-Type' => 'application/json', 'Authorization' => 'Basic ' . $this->basic_auth_string, 'User-Agent' => $ua_string, 'PayPal-Partner-Attribution-Id' => 'TipsandTricks_SP_PPCP', ); return $headers; } /** * Headers to use when making API requests using a bearer token. */ private function get_headers_using_bearer_token() { //Get the bearer token at the time of the request (so if a cached token is used, it's validity gets checked before each request). $environment_mode = $this->get_api_environment_mode(); //===Backwards compatibility. Check if the PPCP onboarding step is done for this environment mode.=== $settings = SwpmSettings::get_instance(); $onboarding_status = $settings->get_value('paypal-ppcp-onboarding-'.$environment_mode); if( $onboarding_status != 'completed' ){ //The PPCP onboarding step is not done for this environment mode. Do the fallback header method. return $this->get_headers(); } //===End backwards compatibility=== //Get the bearer/access token. $bearer = SWPM_PayPal_Bearer::get_instance(); $bearer_token = $bearer->get_bearer_token( $environment_mode ); $headers = array( 'Content-Type' => 'application/json', 'Authorization' => 'Bearer ' . $bearer_token, 'PayPal-Partner-Attribution-Id' => 'TipsandTricks_SP_PPCP', ); return $headers; } public static function get_paypal_auth_assertion_value($environment_mode){ $partner_client_id = SWPM_PayPal_Utility_Functions::get_partner_client_id_by_environment_mode( $environment_mode ); $seller_merchant_id = SWPM_PayPal_Utility_Functions::get_seller_merchant_id_by_environment_mode( $environment_mode ); $jwt_header_data = array( 'alg' => 'none' ); $jwt_payload = array( 'iss' => $partner_client_id, 'payer_id' => $seller_merchant_id ); $pp_auth_assertion = base64_encode(json_encode($jwt_header_data)).'.'.base64_encode(json_encode($jwt_payload)).'.';//The signature is empty return $pp_auth_assertion; } /** * Make GET API request * * @param string $endpoint * Endpoint to make request to. Example: '/v1/billing/plans' * @param array $params * @return mixed * `object` on success, `false` on error */ public function get( $endpoint, $params = array(), $additional_args = array() ) { $this->before_request(); //$headers = $this->get_headers();//This can be used for Basic auth headers $headers = $this->get_headers_using_bearer_token(); $api_base_url = $this->get_api_base_url(); $request_url = $api_base_url . $endpoint; //Example: https://api-m.sandbox.paypal.com/v1/billing/plans //Add the request URL to the additional args so it can be logged (if needed). $additional_args['request_url'] = $request_url; $res = wp_remote_get( $request_url, array( 'headers' => $headers, 'body' => $this->encode_params( $params ), ) ); //Check if we need to return the body or raw response if( isset($additional_args['return_raw_response']) && $additional_args['return_raw_response'] ){ //Return the raw response return $res; } else if ( isset( $additional_args['return_response_body'] ) && $additional_args['return_response_body'] ){ //Return the response body return wp_remote_retrieve_body( $res ); } $status_code = isset( $additional_args['status_code'] ) ? $additional_args['status_code'] : 200; //Return the response body as a JSON decoded object. $return = $this->process_request_result( $res, $status_code, $additional_args ); return $return; } /** * Make POST API request * * @param string $endpoint * Endpoint to make request to. Example: '/v1/catalogs/products' * @param array $params * Parameters to send * @param string $method * Request method. Default is 'POST' * @return mixed * `object` on success, `false` on error */ public function post( $endpoint, $params = array(), $additional_args = array() ) { $this->before_request(); //Get the headers to use for the request. $headers = $this->get_headers_using_bearer_token(); if( isset( $additional_args['PayPal-Request-Id'] ) ){ //Add the PayPal-Request-Id header if it's set. $headers['PayPal-Request-Id'] = $additional_args['PayPal-Request-Id']; } //The request URL. $api_base_url = $this->get_api_base_url(); $request_url = $api_base_url . $endpoint; //Example: https://api-m.sandbox.paypal.com/v1/catalogs/products //Add the request URL to the additional args so it can be logged (if needed). $additional_args['request_url'] = $request_url; $payload = array( 'headers' => $headers, 'body' => json_encode( $params ), ); //=== Debug purposes (Useful for PayPal Tech Support) === //SwpmLog::log_simple_debug( 'PayPal REST API request URL: ' . $request_url, true ); //SwpmLog::log_array_data_to_debug( $payload, true); //=== End of debug purposes === //Make the request $res = wp_remote_post( $request_url, $payload ); //Check if we need to return the body or raw response if( isset($additional_args['return_raw_response']) && $additional_args['return_raw_response'] ){ //Return the raw response return $res; } else if ( isset( $additional_args['return_response_body'] ) && $additional_args['return_response_body'] ){ //Return the response body return wp_remote_retrieve_body( $res ); } //POST success response status code is 201 by default $status_code = isset( $additional_args['status_code'] ) ? $additional_args['status_code'] : 201; //Return the response body as a JSON decoded object. $return = $this->process_request_result( $res, $status_code, $additional_args ); return $return; } /** * Make DELETE API request * @param mixed $endpoint * @param mixed $params * @return mixed */ public function delete( $endpoint, $params = array(), $additional_args = array() ) { $this->before_request(); $headers = $this->get_headers_using_bearer_token(); $api_base_url = $this->get_api_base_url(); $request_url = $api_base_url . $endpoint; //Example: https://api-m.sandbox.paypal.com/v1/catalogs/products //Add the request URL to the additional args so it can be logged (if needed). $additional_args['request_url'] = $request_url; $res = wp_remote_request( $request_url, array( 'method' => 'DELETE', 'headers' => $headers, 'body' => json_encode( $params ), ) ); //Check if we need to return the body or raw response if( isset($additional_args['return_raw_response']) && $additional_args['return_raw_response'] ){ //Return the raw response return $res; } else if ( isset( $additional_args['return_response_body'] ) && $additional_args['return_response_body'] ){ //Return the response body return wp_remote_retrieve_body( $res ); } //DELETE action's success response status code is 204 by default $status_code = isset( $additional_args['status_code'] ) ? $additional_args['status_code'] : 204; //Return the response body as a JSON decoded object. $return = $this->process_request_result( $res, $status_code, $additional_args ); return $return; } /* * Checks the response and if it finds any error, it stores the error details in the last_error var then returns false. * If the response is successful, it returns the response body as a JSON decoded object. * Minimizes the amount of response code check the source code has to do. */ private function process_request_result( $res, $status_code = 200, $additional_args = array() ) { if (is_wp_error( $res )) { $this->last_error['error_message'] = $res->get_error_message(); $this->last_error['error_code'] = $res->get_error_code(); //This usually means that WordPress failed to make the request to the API endpoint correctly. Log this error so the debug option can reveal the details. $this->log_api_error_response( $res, $this->last_error['error_message'], $additional_args ); return false; } if ($status_code !== $res['response']['code']) { if (! empty( $res['body'] )) { $body = json_decode( $res['body'], true ); if (isset( $body['error'] )) { $this->last_error['error_message'] = $body['error_description']; $this->last_error['error_code'] = $body['error'];//String error code (ex: "invalid_client") $this->last_error['http_code'] = $res['response']['code'];//HTTP error code (ex: 400) } } else { //Empty body response. $this->last_error['error_message'] = 'Error! The body of the response is empty. Check that the expected response status code is correct.'; } //Log this error so the debug option can reveal the details. $this->log_api_error_response( $res, $this->last_error['error_message'], $additional_args ); return false; } $response_body_json_decoded = json_decode( $res['body'] ); //=== Debug purposes (Useful for PayPal Tech Support) === // SwpmLog::log_simple_debug( '----- PayPal REST API response output -----', true ); // $paypal_debug_id_and_info = SWPM_PayPal_Request_API::get_paypal_debug_id_and_info($res, $additional_args); // SwpmLog::log_simple_debug( $paypal_debug_id_and_info, true ); // SwpmLog::log_array_data_to_debug( $response_body_json_decoded, true ); //=== End of debug purposes === return $response_body_json_decoded; } public function log_api_error_response( $response, $error_message, $additional_args = array() ) { //Log the error message. SwpmLog::log_simple_debug( 'Error occurred with the PayPal API request. Error message: ' . $error_message, false ); //Log the PayPal debug id for PayPal API Error. $paypal_debug_id_and_info = SWPM_PayPal_Request_API::get_paypal_debug_id_and_info($response, $additional_args); SwpmLog::log_simple_debug( $paypal_debug_id_and_info, false ); } /* * Returns the PayPal debug ID and info from the API response. */ public static function get_paypal_debug_id_and_info($response, $additional_args = array()) { $paypal_debug_id = wp_remote_retrieve_header( $response, 'paypal-debug-id' ); $paypal_debug_id_and_info = 'PayPal Debug ID: ' . $paypal_debug_id; if (isset($additional_args['request_url'])){ $paypal_debug_id_and_info .= ', Request URL: ' . $additional_args['request_url']; } return $paypal_debug_id_and_info; } private function format_app_info_to_string( $app_info ) { if (null !== $app_info) { $string = $app_info['name']; if (null !== $app_info['url']) { $string .= ' (' . $app_info['url'] . ')'; } return $string; } return ""; } /** * Performs a direct request to the PayPal API using URL and arguments. */ public static function send_request_by_url_and_args( $url, $args ) { $args['timeout'] = 30; $args = apply_filters( 'swpm_paypal_api_request_by_url_args', $args, $url ); if ( ! isset( $args['headers']['PayPal-Partner-Attribution-Id'] ) ) { $args['headers']['PayPal-Partner-Attribution-Id'] = 'TipsandTricks_SP_PPCP'; } //=== Debug purposes (Useful for PayPal Tech Support) === // SwpmLog::log_simple_debug( '----- PayPal API request header -----', true ); // SwpmLog::log_array_data_to_debug( $args, true ); //=== End of debug purposes === $response = wp_remote_get( $url, $args ); if ( is_wp_error($response) ) { // Error occurred with the API request. Lets log the error. $error_message = $response->get_error_message(); SwpmLog::log_simple_debug( 'Error occurred with the PayPal API (by URL) request. Error message: ' . $error_message, false ); // Log the PayPal debug id for PayPal API Error. $paypal_debug_id = wp_remote_retrieve_header( $response, 'paypal-debug-id' ); SwpmLog::log_simple_debug( 'PayPal Debug ID: ' . $paypal_debug_id . ', Request URL: ' . $url , false ); return false; } //PayPal Debug ID $paypal_debug_id = wp_remote_retrieve_header( $response, 'paypal-debug-id' ); SwpmLog::log_simple_debug( 'PayPal Debug ID from the REST API (by URL) request. Debug ID: ' . $paypal_debug_id . ', Request URL: ' . $url, true ); //=== Debug purposes (Useful for PayPal Tech Support) === // $response_body = wp_remote_retrieve_body( $response ); // $response_body_json_decoded = json_decode( $response_body ); // SwpmLog::log_array_data_to_debug( $response_body_json_decoded, true ); //-- Debug the full response (header and body) -- //$response_full_var_exported = var_export( $response, true ); //SwpmLog::log_simple_debug( 'PayPal API (by URL) response body: ' . $debug_api_response, true ); //=== End of debug purposes === return $response; } }lib/paypal/class-swpm-paypal-subsc-billing-plan.php000064400000011241147206617610016362 0ustar00 'Billing plan for ', 'paypal_product_id' => PP-XYZ1234, //Created by the create_paypal_product_for_plan() 'billing_cycles' => $billing_cycles, //Created by the construct_billing_cycles_param() 'sub_recur_reattemp' => 1, ); */ $plan_req_params = array( 'name' => $plan_args['plan_name'], 'product_id' => $plan_args['paypal_product_id'], 'billing_cycles' => $plan_args['billing_cycles'], 'payment_preferences' => array( 'auto_bill_outstanding' => true, 'setup_fee_failure_action' => 'CANCEL', 'payment_failure_threshold' => $plan_args['sub_recur_reattemp'] ? 3 : 0, ), 'quantity_supported' => true, ); return $plan_req_params; } /* * Takes all the subscription arguments and creates the billing_cycles param to be used in the API request. */ public function construct_billing_cycles_param( $subsc_args ) { /* //Example $subsc_args values $subsc_args = array( 'currency' => 'USD', 'sub_trial_period' => 7, 'sub_trial_period_type' => 'D', 'sub_trial_price' => 5.00, 'sub_recur_period' => 1, 'sub_recur_period_type' => 'M', 'sub_recur_price' => 19.95, 'sub_recur_count' => 0, 'sub_recur_reattemp' => 3, ); */ //Setup default billing cycles, it will be overridden at the time of the subscription checkout/request. $billing_cycles = array(); if (!empty($subsc_args['sub_trial_period'])) { $trial_period = array( 'tenure_type' => 'TRIAL', 'frequency' => $this->get_period_type($subsc_args['sub_trial_period_type'], $subsc_args['sub_trial_period']), 'sequence' => 1, 'total_cycles' => 1, ); if (!empty($subsc_args['sub_trial_price'])) { $trial_period['pricing_scheme'] = array( 'fixed_price' => array( 'value' => $subsc_args['sub_trial_price'], 'currency_code' => $subsc_args['currency'], ), ); } $billing_cycles[] = json_decode(wp_json_encode($trial_period), false); } $regular_period = array( 'tenure_type' => 'REGULAR', 'frequency' => $this->get_period_type($subsc_args['sub_recur_period_type'], $subsc_args['sub_recur_period']), 'sequence' => count($billing_cycles) + 1, 'total_cycles' => absint($subsc_args['sub_recur_count']), 'pricing_scheme' => array( 'fixed_price' => array( 'value' => $subsc_args['sub_recur_price'], 'currency_code' => $subsc_args['currency'], ), ), ); $billing_cycles[] = json_decode(wp_json_encode($regular_period), false); return $billing_cycles; } /** * Retrieves the subscription period type and interval for using in PayPal * request. * * @param string $type The period type. * @param in $count The period interval. * * @return array */ private function get_period_type($type, $count) { switch ($type) { case 'W': $period = array( 'interval_unit' => 'WEEK', 'interval_count' => min(52, absint($count)), ); break; case 'M': $period = array( 'interval_unit' => 'MONTH', 'interval_count' => min(12, absint($count)), ); break; case 'Y': $period = array( 'interval_unit' => 'YEAR', 'interval_count' => min(1, absint($count)), ); break; default: $period = array( 'interval_unit' => 'DAY', 'interval_count' => min(365, absint($count)), ); break; } return $period; } } lib/paypal/class-swpm-paypal-webhook.php000064400000044402147206617610014340 0ustar00live_client_id = $settings->get_value('paypal-live-client-id'); $this->live_secret = $settings->get_value('paypal-live-secret-key'); $this->sandbox_client_id = $settings->get_value('paypal-sandbox-client-id'); $this->sandbox_secret = $settings->get_value('paypal-sandbox-secret-key'); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); $paypal_mode = $sandbox_enabled ? 'sandbox' : 'production'; $paypal_req_api = SWPM_PayPal_Request_API::get_instance(); $paypal_req_api->set_mode_and_api_credentials( $paypal_mode, $this->live_client_id, $this->live_secret, $this->sandbox_client_id, $this->sandbox_secret ); $this->paypal_req_api = $paypal_req_api; $this->mode = $paypal_req_api->get_api_environment_mode(); $this->id = get_option( 'swpm_paypal_webhook_id_' . $this->mode ); } /** * Sets the webhook mode. Used to override/set the mode (if needed) after the object is created. */ public function set_mode_and_api_creds_for_webhook( $mode, $client_id, $secret ) { //Set the environment mode. $this->mode = $mode; //The mode has been overridden. Need to update the webhook ID as well. $this->id = get_option( 'swpm_paypal_webhook_id_' . $this->mode ); //Update the PayPal API request object with the new mode and credentials. $paypal_req_api = SWPM_PayPal_Request_API::get_instance(); $this->paypal_req_api = $paypal_req_api; $this->paypal_req_api->set_api_environment_mode( $this->mode ); $this->paypal_req_api->set_api_credentials( $client_id, $secret ); } public function set_mode_and_api_creds_based_on_mode( $mode ) { if( $mode == 'sandbox' ){ $client_id = $this->sandbox_client_id; $secret = $this->sandbox_secret; } else { $client_id = $this->live_client_id; $secret = $this->live_secret; } $this->set_mode_and_api_creds_for_webhook( $mode, $client_id, $secret ); } /** * Retrieves the webhook id * * @return string */ public function get_id() { return $this->id; } /** * Saves webhook ID in settings. * * @param string $id The Woebhook PayPal ID. */ public function set_id( $id ) { update_option( 'swpm_paypal_webhook_id_' . $this->mode, $id ); } /** * Retrieves the webhook listener URL * * @return string */ public function get_url() { //Example Webhook URL - https://www.example.com/?action=swpm_paypal_webhook_event&mode=production $webhook_url = add_query_arg( array( 'action' => 'swpm_paypal_webhook_event', 'mode' => $this->mode, ), get_home_url( null, '/', 'https' ) ); return $webhook_url; } /** * Retrieves the Webhook details via PayPal API * It will retrieve the webhook based on the mode and credentials set in the $this->paypal_req_api object. */ public function get() { if ( ! $this->get_id() ) { //No webhook ID exists. Need to create new. return new WP_Error( 'INVALID_RESOURCE_ID' ); } $params = array(); $endpoint = '/v1/notifications/webhooks/'.$this->get_id(); //$additional_args = array( 'return_raw_response' => '1', 'status_code' => '200' ); $response = $this->paypal_req_api->get($endpoint, $params ); if( $response !== false){ //Response is a success! //Array of https://developer.paypal.com/docs/api/webhooks/v1/#definition-event_type //$webhook_event_types = $response; return $response; } else { //Error response. Convert to WP_Error object so it can be handled easily by the caller //SWPM_PayPal_Request_API->last_error array will have the detailed error message $last_error = $this->paypal_req_api->get_last_error(); $response = new WP_Error(); if( isset( $last_error['error_code'] ) && isset( $last_error['error_message'])){ $response->add( $last_error['error_code'], $last_error['error_message'] ); } else { $response->add( 'UNKNOWN_ERROR', 'Unknown error occurred while retrieving the webhook details.' ); } return $response; } } /** * Creates the Webhook for subscription payment events via PayPal API * It will create the webhook based on the mode and credentials set in the $this->paypal_req_api object. */ public function create() { //Get the list of event types to be included in the webhook $types = self::get_event_types(); foreach ( $types as &$type ) { $type = array( 'name' => $type ); } //Create the params array with the webhook details $params = array( 'url' => $this->get_url(), 'event_types' => $types, ); $endpoint = '/v1/notifications/webhooks'; $response = $this->paypal_req_api->post($endpoint, $params); if ( $response !== false){ //Response is a success! $created_webhook_id = $response->id; $this->set_id( $created_webhook_id ); return $response; } else { //Error response. Convert to WP_Error object so it can be handled easily by the caller //SWPM_PayPal_Request_API->last_error array will have the detailed error message $last_error = $this->paypal_req_api->get_last_error(); $response = new WP_Error(); if( isset( $last_error['error_code'] ) && isset( $last_error['error_message'])){ $response->add( $last_error['error_code'], $last_error['error_message'] ); } else { $response->add( 'UNKNOWN_ERROR', 'Unknown error occurred while creating the webhook.' ); } return $response; } } /** * Deletes the Webhook via PayPal API * It will delete the webhook based on the mode and credentials set in the $this->paypal_req_api object. */ public function delete() { $params = array(); $additional_args = array(); $endpoint = '/v1/notifications/webhooks/'.$this->get_id(); $response = $this->paypal_req_api->delete($endpoint, $params, $additional_args); if ( $response !== false){ //Response is a success! delete_option( 'swpm_paypal_webhook_id_' . $this->mode ); return $response; } else { //Error response. Convert to WP_Error object so it can be handled easily by the caller //SWPM_PayPal_Request_API->last_error array will have the detailed error message $last_error = $this->paypal_req_api->get_last_error(); $response = new WP_Error(); if( isset( $last_error['error_code'] ) && isset( $last_error['error_message'])){ $response->add( $last_error['error_code'], $last_error['error_message'] ); } else { $response->add( 'UNKNOWN_ERROR', 'Unknown error occurred while deleting the webhook.' ); } return $response; } } /** * Verifies webhook event via PayPal API. * * @see https://developer.paypal.com/docs/api-basics/notifications/webhooks/notification-messages/ * * @param array $event The event data received from PayPal API. * @param array $headers The request headers received from PayPal API. */ public function verify_webhook_signature( $event, $headers ) { $headers = array_intersect_key( $headers, array( 'PAYPAL-TRANSMISSION-ID' => '', 'PAYPAL-TRANSMISSION-TIME' => '', 'PAYPAL-CERT-URL' => '', 'PAYPAL-AUTH-ALGO' => '', 'PAYPAL-TRANSMISSION-SIG' => '', ) ); if ( 5 > count( $headers ) ) { return new WP_Error( 'invalid_headers', '', array( 'msg' => 'Invalid headers', 'data' => $headers, ) ); } $params = array( 'transmission_id' => $headers['PAYPAL-TRANSMISSION-ID'], 'transmission_time' => $headers['PAYPAL-TRANSMISSION-TIME'], 'cert_url' => $headers['PAYPAL-CERT-URL'], 'auth_algo' => $headers['PAYPAL-AUTH-ALGO'], 'transmission_sig' => $headers['PAYPAL-TRANSMISSION-SIG'], 'webhook_id' => $this->get_id(), 'webhook_event' => $event, ); //https://developer.paypal.com/docs/api/webhooks/v1/#verify-webhook-signature_post $endpoint = '/v1/notifications/verify-webhook-signature'; //A successful Verify POST should return 200 status code. $additional_args = array(); //$additional_args['return_raw_response'] = true;//Return the raw response instead of the parsed JSON response. $additional_args['status_code'] = 200; $response = $this->paypal_req_api->post($endpoint, $params, $additional_args); if ( $response !== false){ //Response is a success! {"verification_status": "SUCCESS"} return $response; } else { //SWPM_PayPal_Request_API->last_error array will have the detailed error message return false; } } /** * Returns a list of events to listen to. * * @return array */ public static function get_event_types() { return array( 'PAYMENT.SALE.COMPLETED', // A payment is made on a subscription. 'PAYMENT.SALE.REFUNDED', // A merchant refunds a sale. 'PAYMENT.SALE.REVERSED', // A payment is reversed on a subscription. 'PAYMENT.CAPTURE.REFUNDED', // A merchant refunds a payment capture. 'PAYMENT.CAPTURE.REVERSED', // A payment capture is reversed. 'BILLING.SUBSCRIPTION.CREATED', // A subscription is created. 'BILLING.SUBSCRIPTION.ACTIVATED', // A subscription is activated. 'BILLING.SUBSCRIPTION.UPDATED', // A subscription is updated. 'BILLING.SUBSCRIPTION.EXPIRED', // A subscription expires. 'BILLING.SUBSCRIPTION.CANCELLED', // A subscription is cancelled. 'BILLING.SUBSCRIPTION.SUSPENDED', // A subscription is suspended. 'BILLING.SUBSCRIPTION.PAYMENT.FAILED', // Payment failed on subscription. ); } /** * Checks whether webhooks are created for a current site. * It will check the webhook based on the mode and credentials set in the $this->paypal_req_api object. * * @return array */ public function check_webhook() { $response = $this->get(); if( is_wp_error( $response ) ){ //Error response $ret = array( 'status' => 'no', /* Webhook does not exist */ 'hidebtn' => false, ); $error_code = $response->get_error_code(); if ( $error_code === 'INVALID_RESOURCE_ID' ) { $ret['msg'] = __( 'No webhook found. Use the following Create Webhook button to create a new webhook automatically in your PayPal account.', 'simple-membership' ); //No webhook exists in PayPal. Delete the webhook ID (if any) from our DB to clean it up (so it can be created again). delete_option( 'swpm_paypal_webhook_id_' . $this->mode ); } elseif ( $error_code === 'UNAUTHORIZED' ) { $ret['msg'] = $response->get_error_message() . '. ' . sprintf( __( 'PayPal API Credential information is missing in settings. Please enter valid PayPal API Credentials in the General Settings tab for %s mode.', 'simple-membership' ), $this->mode ); } elseif ( $error_code === 'invalid_client' ) { $ret['msg'] = sprintf( __( 'Invalid or Missing API Credentials! Check the plugin settings and enter valid API credentials in the PayPal Credentials section for %s mode.', 'simple-membership' ), $this->mode ); } else { $ret['msg'] = $response->get_error_message(); } return $ret; } //Successfull response $ret = array(); $ret['status'] = 'yes'; //Webhook exists. $ret['msg'] = __( 'Webhook exists. If you still have issues with webhooks, you can delete it and create again.', 'simple-membership' ); $ret['hidebtn'] = true; return $ret; } /** * Checks and creates a webhook for the site. * It will check and create the webhook based on the mode and credentials set in the $this->paypal_req_api object. * * @return array */ public function check_and_create_webhook(){ //First check if webhook already exists for the mode and account set in $this->paypal_req_api object. $ret = $this->check_webhook(); if ( $ret['status'] == 'yes' ) { //Webhook already exists. No need to create a new one. return $ret; } // Webhook does not exist. Create a new one. // Check if webhook URL is using HTTPS. $ret = array(); $webhook_url = $this->get_url(); $protocol = wp_parse_url( $webhook_url, PHP_URL_SCHEME ); if ( $protocol !== 'https' ) { $ret['status'] = 'no'; $ret['msg'] = __( 'Invalid webhook URL.', 'simple-membership' ) . ': ' . __( 'Note that the PayPal subscription API requires your site to use HTTPS URLs. You must use an SSL certificate with HTTPS URLs to complete the setup of the subscription addon and use it.', 'simple-membership' ); return $ret; } $response = $this->create(); if ( ! is_wp_error( $response ) ) { // webhook created. $ret['status'] = 'yes'; $ret['hidebtn'] = true; $ret['msg'] = __( 'Webhook has been created.', 'simple-membership' ); } else { // Error occurred during webhook creation. $ret['status'] = 'no'; $ret['msg'] = $response->get_error_message() . ': ' . json_encode( $response->get_error_data() ); } return $ret; } /** * Check and delete the webhook for the site. * It will check and delete the webhook based on the mode and credentials set in the $this->paypal_req_api object. * * @return array */ public function check_and_delete_webhook() { //First check if webhook exists for the mode and account set in $this->paypal_req_api object. $ret = $this->check_webhook(); if ( $ret['status'] == 'yes' ) { //Webhook exists. Try to delete it. $response = $this->delete(); if ( !is_wp_error( $response )){ //Webhook deleted. $ret['success'] = true; $ret['msg'] = __( 'Webhook has been deleted.', 'simple-membership' ); return $ret; } else { //Error occurred during webhook deletion. $ret['success'] = false; $ret['msg'] = $response->get_error_message() . ': ' . json_encode( $response->get_error_data() ); return $ret; } } // Webhook does not exist. Nothing to delete. $ret = array(); $ret['success'] = false; $ret['msg'] = __( 'No webhook found. Nothing to delete.', 'simple-membership' ); //No webhook exists in PayPal. Delete the webhook ID (if any) from our DB to clean it up (so it can be created again). delete_option( 'swpm_paypal_webhook_id_' . $this->mode ); return $ret; } public function check_and_create_webhook_for_live_mode(){ if( !empty($this->live_client_id) && !empty($this->live_secret) ){ $this->set_mode_and_api_creds_for_webhook( 'production', $this->live_client_id, $this->live_secret ); $ret = $this->check_and_create_webhook(); return $ret; } else { //Live mode credentials are not set. We will show a notice to the admin using admin_notice hook. SwpmLog::log_simple_debug( 'Live mode API credentials are not set.', true ); $ret = array(); $ret['success'] = false; $ret['msg'] = __( 'Live mode credentials are not set. Cannot create webhook.', 'simple-membership' ); return $ret; } } public function check_and_create_webhook_for_sandbox_mode(){ if( !empty($this->sandbox_client_id) && !empty($this->sandbox_secret) ){ $this->set_mode_and_api_creds_for_webhook( 'sandbox', $this->sandbox_client_id, $this->sandbox_secret ); $ret = $this->check_and_create_webhook(); return $ret; } else { //Sandbox mode credentials are not set. We will show a notice to the admin using admin_notice hook. SwpmLog::log_simple_debug( 'Sandbox mode API credentials are not set.', true ); $ret = array(); $ret['success'] = false; $ret['msg'] = __( 'Sandbox mode credentials are not set. Cannot create webhook.', 'simple-membership' ); return $ret; } } /** * Check and create webhooks for both modes (live and sandbox). * This function is specfic to the plugin in question and how it plans to create the webhooks. */ public function check_and_create_webhooks_for_both_modes() { $action_result_msg = ""; //First, handle the live/production mode webhook. $ret = $this->check_and_create_webhook_for_live_mode(); if( isset( $ret['status']) && $ret['status'] == 'no' ){ //Webhook creation failed. SwpmLog::log_simple_debug( 'Webhook creation failed for live mode. Error: ' . $ret['msg'], true ); } $action_result_msg .= '

Live mode webhook create action result: ' . $ret['msg'] . '

'; //Next, handle the sandbox mode webhook. $ret = $this->check_and_create_webhook_for_sandbox_mode(); if( isset( $ret['status']) && $ret['status'] == 'no' ){ //Webhook creation failed. SwpmLog::log_simple_debug( 'Webhook creation failed for sandbox mode. Error: ' . $ret['msg'], true ); } $action_result_msg .= '

Sandbox mode webhook create action result: ' . $ret['msg'] . '

'; return $action_result_msg; } /** * Check and create webhooks for both modes (live and sandbox). * This function is specfic to the plugin in question and how it plans to create the webhooks. */ public function check_and_delete_webhooks_for_both_modes() { $delete_result = ""; //First, handle the live/production mode webhook. if( !empty($this->live_client_id) && !empty($this->live_secret) ){ $this->set_mode_and_api_creds_for_webhook( 'production', $this->live_client_id, $this->live_secret ); $ret = $this->check_and_delete_webhook(); if( isset( $ret['msg']) ){ //Webhook delete action result. $delete_result .= '

Delete Live Webhook: ' . $ret['msg'] . '

'; SwpmLog::log_simple_debug( 'Live Webhook delete action result: ' . $ret['msg'], true ); } } else { //Live mode credentials are not set. We will show a notice to the admin using admin_notice hook. } //Next, handle the sandbox mode webhook. if( !empty($this->sandbox_client_id) && !empty($this->sandbox_secret) ){ $this->set_mode_and_api_creds_for_webhook( 'sandbox', $this->sandbox_client_id, $this->sandbox_secret ); $ret = $this->check_and_delete_webhook(); if( isset( $ret['msg']) ){ //Webhook delete action result. $delete_result .= '

Delete Sandbox Webhook: ' . $ret['msg'] . '

'; SwpmLog::log_simple_debug( 'Sandbox Webhook delete action result: ' . $ret['msg'], true ); } } else { //Sandbox mode credentials are not set. We will show a notice to the admin using admin_notice hook. } return $delete_result; } } lib/paypal/class-swpm-paypal-utility-ipn-related.php000064400000027014147206617610016607 0ustar00get_paypal_order_details( $pp_orderID ); if( $order_details !== false ){ //The order details were retrieved successfully. if(is_object($order_details)){ //Convert the object to an array. $order_details = json_decode(json_encode($order_details), true); } // Debug purpose only. // SwpmLog::log_simple_debug( 'PayPal Order Details: ', true ); // SwpmLog::log_array_data_to_debug( $order_details, true ); // Check that the order's capture status is COMPLETED. $status = ''; // Check if the necessary keys and arrays exist and are not empty if (!empty($order_details['purchase_units']) && !empty($order_details['purchase_units'][0]['payments']) && !empty($order_details['purchase_units'][0]['payments']['captures'])) { // Access the first item in the 'captures' array $capture = $order_details['purchase_units'][0]['payments']['captures'][0]; $capture_id = isset($capture['id']) ? $capture['id'] : ''; // Check if 'status' is set for the capture if (isset($capture['status'])) { // Extract the 'status' value $status = $capture['status']; } } if ( strtolower($status) != strtolower('COMPLETED') ) { //The order is not completed yet. $validation_error_msg = 'Validation Error! The transaction status is not completed yet. Button ID: ' . $button_id . ', PayPal Capture ID: ' . $capture_id . ', Capture Status: ' . $status; SwpmLog::log_simple_debug( $validation_error_msg, false ); return $validation_error_msg; } //Check that the amount matches with what we expect. $amount = isset($order_details['purchase_units'][0]['amount']['value']) ? $order_details['purchase_units'][0]['amount']['value'] : 0; $payment_amount_expected = get_post_meta( $button_id, 'payment_amount', true ); if( floatval($amount) < floatval($payment_amount_expected) ){ //The amount does not match. $validation_error_msg = 'Validation Error! The payment amount does not match. Button ID: ' . $button_id . ', PayPal Order ID: ' . $pp_orderID . ', Amount Received: ' . $amount . ', Amount Expected: ' . $payment_amount_expected; SwpmLog::log_simple_debug( $validation_error_msg, false ); return $validation_error_msg; } //Check that the currency matches with what we expect. $currency = isset($order_details['purchase_units'][0]['amount']['currency_code']) ? $order_details['purchase_units'][0]['amount']['currency_code'] : ''; $currency_expected = get_post_meta( $button_id, 'payment_currency', true ); if( $currency != $currency_expected ){ //The currency does not match. $validation_error_msg = 'Validation Error! The payment currency does not match. Button ID: ' . $button_id . ', PayPal Order ID: ' . $pp_orderID . ', Currency Received: ' . $currency . ', Currency Expected: ' . $currency_expected; SwpmLog::log_simple_debug( $validation_error_msg, false ); return $validation_error_msg; } } else { //Error getting subscription details. $validation_error_msg = 'Validation Error! Failed to get transaction/order details from the PayPal API. PayPal Order ID: ' . $pp_orderID; //TODO - Show additional error details if available. SwpmLog::log_simple_debug( $validation_error_msg, false ); return $validation_error_msg; } //All good. The data is valid. return true; } public static function create_membership_and_save_txn_data( $data, $txn_data, $ipn_data){ //Check if this is a duplicate notification. if( SWPM_PayPal_Utility_IPN_Related::is_txn_already_processed($ipn_data)){ //This transaction notification has already been processed. So we don't need to process it again. return true; } $button_id = $data['button_id']; $txn_id = isset($ipn_data['txn_id']) ? $ipn_data['txn_id'] : ''; $txn_type = isset($ipn_data['txn_type']) ? $ipn_data['txn_type'] : ''; SwpmLog::log_simple_debug( 'Transaction type: ' . $txn_type . ', Transaction ID: ' . $txn_id, true ); // Custom variables $custom = isset($ipn_data['custom']) ? $ipn_data['custom'] : ''; $customvariables = SwpmTransactions::parse_custom_var( $custom ); // Membership level ID. $membership_level_id = get_post_meta($button_id, 'membership_level_id', true); SwpmLog::log_simple_debug( 'Membership payment paid for membership level ID: ' . $membership_level_id, true ); if ( ! empty( $membership_level_id ) ) { $swpm_id = ''; if ( isset( $customvariables['swpm_id'] ) ) { $swpm_id = $customvariables['swpm_id']; } // Process the user profile creation/update. swpm_handle_subsc_signup_stand_alone( $ipn_data, $membership_level_id, $txn_id, $swpm_id ); } else { SwpmLog::log_simple_debug( 'Membership level ID is missing in the button configuration! Cannot process this notification.', false ); } // Save the transaction data. SwpmLog::log_simple_debug( 'Saving transaction data to the database table.', true ); SwpmTransactions::save_txn_record( $ipn_data, array() ); SwpmLog::log_simple_debug( 'Transaction data saved.', true ); return true; } public static function is_txn_already_processed( $ipn_data ){ // Query the DB to check if we have already processed this transaction or not. $txn_id = isset($ipn_data['txn_id']) ? $ipn_data['txn_id'] : ''; $payer_email = isset($ipn_data['payer_email']) ? $ipn_data['payer_email'] : ''; $txn_row = SwpmTransactions::get_transaction_row_by_txn_id_and_email($txn_id, $payer_email); if (!empty($txn_row)) { // And if we have already processed it, do nothing and return true SwpmLog::log_simple_debug( "This transaction has already been processed (Txn ID: ".$txn_id.", Payer Email: ".$payer_email."). This looks to be a duplicate notification. Nothing to do here.", true ); return true; } return false; } }lib/paypal/class-swpm-paypal-utility-functions.php000064400000025213147206617610016412 0ustar00get_value( 'enable-sandbox-testing' );//The value will be checked="checked" or empty string. if( !empty( $sandbox_enabled ) ){ $environment_mode = 'sandbox'; }else{ $environment_mode = 'production'; } return $environment_mode; } public static function get_api_base_url_by_environment_mode( $environment_mode = 'production' ) { if ($environment_mode == 'production') { return SWPM_PayPal_Main::$api_base_url_production; } else { return SWPM_PayPal_Main::$api_base_url_sandbox; } } public static function get_signup_url_by_environment_mode( $environment_mode = 'production' ) { if ($environment_mode == 'production') { return SWPM_PayPal_Main::$signup_url_production; } else { return SWPM_PayPal_Main::$signup_url_sandbox; } } public static function get_partner_id_by_environment_mode( $environment_mode = 'production' ) { if ($environment_mode == 'production') { return SWPM_PayPal_Main::$partner_id_production; } else { return SWPM_PayPal_Main::$partner_id_sandbox; } } public static function get_partner_client_id_by_environment_mode( $environment_mode = 'production' ) { if ($environment_mode == 'production') { return SWPM_PayPal_Main::$partner_client_id_production; } else { return SWPM_PayPal_Main::$partner_client_id_sandbox; } } /** * Gets the seller merchant ID (payer ID) by environment mode. * Used in the PayPal API calls (for setting PayPal-Auth-Assertion header value) */ public static function get_seller_merchant_id_by_environment_mode( $environment_mode = 'production' ) { $settings = SwpmSettings::get_instance(); $seller_merchant_id = ''; if ($environment_mode == 'production') { $seller_merchant_id = $settings->get_value('paypal-live-seller-merchant-id'); } else { $seller_merchant_id = $settings->get_value('paypal-sandbox-seller-merchant-id'); } return $seller_merchant_id; } public static function get_seller_client_id_by_environment_mode( $environment_mode = 'production' ) { $settings = SwpmSettings::get_instance(); $seller_client_id = ''; if ($environment_mode == 'production') { $seller_client_id = $settings->get_value('paypal-live-client-id'); } else { $seller_client_id = $settings->get_value('paypal-sandbox-client-id'); } return $seller_client_id; } public static function create_product_params_from_button( $button_id ){ $button_name = get_the_title( $button_id ); $product_params = array( 'name' => $button_name, 'type' => 'DIGITAL', ); return $product_params; } public static function create_subscription_args_from_button( $button_id ){ $subsc_args = array( 'currency' => get_post_meta($button_id, 'payment_currency', true), 'sub_trial_price' => get_post_meta($button_id, 'trial_billing_amount', true), 'sub_trial_period' => get_post_meta($button_id, 'trial_billing_cycle', true), 'sub_trial_period_type' => get_post_meta($button_id, 'trial_billing_cycle_term', true), 'sub_recur_price' => get_post_meta($button_id, 'recurring_billing_amount', true), 'sub_recur_period' => get_post_meta($button_id, 'recurring_billing_cycle', true), 'sub_recur_period_type' => get_post_meta($button_id, 'recurring_billing_cycle_term', true), 'sub_recur_count' => get_post_meta($button_id, 'recurring_billing_cycle_count', true), 'sub_recur_reattemp' => get_post_meta($button_id, 'recurring_billing_reattempt', true), ); return $subsc_args; } /** * Checks if the plan details (core subscription plan values) in new form submission have changed for the given button ID. */ public static function has_plan_details_changed_for_button( $button_id ){ $plan_details_changed = false; $core_plan_fields = array( 'payment_currency' => trim(sanitize_text_field($_REQUEST['payment_currency'])), 'recurring_billing_amount' => trim(sanitize_text_field($_REQUEST['recurring_billing_amount'])), 'recurring_billing_cycle' => trim(sanitize_text_field($_REQUEST['recurring_billing_cycle'])), 'recurring_billing_cycle_term' => trim(sanitize_text_field($_REQUEST['recurring_billing_cycle_term'])), 'recurring_billing_cycle_count' => trim(sanitize_text_field($_REQUEST['recurring_billing_cycle_count'])), 'trial_billing_amount' => trim(sanitize_text_field($_REQUEST['trial_billing_amount'])), 'trial_billing_cycle' => trim(sanitize_text_field($_REQUEST['trial_billing_cycle'])), 'trial_billing_cycle_term' => trim(sanitize_text_field($_REQUEST['trial_billing_cycle_term'])), ); foreach ( $core_plan_fields as $meta_name => $value ) { $old_value = get_post_meta( $button_id, $meta_name, true ); if ( $old_value !== $value ) { $plan_details_changed = true; } } return $plan_details_changed; } /** * Force creates a new billing plan for the button (the paypal account connection or the mode may have changed) */ public static function create_billing_plan_fresh_new( $button_id ){ //Reset any plan ID that may be saved for this button. //We need to create completely new plan (using the current PayPal account and mode) update_post_meta($button_id, 'pp_subscription_plan_id', ''); update_post_meta($button_id, 'pp_subscription_plan_mode', ''); $ret = array(); $ret = self::create_billing_plan_for_button( $button_id ); return $ret; } /** * Checks if a billling plan exists for the given button ID. If not, it creates a new billing plan in PayPal. * Returns the billing plan ID in an array. * @param mixed $button_id * @return array */ public static function create_billing_plan_for_button( $button_id ){ $output = ""; $ret = array(); $plan_id = get_post_meta($button_id, 'pp_subscription_plan_id', true); if ( empty ( $plan_id )){ //Billing plan doesn't exist. Need to create a new billing plan in PayPal. $product_params = self::create_product_params_from_button( $button_id ); $subsc_args = self::create_subscription_args_from_button( $button_id ); //Setup the PayPal API Injector class. This class is used to do certain premade API queries. $pp_api_injector = new SWPM_PayPal_Request_API_Injector(); $paypal_req_api = $pp_api_injector->get_paypal_req_api(); $paypal_mode = $paypal_req_api->get_api_environment_mode(); // Debugging // echo '
';
            // var_dump($paypal_req_api);
            // echo '
'; $plan_id = $pp_api_injector->create_product_and_billing_plan($product_params, $subsc_args); if ( $plan_id !== false ) { //Plan created successfully. Save the plan ID for future reference. update_post_meta($button_id, 'pp_subscription_plan_id', $plan_id); update_post_meta($button_id, 'pp_subscription_plan_mode', $paypal_mode); $ret['success'] = true; $ret['plan_id'] = $plan_id; $ret['output'] = $output; return $ret; } else { //Plan creation failed. Show an error message. $last_error = $paypal_req_api->get_last_error(); $error_message = isset($last_error['error_message']) ? $last_error['error_message'] : ''; $output .= '
'; $output .= '

Error! Failed to create a subscription billing plan in your PayPal account. The following error message was returned from the PayPal API.

'; $output .= '

Error Message: ' . esc_attr($error_message) . '

'; $output .= '
'; $ret['success'] = false; $ret['plan_id'] = ''; $ret['error_message'] = $error_message; $ret['output'] = $output; return $ret; } } $ret['success'] = true; $ret['plan_id'] = $plan_id; $ret['output'] = $output; return $ret; } public static function check_billing_plan_exists( $plan_id ){ //Setup the PayPal API Injector class. This class is used to do certain premade API queries. $pp_api_injector = new SWPM_PayPal_Request_API_Injector(); //Use the "Show plan details" API call to verify that the plan exists for the given account and mode. https://developer.paypal.com/docs/api/subscriptions/v1/#plans_get $plan_details = $pp_api_injector->get_paypal_billing_plan_details( $plan_id ); if( $plan_details !== false ){ //Plan exists. Return true. return true; } $paypal_req_api = $pp_api_injector->get_paypal_req_api(); $paypal_mode = $paypal_req_api->get_api_environment_mode(); Swpmlog::log_simple_debug( "Billing plan with ID: ". $plan_id . " does not exist in PayPal. The check was done in mode: ".$paypal_mode.". Maybe the plan was originally created in a different environment mode or account.", true ); return false; } /** * Checks if a webhook already exists for this site for BOTH sandbox and production modes. If one doesn't exist, create one. */ public static function check_and_create_webhooks_for_this_site() { $pp_webhook = new SWPM_PayPal_Webhook(); $pp_webhook->check_and_create_webhooks_for_both_modes(); } public static function check_current_mode_and_set_notice_if_webhook_not_set() { //Check if the current mode is sandbox or production. Then check if a webhook is set for that mode. //If not, show a notice to the admin user by using the admin_notice hook. //TODO - need to finilaize this. //update_option( "swpm_show_{$mode}_webhook_notice", 'no' === $ret[ $mode ]['status'] ); //Check the following code for example: //add_action( 'admin_notices', array( $this, 'show_webhooks_admin_notice' ) ); } }lib/paypal/class-swpm-paypal-button-ajax-handler.php000064400000021237147206617610016552 0ustar00 false, 'err_msg' => __( 'Empty data received.', 'simple-membership' ), ) ); } if( !is_array( $data ) ){ //Convert the JSON string to an array (Vanilla JS AJAX data will be in JSON format). $data = json_decode( $data, true); } $button_id = isset( $data['button_id'] ) ? sanitize_text_field( $data['button_id'] ) : ''; $on_page_button_id = isset( $data['on_page_button_id'] ) ? sanitize_text_field( $data['on_page_button_id'] ) : ''; SwpmLog::log_simple_debug( 'swpm_pp_create_order ajax request received for createOrder. Button ID: '.$button_id.', On Page Button ID: ' . $on_page_button_id, true ); // Check nonce. if ( ! check_ajax_referer( $on_page_button_id, '_wpnonce', false ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Nonce check failed. The page was most likely cached. Please reload the page and try again.', 'simple-membership' ), ) ); exit; } //Get the Item name for this button. This will be used as the item name in the IPN. $button_cpt = get_post($button_id); //Retrieve the CPT for this button $item_name = htmlspecialchars($button_cpt->post_title); $item_name = substr($item_name, 0, 127);//Limit the item name to 127 characters (PayPal limit) //Get the payment amount for this button. $payment_amount = get_post_meta($button_id, 'payment_amount', true); //Get the currency for this button. $currency = get_post_meta( $button_id, 'payment_currency', true ); $quantity = 1; $digital_goods_enabled = 1; // Create the order using the PayPal API. // https://developer.paypal.com/docs/api/orders/v2/#orders_create $data = array( 'item_name' => $item_name, 'payment_amount' => $payment_amount, 'currency' => $currency, 'quantity' => $quantity, 'digital_goods_enabled' => $digital_goods_enabled, ); //Set the additional args for the API call. $additional_args = array(); $additional_args['return_response_body'] = true; //Create the order using the PayPal API. $api_injector = new SWPM_PayPal_Request_API_Injector(); $response = $api_injector->create_paypal_order_by_url_and_args( $data, $additional_args ); //We requested the response body to be returned, so we need to JSON decode it. if( $response !== false ){ $order_data = json_decode( $response, true ); $paypal_order_id = isset( $order_data['id'] ) ? $order_data['id'] : ''; } else { //Failed to create the order. wp_send_json( array( 'success' => false, 'err_msg' => __( 'Failed to create the order using PayPal API. Enable the debug logging feature to get more details.', 'simple-membership' ), ) ); exit; } SwpmLog::log_simple_debug( 'PayPal Order ID: ' . $paypal_order_id, true ); //If everything is processed successfully, send the success response. wp_send_json( array( 'success' => true, 'order_id' => $paypal_order_id, 'order_data' => $order_data ) ); exit; } /** * Handles the order capture for standard 'Buy Now' type buttons. */ public function swpm_pp_capture_order(){ //Get the data from the request $data = isset( $_POST['data'] ) ? stripslashes_deep( $_POST['data'] ) : array(); if ( empty( $data ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Empty data received.', 'simple-membership' ), ) ); } if( !is_array( $data ) ){ //Convert the JSON string to an array (Vanilla JS AJAX data will be in JSON format). $data = json_decode( $data, true); } //Get the order_id from data $order_id = isset( $data['order_id'] ) ? sanitize_text_field($data['order_id']) : ''; if ( empty( $order_id ) ) { SwpmLog::log_simple_debug( 'swpm_pp_capture_order - empty order ID received.', false ); wp_send_json( array( 'success' => false, 'err_msg' => __( 'Empty order ID received.', 'simple-membership' ), ) ); } $button_id = isset( $data['button_id'] ) ? sanitize_text_field( $data['button_id'] ) : ''; $on_page_button_id = isset( $data['on_page_button_id'] ) ? sanitize_text_field( $data['on_page_button_id'] ) : ''; SwpmLog::log_simple_debug( 'Received request - swpm_pp_capture_order. Order ID: ' . $order_id . ', Button ID: '.$button_id.', On Page Button ID: ' . $on_page_button_id, true ); // Check nonce. if ( ! check_ajax_referer( $on_page_button_id, '_wpnonce', false ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Nonce check failed. The page was most likely cached. Please reload the page and try again.', 'simple-membership' ), ) ); exit; } //Set the additional args for the API call. $additional_args = array(); $additional_args['return_response_body'] = true; // Capture the order using the PayPal API. // https://developer.paypal.com/docs/api/orders/v2/#orders_capture $api_injector = new SWPM_PayPal_Request_API_Injector(); $response = $api_injector->capture_paypal_order( $order_id, $additional_args ); //We requested the response body to be returned, so we need to JSON decode it. if($response !== false){ $txn_data = json_decode( $response, true );//JSON decode the response body that we received. $paypal_capture_id = isset( $txn_data['id'] ) ? $txn_data['id'] : ''; } else { //Failed to capture the order. wp_send_json( array( 'success' => false, 'err_msg' => __( 'Failed to capture the order. Enable the debug logging feature to get more details.', 'simple-membership' ), ) ); exit; } SwpmLog::log_simple_debug( 'PayPal Capture ID (Transaction ID): ' . $paypal_capture_id, true ); //-- // SwpmLog::log_array_data_to_debug($data, true);//Debugging purpose. // SwpmLog::log_array_data_to_debug($txn_data, true);//Debugging purpose. //-- //Create the IPN data array from the transaction data. //Need to have the following values in the $data array. //['order_id']['button_id']['on_page_button_id']['item_name']['custom_field'] $ipn_data = SWPM_PayPal_Utility_IPN_Related::create_ipn_data_array_from_capture_order_txn_data( $data, $txn_data ); SwpmLog::log_array_data_to_debug( $ipn_data, true );//Debugging purpose. /* Since this capture is done from server side, the validation is not required but we are doing it anyway. */ //Validate the buy now txn data before using it. $validation_response = SWPM_PayPal_Utility_IPN_Related::validate_buy_now_checkout_txn_data( $data, $txn_data ); if( $validation_response !== true ){ //Debug logging will reveal more details. wp_send_json( array( 'success' => false, 'error_detail' => $validation_response,/* it contains the error message */ ) ); exit; } //Process the IPN data array SwpmLog::log_simple_debug( 'Validation passed. Going to create/update member account and save transaction data.', true ); SWPM_PayPal_Utility_IPN_Related::create_membership_and_save_txn_data( $data, $txn_data, $ipn_data ); // Trigger the IPN processed action hook (so other plugins can can listen for this event). do_action( 'swpm_paypal_buy_now_checkout_ipn_processed', $ipn_data ); do_action( 'swpm_payment_ipn_processed', $ipn_data ); //Everything is processed successfully, send the success response. wp_send_json( array( 'success' => true, 'order_id' => $order_id, 'capture_id' => $paypal_capture_id, 'txn_data' => $txn_data ) ); exit; } } lib/paypal/onboarding-related/class-swpm-paypal-onboarding-serverside.php000064400000046323147206617610022741 0ustar00 false, 'msg' => __( 'Empty data received.', 'simple-membership' ), ) ); } $data_array = json_decode($data, true); //TODO - Debugging purpose only //SwpmLog::log_array_data_to_debug( $data_array, true ); //Check nonce. $nonce_string = SWPM_PayPal_PPCP_Onboarding::$account_connect_string; if ( ! check_ajax_referer( $nonce_string, '_wpnonce', false ) ) { wp_send_json( array( 'success' => false, 'msg' => __( 'Nonce check failed. The page was most likely cached. Please reload the page and try again.', 'simple-membership' ), ) ); exit; } //Get the environment mode. $environment_mode = isset( $data_array['environment'] ) ? $data_array['environment'] : 'production'; //=== Generate the access token using the shared id and auth code. === $access_token = $this->generate_token_using_shared_id( $data_array['sharedId'], $data_array['authCode'], $environment_mode); if ( ! $access_token ) { //Failed to generate token. wp_send_json( array( 'success' => false, 'msg' => __( 'Failed to generate access token. check debug log file for any error message.', 'simple-membership' ), ) ); exit; } //=== Get the seller API credentials using the access token. === //SwpmLog::log_simple_debug( 'Onboarding step: access token generated successfully. Token: ' . $access_token, true );//Debug purpose only $seller_api_credentials = $this->get_seller_api_credentials_using_token( $access_token, $environment_mode ); if ( ! $seller_api_credentials ) { //Failed to get seller API credentials. wp_send_json( array( 'success' => false, 'msg' => __( 'Failed to get seller API credentials. check debug log file for any error message.', 'simple-membership' ), ) ); } //Save the credentials to the database. $this->save_seller_api_credentials( $seller_api_credentials, $environment_mode); //=== Bearer token === //Let's use the already generated access token throughout the onboarding process. $bearer_token = $access_token; //SwpmLog::log_simple_debug( 'Onboarding step: using access token from the previous step. Token: ' . $bearer_token, true );//Debug purpose only //=== Seller account status === $seller_account_status = $this->get_seller_account_status_data_using_bearer_token($bearer_token, $seller_api_credentials, $environment_mode ); SwpmLog::log_array_data_to_debug( $seller_account_status, true ); if( ! $seller_account_status ){ //Failed to get seller account status. wp_send_json( array( 'success' => false, 'msg' => __( 'Failed to get seller account status. check debug log file for any error message.', 'simple-membership' ), ) ); } //Save the seller paypal email to the database. //The paypal email address of the seller will be available in the 'tracking_id' field of the seller_account_status array. $seller_paypal_email = isset( $seller_account_status['tracking_id'] )? $seller_account_status['tracking_id'] : ''; $this->save_seller_paypal_email( $seller_paypal_email, $environment_mode ); //Check if the seller account is limited or not. if( ! $seller_account_status['payments_receivable'] ){ //Seller account is limited. Show a message to the seller. wp_send_json( array( 'success' => false, 'msg' => __( 'Your PayPal account is limited so you cannot accept payment. Contact PaPal support or check your PayPal account inbox for an email from PayPal for the next steps to remove the account limit.', 'simple-membership' ), ) ); } if( ! $seller_account_status['primary_email_confirmed'] ){ //Seller account is limited. Show a message to the seller. wp_send_json( array( 'success' => false, 'msg' => __( 'Your PayPal account email is not confirmed. Check your PayPal account inbox for an email from PayPal to confirm your PayPal email address.', 'simple-membership' ), ) ); } SwpmLog::log_simple_debug( 'PPCP_STANDARD vetting_status: ' . $seller_account_status['ppcp_standard_vetting_status'], true ); SwpmLog::log_simple_debug( 'CUSTOM_CARD_PROCESSING status: ' . $seller_account_status['custom_card_processing_status'], true ); //Webhooks will be created (if not already created) when the admin creates subsription payment buttons //Save the onboarding complete and other related flag to the database. $settings = SwpmSettings::get_instance(); $settings->set_value('paypal-ppcp-vetting-status-'.$environment_mode, $seller_account_status['ppcp_standard_vetting_status']); // ACDC Related - PPCP_STANDARD vetting_status $settings->set_value('paypal-ppcp-custom-card-processing-status-'.$environment_mode, $seller_account_status['custom_card_processing_status']); // ACDC Related - CUSTOM_CARD_PROCESSING Status $settings->set_value('paypal-ppcp-onboarding-'.$environment_mode, 'completed'); $settings->save(); //Delete any cached token using the old credentials (so it is forced to generate and cache a new one after onboarding (when new API call is made))) SWPM_PayPal_Bearer::delete_cached_token(); SwpmLog::log_simple_debug( 'Successfully processed the handle_onboarded_callback_data. Environment mode: '.$environment_mode, true ); //If everything is processed successfully, send the success response. wp_send_json( array( 'success' => true, 'msg' => 'Succedssfully processed the handle_onboarded_callback_data.' ) ); exit; } /* * Gets the seller's account status data. So we can check if payments_receivable flag is true and primary_email_confirmed flag is true * Returns an array with client_id and client_secret or false otherwise. */ public function get_seller_account_status_data_using_bearer_token($bearer_token, $seller_api_credentials, $environment_mode = 'production'){ SwpmLog::log_simple_debug( 'Onboarding step: get_seller_account_status_data. Environment mode: ' . $environment_mode, true ); $api_base_url = SWPM_PayPal_Utility_Functions::get_api_base_url_by_environment_mode( $environment_mode ); $partner_id = SWPM_PayPal_Utility_Functions::get_partner_id_by_environment_mode( $environment_mode ); $url = trailingslashit( $api_base_url ) . 'v1/customer/partners/' . $partner_id . '/merchant-integrations/' . $seller_api_credentials['payer_id']; $args = array( 'method' => 'GET', 'headers' => array( 'Content-Type' => 'application/json', 'Authorization' => 'Bearer ' . $bearer_token, 'PayPal-Partner-Attribution-Id' => 'TipsandTricks_SP_PPCP', ), ); //Debug purpose only //SwpmLog::log_simple_debug( 'PayPal API request headers for getting seller account status: ', true ); //SwpmLog::log_array_data_to_debug( $args, true); $response = SWPM_PayPal_Request_API::send_request_by_url_and_args( $url, $args ); if ( is_wp_error( $response ) ) { //WP could not post the request. $error_msg = $response->get_error_message();//Get the error from the WP_Error object. SwpmLog::log_simple_debug( 'Failed to post the request to the PayPal API. Error: ' . $error_msg, false ); return false; } $json = json_decode( wp_remote_retrieve_body( $response ) ); $status_code = (int) wp_remote_retrieve_response_code( $response ); if ( $status_code !== 200 ) { //PayPal API returned an error. $response_body = wp_remote_retrieve_body( $response ); SwpmLog::log_simple_debug( 'PayPal API returned an error. Status Code: ' . $status_code . ' Response Body: ' . $response_body, false ); return false; } if ( ! isset( $json->payments_receivable ) || ! isset( $json->primary_email_confirmed ) ) { //Seller status not found. Log error. if (isset( $json->error )) { //Try to get the error descrption (if present) $error_msg = isset($json->error_description)? $json->error_description : $json->error; } else { $error_msg = 'The payments_receivable and primary_email_confirmed flags are not set.'; } SwpmLog::log_simple_debug( 'Failed to get seller PayPal account status. Status code: '.$status_code.', Error msg: ' . $error_msg, false ); return false; } // ACDC Related - Check 'PPCP_STANDARD' vetting_status & 'CUSTOM_CARD_PROCESSING' Status // Check if products is set and is an array $ppcp_standard_vetting_status = ''; if (isset($json->products) && is_array($json->products)) { foreach ($json->products as $product) { // Check if the name property exists and equals 'PPCP_STANDARD' if (isset($product->name) && $product->name === 'PPCP_STANDARD') { // Check if vetting_status property exists if (isset($product->vetting_status)) { $ppcp_standard_vetting_status = $product->vetting_status; // Break the loop if the desired product is found break; } } } } // Check if capabilities is set and is an array $custom_card_processing_status = ''; if (isset($json->capabilities) && is_array($json->capabilities)) { foreach ($json->capabilities as $capability) { // Check if the name property exists and equals 'CUSTOM_CARD_PROCESSING' if (isset($capability->name) && $capability->name === 'CUSTOM_CARD_PROCESSING') { // Check if status property exists if (isset($capability->status)) { $custom_card_processing_status = $capability->status; // We found the status, no need to continue the loop break; } } } } //Success. return the data we will use. return array( 'merchant_id' => $json->merchant_id, 'tracking_id' => $json->tracking_id,/* This will be the paypal account email address */ 'payments_receivable' => $json->payments_receivable, 'primary_email_confirmed' => $json->primary_email_confirmed, 'ppcp_standard_vetting_status' => $ppcp_standard_vetting_status, // ACDC Related - PPCP_STANDARD vetting_status 'custom_card_processing_status' => $custom_card_processing_status, // ACDC Related - CUSTOM_CARD_PROCESSING Status ); } public function save_seller_paypal_email( $seller_paypal_email, $environment_mode = 'production' ) { //This is saved as a separate method because the seller paypal email is not available in the get seller api credentials call. //The seller paypal email is available in the get seller account status call. $settings = SwpmSettings::get_instance(); if( $environment_mode == 'sandbox' ){ $settings->set_value('paypal-sandbox-seller-paypal-email', $seller_paypal_email); } else { $settings->set_value('paypal-live-seller-paypal-email', $seller_paypal_email); } $settings->save(); SwpmLog::log_simple_debug( 'Seller PayPal email address ('.$seller_paypal_email.') saved successfully (environment mode: '.$environment_mode.').', true ); } public function save_seller_api_credentials( $seller_api_credentials, $environment_mode = 'production' ) { // Save the API credentials to the database. $settings = SwpmSettings::get_instance(); if( $environment_mode == 'sandbox' ){ //Sandobx mode $settings->set_value('paypal-sandbox-client-id', $seller_api_credentials['client_id']); $settings->set_value('paypal-sandbox-secret-key', $seller_api_credentials['client_secret']); $settings->set_value('paypal-sandbox-seller-merchant-id', $seller_api_credentials['payer_id']);//Seller Merchant ID } else { //Production mode $settings->set_value('paypal-live-client-id', $seller_api_credentials['client_id']); $settings->set_value('paypal-live-secret-key', $seller_api_credentials['client_secret']); $settings->set_value('paypal-live-seller-merchant-id', $seller_api_credentials['payer_id']);//Seller Merchant ID } $settings->save(); SwpmLog::log_simple_debug( 'Seller API credentials (environment mode: '.$environment_mode.') saved successfully.', true ); } public static function reset_seller_api_credentials( $environment_mode = 'production' ) { // Save the API credentials to the database. $settings = SwpmSettings::get_instance(); if( $environment_mode == 'sandbox' ){ //Sandobx mode $settings->set_value('paypal-sandbox-client-id', ''); $settings->set_value('paypal-sandbox-secret-key', ''); $settings->set_value('paypal-sandbox-seller-merchant-id', '');//Seller Merchant ID $settings->set_value('paypal-sandbox-seller-paypal-email', '');//Seller PayPal Email } else { //Production mode $settings->set_value('paypal-live-client-id', ''); $settings->set_value('paypal-live-secret-key', ''); $settings->set_value('paypal-live-seller-merchant-id', '');//Seller Merchant ID $settings->set_value('paypal-live-seller-paypal-email', '');//Seller PayPal Email } //Reset the onboarding complete flag (for the corresponding mode) to the database. $settings->set_value('paypal-ppcp-onboarding-'.$environment_mode, ''); //Save the settings $settings->save(); SwpmLog::log_simple_debug( 'Seller API credentials (environment mode: '.$environment_mode.') reset/removed successfully.', true ); //Delete any cached token using the old credentials (so it is forced to generate and cache a new one after onboarding (when new API call is made))) SWPM_PayPal_Bearer::delete_cached_token(); SwpmLog::log_simple_debug( 'Executed delete PayPal bearer cached token function (to clean it up).', true ); } /** * Generates a token using the shared_id and auth_token and seller_nonce. Used during the onboarding process. * * @param string $shared_id The shared id. * @param string $auth_code The auth code. * @param string $environment_mode The environment mode. sandbox or production. * * Returns the token or false otherwise. */ public function generate_token_using_shared_id( $shared_id, $auth_code, $environment_mode = 'production' ) { SwpmLog::log_simple_debug( 'Onboarding step: generate_token_using_shared_id. Environment mode: ' . $environment_mode, true ); if( isset($environment_mode) && $environment_mode == 'sandbox' ){ $query_args = get_option('swpm_ppcp_connect_query_args_'.$environment_mode); $seller_nonce = isset($query_args['sellerNonce']) ? $query_args['sellerNonce'] : ''; } else { $query_args = get_option('swpm_ppcp_connect_query_args_'.$environment_mode); $seller_nonce = isset($query_args['sellerNonce']) ? $query_args['sellerNonce'] : ''; } SwpmLog::log_simple_debug( 'Seller nonce value: ' . $seller_nonce, true ); $api_base_url = SWPM_PayPal_Utility_Functions::get_api_base_url_by_environment_mode( $environment_mode ); $url = trailingslashit( $api_base_url ) . 'v1/oauth2/token/'; //Note: we don't have the seller merchant ID yet. So cannot use the auth assertion header. $args = array( 'method' => 'POST', 'headers' => array( 'Authorization' => 'Basic ' . base64_encode( $shared_id . ':' ), ), 'body' => array( 'grant_type' => 'authorization_code', 'code' => $auth_code, 'code_verifier' => $seller_nonce, ), ); //SwpmLog::log_array_data_to_debug( $args, true);//Debugging purpose $response = SWPM_PayPal_Request_API::send_request_by_url_and_args( $url, $args ); //SwpmLog::log_array_data_to_debug( $response, true);//Debugging purpose if ( is_wp_error( $response ) ) { //WP could not post the request. $error_msg = $response->get_error_message();//Get the error from the WP_Error object. SwpmLog::log_simple_debug( 'Failed to post the request to the PayPal API. Error: ' . $error_msg, false ); return false; } $json = json_decode( $response['body'] ); $status_code = (int) wp_remote_retrieve_response_code( $response );//HTTP response code (ex: 400) if ( ! isset( $json->access_token ) ) { //No token found. Log error. if (isset( $json->error )) { //Try to get the error descrption (if present) $error_msg = isset($json->error_description) ? $json->error_description : $json->error; } else { $error_msg = 'No token found.'; } SwpmLog::log_simple_debug( 'Failed to generate token. Status code: '.$status_code.', Error msg: ' . $error_msg, false ); return false; } //Success. return the token. return (string) $json->access_token; } /* * Gets the seller's API credentials using the access token. * Returns an array with client_id and client_secret or false otherwise. */ public function get_seller_api_credentials_using_token($access_token, $environment_mode = 'production'){ SwpmLog::log_simple_debug( 'Onboarding step: get_seller_api_credentials_using_token. Environment mode: ' . $environment_mode, true ); $api_base_url = SWPM_PayPal_Utility_Functions::get_api_base_url_by_environment_mode( $environment_mode ); $partner_merchant_id = SWPM_PayPal_Utility_Functions::get_partner_id_by_environment_mode( $environment_mode ); $url = trailingslashit( $api_base_url ) . 'v1/customer/partners/' . $partner_merchant_id . '/merchant-integrations/credentials/'; //Note: we don't have the seller merchant ID yet. So cannot use the auth assertion header. $args = array( 'method' => 'GET', 'headers' => array( 'Authorization' => 'Bearer ' . $access_token, 'Content-Type' => 'application/json', ), ); $response = SWPM_PayPal_Request_API::send_request_by_url_and_args( $url, $args ); if ( is_wp_error( $response ) ) { //WP could not post the request. $error_msg = $response->get_error_message();//Get the error from the WP_Error object. SwpmLog::log_simple_debug( 'Failed to post the request to the PayPal API. Error: ' . $error_msg, false ); return false; } $json = json_decode( $response['body'] ); $status_code = (int) wp_remote_retrieve_response_code( $response ); if ( ! isset( $json->client_id ) || ! isset( $json->client_secret ) ) { //Seller API credentials not found. Log error. if (isset( $json->error )) { //Try to get the error descrption (if present) $error_msg = isset($json->error_description)? $json->error_description : $json->error; } else { $error_msg = 'No client_id or client_secret found.'; } SwpmLog::log_simple_debug( 'Failed to get seller API credentials. Status code: '.$status_code.', Error msg: ' . $error_msg, false ); return false; } //Success. return the credentials. return array( 'client_id' => $json->client_id, 'client_secret' => $json->client_secret, 'payer_id' => $json->payer_id, ); } }lib/paypal/onboarding-related/class-swpm-paypal-onboarding.php000064400000020512147206617610020560 0ustar00 Activate PayPal Sandbox Disconnect Sandbox Account'; } public function output_production_onboarding_link_code() { //We need to separate JavaScript functions to handle the after onbarding callback. So we are using different function names. $singup_link = self::get_signup_link('production'); $wp_nonce = wp_create_nonce( self::$account_connect_string ); $ajax_post_url = admin_url('admin-ajax.php'); ?> Activate PayPal Disconnect PayPal Account'; } }lib/paypal/class-swpm-paypal-button-sub-ajax-handler.php000064400000044547147206617610017352 0ustar00 false, 'err_msg' => __( 'Empty data received.', 'simple-membership' ), ) ); } if( !is_array( $data ) ){ //Convert the JSON string to an array (Vanilla JS AJAX data will be in JSON format). $data = json_decode( $data, true); } $button_id = isset( $data['button_id'] ) ? sanitize_text_field( $data['button_id'] ) : ''; $on_page_button_id = isset( $data['on_page_button_id'] ) ? sanitize_text_field( $data['on_page_button_id'] ) : ''; SwpmLog::log_simple_debug( 'swpm_pp_create_subscription ajax request received for createSubscription. Button ID: '.$button_id.', On Page Button ID: ' . $on_page_button_id, true ); // Check nonce. if ( ! check_ajax_referer( $on_page_button_id, '_wpnonce', false ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Nonce check failed. The page was most likely cached. Please reload the page and try again.', 'simple-membership' ), ) ); exit; } /************************** * Get the PayPal Plan ID * **************************/ //Get the plan ID (or create a new plan if needed) for the button. $plan_id = get_post_meta( $button_id, 'pp_subscription_plan_id', true ); $plan_create_error_msg = ''; if( empty( $plan_id )){ //Need to create a new plan $ret = SWPM_PayPal_Utility_Functions::create_billing_plan_for_button( $button_id ); if( $ret['success'] === true ){ $plan_id = $ret['plan_id']; SwpmLog::log_simple_debug( 'Created new PayPal subscription plan for button ID: ' . $button_id . ', Plan ID: ' . $plan_id, true ); } else { $plan_create_error_msg = 'Error! Could not create the PayPal subscription plan for the button. Error message: ' . esc_attr( $ret['error_message'] ); } } else { //Check if this plan exists in the PayPal account. if( !SWPM_PayPal_Utility_Functions::check_billing_plan_exists( $plan_id ) ){ //The plan ID does not exist in the PayPal account. Maybe the plan was created earlier in a different mode or using a different paypal account. //We need to create a fresh new plan for this button. $ret = SWPM_PayPal_Utility_Functions::create_billing_plan_fresh_new( $button_id ); if( $ret['success'] === true ){ $plan_id = $ret['plan_id']; SwpmLog::log_simple_debug( 'Created new PayPal subscription plan for button ID: ' . $button_id . ', Plan ID: ' . $plan_id, true ); } else { $plan_create_error_msg = 'Error! Could not create the PayPal subscription plan for the button. Error message: ' . esc_attr( $ret['error_message'] ); } } } //Check if any error occurred while creating the plan. if( !empty( $plan_create_error_msg ) ){ SwpmLog::log_simple_debug( $plan_create_error_msg, false ); wp_send_json( array( 'success' => false, 'err_msg' => $plan_create_error_msg, ) ); exit; } /************************************* * Create the subscription on PayPal * ************************************/ //Going to create the subscription by making the PayPal API call. $api_injector = new SWPM_PayPal_Request_API_Injector(); //Set the additional args for the API call. $additional_args = array(); $additional_args['return_response_body'] = true; $response = $api_injector->create_paypal_subscription_for_billing_plan( $plan_id, $data, $additional_args ); //We requested the full response body to be returned, so we need to JSON decode it. if( $response !== false ){ //JSON decode the response body to an array. $sub_data = json_decode( $response, true ); $paypal_sub_id = isset( $sub_data['id'] ) ? $sub_data['id'] : ''; } else { //Failed to create the order. wp_send_json( array( 'success' => false, 'err_msg' => __( 'Failed to create the subscription using PayPal API. Enable the debug logging feature to get more details.', 'simple-membership' ), ) ); exit; } //Uncomment the following line to see more details of the subscription data. //SwpmLog::log_array_data_to_debug( $sub_data, true ); SwpmLog::log_simple_debug( 'PayPal Subscription ID: ' . $paypal_sub_id, true ); //If everything is processed successfully, send the success response. wp_send_json( array( 'success' => true, 'subscription_id' => $paypal_sub_id, 'sub_data' => $sub_data ) ); exit; } /** * Handle the onApprove ajax request for 'Subscription' type buttons */ public function swpm_onapprove_process_subscription(){ //Get the data from the request $data = isset( $_POST['data'] ) ? json_decode( stripslashes_deep( $_POST['data'] ), true ) : array(); if ( empty( $data ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Empty data received.', 'simple-membership' ), ) ); } //SwpmLog::log_array_data_to_debug( $data, true );//Debugging only $on_page_button_id = isset( $data['on_page_button_id'] ) ? sanitize_text_field( $data['on_page_button_id'] ) : ''; SwpmLog::log_simple_debug( 'OnApprove ajax request received for createSubscription. On Page Button ID: ' . $on_page_button_id, true ); // Check nonce. if ( ! check_ajax_referer( $on_page_button_id, '_wpnonce', false ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Nonce check failed. The page was most likely cached. Please reload the page and try again.', 'simple-membership' ), ) ); exit; } //Get the transaction data from the request $txn_data = isset( $_POST['txn_data'] ) ? json_decode( stripslashes_deep( $_POST['txn_data'] ), true ) : array(); if ( empty( $txn_data ) ) { wp_send_json( array( 'success' => false, 'err_msg' => __( 'Empty transaction data received.', 'simple-membership' ), ) ); } //SwpmLog::log_array_data_to_debug( $txn_data, true );//Debugging only. //Create the IPN data array from the transaction data. $this->create_ipn_data_array_from_create_subscription_txn_data( $data, $txn_data ); //SwpmLog::log_array_data_to_debug( $this->ipn_data, true );//Debugging only. //Validate the subscription txn data before using it. $validation_response = $this->validate_subscription_checkout_txn_data( $data, $txn_data ); if( $validation_response !== true ){ wp_send_json( array( 'success' => false, 'err_msg' => $validation_response, ) ); exit; } //Process the IPN data array SwpmLog::log_simple_debug( 'Validation passed. Going to create/update member account and save transaction data.', true ); SWPM_PayPal_Utility_IPN_Related::create_membership_and_save_txn_data( $data, $txn_data, $this->ipn_data ); // Trigger the IPN processed action hook (so other plugins can can listen for this event). do_action( 'swpm_paypal_subscription_checkout_ipn_processed', $this->ipn_data ); do_action( 'swpm_payment_ipn_processed', $this->ipn_data ); //If everything is processed successfully, send the success response. wp_send_json( array( 'success' => true ) ); exit; } public function create_ipn_data_array_from_create_subscription_txn_data( $data, $txn_data ) { $ipn = array(); //Get the custom field value from the request $custom = isset($data['custom_field']) ? $data['custom_field'] : ''; $custom = urldecode( $custom );//Decode it just in case it was encoded. if(isset($data['orderID'])){ //Add the PayPal API orderID value to the reference parameter. So it gets saved with custom field data. This will be used to also save it to the reference DB column field when saving the transaction. $data['custom_field'] = $custom . '&reference=' . $data['orderID']; } $customvariables = SwpmTransactions::parse_custom_var( $custom ); $billing_info = isset($txn_data['billing_info']) ? $txn_data['billing_info'] : array(); $address_street = isset($txn_data['subscriber']['shipping_address']['address']['address_line_1']) ? $txn_data['subscriber']['shipping_address']['address']['address_line_1'] : ''; if ( isset ( $txn_data['subscriber']['shipping_address']['address']['address_line_2'] )){ //If address line 2 is present, add it to the address. $address_street .= ", " . $txn_data['subscriber']['shipping_address']['address']['address_line_2']; } //Set the gateway and txn_type values. $ipn['gateway'] = 'paypal_subscription_checkout'; $ipn['txn_type'] = 'pp_subscription_new'; //The custom field value. $ipn['custom'] = isset($data['custom_field']) ? $data['custom_field'] : ''; //This will save the button ID (in the save_txn_record function) in the swpm_transactions CPT (for a reference to the button used for the payment) $ipn['payment_button_id'] = isset($data['button_id']) ? $data['button_id'] : ''; //If the subscription is for live mode or sandbox mode. We will use this to set the 'is_live' flag in the swpm_transactions CPT. $settings = SwpmSettings::get_instance(); $sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' ); $ipn['is_live'] = empty($sandbox_enabled) ? 'yes' : 'no';//We need to save the environment (live or sandbox) of the subscription. $ipn['item_number'] = isset($data['button_id']) ? $data['button_id'] : ''; $ipn['item_name'] = isset($data['item_name']) ? $data['item_name'] : ''; $ipn['plan_id'] = isset($txn_data['plan_id']) ? $txn_data['plan_id'] : '';//The plan ID of the subscription $ipn['subscr_id'] = isset($data['subscriptionID']) ? $data['subscriptionID'] : '';//The subscription ID $ipn['create_time'] = isset($txn_data['create_time']) ? $txn_data['create_time'] : ''; //The transaction ID is not available in the create/activate subscription response. So we will just use the order ID here. //The subscription capture happens in the background. So if we want to use the get transactions list API to get the transaction ID of the first transaction, we will need to do that later using cronjob maybe. $ipn['txn_id'] = isset($data['orderID']) ? $data['orderID'] : ''; $ipn['status'] = __('subscription created', 'simple-membership'); $ipn['payment_status'] = __('subscription created', 'simple-membership'); $ipn['subscription_status'] = isset($txn_data['status']) ? $txn_data['status'] : '';//Can be used to check if the subscription is active or not (in the webhook handler) //Amount and currency. $ipn['mc_gross'] = isset($txn_data['billing_info']['last_payment']['amount']['value']) ? $txn_data['billing_info']['last_payment']['amount']['value'] : 0; $ipn['mc_currency'] = isset($txn_data['billing_info']['last_payment']['amount']['currency_code']) ? $txn_data['billing_info']['last_payment']['amount']['currency_code'] : ''; if( $this->is_trial_payment( $billing_info )){ //TODO: May need to get the trial amount from the 'cycle_executions' array $ipn['is_trial_txn'] = 'yes'; } $ipn['quantity'] = 1; // customer info. $ipn['ip'] = isset($customvariables['user_ip']) ? $customvariables['user_ip'] : ''; $ipn['first_name'] = isset($txn_data['subscriber']['name']['given_name']) ? $txn_data['subscriber']['name']['given_name'] : ''; $ipn['last_name'] = isset($txn_data['subscriber']['name']['surname']) ? $txn_data['subscriber']['name']['surname'] : ''; $ipn['payer_email'] = isset($txn_data['subscriber']['email_address']) ? $txn_data['subscriber']['email_address'] : ''; $ipn['payer_id'] = isset($txn_data['subscriber']['payer_id']) ? $txn_data['subscriber']['payer_id'] : ''; $ipn['address_street'] = $address_street; $ipn['address_city'] = isset($txn_data['subscriber']['shipping_address']['address']['admin_area_2']) ? $txn_data['subscriber']['shipping_address']['address']['admin_area_2'] : ''; $ipn['address_state'] = isset($txn_data['subscriber']['shipping_address']['address']['admin_area_1']) ? $txn_data['subscriber']['shipping_address']['address']['admin_area_1'] : ''; $ipn['address_zip'] = isset($txn_data['subscriber']['shipping_address']['address']['postal_code']) ? $txn_data['subscriber']['shipping_address']['address']['postal_code'] : ''; $country_code = isset($txn_data['subscriber']['shipping_address']['address']['country_code']) ? $txn_data['subscriber']['shipping_address']['address']['country_code'] : ''; $ipn['address_country'] = SwpmMiscUtils::get_country_name_by_country_code($country_code); //Additional variables //$ipn['reason_code'] = $txn_data['reason_code']; $this->ipn_data = $ipn; } public function is_trial_payment( $billing_info ) { if( isset( $billing_info['cycle_executions'][0]['tenure_type'] ) && ($billing_info['cycle_executions'][0]['tenure_type'] === 'TRIAL')){ return true; } return false; } /** * Validate that the subscription exists in PayPal and the price matches the price in the DB. */ public function validate_subscription_checkout_txn_data( $data, $txn_data ) { //Get the subscription details from PayPal API endpoint - v1/billing/subscriptions/{$subscription_id} $subscription_id = $data['subscriptionID']; $button_id = $data['button_id']; $validation_error_msg = ''; //This is for on-site checkout only. So the 'mode' and API creds will be whatever is currently set in the settings. $api_injector = new SWPM_PayPal_Request_API_Injector(); $sub_details = $api_injector->get_paypal_subscription_details( $subscription_id ); if( $sub_details !== false ){ $billing_info = $sub_details->billing_info; if(is_object($billing_info)){ //Convert the object to an array. $billing_info = json_decode(json_encode($billing_info), true); } //SwpmLog::log_array_data_to_debug( $billing_info, true );//Debugging only. $tenure_type = isset($billing_info['cycle_executions'][0]['tenure_type']) ? $billing_info['cycle_executions'][0]['tenure_type'] : ''; //'REGULAR' or 'TRIAL' $sequence = isset($billing_info['cycle_executions'][0]['sequence']) ? $billing_info['cycle_executions'][0]['sequence'] : '';//1, 2, 3, etc. $cycles_completed = isset($billing_info['cycle_executions'][0]['cycles_completed']) ? $billing_info['cycle_executions'][0]['cycles_completed'] : '';//1, 2, 3, etc. SwpmLog::log_simple_debug( 'Subscription tenure type: ' . $tenure_type . ', Sequence: ' . $sequence . ', Cycles Completed: '. $cycles_completed, true ); //Tenure type - 'REGULAR' or 'TRIAL' $tenure_type = isset($billing_info['cycle_executions'][0]['tenure_type']) ? $billing_info['cycle_executions'][0]['tenure_type'] : 'REGULAR'; //If tenure type is 'TRIAL', check that this button has a trial period. if( $tenure_type === 'TRIAL' ){ SwpmLog::log_simple_debug('Trial payment detected.', true);//TODO - remove later. //Check that the button has a trial period. $trial_billing_cycle = get_post_meta( $button_id, 'trial_billing_cycle', true ); if( empty($trial_billing_cycle) ){ //This button does not have a trial period. So this is not a valid trial payment. $validation_error_msg = 'Validation Error! This is a trial payment but the button does not have a trial period configured. Button ID: ' . $button_id . ', Subscription ID: ' . $subscription_id; SwpmLog::log_simple_debug( $validation_error_msg, false ); return $validation_error_msg; } } else { //This is a regular subscription checkout (without trial). Check that the price matches. $amount = isset($billing_info['last_payment']['amount']['value']) ? $billing_info['last_payment']['amount']['value'] : 0; $recurring_billing_amount = get_post_meta( $button_id, 'recurring_billing_amount', true ); if( $amount < $recurring_billing_amount ){ //The amount does not match. $validation_error_msg = 'Validation Error! The subscription amount does not match. Button ID: ' . $button_id . ', Subscription ID: ' . $subscription_id . ', Amount Received: ' . $amount . ', Amount Expected: ' . $recurring_billing_amount; SwpmLog::log_simple_debug( $validation_error_msg, false ); return $validation_error_msg; } //Check that the Currency code matches $currency = isset($billing_info['last_payment']['amount']['currency_code']) ? $billing_info['last_payment']['amount']['currency_code'] : ''; $currency_expected = get_post_meta( $button_id, 'payment_currency', true ); if( $currency !== $currency_expected ){ //The currency does not match. $validation_error_msg = 'Validation Error! The subscription currency does not match. Button ID: ' . $button_id . ', Subscription ID: ' . $subscription_id . ', Currency Received: ' . $currency . ', Currency Expected: ' . $currency_expected; SwpmLog::log_simple_debug( $validation_error_msg, false ); return $validation_error_msg; } } } else { //Error getting subscription details. $validation_error_msg = 'Validation Error! Failed to get subscription details from the PayPal API. Subscription ID: ' . $subscription_id; //TODO - Show additional error details if available. SwpmLog::log_simple_debug( $validation_error_msg, false ); return $validation_error_msg; } //All good. The data is valid. return true; } } lib/paypal/class-swpm-paypal-main.php000064400000007402147206617610013625 0ustar00live_client_id = $settings->get_value('paypal-live-client-id'); $this->live_secret = $settings->get_value('paypal-live-secret-key'); $this->sandbox_client_id = $settings->get_value('paypal-sandbox-client-id'); $this->sandbox_secret = $settings->get_value('paypal-sandbox-secret-key'); $sandbox_enabled = $settings->get_value('enable-sandbox-testing'); $this->mode = $sandbox_enabled ? 'sandbox' : 'production'; $paypal_req_api = SWPM_PayPal_Request_API::get_instance(); $paypal_req_api->set_mode_and_api_credentials( $this->mode, $this->live_client_id, $this->live_secret, $this->sandbox_client_id, $this->sandbox_secret ); $this->paypal_req_api = $paypal_req_api; } /** * Sets the webhook mode. Used to override/set the mode (if needed) after the object is created. */ public function set_mode_and_api_creds_based_on_mode( $mode ) { //Set the mode. $this->mode = $mode; //Set the API credentials for the Req_API object based on the mode. $paypal_req_api = SWPM_PayPal_Request_API::get_instance(); $paypal_req_api->set_mode_and_api_credentials( $mode, $this->live_client_id, $this->live_secret, $this->sandbox_client_id, $this->sandbox_secret ); $this->paypal_req_api = $paypal_req_api; } public function get_last_error_from_api_call(){ return $this->paypal_req_api->get_last_error(); } public function set_paypal_req_api( $paypal_req_api ){ //Set a particular request ojbect for API call. Useful for testing purposes. $this->paypal_req_api = $paypal_req_api; } public function get_paypal_req_api(){ return $this->paypal_req_api; } /* * Creates a product then uses that product to create a billing plan. * @return - plan_id if successful. false if any of the steps fail. */ public function create_product_and_billing_plan( $product_params, $subsc_args ){ //First create a paypal product $product_name = isset($product_params['name']) ? $product_params['name'] : ''; $paypal_product_id = $this->create_paypal_product_for_plan($product_params); if( $paypal_product_id === false ){ //Failed to create product. Do debug logging. Error checking will be done by the fn caller. return false; } //Create billing plan $pp_subsc_billing_plan = new SWPM_PayPal_Subsc_Billing_Plan(); $billing_cycles = $pp_subsc_billing_plan->construct_billing_cycles_param( $subsc_args ); $plan_args = array( 'plan_name' => 'Billing plan for ' . $product_name, 'paypal_product_id' => $paypal_product_id, 'billing_cycles' => $billing_cycles, 'sub_recur_reattemp' => 1, ); $plan_api_params = $pp_subsc_billing_plan->construct_create_billing_plan_api_params($plan_args); $created_plan_id = $this->create_paypal_billing_plan($plan_api_params); if( $created_plan_id === false ){ //Failed to create billing plan. Do debug logging. Error checking will be done by the fn caller. return false; } return $created_plan_id; } /* * Gets a list of all the existing paypal products. * @return - an array of products object on success. false on error. */ public function get_paypal_products_list(){ $endpoint = '/v1/catalogs/products'; $params = array(); $response = $this->paypal_req_api->get($endpoint, $params); if ( $response !== false){ $products = $response->products; //foreach($products as $product){ // echo '
Product ID: ' . $product->id; //} return $products; } else { return false; } } /* * Creates a PayPal product so it can be used with a subscription plan. */ public function create_paypal_product_for_plan( $params ){ $endpoint = '/v1/catalogs/products'; $response = $this->paypal_req_api->post($endpoint, $params); if ( $response !== false){ //Response is a success! $created_product_id = $response->id; return $created_product_id; } else { return false; } } /* * Gets a list of all the existing paypal billing plans. * @return - an array of plans object on success. false on error. */ public function get_paypal_billing_plans_list(){ $endpoint = '/v1/billing/plans'; $params = array(); $response = $this->paypal_req_api->get($endpoint, $params); if ( $response !== false){ $plans = $response->plans; //foreach($plans as $plan){ // echo '
Plan ID: ' . $plan->id; //} return $plans; } else { return false; } } /* * Show the details of an existing paypal billing plan. * https://developer.paypal.com/docs/api/subscriptions/v1/#plans_get */ public function get_paypal_billing_plan_details( $plan_id ){ $endpoint = '/v1/billing/plans/' . $plan_id; $params = array(); $response = $this->paypal_req_api->get($endpoint, $params); if ( $response !== false){ $plan_details = $response; //echo '
Plan ID: ' . $plan_details->id; //echo '
Product ID: ' . $plan_details->product_id; return $plan_details; } else { return false; } } /* * Creates a PayPal billing plan for subscription. */ public function create_paypal_billing_plan( $params ){ $endpoint = '/v1/billing/plans'; $response = $this->paypal_req_api->post($endpoint, $params); if ( $response !== false){ //Response is a success! $created_plan_id = $response->id; //echo '
Plan ID: ' . $created_plan_id; //echo '
Plan Name: ' . $response->name; return $created_plan_id; } else { return false; } } /* * Creates a PayPal subscription for a user (for the given plan_id). */ public function create_paypal_subscription_for_billing_plan( $plan_id, $data = array(), $additional_args = array()){ //https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_create $endpoint = '/v1/billing/subscriptions'; $params = array( 'plan_id' => $plan_id, 'application_context' => array( 'user_action' => 'SUBSCRIBE_NOW', //SUBSCRIBE_NOW will activate the subscription immediately. 'payment_method' => array( 'payer_selected' => 'PAYPAL', 'payee_preferred' => 'IMMEDIATE_PAYMENT_REQUIRED', ), ), ); //Simple params (useulf for testing) // $params = array( // 'plan_id' => $plan_id // ); //Do the API call. $response = $this->paypal_req_api->post($endpoint, $params, $additional_args); //Check if we need to return the body or raw response instead of just the order ID. if( isset($additional_args['return_raw_response']) || isset( $additional_args['return_response_body'] ) ){ //Instead of just the subscription ID; return the raw response or the response body (that came back from the post method) return $response; } //Return the standard response. if ( $response !== false){ //Response is a success! //JSON decode the response body to an object. $json_response_body = json_decode( wp_remote_retrieve_body( $response ) ); $created_sub_id = $json_response_body->id; SwpmLog::log_simple_debug('Create-subscription response. Subscription ID: '. $created_sub_id, true); return $created_sub_id; } else { //There was a WP Error with the remote request. Enable debug logging to get more details from the log file. return false; } } /* * Show the details of a paypal subscription. * https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_get */ public function get_paypal_subscription_details( $sub_id ){ $endpoint = '/v1/billing/subscriptions/' . $sub_id; $params = array(); $response = $this->paypal_req_api->get($endpoint, $params); if ( $response !== false){ $sub_details = $response; //$sub_details->billing_info contains the useful info //https://developer.paypal.com/docs/api/subscriptions/v1/#definition-subscription_billing_info return $sub_details; } else { return false; } } /* * Gets a list of all the transactions of a paypal subscription. * @return - an array of transactions object on success. */ public function get_paypal_subscription_transactions_list( $sub_id, $start_time, $end_time = '' ){ //https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_transactions $endpoint = '/v1/billing/subscriptions/'.$sub_id.'/transactions'; //If end_time is not provided, then use the current time. if( empty($end_time) ){ $end_time = date('c');//Current time in ISO 8601 format (Example: 2024-02-27T03:28:34+00:00) } $params = array( 'start_time' => $start_time, 'end_time' => $end_time, ); //Do the API call. $response = $this->paypal_req_api->get($endpoint, $params); if ( $response !== false){ //Get the array of transactions. $transactions = $response->transactions; // foreach($transactions as $txn){ // echo '
Txn ID: ' . $txn->id; // } return $transactions; } else { return false; } } /* * Cancel a paypal subscription (for the given subscription ID). * https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_cancel */ public function cancel_paypal_subscription( $sub_id ){ $endpoint = '/v1/billing/subscriptions/' . $sub_id . '/cancel'; //A successful cancel request returns the HTTP '204 No Content' status code with no JSON response body. //We need to setup the additional args to return the raw response (so the post function doesn't try to process the response using the usual method). $additional_args = array('return_raw_response' => true); //We also need to pass the reason for the cancellation. $params = array('reason' => 'User requested to cancel the subscription.'); //Do the API call. $response = $this->paypal_req_api->post($endpoint, $params, $additional_args); if(isset($response['response']['code']) && $response['response']['code'] == 204){ //The subscription was successfully cancelled. return true; } else { //Failed to cancel the subscription. return false; } } /* * Show the details of a paypal order/transaction. * https://developer.paypal.com/docs/api/orders/v2/#orders_get */ public function get_paypal_order_details( $order_id ){ $endpoint = '/v2/checkout/orders/' . $order_id; $params = array(); $response = $this->paypal_req_api->get($endpoint, $params); if ( $response !== false){ $order_details = $response; //https://developer.paypal.com/docs/api/orders/v2/#orders-get-response return $order_details; } else { return false; } } /* * Creates a PayPal order. Returns the order ID if successful. * The $additional_args array can be used to pass additional arguments to the function to return the raw response or response body. */ public function create_paypal_order_by_url_and_args( $data, $additional_args = array()){ $payment_amount = isset($data['payment_amount']) ? $data['payment_amount'] : ''; $quantity = isset($data['quantity']) ? $data['quantity'] : 1; $currency = isset($data['currency']) ? $data['currency'] : 'USD'; $item_name = isset($data['item_name']) ? $data['item_name'] : ''; $digital_goods_enabled = isset($data['digital_goods_enabled']) ? $data['digital_goods_enabled'] : 1; //https://developer.paypal.com/docs/api/orders/v2/#orders_create $order_data = [ "intent" => "CAPTURE", "purchase_units" => [ [ "amount" => [ "value" => $payment_amount, "currency_code" => $currency, "breakdown" => [ "item_total" => [ "currency_code" => $currency, "value" => $payment_amount * $quantity, ] ] ], "items" => [ [ "name" => $item_name, "quantity" => $quantity, "category" => $digital_goods_enabled ? "DIGITAL_GOODS" : "PHYSICAL_GOODS", "unit_amount" => [ "value" => $payment_amount, "currency_code" => $currency, ] ] ], "description" => $item_name, ] ] ]; //A simple order data for testing // $order_data = [ // "intent" => "CAPTURE", // "purchase_units" => [ // [ // amount => [ // currency_code => "USD", // value => "100.00", // ], // ], // ], // ]; //Get the environment mode. $environment_mode = SWPM_PayPal_Utility_Functions::get_api_environment_mode_from_settings(); //Get the bearer/access token. $bearer = SWPM_PayPal_Bearer::get_instance(); $bearer_token = $bearer->get_bearer_token( $environment_mode ); $access_token = $bearer_token; //Args $args = array( 'method' => 'POST', 'headers' => array( 'Authorization' => 'Bearer ' . $access_token, 'Content-Type' => 'application/json', 'PayPal-Partner-Attribution-Id' => 'TipsandTricks_SP_PPCP', ), ); $args['body'] = wp_json_encode( $order_data ); //PayPal create-order using URL and Args //Get the API base URL. $api_base_url = SWPM_PayPal_Utility_Functions::get_api_base_url_by_environment_mode( $environment_mode ); $url = trailingslashit( $api_base_url ) . 'v2/checkout/orders'; SwpmLog::log_simple_debug('Executing order create (v2/checkout/orders) using URL and args.', true); $response = SWPM_PayPal_Request_API::send_request_by_url_and_args( $url, $args ); //Check if we need to return the body or raw response instead of just the order ID. if( isset($additional_args['return_raw_response']) && $additional_args['return_raw_response'] ){ //Return the raw response instead of just the order ID. return $response; } else if ( isset( $additional_args['return_response_body'] ) && $additional_args['return_response_body'] ){ //Return the response body instead of just the order ID. return wp_remote_retrieve_body( $response ); } //Return the standard response. if ( $response !== false){ //Response is a success! $json_response_body = json_decode( wp_remote_retrieve_body( $response ) ); $created_order_id = $json_response_body->id; SwpmLog::log_simple_debug('Order-create response. Order ID: '. $created_order_id, true); return $created_order_id; } else { //There was a WP Error with the remote request. Enable debug logging to get more details from the log file. return false; } } public function capture_paypal_order( $order_id, $additional_args = array() ){ if( empty($order_id) ){ SwpmLog::log_simple_debug('Empty PayPal order ID received. cannot process this request.', false); return false; } $order_data = array( 'order_id' => $order_id ); //For the capture request, we need to pass the PayPal-Request-Id header. $additional_args['PayPal-Request-Id'] = $order_id; //https://developer.paypal.com/docs/api/orders/v2/#orders_capture $endpoint = '/v2/checkout/orders/' . $order_id . '/capture'; $response = $this->paypal_req_api->post($endpoint, $order_data, $additional_args); //Check if we need to return the raw response or body (set in additional args). if( isset($additional_args['return_raw_response']) || $additional_args['return_response_body'] ){ //Return whatever we got from the API call according to the additional args. return $response; } //Return the standard response. if ( $response !== false){ //Response is a success! $capture_id = $response->id;//Capture ID/Transaction ID. return $capture_id; } else { //Failed to capture the order. The process_request_result() function has debug lines to reveal more details. return false; } } } lib/paypal/index.html000064400000000000147206617610010575 0ustar00lib/stripe-gateway/VERSION000064400000000007147206617610011336 0ustar0015.4.0 lib/stripe-gateway/data/ca-certificates.crt000064400000644470147206617610014761 0ustar00## ## Bundle of CA Root Certificates ## ## Certificate data from Mozilla as of: Tue Apr 26 03:12:05 2022 GMT ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates ## file (certdata.txt). This file can be found in the mozilla source tree: ## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt ## ## It contains the certificates in PEM format and therefore ## can be directly used with curl / libcurl / php_curl, or with ## an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## ## Conversion done with mk-ca-bundle.pl version 1.29. ## SHA256: 34a54d5191775c1bd37be6cfd3f09e831e072555dc3a2e51f4a2c4b0f8ada5cc ## GlobalSign Root CA ================== -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE----- Entrust.net Premium 2048 Secure Server CA ========================================= -----BEGIN CERTIFICATE----- MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= -----END CERTIFICATE----- Baltimore CyberTrust Root ========================= -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp -----END CERTIFICATE----- Entrust Root Certification Authority ==================================== -----BEGIN CERTIFICATE----- MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 -----END CERTIFICATE----- Comodo AAA Services root ======================== -----BEGIN CERTIFICATE----- MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== -----END CERTIFICATE----- QuoVadis Root CA 2 ================== -----BEGIN CERTIFICATE----- MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt 66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK +JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II 4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u -----END CERTIFICATE----- QuoVadis Root CA 3 ================== -----BEGIN CERTIFICATE----- MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp 8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= -----END CERTIFICATE----- Security Communication Root CA ============================== -----BEGIN CERTIFICATE----- MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw 8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX 5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g 0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ 6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi FL39vmwLAw== -----END CERTIFICATE----- XRamp Global CA Root ==================== -----BEGIN CERTIFICATE----- MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc /Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz 8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= -----END CERTIFICATE----- Go Daddy Class 2 CA =================== -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv 2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b vZ8= -----END CERTIFICATE----- Starfield Class 2 CA ==================== -----BEGIN CERTIFICATE----- MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 QBFGmh95DmK/D5fs4C8fF5Q= -----END CERTIFICATE----- DigiCert Assured ID Root CA =========================== -----BEGIN CERTIFICATE----- MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== -----END CERTIFICATE----- DigiCert Global Root CA ======================= -----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= -----END CERTIFICATE----- DigiCert High Assurance EV Root CA ================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K -----END CERTIFICATE----- SwissSign Gold CA - G2 ====================== -----BEGIN CERTIFICATE----- MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR 7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm 5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr 44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ -----END CERTIFICATE----- SwissSign Silver CA - G2 ======================== -----BEGIN CERTIFICATE----- MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm +/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH 6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P 4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx /uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u -----END CERTIFICATE----- SecureTrust CA ============== -----BEGIN CERTIFICATE----- MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b 01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= -----END CERTIFICATE----- Secure Global CA ================ -----BEGIN CERTIFICATE----- MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g 8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi 0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW -----END CERTIFICATE----- COMODO Certification Authority ============================== -----BEGIN CERTIFICATE----- MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH +7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV 4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA 1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== -----END CERTIFICATE----- Network Solutions Certificate Authority ======================================= -----BEGIN CERTIFICATE----- MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc /Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q 4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey -----END CERTIFICATE----- COMODO ECC Certification Authority ================================== -----BEGIN CERTIFICATE----- MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X 4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= -----END CERTIFICATE----- Certigna ======== -----BEGIN CERTIFICATE----- MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY 1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== -----END CERTIFICATE----- ePKI Root Certification Authority ================================= -----BEGIN CERTIFICATE----- MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX 12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= -----END CERTIFICATE----- certSIGN ROOT CA ================ -----BEGIN CERTIFICATE----- MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD 0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD -----END CERTIFICATE----- NetLock Arany (Class Gold) Főtanúsítvány ======================================== -----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu 0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw /HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= -----END CERTIFICATE----- Hongkong Post Root CA 1 ======================= -----BEGIN CERTIFICATE----- MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== -----END CERTIFICATE----- SecureSign RootCA11 =================== -----BEGIN CERTIFICATE----- MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= -----END CERTIFICATE----- Microsec e-Szigno Root CA 2009 ============================== -----BEGIN CERTIFICATE----- MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG 0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm 1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi LXpUq3DDfSJlgnCW -----END CERTIFICATE----- GlobalSign Root CA - R3 ======================= -----BEGIN CERTIFICATE----- MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ 0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r kpeDMdmztcpHWD9f -----END CERTIFICATE----- Autoridad de Certificacion Firmaprofesional CIF A62634068 ========================================================= -----BEGIN CERTIFICATE----- MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY 7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx 51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi 6Et8Vcad+qMUu2WFbm5PEn4KPJ2V -----END CERTIFICATE----- Izenpe.com ========== -----BEGIN CERTIFICATE----- MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ 03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU +zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK 0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ 0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== -----END CERTIFICATE----- Go Daddy Root Certificate Authority - G2 ======================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq 9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD +qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r 5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 -----END CERTIFICATE----- Starfield Root Certificate Authority - G2 ========================================= -----BEGIN CERTIFICATE----- MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx 4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 -----END CERTIFICATE----- Starfield Services Root Certificate Authority - G2 ================================================== -----BEGIN CERTIFICATE----- MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 -----END CERTIFICATE----- AffirmTrust Commercial ====================== -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv 0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= -----END CERTIFICATE----- AffirmTrust Networking ====================== -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 /PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 /ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= -----END CERTIFICATE----- AffirmTrust Premium =================== -----BEGIN CERTIFICATE----- MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV 5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs +7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 /bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo +Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC 6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK +4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== -----END CERTIFICATE----- AffirmTrust Premium ECC ======================= -----BEGIN CERTIFICATE----- MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X 57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM eQ== -----END CERTIFICATE----- Certum Trusted Network CA ========================= -----BEGIN CERTIFICATE----- MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI 03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= -----END CERTIFICATE----- TWCA Root Certification Authority ================================= -----BEGIN CERTIFICATE----- MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP 4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG 9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== -----END CERTIFICATE----- Security Communication RootCA2 ============================== -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ +T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R 3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk 3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 -----END CERTIFICATE----- Hellenic Academic and Research Institutions RootCA 2011 ======================================================= -----BEGIN CERTIFICATE----- MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI 1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa 71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u 8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH 3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD /md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N 7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 -----END CERTIFICATE----- Actalis Authentication Root CA ============================== -----BEGIN CERTIFICATE----- MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC 4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo 2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== -----END CERTIFICATE----- Buypass Class 2 Root CA ======================= -----BEGIN CERTIFICATE----- MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn 9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b /+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN rJgWVqA= -----END CERTIFICATE----- Buypass Class 3 Root CA ======================= -----BEGIN CERTIFICATE----- MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR 5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh 7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH 2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV /afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz 6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi Cp/HuZc= -----END CERTIFICATE----- T-TeleSec GlobalRoot Class 3 ============================ -----BEGIN CERTIFICATE----- MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK 9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W 0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== -----END CERTIFICATE----- D-TRUST Root Class 3 CA 2 2009 ============================== -----BEGIN CERTIFICATE----- MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ 4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm 2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= -----END CERTIFICATE----- D-TRUST Root Class 3 CA 2 EV 2009 ================================= -----BEGIN CERTIFICATE----- MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T 7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv w9y4AyHqnxbxLFS1 -----END CERTIFICATE----- CA Disig Root R2 ================ -----BEGIN CERTIFICATE----- MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa 5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV 7+ZtsH8tZ/3zbBt1RqPlShfppNcL -----END CERTIFICATE----- ACCVRAIZ1 ========= -----BEGIN CERTIFICATE----- MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ 0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR 5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J 9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd 3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p EfbRD0tVNEYqi4Y7 -----END CERTIFICATE----- TWCA Global Root CA =================== -----BEGIN CERTIFICATE----- MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M 8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg /eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= -----END CERTIFICATE----- TeliaSonera Root CA v1 ====================== -----BEGIN CERTIFICATE----- MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ 6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA 3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx 0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= -----END CERTIFICATE----- E-Tugra Certification Authority =============================== -----BEGIN CERTIFICATE----- MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB /wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G C7TbO6Orb1wdtn7os4I07QZcJA== -----END CERTIFICATE----- T-TeleSec GlobalRoot Class 2 ============================ -----BEGIN CERTIFICATE----- MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR 3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN 9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== -----END CERTIFICATE----- Atos TrustedRoot 2011 ===================== -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr 54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G 3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed -----END CERTIFICATE----- QuoVadis Root CA 1 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV 7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX 9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP +V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh 3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV hMJKzRwuJIczYOXD -----END CERTIFICATE----- QuoVadis Root CA 2 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD 6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr O3jtZsSOeWmD3n+M -----END CERTIFICATE----- QuoVadis Root CA 3 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe 6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX 0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 PpxxVJkES/1Y+Zj0 -----END CERTIFICATE----- DigiCert Assured ID Root G2 =========================== -----BEGIN CERTIFICATE----- MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH 35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv 0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo IhNzbM8m9Yop5w== -----END CERTIFICATE----- DigiCert Assured ID Root G3 =========================== -----BEGIN CERTIFICATE----- MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy 1vUhZscv6pZjamVFkpUBtA== -----END CERTIFICATE----- DigiCert Global Root G2 ======================= -----BEGIN CERTIFICATE----- MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO 3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu 5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl MrY= -----END CERTIFICATE----- DigiCert Global Root G3 ======================= -----BEGIN CERTIFICATE----- MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y 3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 VOKa5Vt8sycX -----END CERTIFICATE----- DigiCert Trusted Root G4 ======================== -----BEGIN CERTIFICATE----- MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy 7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN 5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb /UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa 5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP 82Z+ -----END CERTIFICATE----- COMODO RSA Certification Authority ================================== -----BEGIN CERTIFICATE----- MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ 5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX 2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I LaZRfyHBNVOFBkpdn627G190 -----END CERTIFICATE----- USERTrust RSA Certification Authority ===================================== -----BEGIN CERTIFICATE----- MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz 0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O +T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq /nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8 yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+ eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ 7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM 8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 -----END CERTIFICATE----- USERTrust ECC Certification Authority ===================================== -----BEGIN CERTIFICATE----- MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu 9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= -----END CERTIFICATE----- GlobalSign ECC Root CA - R5 =========================== -----BEGIN CERTIFICATE----- MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 -----END CERTIFICATE----- Staat der Nederlanden EV Root CA ================================ -----BEGIN CERTIFICATE----- MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r 0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr 08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV 0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd 74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq 5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi 5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== -----END CERTIFICATE----- IdenTrust Commercial Root CA 1 ============================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi 1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl 3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH 6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe 2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R cGzM7vRX+Bi6hG6H -----END CERTIFICATE----- IdenTrust Public Sector Root CA 1 ================================= -----BEGIN CERTIFICATE----- MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL 4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ 3Wl9af0AVqW3rLatt8o+Ae+c -----END CERTIFICATE----- Entrust Root Certification Authority - G2 ========================================= -----BEGIN CERTIFICATE----- MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP /vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO e4pIb4tF9g== -----END CERTIFICATE----- Entrust Root Certification Authority - EC1 ========================================== -----BEGIN CERTIFICATE----- MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef 9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G -----END CERTIFICATE----- CFCA EV ROOT ============ -----BEGIN CERTIFICATE----- MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD 7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB /wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua 4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su -----END CERTIFICATE----- OISTE WISeKey Global Root GB CA =============================== -----BEGIN CERTIFICATE----- MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk 9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= -----END CERTIFICATE----- SZAFIR ROOT CA2 =============== -----BEGIN CERTIFICATE----- MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE 2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5 O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67 oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul 4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6 +/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw== -----END CERTIFICATE----- Certum Trusted Network CA 2 =========================== -----BEGIN CERTIFICATE----- MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1 bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9 7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130 GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ 9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7 zAYspsbiDrW5viSP -----END CERTIFICATE----- Hellenic Academic and Research Institutions RootCA 2015 ======================================================= -----BEGIN CERTIFICATE----- MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0 aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+ 6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2 fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+ D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn 82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q p/UsQu0yrbYhnr68 -----END CERTIFICATE----- Hellenic Academic and Research Institutions ECC RootCA 2015 =========================================================== -----BEGIN CERTIFICATE----- MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0 aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290 Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR -----END CERTIFICATE----- ISRG Root X1 ============ -----BEGIN CERTIFICATE----- MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1 3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ 4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf 1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY 9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV 0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ m+kXQ99b21/+jh5Xos1AnX5iItreGCc= -----END CERTIFICATE----- AC RAIZ FNMT-RCM ================ -----BEGIN CERTIFICATE----- MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou 08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ 47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW +YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7 Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d 8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm 5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM= -----END CERTIFICATE----- Amazon Root CA 1 ================ -----BEGIN CERTIFICATE----- MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1 MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB /zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3 DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy 8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa 2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2 xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5 -----END CERTIFICATE----- Amazon Root CA 2 ================ -----BEGIN CERTIFICATE----- MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1 MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4 kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9 AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0 Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+ 3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY +gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3 KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw= -----END CERTIFICATE----- Amazon Root CA 3 ================ -----BEGIN CERTIFICATE----- MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43 rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw== -----END CERTIFICATE----- Amazon Root CA 4 ================ -----BEGIN CERTIFICATE----- MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN /sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri 83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1 AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA== -----END CERTIFICATE----- TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 ============================================= -----BEGIN CERTIFICATE----- MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11 IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8 6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0 3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9 WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= -----END CERTIFICATE----- GDCA TrustAUTH R5 ROOT ====================== -----BEGIN CERTIFICATE----- MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ 9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4 oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx 9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9 H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35 6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd +PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ 8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv /EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== -----END CERTIFICATE----- TrustCor RootCert CA-1 ====================== -----BEGIN CERTIFICATE----- MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4 pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0 JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw /Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5 mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P 3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk= -----END CERTIFICATE----- TrustCor RootCert CA-2 ====================== -----BEGIN CERTIFICATE----- MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0 eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0 IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1 oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1 /p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh 8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU 2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv 2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3 S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ -----END CERTIFICATE----- TrustCor ECA-1 ============== -----BEGIN CERTIFICATE----- MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5 MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23 xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+ fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u /ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g== -----END CERTIFICATE----- SSL.com Root Certification Authority RSA ======================================== -----BEGIN CERTIFICATE----- MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8 P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2 UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8 1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k= -----END CERTIFICATE----- SSL.com Root Certification Authority ECC ======================================== -----BEGIN CERTIFICATE----- MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+ 8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z 5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl -----END CERTIFICATE----- SSL.com EV Root Certification Authority RSA R2 ============================================== -----BEGIN CERTIFICATE----- MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+ B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim 9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48 +qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1 ++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7 CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1 hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX 9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== -----END CERTIFICATE----- SSL.com EV Root Certification Authority ECC =========================================== -----BEGIN CERTIFICATE----- MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy 3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe 5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== -----END CERTIFICATE----- GlobalSign Root CA - R6 ======================= -----BEGIN CERTIFICATE----- MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE 3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+ azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP 0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0 lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr 3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1 0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= -----END CERTIFICATE----- OISTE WISeKey Global Root GC CA =============================== -----BEGIN CERTIFICATE----- MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 -----END CERTIFICATE----- UCA Global G2 Root ================== -----BEGIN CERTIFICATE----- MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV 8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/ R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa 4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97 8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo 5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9 yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A== -----END CERTIFICATE----- UCA Extended Validation Root ============================ -----BEGIN CERTIFICATE----- MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR 59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH 0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS 3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4 dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb +7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr dhh2n1ax -----END CERTIFICATE----- Certigna Root CA ================ -----BEGIN CERTIFICATE----- MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8 JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16 XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq 4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/ /TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of 1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq 7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3 4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd 8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS 6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= -----END CERTIFICATE----- emSign Root CA - G1 =================== -----BEGIN CERTIFICATE----- MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJJTjET MBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRl ZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgx ODMwMDBaMGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVk aHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQzf2N4aLTN LnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkVUkr+PHB1 cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHW DV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ 6DqS0hdW5TUaQBw+jSztOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrH hQIDAQABo0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQDAgEG MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31xPaOfG1vR2vjTnGs2 vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aTvFthUvozXGaCocV685743Q NcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6dGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q +Mri/Tm3R7nrft8EI6/6nAYH6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeih U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx iN66zB+Afko= -----END CERTIFICATE----- emSign ECC Root CA - G3 ======================= -----BEGIN CERTIFICATE----- MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4 MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11 ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc 58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7 jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj -----END CERTIFICATE----- emSign Root CA - C1 =================== -----BEGIN CERTIFICATE----- MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCVVMx EzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNp Z24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UE BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQD ExNlbVNpZ24gUm9vdCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+up ufGZBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU/ Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH3DspVpNqs8FqOp099cGX OFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4V I5b2P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleooms lMuoaJuvimUnzYnu3Yy1aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+ XJGFehiqTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD ggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87/kOXSTKZEhVb3xEp /6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4kqNPEjE2NuLe/gDEo2APJ62gsIq1 NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrGYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9 wC68AivTxEDkigcxHpvOJpkT+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQ BmIMMMAVSKeoWXzhriKi4gp6D/piq1JM4fHfyr6DDUI= -----END CERTIFICATE----- emSign ECC Root CA - C3 ======================= -----BEGIN CERTIFICATE----- MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQGEwJVUzETMBEG A1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2lnbiBF Q0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UE BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQD ExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd 6bciMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4OjavtisIGJAnB9 SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0OBBYEFPtaSNCAIEDyqOkA B2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gA MGUCMQC02C8Cif22TGK6Q04ThHK1rt0c3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwU ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== -----END CERTIFICATE----- Hongkong Post Root CA 3 ======================= -----BEGIN CERTIFICATE----- MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQELBQAwbzELMAkG A1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJSG9uZyBLb25nMRYwFAYDVQQK Ew1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25na29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2 MDMwMjI5NDZaFw00MjA2MDMwMjI5NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtv bmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMX SG9uZ2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz iNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFOdem1p+/l6TWZ5Mwc50tf jTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mIVoBc+L0sPOFMV4i707mV78vH9toxdCim 5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOe sL4jpNrcyCse2m5FHomY2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj 0mRiikKYvLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+TtbNe/ JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZbx39ri1UbSsUgYT2u y1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+l2oBlKN8W4UdKjk60FSh0Tlxnf0h +bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YKTE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsG xVd7GYYKecsAyVKvQv83j+GjHno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwID AQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEwDQYJKoZIhvcN AQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG7BJ8dNVI0lkUmcDrudHr9Egw W62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCkMpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWld y8joRTnU+kLBEUx3XZL7av9YROXrgZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov +BS5gLNdTaqX4fnkGMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDc eqFS3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJmOzj/2ZQw 9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+l6mc1X5VTMbeRRAc6uk7 nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6cJfTzPV4e0hz5sy229zdcxsshTrD3mUcY hcErulWuBurQB7Lcq9CClnXO0lD+mefPL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB 60PZ2Pierc+xYw5F9KBaLJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fq dBb9HxEGmpv0 -----END CERTIFICATE----- Entrust Root Certification Authority - G4 ========================================= -----BEGIN CERTIFICATE----- MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAwgb4xCzAJBgNV BAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3Qu bmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1 dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eSAtIEc0MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYT AlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eSAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3D umSXbcr3DbVZwbPLqGgZ2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV 3imz/f3ET+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j5pds 8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAMC1rlLAHGVK/XqsEQ e9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73TDtTUXm6Hnmo9RR3RXRv06QqsYJn7 ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNXwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5X xNMhIWNlUpEbsZmOeX7m640A2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV 7rtNOzK+mndmnqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8 dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwlN4y6mACXi0mW Hv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNjc0kCAwEAAaNCMEAwDwYDVR0T AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9n MA0GCSqGSIb3DQEBCwUAA4ICAQAS5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4Q jbRaZIxowLByQzTSGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht 7LGrhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/B7NTeLUK YvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uIAeV8KEsD+UmDfLJ/fOPt jqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbwH5Lk6rWS02FREAutp9lfx1/cH6NcjKF+ m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKW RGhXxNUzzxkvFMSUHHuk2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjA JOgc47OlIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk5F6G +TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuYn/PIjhs4ViFqUZPT kcpG2om3PVODLAgfi49T3f+sHw== -----END CERTIFICATE----- Microsoft ECC Root Certificate Authority 2017 ============================================= -----BEGIN CERTIFICATE----- MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQgRUND IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4 MjMxNjA0WjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw NAYDVQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQ BgcqhkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZRogPZnZH6 thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYbhGBKia/teQ87zvH2RPUB eMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIy5lycFIM +Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlf Xu5gKcs68tvWMoQZP3zVL8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaR eNtUjGUBiudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M= -----END CERTIFICATE----- Microsoft RSA Root Certificate Authority 2017 ============================================= -----BEGIN CERTIFICATE----- MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQG EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQg UlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIw NzE4MjMwMDIzWjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u MTYwNAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcw ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZNt9GkMml 7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0ZdDMbRnMlfl7rEqUrQ7e S0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw7 1VdyvD/IybLeS2v4I2wDwAW9lcfNcztmgGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+ dkC0zVJhUXAoP8XFWvLJjEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49F yGcohJUcaDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaGYaRS MLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6W6IYZVcSn2i51BVr lMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4KUGsTuqwPN1q3ErWQgR5WrlcihtnJ 0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJ ClTUFLkqqNfs+avNJVgyeY+QW5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYw DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZCLgLNFgVZJ8og 6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OCgMNPOsduET/m4xaRhPtthH80 dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk +ONVFT24bcMKpBLBaYVu32TxU5nhSnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex /2kskZGT4d9Mozd2TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDy AmH3pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGRxpl/j8nW ZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiAppGWSZI1b7rCoucL5mxAyE 7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKT c0QWbej09+CVgI+WXTik9KveCjCHk9hNAHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D 5KbvtwEwXlGjefVwaaZBRA+GsCyRxj3qrg+E -----END CERTIFICATE----- e-Szigno Root CA 2017 ===================== -----BEGIN CERTIFICATE----- MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNVBAYTAkhVMREw DwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUt MjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJvb3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZa Fw00MjA4MjIxMjA3MDZaMHExCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UE CgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3pp Z25vIFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtvxie+RJCx s1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+HWyx7xf58etqjYzBhMA8G A1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSHERUI0arBeAyxr87GyZDv vzAEwDAfBgNVHSMEGDAWgBSHERUI0arBeAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEA tVfd14pVCzbhhkT61NlojbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxO svxyqltZ+efcMQ== -----END CERTIFICATE----- certSIGN Root CA G2 =================== -----BEGIN CERTIFICATE----- MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNVBAYTAlJPMRQw EgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjAeFw0xNzAy MDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lH TiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP ADCCAgoCggIBAMDFdRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05 N0IwvlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZuIt4Imfk abBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhpn+Sc8CnTXPnGFiWeI8Mg wT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKscpc/I1mbySKEwQdPzH/iV8oScLumZfNp dWO9lfsbl83kqK/20U6o2YpxJM02PbyWxPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91Qqh ngLjYl/rNUssuHLoPj1PrCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732 jcZZroiFDsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fxDTvf 95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgyLcsUDFDYg2WD7rlc z8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6CeWRgKRM+o/1Pcmqr4tTluCRVLERL iohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1Ud DgQWBBSCIS1mxteg4BXrzkwJd8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOB ywaK8SJJ6ejqkX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQlqiCA2ClV9+BB /AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0OJD7uNGzcgbJceaBxXntC6Z5 8hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+cNywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5 BiKDUyUM/FHE5r7iOZULJK2v0ZXkltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklW atKcsWMy5WHgUyIOpwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tU Sxfj03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZkPuXaTH4M NMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE1LlSVHJ7liXMvGnjSG4N 0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MXQRBdJ3NghVdJIgc= -----END CERTIFICATE----- Trustwave Global Certification Authority ======================================== -----BEGIN CERTIFICATE----- MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJV UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2 ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTAeFw0xNzA4MjMxOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJV UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2 ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALldUShLPDeS0YLOvR29 zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0XznswuvCAAJWX/NKSqIk4cXGIDtiLK0thAf LdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4Bq stTnoApTAbqOl5F2brz81Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9o WN0EACyW80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotPJqX+ OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1lRtzuzWniTY+HKE40 Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfwhI0Vcnyh78zyiGG69Gm7DIwLdVcE uE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm +9jaJXLE9gCxInm943xZYkqcBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqj ifLJS3tBEW1ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1UdDwEB/wQEAwIB BjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W0OhUKDtkLSGm+J1WE2pIPU/H PinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfeuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0H ZJDmHvUqoai7PF35owgLEQzxPy0QlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla 4gt5kNdXElE1GYhBaCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5R vbbEsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPTMaCm/zjd zyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qequ5AvzSxnI9O4fKSTx+O 856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxhVicGaeVyQYHTtgGJoC86cnn+OjC/QezH Yj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu 3R3y4G5OBVixwJAWKqQ9EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP 29FpHOTKyeC2nOnOcXHebD8WpHk= -----END CERTIFICATE----- Trustwave Global ECC P256 Certification Authority ================================================= -----BEGIN CERTIFICATE----- MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYDVQQGEwJVUzER MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYD VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1 NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH77bOYj 43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoNFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqm P62jQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt 0UrrdaVKEJmzsaGLSvcwCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjz RM4q3wghDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7 -----END CERTIFICATE----- Trustwave Global ECC P384 Certification Authority ================================================= -----BEGIN CERTIFICATE----- MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYDVQQGEwJVUzER MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYD VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4 NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuBBAAiA2IABGvaDXU1CDFH Ba5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr /TklZvFe/oyujUF5nQlgziip04pt89ZF1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNV HQ8BAf8EBQMDBwYAMB0GA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNn ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw== -----END CERTIFICATE----- NAVER Global Root Certification Authority ========================================= -----BEGIN CERTIFICATE----- MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEMBQAwaTELMAkG A1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRGT1JNIENvcnAuMTIwMAYDVQQD DClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4 NDJaFw0zNzA4MTgyMzU5NTlaMGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVT UyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVAiQqrDZBb UGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH38dq6SZeWYp34+hInDEW +j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lEHoSTGEq0n+USZGnQJoViAbbJAh2+g1G7 XNr4rRVqmfeSVPc0W+m/6imBEtRTkZazkVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2 aacp+yPOiNgSnABIqKYPszuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4 Yb8ObtoqvC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHfnZ3z VHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaGYQ5fG8Ir4ozVu53B A0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo0es+nPxdGoMuK8u180SdOqcXYZai cdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3aCJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejy YhbLgGvtPe31HzClrkvJE+2KAQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNV HQ4EFgQU0p+I36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoNqo0hV4/GPnrK 21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatjcu3cvuzHV+YwIHHW1xDBE1UB jCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bx hYTeodoS76TiEJd6eN4MUZeoIUCLhr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTg E34h5prCy8VCZLQelHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTH D8z7p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8piKCk5XQ A76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLRLBT/DShycpWbXgnbiUSY qqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oG I/hGoiLtk/bdmuYqh7GYVPEi92tF4+KOdh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmg kpzNNIaRkPpkUZ3+/uul9XXeifdy -----END CERTIFICATE----- AC RAIZ FNMT-RCM SERVIDORES SEGUROS =================================== -----BEGIN CERTIFICATE----- MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQswCQYDVQQGEwJF UzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgwFgYDVQRhDA9WQVRFUy1RMjgy NjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1SQ00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4 MTIyMDA5MzczM1oXDTQzMTIyMDA5MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt UkNNMQ4wDAYDVQQLDAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNB QyBSQUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuBBAAiA2IA BPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LHsbI6GA60XYyzZl2hNPk2 LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oKUm8BA06Oi6NCMEAwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqG SM49BAMDA2kAMGYCMQCuSuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoD zBOQn5ICMQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJyv+c= -----END CERTIFICATE----- GlobalSign Root R46 =================== -----BEGIN CERTIFICATE----- MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUAMEYxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJv b3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAX BgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIi MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08Es CVeJOaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQGvGIFAha/ r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud316HCkD7rRlr+/fKYIje 2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo0q3v84RLHIf8E6M6cqJaESvWJ3En7YEt bWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSEy132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvj K8Cd+RTyG/FWaha/LIWFzXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD4 12lPFzYE+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCNI/on ccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzsx2sZy/N78CsHpdls eVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqaByFrgY/bxFn63iLABJzjqls2k+g9 vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEM BQADggIBAHx47PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti2kM3S+LGteWy gxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIkpnnpHs6i58FZFZ8d4kuaPp92 CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRFFRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZm OUdkLG5NrmJ7v2B0GbhWrJKsFjLtrWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qq JZ4d16GLuc1CLgSkZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwye qiv5u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP4vkYxboz nxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6N3ec592kD3ZDZopD8p/7 DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3vouXsXgxT7PntgMTzlSdriVZzH81Xwj3 QEUxeCp6 -----END CERTIFICATE----- GlobalSign Root E46 =================== -----BEGIN CERTIFICATE----- MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYxCzAJBgNVBAYT AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3Qg RTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNV BAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcq hkjOPQIBBgUrgQQAIgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkB jtjqR+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGddyXqBPCCj QjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQxCpCPtsad0kRL gLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZk vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+ CAezNIm8BZ/3Hobui3A= -----END CERTIFICATE----- GLOBALTRUST 2020 ================ -----BEGIN CERTIFICATE----- MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQx IzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVT VCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYxMDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAh BgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAy MDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWi D59bRatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9ZYybNpyrO VPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3QWPKzv9pj2gOlTblzLmM CcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPwyJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCm fecqQjuCgGOlYx8ZzHyyZqjC0203b+J+BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKA A1GqtH6qRNdDYfOiaxaJSaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9OR JitHHmkHr96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj04KlG DfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9MedKZssCz3AwyIDMvU clOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIwq7ejMZdnrY8XD2zHc+0klGvIg5rQ mjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1Ud IwQYMBaAFNwuH9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJCXtzoRlgHNQIw 4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd6IwPS3BD0IL/qMy/pJTAvoe9 iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS 8cE54+X1+NZK3TTN+2/BT+MAi1bikvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2 HcqtbepBEX4tdJP7wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxS vTOBTI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6CMUO+1918 oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn4rnvyOL2NSl6dPrFf4IF YqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+IaFvowdlxfv1k7/9nR4hYJS8+hge9+6jl gqispdNpQ80xiEmEU5LAsTkbOYMBMMTyqfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg== -----END CERTIFICATE----- ANF Secure Server Root CA ========================= -----BEGIN CERTIFICATE----- MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNVBAUTCUc2MzI4 NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lv bjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNVBAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3Qg Q0EwHhcNMTkwOTA0MTAwMDM4WhcNMzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEw MQswCQYDVQQGEwJFUzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQw EgYDVQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9vdCBDQTCC AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCjcqQZAZ2cC4Ffc0m6p6zz BE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9qyGFOtibBTI3/TO80sh9l2Ll49a2pcbnv T1gdpd50IJeh7WhM3pIXS7yr/2WanvtH2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcv B2VSAKduyK9o7PQUlrZXH1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXse zx76W0OLzc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyRp1RM VwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQzW7i1o0TJrH93PB0j 7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/SiOL9V8BY9KHcyi1Swr1+KuCLH5z JTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJnLNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe 8TZBAQIvfXOn3kLMTOmJDVb3n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVO Hj1tyRRM4y5Bu8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAOBgNVHQ8BAf8E BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEATh65isagmD9uw2nAalxJ UqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzx j6ptBZNscsdW699QIyjlRRA96Gejrw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDt dD+4E5UGUcjohybKpFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM 5gf0vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjqOknkJjCb 5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ/zo1PqVUSlJZS2Db7v54 EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ92zg/LFis6ELhDtjTO0wugumDLmsx2d1H hk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI+PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGy g77FGr8H6lnco4g175x2MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3 r5+qPeoott7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw= -----END CERTIFICATE----- Certum EC-384 CA ================ -----BEGIN CERTIFICATE----- MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQswCQYDVQQGEwJQ TDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2 MDcyNDU0WhcNNDMwMzI2MDcyNDU0WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERh dGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx GTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATEKI6rGFtq vm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7TmFy8as10CW4kjPMIRBSqn iBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68KjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFI0GZnQkdjrzife81r1HfS+8EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNo ADBlAjADVS2m5hjEfO/JUG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0 QoSZ/6vnnvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k= -----END CERTIFICATE----- Certum Trusted Root CA ====================== -----BEGIN CERTIFICATE----- MIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6MQswCQYDVQQG EwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0g Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0Ew HhcNMTgwMzE2MTIxMDEzWhcNNDMwMzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMY QXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEB AQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZn0EGze2jusDbCSzBfN8p fktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/qp1x4EaTByIVcJdPTsuclzxFUl6s1wB52 HO8AU5853BSlLCIls3Jy/I2z5T4IHhQqNwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2 fJmItdUDmj0VDT06qKhF8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGt g/BKEiJ3HAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGamqi4 NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi7VdNIuJGmj8PkTQk fVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSFytKAQd8FqKPVhJBPC/PgP5sZ0jeJ P/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0PqafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSY njYJdmZm/Bo/6khUHL4wvYBQv3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHK HRzQ+8S1h9E6Tsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1 vALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQADggIBAEii1QAL LtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4WxmB82M+w85bj/UvXgF2Ez8s ALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvozMrnadyHncI013nR03e4qllY/p0m+jiGPp2K h2RX5Rc64vmNueMzeMGQ2Ljdt4NR5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8 CYyqOhNf6DR5UMEQGfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA 4kZf5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq0Uc9Nneo WWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7DP78v3DSk+yshzWePS/Tj 6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTMqJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmT OPQD8rv7gmsHINFSH5pkAnuYZttcTVoP0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZck bxJF0WddCajJFdr60qZfE2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb -----END CERTIFICATE----- TunTrust Root CA ================ -----BEGIN CERTIFICATE----- MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQELBQAwYTELMAkG A1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUgQ2VydGlmaWNhdGlvbiBFbGVj dHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJvb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQw NDI2MDg1NzU2WjBhMQswCQYDVQQGEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBD ZXJ0aWZpY2F0aW9uIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZn56eY+hz 2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd2JQDoOw05TDENX37Jk0b bjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgFVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7 NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAd gjH8KcwAWJeRTIAAHDOFli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViW VSHbhlnUr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2eY8f Tpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIbMlEsPvLfe/ZdeikZ juXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISgjwBUFfyRbVinljvrS5YnzWuioYas DXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwS VXAkPcvCFDVDXSdOvsC9qnyW5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI 04Y+oXNZtPdEITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+zxiD2BkewhpMl 0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYuQEkHDVneixCwSQXi/5E/S7fd Ao74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRY YdZ2vyJ/0Adqp2RT8JeNnYA/u8EH22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJp adbGNjHh/PqAulxPxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65x xBzndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5Xc0yGYuP jCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7bnV2UqL1g52KAdoGDDIzM MEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9z ZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZHu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3r AZ3r2OvEhJn7wAzMMujjd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o= -----END CERTIFICATE----- HARICA TLS RSA Root CA 2021 =========================== -----BEGIN CERTIFICATE----- MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQG EwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u cyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0EgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUz OFoXDTQ1MDIxMzEwNTUzN1owbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRl bWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNB IFJvb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569lmwVnlskN JLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE4VGC/6zStGndLuwRo0Xu a2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uva9of08WRiFukiZLRgeaMOVig1mlDqa2Y Ulhu2wr7a89o+uOkXjpFc5gH6l8Cct4MpbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K 5FrZx40d/JiZ+yykgmvwKh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEv dmn8kN3bLW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcYAuUR 0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqBAGMUuTNe3QvboEUH GjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYqE613TBoYm5EPWNgGVMWX+Ko/IIqm haZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHrW2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQ CPxrvrNQKlr9qEgYRtaQQJKQCoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8G A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAUX15QvWiWkKQU EapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3f5Z2EMVGpdAgS1D0NTsY9FVq QRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxajaH6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxD QpSbIPDRzbLrLFPCU3hKTwSUQZqPJzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcR j88YxeMn/ibvBZ3PzzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5 vZStjBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0/L5H9MG0 qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pTBGIBnfHAT+7hOtSLIBD6 Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79aPib8qXPMThcFarmlwDB31qlpzmq6YR/ PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YWxw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnn kf3/W9b3raYvAwtt41dU63ZTGI0RmLo= -----END CERTIFICATE----- HARICA TLS ECC Root CA 2021 =========================== -----BEGIN CERTIFICATE----- MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW 0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps -----END CERTIFICATE----- Autoridad de Certificacion Firmaprofesional CIF A62634068 ========================================================= -----BEGIN CERTIFICATE----- MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCRVMxQjBA BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIw QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY 7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1Ud DgQWBBRlzeurNR4APn7VdMActHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4w gZswgZgGBFUdIAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABCAG8AbgBhAG4A bwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAwADEANzAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9miWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL 4QjbEwj4KKE1soCzC1HA01aajTNFSa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDb LIpgD7dvlAceHabJhfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1il I45PVf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZEEAEeiGaP cjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV1aUsIC+nmCjuRfzxuIgA LI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2tCsvMo2ebKHTEm9caPARYpoKdrcd7b/+A lun4jWq9GJAd/0kakFI3ky88Al2CdgtR5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH 9IBk9W6VULgRfhVwOEqwf9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpf NIbnYrX9ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNKGbqE ZycPvEJdvSRUDewdcAZfpLz6IHxV -----END CERTIFICATE----- vTrus ECC Root CA ================= -----BEGIN CERTIFICATE----- MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMwRzELMAkGA1UE BhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBS b290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDczMTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAa BgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYw EAYHKoZIzj0CAQYFK4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+c ToL0v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUde4BdS49n TPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYDVR0TAQH/BAUwAwEB/zAO BgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIwV53dVvHH4+m4SVBrm2nDb+zDfSXkV5UT QJtS0zvzQBm8JsctBp61ezaf9SXUY2sAAjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQL YgmRWAD5Tfs0aNoJrSEGGJTO -----END CERTIFICATE----- vTrus Root CA ============= -----BEGIN CERTIFICATE----- MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQELBQAwQzELMAkG A1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xFjAUBgNVBAMTDXZUcnVzIFJv b3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMxMDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoG A1UEChMTaVRydXNDaGluYSBDby4sTHRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZots SKYcIrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykUAyyNJJrI ZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+GrPSbcKvdmaVayqwlHeF XgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z98Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KA YPxMvDVTAWqXcoKv8R1w6Jz1717CbMdHflqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70 kLJrxLT5ZOrpGgrIDajtJ8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2 AXPKBlim0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZNpGvu /9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQUqqzApVg+QxMaPnu 1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHWOXSuTEGC2/KmSNGzm/MzqvOmwMVO 9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMBAAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYg scasGrz2iTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOC AgEAKbqSSaet8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1jbhd47F18iMjr jld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvMKar5CKXiNxTKsbhm7xqC5PD4 8acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIivTDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJn xDHO2zTlJQNgJXtxmOTAGytfdELSS8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554Wg icEFOwE30z9J4nfrI8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4 sEb9b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNBUvupLnKW nyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1PTi07NEPhmg4NpGaXutIc SkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929vensBxXVsFy6K2ir40zSbofitzmdHxghm+H l3s= -----END CERTIFICATE----- ISRG Root X2 ============ -----BEGIN CERTIFICATE----- MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQswCQYDVQQGEwJV UzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElT UkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVT MSkwJwYDVQQKEyBJbnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNS RyBSb290IFgyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0H ttwW+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9ItgKbppb d9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV HQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZIzj0EAwMDaAAwZQIwe3lORlCEwkSHRhtF cP9Ymd70/aTSVaYgLXTWNLxBo1BfASdWtL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5 U6VR5CmD1/iQMVtCnwr1/q4AaOeMSQ+2b1tbFfLn -----END CERTIFICATE----- HiPKI Root CA - G1 ================== -----BEGIN CERTIFICATE----- MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBPMQswCQYDVQQG EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xGzAZBgNVBAMMEkhpUEtJ IFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRaFw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYT AlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kg Um9vdCBDQSAtIEcxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0 o9QwqNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twvVcg3Px+k wJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6lZgRZq2XNdZ1AYDgr/SE YYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnzQs7ZngyzsHeXZJzA9KMuH5UHsBffMNsA GJZMoYFL3QRtU6M9/Aes1MU3guvklQgZKILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfd hSi8MEyr48KxRURHH+CKFgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj 1jOXTyFjHluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDry+K4 9a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ/W3c1pzAtH2lsN0/ Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgMa/aOEmem8rJY5AIJEzypuxC00jBF 8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi 7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqcSE5XCV0vrPSl tJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6FzaZsT0pPBWGTMpWmWSBUdGSquE wx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9TcXzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07Q JNBAsNB1CI69aO4I1258EHBGG3zgiLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv 5wiZqAxeJoBF1PhoL5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+Gpz jLrFNe85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wrkkVbbiVg hUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+vhV4nYWBSipX3tUZQ9rb yltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQUYDksswBVLuT1sw5XxJFBAJw/6KXf6vb/ yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ== -----END CERTIFICATE----- GlobalSign ECC Root CA - R4 =========================== -----BEGIN CERTIFICATE----- MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYDVQQLExtHbG9i YWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds b2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgwMTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9i YWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds b2JhbFNpZ24wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkW ymOxuYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNVHQ8BAf8E BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/+wpu+74zyTyjhNUwCgYI KoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147bmF0774BxL4YSFlhgjICICadVGNA3jdg UM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm -----END CERTIFICATE----- GTS Root R1 =========== -----BEGIN CERTIFICATE----- MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg UjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7raKb0 xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnWr4+w B7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXW nOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk 9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zq kUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92wO1A K/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om3xPX V2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDW cfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T AQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQAD ggIBAJ+qQibbC5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuyh6f88/qBVRRi ClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM47HLwEXWdyzRSjeZ2axfG34ar J45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8JZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYci NuaCp+0KueIHoI17eko8cdLiA6EfMgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5me LMFrUKTX5hgUvYU/Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJF fbdT6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ0E6yove+ 7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm2tIMPNuzjsmhDYAPexZ3 FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bbbP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3 gm3c -----END CERTIFICATE----- GTS Root R2 =========== -----BEGIN CERTIFICATE----- MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg UjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo7JUl e3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWIm8Wb a96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS +LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7M kogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJG r61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RWIr9q S34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73VululycslaVNV J1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy5okL dWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T AQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQAD ggIBAB/Kzt3HvqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyCB19m3H0Q/gxh swWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2uNmSRXbBoGOqKYcl3qJfEycel /FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMgyALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVn jWQye+mew4K6Ki3pHrTgSAai/GevHyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y5 9PYjJbigapordwj6xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M 7YNRTOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924SgJPFI/2R8 0L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV7LXTWtiBmelDGDfrs7vR WGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjW HYbL -----END CERTIFICATE----- GTS Root R3 =========== -----BEGIN CERTIFICATE----- MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJVUzEi MCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMw HhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZ R29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjO PQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout 736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24CejQjBA MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP0/Eq Er24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azT L818+FsuVbu/3ZL3pAzcMeGiAjEA/JdmZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV 11RZt+cRLInUue4X -----END CERTIFICATE----- GTS Root R4 =========== -----BEGIN CERTIFICATE----- MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJVUzEi MCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQw HhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZ R29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjO PQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqjQjBA MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV2Py1 PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/C r8deVl5c1RxYIigL9zC2L7F8AjEA8GE8p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh 4rsUecrNIdSUtUlD -----END CERTIFICATE----- Telia Root CA v2 ================ -----BEGIN CERTIFICATE----- MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQxCzAJBgNVBAYT AkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2 MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQK DBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZI hvcNAQEBBQADggIPADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ7 6zBqAMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9vVYiQJ3q 9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9lRdU2HhE8Qx3FZLgmEKn pNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTODn3WhUidhOPFZPY5Q4L15POdslv5e2QJl tI5c0BE0312/UqeBAMN/mUWZFdUXyApT7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW 5olWK8jjfN7j/4nlNW4o6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNr RBH0pUPCTEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6WT0E BXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63RDolUK5X6wK0dmBR4 M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZIpEYslOqodmJHixBTB0hXbOKSTbau BcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGjYzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7W xy+G2CQ5MB0GA1UdDgQWBBRyrOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYD VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ 8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi0f6X+J8wfBj5 tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMMA8iZGok1GTzTyVR8qPAs5m4H eW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBSSRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+C y748fdHif64W1lZYudogsYMVoe+KTTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygC QMez2P2ccGrGKMOF6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15 h2Er3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMtTy3EHD70 sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pTVmBds9hCG1xLEooc6+t9 xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAWysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQ raVplI/owd8k+BsHMYeB2F326CjYSlKArBPuUBQemMc= -----END CERTIFICATE----- D-TRUST BR Root CA 1 2020 ========================= -----BEGIN CERTIFICATE----- MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQswCQYDVQQGEwJE RTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEJSIFJvb3QgQ0EgMSAy MDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNV BAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAG ByqGSM49AgEGBSuBBAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7 dPYSzuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0QVK5buXu QqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/VbNafAkl1bK6CKBrqx9t MA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6gPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3Qu bmV0L2NybC9kLXRydXN0X2JyX3Jvb3RfY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVj dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxP PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD AwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFWwKrY7RjEsK70Pvom AjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHVdWNbFJWcHwHP2NVypw87 -----END CERTIFICATE----- D-TRUST EV Root CA 1 2020 ========================= -----BEGIN CERTIFICATE----- MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQswCQYDVQQGEwJE RTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEVWIFJvb3QgQ0EgMSAy MDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNV BAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAG ByqGSM49AgEGBSuBBAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8 ZRCC/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rDwpdhQntJ raOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3OqQo5FD4pPfsazK2/umL MA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6gPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3Qu bmV0L2NybC9kLXRydXN0X2V2X3Jvb3RfY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVj dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxP PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD AwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CAy/m0sRtW9XLS/BnR AjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJbgfM0agPnIjhQW+0ZT0MW -----END CERTIFICATE----- lib/stripe-gateway/OPENAPI_VERSION000064400000000005147206617610012507 0ustar00v1154lib/stripe-gateway/lib/HttpClient/CurlClient.php000064400000057277147206617610015714 0ustar00defaultOptions = $defaultOptions; $this->randomGenerator = $randomGenerator ?: new Util\RandomGenerator(); $this->initUserAgentInfo(); $this->enableHttp2 = $this->canSafelyUseHttp2(); } public function __destruct() { $this->closeCurlHandle(); } public function initUserAgentInfo() { $curlVersion = \curl_version(); $this->userAgentInfo = [ 'httplib' => 'curl ' . $curlVersion['version'], 'ssllib' => $curlVersion['ssl_version'], ]; } public function getDefaultOptions() { return $this->defaultOptions; } public function getUserAgentInfo() { return $this->userAgentInfo; } /** * @return bool */ public function getEnablePersistentConnections() { return $this->enablePersistentConnections; } /** * @param bool $enable */ public function setEnablePersistentConnections($enable) { $this->enablePersistentConnections = $enable; } /** * @return bool */ public function getEnableHttp2() { return $this->enableHttp2; } /** * @param bool $enable */ public function setEnableHttp2($enable) { $this->enableHttp2 = $enable; } /** * @return null|callable */ public function getRequestStatusCallback() { return $this->requestStatusCallback; } /** * Sets a callback that is called after each request. The callback will * receive the following parameters: *
    *
  1. string $rbody The response body
  2. *
  3. integer $rcode The response status code
  4. *
  5. \Stripe\Util\CaseInsensitiveArray $rheaders The response headers
  6. *
  7. integer $errno The curl error number
  8. *
  9. string|null $message The curl error message
  10. *
  11. boolean $shouldRetry Whether the request will be retried
  12. *
  13. integer $numRetries The number of the retry attempt
  14. *
. * * @param null|callable $requestStatusCallback */ public function setRequestStatusCallback($requestStatusCallback) { $this->requestStatusCallback = $requestStatusCallback; } // USER DEFINED TIMEOUTS const DEFAULT_TIMEOUT = 80; const DEFAULT_CONNECT_TIMEOUT = 30; private $timeout = self::DEFAULT_TIMEOUT; private $connectTimeout = self::DEFAULT_CONNECT_TIMEOUT; public function setTimeout($seconds) { $this->timeout = (int) \max($seconds, 0); return $this; } public function setConnectTimeout($seconds) { $this->connectTimeout = (int) \max($seconds, 0); return $this; } public function getTimeout() { return $this->timeout; } public function getConnectTimeout() { return $this->connectTimeout; } // END OF USER DEFINED TIMEOUTS private function constructRequest($method, $absUrl, $headers, $params, $hasFile) { $method = \strtolower($method); $opts = []; if (\is_callable($this->defaultOptions)) { // call defaultOptions callback, set options to return value $opts = \call_user_func_array($this->defaultOptions, \func_get_args()); if (!\is_array($opts)) { throw new Exception\UnexpectedValueException('Non-array value returned by defaultOptions CurlClient callback'); } } elseif (\is_array($this->defaultOptions)) { // set default curlopts from array $opts = $this->defaultOptions; } $params = Util\Util::objectsToIds($params); if ('get' === $method) { if ($hasFile) { throw new Exception\UnexpectedValueException( 'Issuing a GET request with a file parameter' ); } $opts[\CURLOPT_HTTPGET] = 1; if (\count($params) > 0) { $encoded = Util\Util::encodeParameters($params); $absUrl = "{$absUrl}?{$encoded}"; } } elseif ('post' === $method) { $opts[\CURLOPT_POST] = 1; $opts[\CURLOPT_POSTFIELDS] = $hasFile ? $params : Util\Util::encodeParameters($params); } elseif ('delete' === $method) { $opts[\CURLOPT_CUSTOMREQUEST] = 'DELETE'; if (\count($params) > 0) { $encoded = Util\Util::encodeParameters($params); $absUrl = "{$absUrl}?{$encoded}"; } } else { throw new Exception\UnexpectedValueException("Unrecognized method {$method}"); } // It is only safe to retry network failures on POST requests if we // add an Idempotency-Key header if (('post' === $method) && (Stripe::$maxNetworkRetries > 0)) { if (!$this->hasHeader($headers, 'Idempotency-Key')) { $headers[] = 'Idempotency-Key: ' . $this->randomGenerator->uuid(); } } // By default for large request body sizes (> 1024 bytes), cURL will // send a request without a body and with a `Expect: 100-continue` // header, which gives the server a chance to respond with an error // status code in cases where one can be determined right away (say // on an authentication problem for example), and saves the "large" // request body from being ever sent. // // Unfortunately, the bindings don't currently correctly handle the // success case (in which the server sends back a 100 CONTINUE), so // we'll error under that condition. To compensate for that problem // for the time being, override cURL's behavior by simply always // sending an empty `Expect:` header. $headers[] = 'Expect: '; $absUrl = Util\Util::utf8($absUrl); $opts[\CURLOPT_URL] = $absUrl; $opts[\CURLOPT_RETURNTRANSFER] = true; $opts[\CURLOPT_CONNECTTIMEOUT] = $this->connectTimeout; $opts[\CURLOPT_TIMEOUT] = $this->timeout; $opts[\CURLOPT_HTTPHEADER] = $headers; $opts[\CURLOPT_CAINFO] = Stripe::getCABundlePath(); if (!Stripe::getVerifySslCerts()) { $opts[\CURLOPT_SSL_VERIFYPEER] = false; } if (!isset($opts[\CURLOPT_HTTP_VERSION]) && $this->getEnableHttp2()) { // For HTTPS requests, enable HTTP/2, if supported $opts[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2TLS; } return [$opts, $absUrl]; } public function request($method, $absUrl, $headers, $params, $hasFile) { list($opts, $absUrl) = $this->constructRequest($method, $absUrl, $headers, $params, $hasFile); list($rbody, $rcode, $rheaders) = $this->executeRequestWithRetries($opts, $absUrl); return [$rbody, $rcode, $rheaders]; } public function requestStream($method, $absUrl, $headers, $params, $hasFile, $readBodyChunk) { list($opts, $absUrl) = $this->constructRequest($method, $absUrl, $headers, $params, $hasFile); $opts[\CURLOPT_RETURNTRANSFER] = false; list($rbody, $rcode, $rheaders) = $this->executeStreamingRequestWithRetries($opts, $absUrl, $readBodyChunk); return [$rbody, $rcode, $rheaders]; } /** * Curl permits sending \CURLOPT_HEADERFUNCTION, which is called with lines * from the header and \CURLOPT_WRITEFUNCTION, which is called with bytes * from the body. You usually want to handle the body differently depending * on what was in the header. * * This function makes it easier to specify different callbacks depending * on the contents of the heeder. After the header has been completely read * and the body begins to stream, it will call $determineWriteCallback with * the array of headers. $determineWriteCallback should, based on the * headers it receives, return a "writeCallback" that describes what to do * with the incoming HTTP response body. * * @param array $opts * @param callable $determineWriteCallback * * @return array */ private function useHeadersToDetermineWriteCallback($opts, $determineWriteCallback) { $rheaders = new Util\CaseInsensitiveArray(); $headerCallback = function ($curl, $header_line) use (&$rheaders) { return self::parseLineIntoHeaderArray($header_line, $rheaders); }; $writeCallback = null; $writeCallbackWrapper = function ($curl, $data) use (&$writeCallback, &$rheaders, &$determineWriteCallback) { if (null === $writeCallback) { $writeCallback = \call_user_func_array($determineWriteCallback, [$rheaders]); } return \call_user_func_array($writeCallback, [$curl, $data]); }; return [$headerCallback, $writeCallbackWrapper]; } private static function parseLineIntoHeaderArray($line, &$headers) { if (false === \strpos($line, ':')) { return \strlen($line); } list($key, $value) = \explode(':', \trim($line), 2); $headers[\trim($key)] = \trim($value); return \strlen($line); } /** * Like `executeRequestWithRetries` except: * 1. Does not buffer the body of a successful (status code < 300) * response into memory -- instead, calls the caller-provided * $readBodyChunk with each chunk of incoming data. * 2. Does not retry if a network error occurs while streaming the * body of a successful response. * * @param array $opts cURL options * @param string $absUrl * @param callable $readBodyChunk * * @return array */ public function executeStreamingRequestWithRetries($opts, $absUrl, $readBodyChunk) { /** @var bool */ $shouldRetry = false; /** @var int */ $numRetries = 0; // Will contain the bytes of the body of the last request // if it was not successful and should not be retries /** @var null|string */ $rbody = null; // Status code of the last request /** @var null|bool */ $rcode = null; // Array of headers from the last request /** @var null|array */ $lastRHeaders = null; $errno = null; $message = null; $determineWriteCallback = function ($rheaders) use ( &$readBodyChunk, &$shouldRetry, &$rbody, &$numRetries, &$rcode, &$lastRHeaders, &$errno ) { $lastRHeaders = $rheaders; $errno = \curl_errno($this->curlHandle); $rcode = \curl_getinfo($this->curlHandle, \CURLINFO_HTTP_CODE); // Send the bytes from the body of a successful request to the caller-provided $readBodyChunk. if ($rcode < 300) { $rbody = null; return function ($curl, $data) use (&$readBodyChunk) { // Don't expose the $curl handle to the user, and don't require them to // return the length of $data. \call_user_func_array($readBodyChunk, [$data]); return \strlen($data); }; } $shouldRetry = $this->shouldRetry($errno, $rcode, $rheaders, $numRetries); // Discard the body from an unsuccessful request that should be retried. if ($shouldRetry) { return function ($curl, $data) { return \strlen($data); }; } else { // Otherwise, buffer the body into $rbody. It will need to be parsed to determine // which exception to throw to the user. $rbody = ''; return function ($curl, $data) use (&$rbody) { $rbody .= $data; return \strlen($data); }; } }; while (true) { list($headerCallback, $writeCallback) = $this->useHeadersToDetermineWriteCallback($opts, $determineWriteCallback); $opts[\CURLOPT_HEADERFUNCTION] = $headerCallback; $opts[\CURLOPT_WRITEFUNCTION] = $writeCallback; $shouldRetry = false; $rbody = null; $this->resetCurlHandle(); \curl_setopt_array($this->curlHandle, $opts); $result = \curl_exec($this->curlHandle); $errno = \curl_errno($this->curlHandle); if (0 !== $errno) { $message = \curl_error($this->curlHandle); } if (!$this->getEnablePersistentConnections()) { $this->closeCurlHandle(); } if (\is_callable($this->getRequestStatusCallback())) { \call_user_func_array( $this->getRequestStatusCallback(), [$rbody, $rcode, $lastRHeaders, $errno, $message, $shouldRetry, $numRetries] ); } if ($shouldRetry) { ++$numRetries; $sleepSeconds = $this->sleepTime($numRetries, $lastRHeaders); \usleep((int) ($sleepSeconds * 1000000)); } else { break; } } if (0 !== $errno) { $this->handleCurlError($absUrl, $errno, $message, $numRetries); } return [$rbody, $rcode, $lastRHeaders]; } /** * @param array $opts cURL options * @param string $absUrl */ public function executeRequestWithRetries($opts, $absUrl) { $numRetries = 0; while (true) { $rcode = 0; $errno = 0; $message = null; // Create a callback to capture HTTP headers for the response $rheaders = new Util\CaseInsensitiveArray(); $headerCallback = function ($curl, $header_line) use (&$rheaders) { return CurlClient::parseLineIntoHeaderArray($header_line, $rheaders); }; $opts[\CURLOPT_HEADERFUNCTION] = $headerCallback; $this->resetCurlHandle(); \curl_setopt_array($this->curlHandle, $opts); $rbody = \curl_exec($this->curlHandle); if (false === $rbody) { $errno = \curl_errno($this->curlHandle); $message = \curl_error($this->curlHandle); } else { $rcode = \curl_getinfo($this->curlHandle, \CURLINFO_HTTP_CODE); } if (!$this->getEnablePersistentConnections()) { $this->closeCurlHandle(); } $shouldRetry = $this->shouldRetry($errno, $rcode, $rheaders, $numRetries); if (\is_callable($this->getRequestStatusCallback())) { \call_user_func_array( $this->getRequestStatusCallback(), [$rbody, $rcode, $rheaders, $errno, $message, $shouldRetry, $numRetries] ); } if ($shouldRetry) { ++$numRetries; $sleepSeconds = $this->sleepTime($numRetries, $rheaders); \usleep((int) ($sleepSeconds * 1000000)); } else { break; } } if (false === $rbody) { $this->handleCurlError($absUrl, $errno, $message, $numRetries); } return [$rbody, $rcode, $rheaders]; } /** * @param string $url * @param int $errno * @param string $message * @param int $numRetries * * @throws Exception\ApiConnectionException */ private function handleCurlError($url, $errno, $message, $numRetries) { switch ($errno) { case \CURLE_COULDNT_CONNECT: case \CURLE_COULDNT_RESOLVE_HOST: case \CURLE_OPERATION_TIMEOUTED: $msg = "Could not connect to Stripe ({$url}). Please check your " . 'internet connection and try again. If this problem persists, ' . "you should check Stripe's service status at " . 'https://twitter.com/stripestatus, or'; break; case \CURLE_SSL_CACERT: case \CURLE_SSL_PEER_CERTIFICATE: $msg = "Could not verify Stripe's SSL certificate. Please make sure " . 'that your network is not intercepting certificates. ' . "(Try going to {$url} in your browser.) " . 'If this problem persists,'; break; default: $msg = 'Unexpected error communicating with Stripe. ' . 'If this problem persists,'; } $msg .= ' let us know at support@stripe.com.'; $msg .= "\n\n(Network error [errno {$errno}]: {$message})"; if ($numRetries > 0) { $msg .= "\n\nRequest was retried {$numRetries} times."; } throw new Exception\ApiConnectionException($msg); } /** * Checks if an error is a problem that we should retry on. This includes both * socket errors that may represent an intermittent problem and some special * HTTP statuses. * * @param int $errno * @param int $rcode * @param array|\Stripe\Util\CaseInsensitiveArray $rheaders * @param int $numRetries * * @return bool */ private function shouldRetry($errno, $rcode, $rheaders, $numRetries) { if ($numRetries >= Stripe::getMaxNetworkRetries()) { return false; } // Retry on timeout-related problems (either on open or read). if (\CURLE_OPERATION_TIMEOUTED === $errno) { return true; } // Destination refused the connection, the connection was reset, or a // variety of other connection failures. This could occur from a single // saturated server, so retry in case it's intermittent. if (\CURLE_COULDNT_CONNECT === $errno) { return true; } // The API may ask us not to retry (eg; if doing so would be a no-op) // or advise us to retry (eg; in cases of lock timeouts); we defer to that. if (isset($rheaders['stripe-should-retry'])) { if ('false' === $rheaders['stripe-should-retry']) { return false; } if ('true' === $rheaders['stripe-should-retry']) { return true; } } // 409 Conflict if (409 === $rcode) { return true; } // Retry on 500, 503, and other internal errors. // // Note that we expect the stripe-should-retry header to be false // in most cases when a 500 is returned, since our idempotency framework // would typically replay it anyway. if ($rcode >= 500) { return true; } return false; } /** * Provides the number of seconds to wait before retrying a request. * * @param int $numRetries * @param array|\Stripe\Util\CaseInsensitiveArray $rheaders * * @return int */ private function sleepTime($numRetries, $rheaders) { // Apply exponential backoff with $initialNetworkRetryDelay on the // number of $numRetries so far as inputs. Do not allow the number to exceed // $maxNetworkRetryDelay. $sleepSeconds = \min( Stripe::getInitialNetworkRetryDelay() * 1.0 * 2 ** ($numRetries - 1), Stripe::getMaxNetworkRetryDelay() ); // Apply some jitter by randomizing the value in the range of // ($sleepSeconds / 2) to ($sleepSeconds). $sleepSeconds *= 0.5 * (1 + $this->randomGenerator->randFloat()); // But never sleep less than the base sleep seconds. $sleepSeconds = \max(Stripe::getInitialNetworkRetryDelay(), $sleepSeconds); // And never sleep less than the time the API asks us to wait, assuming it's a reasonable ask. $retryAfter = isset($rheaders['retry-after']) ? (float) ($rheaders['retry-after']) : 0.0; if (\floor($retryAfter) === $retryAfter && $retryAfter <= Stripe::getMaxRetryAfter()) { $sleepSeconds = \max($sleepSeconds, $retryAfter); } return $sleepSeconds; } /** * Initializes the curl handle. If already initialized, the handle is closed first. */ private function initCurlHandle() { $this->closeCurlHandle(); $this->curlHandle = \curl_init(); } /** * Closes the curl handle if initialized. Do nothing if already closed. */ private function closeCurlHandle() { if (null !== $this->curlHandle) { \curl_close($this->curlHandle); $this->curlHandle = null; } } /** * Resets the curl handle. If the handle is not already initialized, or if persistent * connections are disabled, the handle is reinitialized instead. */ private function resetCurlHandle() { if (null !== $this->curlHandle && $this->getEnablePersistentConnections()) { \curl_reset($this->curlHandle); } else { $this->initCurlHandle(); } } /** * Indicates whether it is safe to use HTTP/2 or not. * * @return bool */ private function canSafelyUseHttp2() { // Versions of curl older than 7.60.0 don't respect GOAWAY frames // (cf. https://github.com/curl/curl/issues/2416), which Stripe use. $curlVersion = \curl_version()['version']; return \version_compare($curlVersion, '7.60.0') >= 0; } /** * Checks if a list of headers contains a specific header name. * * @param string[] $headers * @param string $name * * @return bool */ private function hasHeader($headers, $name) { foreach ($headers as $header) { if (0 === \strncasecmp($header, "{$name}: ", \strlen($name) + 2)) { return true; } } return false; } } lib/stripe-gateway/lib/HttpClient/ClientInterface.php000064400000001605147206617610016667 0ustar00Event * object. For example, when a charge succeeds, we create a charge.succeeded * event, and when an invoice payment attempt fails, we create an * invoice.payment_failed event. Certain API requests might create multiple * events. For example, if you create a new subscription for a * customer, you receive both a customer.subscription.created event and a * charge.succeeded event. * * Events occur when the state of another API resource changes. The event's data * field embeds the resource's state at the time of the change. For * example, a charge.succeeded event contains a charge, and an * invoice.payment_failed event contains an invoice. * * As with other API resources, you can use endpoints to retrieve an * individual event or a list of events * from the API. We also have a separate * webhooks system for sending the * Event objects directly to an endpoint on your server. You can manage * webhooks in your * account settings. Learn how * to listen for events * so that your integration can automatically trigger reactions. * * When using Connect, you can also receive event notifications * that occur in connected accounts. For these events, there's an * additional account attribute in the received Event object. * * We only guarantee access to events through the Retrieve Event API * for 30 days. * * This class includes constants for the possible string representations of * event types. See https://stripe.com/docs/api#event_types for more details. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $account The connected account that originates the event. * @property null|string $api_version The Stripe API version used to render data. This property is populated only for events on or after October 31, 2014. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property \Stripe\StripeObject $data * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property int $pending_webhooks Number of webhooks that haven't been successfully delivered (for example, to return a 20x response) to the URLs you specify. * @property null|\Stripe\StripeObject $request Information on the API request that triggers the event. * @property string $type Description of the event (for example, invoice.created or charge.refunded). */ class Event extends ApiResource { const OBJECT_NAME = 'event'; const ACCOUNT_APPLICATION_AUTHORIZED = 'account.application.authorized'; const ACCOUNT_APPLICATION_DEAUTHORIZED = 'account.application.deauthorized'; const ACCOUNT_EXTERNAL_ACCOUNT_CREATED = 'account.external_account.created'; const ACCOUNT_EXTERNAL_ACCOUNT_DELETED = 'account.external_account.deleted'; const ACCOUNT_EXTERNAL_ACCOUNT_UPDATED = 'account.external_account.updated'; const ACCOUNT_UPDATED = 'account.updated'; const APPLICATION_FEE_CREATED = 'application_fee.created'; const APPLICATION_FEE_REFUNDED = 'application_fee.refunded'; const APPLICATION_FEE_REFUND_UPDATED = 'application_fee.refund.updated'; const BALANCE_AVAILABLE = 'balance.available'; const BILLING_PORTAL_CONFIGURATION_CREATED = 'billing_portal.configuration.created'; const BILLING_PORTAL_CONFIGURATION_UPDATED = 'billing_portal.configuration.updated'; const BILLING_PORTAL_SESSION_CREATED = 'billing_portal.session.created'; const CAPABILITY_UPDATED = 'capability.updated'; const CASH_BALANCE_FUNDS_AVAILABLE = 'cash_balance.funds_available'; const CHARGE_CAPTURED = 'charge.captured'; const CHARGE_DISPUTE_CLOSED = 'charge.dispute.closed'; const CHARGE_DISPUTE_CREATED = 'charge.dispute.created'; const CHARGE_DISPUTE_FUNDS_REINSTATED = 'charge.dispute.funds_reinstated'; const CHARGE_DISPUTE_FUNDS_WITHDRAWN = 'charge.dispute.funds_withdrawn'; const CHARGE_DISPUTE_UPDATED = 'charge.dispute.updated'; const CHARGE_EXPIRED = 'charge.expired'; const CHARGE_FAILED = 'charge.failed'; const CHARGE_PENDING = 'charge.pending'; const CHARGE_REFUNDED = 'charge.refunded'; const CHARGE_REFUND_UPDATED = 'charge.refund.updated'; const CHARGE_SUCCEEDED = 'charge.succeeded'; const CHARGE_UPDATED = 'charge.updated'; const CHECKOUT_SESSION_ASYNC_PAYMENT_FAILED = 'checkout.session.async_payment_failed'; const CHECKOUT_SESSION_ASYNC_PAYMENT_SUCCEEDED = 'checkout.session.async_payment_succeeded'; const CHECKOUT_SESSION_COMPLETED = 'checkout.session.completed'; const CHECKOUT_SESSION_EXPIRED = 'checkout.session.expired'; const CLIMATE_ORDER_CANCELED = 'climate.order.canceled'; const CLIMATE_ORDER_CREATED = 'climate.order.created'; const CLIMATE_ORDER_DELAYED = 'climate.order.delayed'; const CLIMATE_ORDER_DELIVERED = 'climate.order.delivered'; const CLIMATE_ORDER_PRODUCT_SUBSTITUTED = 'climate.order.product_substituted'; const CLIMATE_PRODUCT_CREATED = 'climate.product.created'; const CLIMATE_PRODUCT_PRICING_UPDATED = 'climate.product.pricing_updated'; const COUPON_CREATED = 'coupon.created'; const COUPON_DELETED = 'coupon.deleted'; const COUPON_UPDATED = 'coupon.updated'; const CREDIT_NOTE_CREATED = 'credit_note.created'; const CREDIT_NOTE_UPDATED = 'credit_note.updated'; const CREDIT_NOTE_VOIDED = 'credit_note.voided'; const CUSTOMER_CASH_BALANCE_TRANSACTION_CREATED = 'customer_cash_balance_transaction.created'; const CUSTOMER_CREATED = 'customer.created'; const CUSTOMER_DELETED = 'customer.deleted'; const CUSTOMER_DISCOUNT_CREATED = 'customer.discount.created'; const CUSTOMER_DISCOUNT_DELETED = 'customer.discount.deleted'; const CUSTOMER_DISCOUNT_UPDATED = 'customer.discount.updated'; const CUSTOMER_SOURCE_CREATED = 'customer.source.created'; const CUSTOMER_SOURCE_DELETED = 'customer.source.deleted'; const CUSTOMER_SOURCE_EXPIRING = 'customer.source.expiring'; const CUSTOMER_SOURCE_UPDATED = 'customer.source.updated'; const CUSTOMER_SUBSCRIPTION_CREATED = 'customer.subscription.created'; const CUSTOMER_SUBSCRIPTION_DELETED = 'customer.subscription.deleted'; const CUSTOMER_SUBSCRIPTION_PAUSED = 'customer.subscription.paused'; const CUSTOMER_SUBSCRIPTION_PENDING_UPDATE_APPLIED = 'customer.subscription.pending_update_applied'; const CUSTOMER_SUBSCRIPTION_PENDING_UPDATE_EXPIRED = 'customer.subscription.pending_update_expired'; const CUSTOMER_SUBSCRIPTION_RESUMED = 'customer.subscription.resumed'; const CUSTOMER_SUBSCRIPTION_TRIAL_WILL_END = 'customer.subscription.trial_will_end'; const CUSTOMER_SUBSCRIPTION_UPDATED = 'customer.subscription.updated'; const CUSTOMER_TAX_ID_CREATED = 'customer.tax_id.created'; const CUSTOMER_TAX_ID_DELETED = 'customer.tax_id.deleted'; const CUSTOMER_TAX_ID_UPDATED = 'customer.tax_id.updated'; const CUSTOMER_UPDATED = 'customer.updated'; const ENTITLEMENTS_ACTIVE_ENTITLEMENT_SUMMARY_UPDATED = 'entitlements.active_entitlement_summary.updated'; const FILE_CREATED = 'file.created'; const FINANCIAL_CONNECTIONS_ACCOUNT_CREATED = 'financial_connections.account.created'; const FINANCIAL_CONNECTIONS_ACCOUNT_DEACTIVATED = 'financial_connections.account.deactivated'; const FINANCIAL_CONNECTIONS_ACCOUNT_DISCONNECTED = 'financial_connections.account.disconnected'; const FINANCIAL_CONNECTIONS_ACCOUNT_REACTIVATED = 'financial_connections.account.reactivated'; const FINANCIAL_CONNECTIONS_ACCOUNT_REFRESHED_BALANCE = 'financial_connections.account.refreshed_balance'; const FINANCIAL_CONNECTIONS_ACCOUNT_REFRESHED_OWNERSHIP = 'financial_connections.account.refreshed_ownership'; const FINANCIAL_CONNECTIONS_ACCOUNT_REFRESHED_TRANSACTIONS = 'financial_connections.account.refreshed_transactions'; const IDENTITY_VERIFICATION_SESSION_CANCELED = 'identity.verification_session.canceled'; const IDENTITY_VERIFICATION_SESSION_CREATED = 'identity.verification_session.created'; const IDENTITY_VERIFICATION_SESSION_PROCESSING = 'identity.verification_session.processing'; const IDENTITY_VERIFICATION_SESSION_REDACTED = 'identity.verification_session.redacted'; const IDENTITY_VERIFICATION_SESSION_REQUIRES_INPUT = 'identity.verification_session.requires_input'; const IDENTITY_VERIFICATION_SESSION_VERIFIED = 'identity.verification_session.verified'; const INVOICEITEM_CREATED = 'invoiceitem.created'; const INVOICEITEM_DELETED = 'invoiceitem.deleted'; const INVOICE_CREATED = 'invoice.created'; const INVOICE_DELETED = 'invoice.deleted'; const INVOICE_FINALIZATION_FAILED = 'invoice.finalization_failed'; const INVOICE_FINALIZED = 'invoice.finalized'; const INVOICE_MARKED_UNCOLLECTIBLE = 'invoice.marked_uncollectible'; const INVOICE_OVERDUE = 'invoice.overdue'; const INVOICE_PAID = 'invoice.paid'; const INVOICE_PAYMENT_ACTION_REQUIRED = 'invoice.payment_action_required'; const INVOICE_PAYMENT_FAILED = 'invoice.payment_failed'; const INVOICE_PAYMENT_SUCCEEDED = 'invoice.payment_succeeded'; const INVOICE_SENT = 'invoice.sent'; const INVOICE_UPCOMING = 'invoice.upcoming'; const INVOICE_UPDATED = 'invoice.updated'; const INVOICE_VOIDED = 'invoice.voided'; const INVOICE_WILL_BE_DUE = 'invoice.will_be_due'; const ISSUING_AUTHORIZATION_CREATED = 'issuing_authorization.created'; const ISSUING_AUTHORIZATION_REQUEST = 'issuing_authorization.request'; const ISSUING_AUTHORIZATION_UPDATED = 'issuing_authorization.updated'; const ISSUING_CARDHOLDER_CREATED = 'issuing_cardholder.created'; const ISSUING_CARDHOLDER_UPDATED = 'issuing_cardholder.updated'; const ISSUING_CARD_CREATED = 'issuing_card.created'; const ISSUING_CARD_UPDATED = 'issuing_card.updated'; const ISSUING_DISPUTE_CLOSED = 'issuing_dispute.closed'; const ISSUING_DISPUTE_CREATED = 'issuing_dispute.created'; const ISSUING_DISPUTE_FUNDS_REINSTATED = 'issuing_dispute.funds_reinstated'; const ISSUING_DISPUTE_FUNDS_RESCINDED = 'issuing_dispute.funds_rescinded'; const ISSUING_DISPUTE_SUBMITTED = 'issuing_dispute.submitted'; const ISSUING_DISPUTE_UPDATED = 'issuing_dispute.updated'; const ISSUING_PERSONALIZATION_DESIGN_ACTIVATED = 'issuing_personalization_design.activated'; const ISSUING_PERSONALIZATION_DESIGN_DEACTIVATED = 'issuing_personalization_design.deactivated'; const ISSUING_PERSONALIZATION_DESIGN_REJECTED = 'issuing_personalization_design.rejected'; const ISSUING_PERSONALIZATION_DESIGN_UPDATED = 'issuing_personalization_design.updated'; const ISSUING_TOKEN_CREATED = 'issuing_token.created'; const ISSUING_TOKEN_UPDATED = 'issuing_token.updated'; const ISSUING_TRANSACTION_CREATED = 'issuing_transaction.created'; const ISSUING_TRANSACTION_UPDATED = 'issuing_transaction.updated'; const MANDATE_UPDATED = 'mandate.updated'; const PAYMENT_INTENT_AMOUNT_CAPTURABLE_UPDATED = 'payment_intent.amount_capturable_updated'; const PAYMENT_INTENT_CANCELED = 'payment_intent.canceled'; const PAYMENT_INTENT_CREATED = 'payment_intent.created'; const PAYMENT_INTENT_PARTIALLY_FUNDED = 'payment_intent.partially_funded'; const PAYMENT_INTENT_PAYMENT_FAILED = 'payment_intent.payment_failed'; const PAYMENT_INTENT_PROCESSING = 'payment_intent.processing'; const PAYMENT_INTENT_REQUIRES_ACTION = 'payment_intent.requires_action'; const PAYMENT_INTENT_SUCCEEDED = 'payment_intent.succeeded'; const PAYMENT_LINK_CREATED = 'payment_link.created'; const PAYMENT_LINK_UPDATED = 'payment_link.updated'; const PAYMENT_METHOD_ATTACHED = 'payment_method.attached'; const PAYMENT_METHOD_AUTOMATICALLY_UPDATED = 'payment_method.automatically_updated'; const PAYMENT_METHOD_DETACHED = 'payment_method.detached'; const PAYMENT_METHOD_UPDATED = 'payment_method.updated'; const PAYOUT_CANCELED = 'payout.canceled'; const PAYOUT_CREATED = 'payout.created'; const PAYOUT_FAILED = 'payout.failed'; const PAYOUT_PAID = 'payout.paid'; const PAYOUT_RECONCILIATION_COMPLETED = 'payout.reconciliation_completed'; const PAYOUT_UPDATED = 'payout.updated'; const PERSON_CREATED = 'person.created'; const PERSON_DELETED = 'person.deleted'; const PERSON_UPDATED = 'person.updated'; const PLAN_CREATED = 'plan.created'; const PLAN_DELETED = 'plan.deleted'; const PLAN_UPDATED = 'plan.updated'; const PRICE_CREATED = 'price.created'; const PRICE_DELETED = 'price.deleted'; const PRICE_UPDATED = 'price.updated'; const PRODUCT_CREATED = 'product.created'; const PRODUCT_DELETED = 'product.deleted'; const PRODUCT_UPDATED = 'product.updated'; const PROMOTION_CODE_CREATED = 'promotion_code.created'; const PROMOTION_CODE_UPDATED = 'promotion_code.updated'; const QUOTE_ACCEPTED = 'quote.accepted'; const QUOTE_CANCELED = 'quote.canceled'; const QUOTE_CREATED = 'quote.created'; const QUOTE_FINALIZED = 'quote.finalized'; const RADAR_EARLY_FRAUD_WARNING_CREATED = 'radar.early_fraud_warning.created'; const RADAR_EARLY_FRAUD_WARNING_UPDATED = 'radar.early_fraud_warning.updated'; const REFUND_CREATED = 'refund.created'; const REFUND_UPDATED = 'refund.updated'; const REPORTING_REPORT_RUN_FAILED = 'reporting.report_run.failed'; const REPORTING_REPORT_RUN_SUCCEEDED = 'reporting.report_run.succeeded'; const REPORTING_REPORT_TYPE_UPDATED = 'reporting.report_type.updated'; const REVIEW_CLOSED = 'review.closed'; const REVIEW_OPENED = 'review.opened'; const SETUP_INTENT_CANCELED = 'setup_intent.canceled'; const SETUP_INTENT_CREATED = 'setup_intent.created'; const SETUP_INTENT_REQUIRES_ACTION = 'setup_intent.requires_action'; const SETUP_INTENT_SETUP_FAILED = 'setup_intent.setup_failed'; const SETUP_INTENT_SUCCEEDED = 'setup_intent.succeeded'; const SIGMA_SCHEDULED_QUERY_RUN_CREATED = 'sigma.scheduled_query_run.created'; const SOURCE_CANCELED = 'source.canceled'; const SOURCE_CHARGEABLE = 'source.chargeable'; const SOURCE_FAILED = 'source.failed'; const SOURCE_MANDATE_NOTIFICATION = 'source.mandate_notification'; const SOURCE_REFUND_ATTRIBUTES_REQUIRED = 'source.refund_attributes_required'; const SOURCE_TRANSACTION_CREATED = 'source.transaction.created'; const SOURCE_TRANSACTION_UPDATED = 'source.transaction.updated'; const SUBSCRIPTION_SCHEDULE_ABORTED = 'subscription_schedule.aborted'; const SUBSCRIPTION_SCHEDULE_CANCELED = 'subscription_schedule.canceled'; const SUBSCRIPTION_SCHEDULE_COMPLETED = 'subscription_schedule.completed'; const SUBSCRIPTION_SCHEDULE_CREATED = 'subscription_schedule.created'; const SUBSCRIPTION_SCHEDULE_EXPIRING = 'subscription_schedule.expiring'; const SUBSCRIPTION_SCHEDULE_RELEASED = 'subscription_schedule.released'; const SUBSCRIPTION_SCHEDULE_UPDATED = 'subscription_schedule.updated'; const TAX_RATE_CREATED = 'tax_rate.created'; const TAX_RATE_UPDATED = 'tax_rate.updated'; const TAX_SETTINGS_UPDATED = 'tax.settings.updated'; const TERMINAL_READER_ACTION_FAILED = 'terminal.reader.action_failed'; const TERMINAL_READER_ACTION_SUCCEEDED = 'terminal.reader.action_succeeded'; const TEST_HELPERS_TEST_CLOCK_ADVANCING = 'test_helpers.test_clock.advancing'; const TEST_HELPERS_TEST_CLOCK_CREATED = 'test_helpers.test_clock.created'; const TEST_HELPERS_TEST_CLOCK_DELETED = 'test_helpers.test_clock.deleted'; const TEST_HELPERS_TEST_CLOCK_INTERNAL_FAILURE = 'test_helpers.test_clock.internal_failure'; const TEST_HELPERS_TEST_CLOCK_READY = 'test_helpers.test_clock.ready'; const TOPUP_CANCELED = 'topup.canceled'; const TOPUP_CREATED = 'topup.created'; const TOPUP_FAILED = 'topup.failed'; const TOPUP_REVERSED = 'topup.reversed'; const TOPUP_SUCCEEDED = 'topup.succeeded'; const TRANSFER_CREATED = 'transfer.created'; const TRANSFER_REVERSED = 'transfer.reversed'; const TRANSFER_UPDATED = 'transfer.updated'; const TREASURY_CREDIT_REVERSAL_CREATED = 'treasury.credit_reversal.created'; const TREASURY_CREDIT_REVERSAL_POSTED = 'treasury.credit_reversal.posted'; const TREASURY_DEBIT_REVERSAL_COMPLETED = 'treasury.debit_reversal.completed'; const TREASURY_DEBIT_REVERSAL_CREATED = 'treasury.debit_reversal.created'; const TREASURY_DEBIT_REVERSAL_INITIAL_CREDIT_GRANTED = 'treasury.debit_reversal.initial_credit_granted'; const TREASURY_FINANCIAL_ACCOUNT_CLOSED = 'treasury.financial_account.closed'; const TREASURY_FINANCIAL_ACCOUNT_CREATED = 'treasury.financial_account.created'; const TREASURY_FINANCIAL_ACCOUNT_FEATURES_STATUS_UPDATED = 'treasury.financial_account.features_status_updated'; const TREASURY_INBOUND_TRANSFER_CANCELED = 'treasury.inbound_transfer.canceled'; const TREASURY_INBOUND_TRANSFER_CREATED = 'treasury.inbound_transfer.created'; const TREASURY_INBOUND_TRANSFER_FAILED = 'treasury.inbound_transfer.failed'; const TREASURY_INBOUND_TRANSFER_SUCCEEDED = 'treasury.inbound_transfer.succeeded'; const TREASURY_OUTBOUND_PAYMENT_CANCELED = 'treasury.outbound_payment.canceled'; const TREASURY_OUTBOUND_PAYMENT_CREATED = 'treasury.outbound_payment.created'; const TREASURY_OUTBOUND_PAYMENT_EXPECTED_ARRIVAL_DATE_UPDATED = 'treasury.outbound_payment.expected_arrival_date_updated'; const TREASURY_OUTBOUND_PAYMENT_FAILED = 'treasury.outbound_payment.failed'; const TREASURY_OUTBOUND_PAYMENT_POSTED = 'treasury.outbound_payment.posted'; const TREASURY_OUTBOUND_PAYMENT_RETURNED = 'treasury.outbound_payment.returned'; const TREASURY_OUTBOUND_PAYMENT_TRACKING_DETAILS_UPDATED = 'treasury.outbound_payment.tracking_details_updated'; const TREASURY_OUTBOUND_TRANSFER_CANCELED = 'treasury.outbound_transfer.canceled'; const TREASURY_OUTBOUND_TRANSFER_CREATED = 'treasury.outbound_transfer.created'; const TREASURY_OUTBOUND_TRANSFER_EXPECTED_ARRIVAL_DATE_UPDATED = 'treasury.outbound_transfer.expected_arrival_date_updated'; const TREASURY_OUTBOUND_TRANSFER_FAILED = 'treasury.outbound_transfer.failed'; const TREASURY_OUTBOUND_TRANSFER_POSTED = 'treasury.outbound_transfer.posted'; const TREASURY_OUTBOUND_TRANSFER_RETURNED = 'treasury.outbound_transfer.returned'; const TREASURY_OUTBOUND_TRANSFER_TRACKING_DETAILS_UPDATED = 'treasury.outbound_transfer.tracking_details_updated'; const TREASURY_RECEIVED_CREDIT_CREATED = 'treasury.received_credit.created'; const TREASURY_RECEIVED_CREDIT_FAILED = 'treasury.received_credit.failed'; const TREASURY_RECEIVED_CREDIT_SUCCEEDED = 'treasury.received_credit.succeeded'; const TREASURY_RECEIVED_DEBIT_CREATED = 'treasury.received_debit.created'; const TYPE_ACCOUNT_APPLICATION_AUTHORIZED = 'account.application.authorized'; const TYPE_ACCOUNT_APPLICATION_DEAUTHORIZED = 'account.application.deauthorized'; const TYPE_ACCOUNT_EXTERNAL_ACCOUNT_CREATED = 'account.external_account.created'; const TYPE_ACCOUNT_EXTERNAL_ACCOUNT_DELETED = 'account.external_account.deleted'; const TYPE_ACCOUNT_EXTERNAL_ACCOUNT_UPDATED = 'account.external_account.updated'; const TYPE_ACCOUNT_UPDATED = 'account.updated'; const TYPE_APPLICATION_FEE_CREATED = 'application_fee.created'; const TYPE_APPLICATION_FEE_REFUNDED = 'application_fee.refunded'; const TYPE_APPLICATION_FEE_REFUND_UPDATED = 'application_fee.refund.updated'; const TYPE_BALANCE_AVAILABLE = 'balance.available'; const TYPE_BILLING_PORTAL_CONFIGURATION_CREATED = 'billing_portal.configuration.created'; const TYPE_BILLING_PORTAL_CONFIGURATION_UPDATED = 'billing_portal.configuration.updated'; const TYPE_BILLING_PORTAL_SESSION_CREATED = 'billing_portal.session.created'; const TYPE_CAPABILITY_UPDATED = 'capability.updated'; const TYPE_CASH_BALANCE_FUNDS_AVAILABLE = 'cash_balance.funds_available'; const TYPE_CHARGE_CAPTURED = 'charge.captured'; const TYPE_CHARGE_DISPUTE_CLOSED = 'charge.dispute.closed'; const TYPE_CHARGE_DISPUTE_CREATED = 'charge.dispute.created'; const TYPE_CHARGE_DISPUTE_FUNDS_REINSTATED = 'charge.dispute.funds_reinstated'; const TYPE_CHARGE_DISPUTE_FUNDS_WITHDRAWN = 'charge.dispute.funds_withdrawn'; const TYPE_CHARGE_DISPUTE_UPDATED = 'charge.dispute.updated'; const TYPE_CHARGE_EXPIRED = 'charge.expired'; const TYPE_CHARGE_FAILED = 'charge.failed'; const TYPE_CHARGE_PENDING = 'charge.pending'; const TYPE_CHARGE_REFUNDED = 'charge.refunded'; const TYPE_CHARGE_REFUND_UPDATED = 'charge.refund.updated'; const TYPE_CHARGE_SUCCEEDED = 'charge.succeeded'; const TYPE_CHARGE_UPDATED = 'charge.updated'; const TYPE_CHECKOUT_SESSION_ASYNC_PAYMENT_FAILED = 'checkout.session.async_payment_failed'; const TYPE_CHECKOUT_SESSION_ASYNC_PAYMENT_SUCCEEDED = 'checkout.session.async_payment_succeeded'; const TYPE_CHECKOUT_SESSION_COMPLETED = 'checkout.session.completed'; const TYPE_CHECKOUT_SESSION_EXPIRED = 'checkout.session.expired'; const TYPE_CLIMATE_ORDER_CANCELED = 'climate.order.canceled'; const TYPE_CLIMATE_ORDER_CREATED = 'climate.order.created'; const TYPE_CLIMATE_ORDER_DELAYED = 'climate.order.delayed'; const TYPE_CLIMATE_ORDER_DELIVERED = 'climate.order.delivered'; const TYPE_CLIMATE_ORDER_PRODUCT_SUBSTITUTED = 'climate.order.product_substituted'; const TYPE_CLIMATE_PRODUCT_CREATED = 'climate.product.created'; const TYPE_CLIMATE_PRODUCT_PRICING_UPDATED = 'climate.product.pricing_updated'; const TYPE_COUPON_CREATED = 'coupon.created'; const TYPE_COUPON_DELETED = 'coupon.deleted'; const TYPE_COUPON_UPDATED = 'coupon.updated'; const TYPE_CREDIT_NOTE_CREATED = 'credit_note.created'; const TYPE_CREDIT_NOTE_UPDATED = 'credit_note.updated'; const TYPE_CREDIT_NOTE_VOIDED = 'credit_note.voided'; const TYPE_CUSTOMER_CASH_BALANCE_TRANSACTION_CREATED = 'customer_cash_balance_transaction.created'; const TYPE_CUSTOMER_CREATED = 'customer.created'; const TYPE_CUSTOMER_DELETED = 'customer.deleted'; const TYPE_CUSTOMER_DISCOUNT_CREATED = 'customer.discount.created'; const TYPE_CUSTOMER_DISCOUNT_DELETED = 'customer.discount.deleted'; const TYPE_CUSTOMER_DISCOUNT_UPDATED = 'customer.discount.updated'; const TYPE_CUSTOMER_SOURCE_CREATED = 'customer.source.created'; const TYPE_CUSTOMER_SOURCE_DELETED = 'customer.source.deleted'; const TYPE_CUSTOMER_SOURCE_EXPIRING = 'customer.source.expiring'; const TYPE_CUSTOMER_SOURCE_UPDATED = 'customer.source.updated'; const TYPE_CUSTOMER_SUBSCRIPTION_CREATED = 'customer.subscription.created'; const TYPE_CUSTOMER_SUBSCRIPTION_DELETED = 'customer.subscription.deleted'; const TYPE_CUSTOMER_SUBSCRIPTION_PAUSED = 'customer.subscription.paused'; const TYPE_CUSTOMER_SUBSCRIPTION_PENDING_UPDATE_APPLIED = 'customer.subscription.pending_update_applied'; const TYPE_CUSTOMER_SUBSCRIPTION_PENDING_UPDATE_EXPIRED = 'customer.subscription.pending_update_expired'; const TYPE_CUSTOMER_SUBSCRIPTION_RESUMED = 'customer.subscription.resumed'; const TYPE_CUSTOMER_SUBSCRIPTION_TRIAL_WILL_END = 'customer.subscription.trial_will_end'; const TYPE_CUSTOMER_SUBSCRIPTION_UPDATED = 'customer.subscription.updated'; const TYPE_CUSTOMER_TAX_ID_CREATED = 'customer.tax_id.created'; const TYPE_CUSTOMER_TAX_ID_DELETED = 'customer.tax_id.deleted'; const TYPE_CUSTOMER_TAX_ID_UPDATED = 'customer.tax_id.updated'; const TYPE_CUSTOMER_UPDATED = 'customer.updated'; const TYPE_ENTITLEMENTS_ACTIVE_ENTITLEMENT_SUMMARY_UPDATED = 'entitlements.active_entitlement_summary.updated'; const TYPE_FILE_CREATED = 'file.created'; const TYPE_FINANCIAL_CONNECTIONS_ACCOUNT_CREATED = 'financial_connections.account.created'; const TYPE_FINANCIAL_CONNECTIONS_ACCOUNT_DEACTIVATED = 'financial_connections.account.deactivated'; const TYPE_FINANCIAL_CONNECTIONS_ACCOUNT_DISCONNECTED = 'financial_connections.account.disconnected'; const TYPE_FINANCIAL_CONNECTIONS_ACCOUNT_REACTIVATED = 'financial_connections.account.reactivated'; const TYPE_FINANCIAL_CONNECTIONS_ACCOUNT_REFRESHED_BALANCE = 'financial_connections.account.refreshed_balance'; const TYPE_FINANCIAL_CONNECTIONS_ACCOUNT_REFRESHED_OWNERSHIP = 'financial_connections.account.refreshed_ownership'; const TYPE_FINANCIAL_CONNECTIONS_ACCOUNT_REFRESHED_TRANSACTIONS = 'financial_connections.account.refreshed_transactions'; const TYPE_IDENTITY_VERIFICATION_SESSION_CANCELED = 'identity.verification_session.canceled'; const TYPE_IDENTITY_VERIFICATION_SESSION_CREATED = 'identity.verification_session.created'; const TYPE_IDENTITY_VERIFICATION_SESSION_PROCESSING = 'identity.verification_session.processing'; const TYPE_IDENTITY_VERIFICATION_SESSION_REDACTED = 'identity.verification_session.redacted'; const TYPE_IDENTITY_VERIFICATION_SESSION_REQUIRES_INPUT = 'identity.verification_session.requires_input'; const TYPE_IDENTITY_VERIFICATION_SESSION_VERIFIED = 'identity.verification_session.verified'; const TYPE_INVOICEITEM_CREATED = 'invoiceitem.created'; const TYPE_INVOICEITEM_DELETED = 'invoiceitem.deleted'; const TYPE_INVOICE_CREATED = 'invoice.created'; const TYPE_INVOICE_DELETED = 'invoice.deleted'; const TYPE_INVOICE_FINALIZATION_FAILED = 'invoice.finalization_failed'; const TYPE_INVOICE_FINALIZED = 'invoice.finalized'; const TYPE_INVOICE_MARKED_UNCOLLECTIBLE = 'invoice.marked_uncollectible'; const TYPE_INVOICE_OVERDUE = 'invoice.overdue'; const TYPE_INVOICE_PAID = 'invoice.paid'; const TYPE_INVOICE_PAYMENT_ACTION_REQUIRED = 'invoice.payment_action_required'; const TYPE_INVOICE_PAYMENT_FAILED = 'invoice.payment_failed'; const TYPE_INVOICE_PAYMENT_SUCCEEDED = 'invoice.payment_succeeded'; const TYPE_INVOICE_SENT = 'invoice.sent'; const TYPE_INVOICE_UPCOMING = 'invoice.upcoming'; const TYPE_INVOICE_UPDATED = 'invoice.updated'; const TYPE_INVOICE_VOIDED = 'invoice.voided'; const TYPE_INVOICE_WILL_BE_DUE = 'invoice.will_be_due'; const TYPE_ISSUING_AUTHORIZATION_CREATED = 'issuing_authorization.created'; const TYPE_ISSUING_AUTHORIZATION_REQUEST = 'issuing_authorization.request'; const TYPE_ISSUING_AUTHORIZATION_UPDATED = 'issuing_authorization.updated'; const TYPE_ISSUING_CARDHOLDER_CREATED = 'issuing_cardholder.created'; const TYPE_ISSUING_CARDHOLDER_UPDATED = 'issuing_cardholder.updated'; const TYPE_ISSUING_CARD_CREATED = 'issuing_card.created'; const TYPE_ISSUING_CARD_UPDATED = 'issuing_card.updated'; const TYPE_ISSUING_DISPUTE_CLOSED = 'issuing_dispute.closed'; const TYPE_ISSUING_DISPUTE_CREATED = 'issuing_dispute.created'; const TYPE_ISSUING_DISPUTE_FUNDS_REINSTATED = 'issuing_dispute.funds_reinstated'; const TYPE_ISSUING_DISPUTE_FUNDS_RESCINDED = 'issuing_dispute.funds_rescinded'; const TYPE_ISSUING_DISPUTE_SUBMITTED = 'issuing_dispute.submitted'; const TYPE_ISSUING_DISPUTE_UPDATED = 'issuing_dispute.updated'; const TYPE_ISSUING_PERSONALIZATION_DESIGN_ACTIVATED = 'issuing_personalization_design.activated'; const TYPE_ISSUING_PERSONALIZATION_DESIGN_DEACTIVATED = 'issuing_personalization_design.deactivated'; const TYPE_ISSUING_PERSONALIZATION_DESIGN_REJECTED = 'issuing_personalization_design.rejected'; const TYPE_ISSUING_PERSONALIZATION_DESIGN_UPDATED = 'issuing_personalization_design.updated'; const TYPE_ISSUING_TOKEN_CREATED = 'issuing_token.created'; const TYPE_ISSUING_TOKEN_UPDATED = 'issuing_token.updated'; const TYPE_ISSUING_TRANSACTION_CREATED = 'issuing_transaction.created'; const TYPE_ISSUING_TRANSACTION_UPDATED = 'issuing_transaction.updated'; const TYPE_MANDATE_UPDATED = 'mandate.updated'; const TYPE_PAYMENT_INTENT_AMOUNT_CAPTURABLE_UPDATED = 'payment_intent.amount_capturable_updated'; const TYPE_PAYMENT_INTENT_CANCELED = 'payment_intent.canceled'; const TYPE_PAYMENT_INTENT_CREATED = 'payment_intent.created'; const TYPE_PAYMENT_INTENT_PARTIALLY_FUNDED = 'payment_intent.partially_funded'; const TYPE_PAYMENT_INTENT_PAYMENT_FAILED = 'payment_intent.payment_failed'; const TYPE_PAYMENT_INTENT_PROCESSING = 'payment_intent.processing'; const TYPE_PAYMENT_INTENT_REQUIRES_ACTION = 'payment_intent.requires_action'; const TYPE_PAYMENT_INTENT_SUCCEEDED = 'payment_intent.succeeded'; const TYPE_PAYMENT_LINK_CREATED = 'payment_link.created'; const TYPE_PAYMENT_LINK_UPDATED = 'payment_link.updated'; const TYPE_PAYMENT_METHOD_ATTACHED = 'payment_method.attached'; const TYPE_PAYMENT_METHOD_AUTOMATICALLY_UPDATED = 'payment_method.automatically_updated'; const TYPE_PAYMENT_METHOD_DETACHED = 'payment_method.detached'; const TYPE_PAYMENT_METHOD_UPDATED = 'payment_method.updated'; const TYPE_PAYOUT_CANCELED = 'payout.canceled'; const TYPE_PAYOUT_CREATED = 'payout.created'; const TYPE_PAYOUT_FAILED = 'payout.failed'; const TYPE_PAYOUT_PAID = 'payout.paid'; const TYPE_PAYOUT_RECONCILIATION_COMPLETED = 'payout.reconciliation_completed'; const TYPE_PAYOUT_UPDATED = 'payout.updated'; const TYPE_PERSON_CREATED = 'person.created'; const TYPE_PERSON_DELETED = 'person.deleted'; const TYPE_PERSON_UPDATED = 'person.updated'; const TYPE_PLAN_CREATED = 'plan.created'; const TYPE_PLAN_DELETED = 'plan.deleted'; const TYPE_PLAN_UPDATED = 'plan.updated'; const TYPE_PRICE_CREATED = 'price.created'; const TYPE_PRICE_DELETED = 'price.deleted'; const TYPE_PRICE_UPDATED = 'price.updated'; const TYPE_PRODUCT_CREATED = 'product.created'; const TYPE_PRODUCT_DELETED = 'product.deleted'; const TYPE_PRODUCT_UPDATED = 'product.updated'; const TYPE_PROMOTION_CODE_CREATED = 'promotion_code.created'; const TYPE_PROMOTION_CODE_UPDATED = 'promotion_code.updated'; const TYPE_QUOTE_ACCEPTED = 'quote.accepted'; const TYPE_QUOTE_CANCELED = 'quote.canceled'; const TYPE_QUOTE_CREATED = 'quote.created'; const TYPE_QUOTE_FINALIZED = 'quote.finalized'; const TYPE_RADAR_EARLY_FRAUD_WARNING_CREATED = 'radar.early_fraud_warning.created'; const TYPE_RADAR_EARLY_FRAUD_WARNING_UPDATED = 'radar.early_fraud_warning.updated'; const TYPE_REFUND_CREATED = 'refund.created'; const TYPE_REFUND_UPDATED = 'refund.updated'; const TYPE_REPORTING_REPORT_RUN_FAILED = 'reporting.report_run.failed'; const TYPE_REPORTING_REPORT_RUN_SUCCEEDED = 'reporting.report_run.succeeded'; const TYPE_REPORTING_REPORT_TYPE_UPDATED = 'reporting.report_type.updated'; const TYPE_REVIEW_CLOSED = 'review.closed'; const TYPE_REVIEW_OPENED = 'review.opened'; const TYPE_SETUP_INTENT_CANCELED = 'setup_intent.canceled'; const TYPE_SETUP_INTENT_CREATED = 'setup_intent.created'; const TYPE_SETUP_INTENT_REQUIRES_ACTION = 'setup_intent.requires_action'; const TYPE_SETUP_INTENT_SETUP_FAILED = 'setup_intent.setup_failed'; const TYPE_SETUP_INTENT_SUCCEEDED = 'setup_intent.succeeded'; const TYPE_SIGMA_SCHEDULED_QUERY_RUN_CREATED = 'sigma.scheduled_query_run.created'; const TYPE_SOURCE_CANCELED = 'source.canceled'; const TYPE_SOURCE_CHARGEABLE = 'source.chargeable'; const TYPE_SOURCE_FAILED = 'source.failed'; const TYPE_SOURCE_MANDATE_NOTIFICATION = 'source.mandate_notification'; const TYPE_SOURCE_REFUND_ATTRIBUTES_REQUIRED = 'source.refund_attributes_required'; const TYPE_SOURCE_TRANSACTION_CREATED = 'source.transaction.created'; const TYPE_SOURCE_TRANSACTION_UPDATED = 'source.transaction.updated'; const TYPE_SUBSCRIPTION_SCHEDULE_ABORTED = 'subscription_schedule.aborted'; const TYPE_SUBSCRIPTION_SCHEDULE_CANCELED = 'subscription_schedule.canceled'; const TYPE_SUBSCRIPTION_SCHEDULE_COMPLETED = 'subscription_schedule.completed'; const TYPE_SUBSCRIPTION_SCHEDULE_CREATED = 'subscription_schedule.created'; const TYPE_SUBSCRIPTION_SCHEDULE_EXPIRING = 'subscription_schedule.expiring'; const TYPE_SUBSCRIPTION_SCHEDULE_RELEASED = 'subscription_schedule.released'; const TYPE_SUBSCRIPTION_SCHEDULE_UPDATED = 'subscription_schedule.updated'; const TYPE_TAX_RATE_CREATED = 'tax_rate.created'; const TYPE_TAX_RATE_UPDATED = 'tax_rate.updated'; const TYPE_TAX_SETTINGS_UPDATED = 'tax.settings.updated'; const TYPE_TERMINAL_READER_ACTION_FAILED = 'terminal.reader.action_failed'; const TYPE_TERMINAL_READER_ACTION_SUCCEEDED = 'terminal.reader.action_succeeded'; const TYPE_TEST_HELPERS_TEST_CLOCK_ADVANCING = 'test_helpers.test_clock.advancing'; const TYPE_TEST_HELPERS_TEST_CLOCK_CREATED = 'test_helpers.test_clock.created'; const TYPE_TEST_HELPERS_TEST_CLOCK_DELETED = 'test_helpers.test_clock.deleted'; const TYPE_TEST_HELPERS_TEST_CLOCK_INTERNAL_FAILURE = 'test_helpers.test_clock.internal_failure'; const TYPE_TEST_HELPERS_TEST_CLOCK_READY = 'test_helpers.test_clock.ready'; const TYPE_TOPUP_CANCELED = 'topup.canceled'; const TYPE_TOPUP_CREATED = 'topup.created'; const TYPE_TOPUP_FAILED = 'topup.failed'; const TYPE_TOPUP_REVERSED = 'topup.reversed'; const TYPE_TOPUP_SUCCEEDED = 'topup.succeeded'; const TYPE_TRANSFER_CREATED = 'transfer.created'; const TYPE_TRANSFER_REVERSED = 'transfer.reversed'; const TYPE_TRANSFER_UPDATED = 'transfer.updated'; const TYPE_TREASURY_CREDIT_REVERSAL_CREATED = 'treasury.credit_reversal.created'; const TYPE_TREASURY_CREDIT_REVERSAL_POSTED = 'treasury.credit_reversal.posted'; const TYPE_TREASURY_DEBIT_REVERSAL_COMPLETED = 'treasury.debit_reversal.completed'; const TYPE_TREASURY_DEBIT_REVERSAL_CREATED = 'treasury.debit_reversal.created'; const TYPE_TREASURY_DEBIT_REVERSAL_INITIAL_CREDIT_GRANTED = 'treasury.debit_reversal.initial_credit_granted'; const TYPE_TREASURY_FINANCIAL_ACCOUNT_CLOSED = 'treasury.financial_account.closed'; const TYPE_TREASURY_FINANCIAL_ACCOUNT_CREATED = 'treasury.financial_account.created'; const TYPE_TREASURY_FINANCIAL_ACCOUNT_FEATURES_STATUS_UPDATED = 'treasury.financial_account.features_status_updated'; const TYPE_TREASURY_INBOUND_TRANSFER_CANCELED = 'treasury.inbound_transfer.canceled'; const TYPE_TREASURY_INBOUND_TRANSFER_CREATED = 'treasury.inbound_transfer.created'; const TYPE_TREASURY_INBOUND_TRANSFER_FAILED = 'treasury.inbound_transfer.failed'; const TYPE_TREASURY_INBOUND_TRANSFER_SUCCEEDED = 'treasury.inbound_transfer.succeeded'; const TYPE_TREASURY_OUTBOUND_PAYMENT_CANCELED = 'treasury.outbound_payment.canceled'; const TYPE_TREASURY_OUTBOUND_PAYMENT_CREATED = 'treasury.outbound_payment.created'; const TYPE_TREASURY_OUTBOUND_PAYMENT_EXPECTED_ARRIVAL_DATE_UPDATED = 'treasury.outbound_payment.expected_arrival_date_updated'; const TYPE_TREASURY_OUTBOUND_PAYMENT_FAILED = 'treasury.outbound_payment.failed'; const TYPE_TREASURY_OUTBOUND_PAYMENT_POSTED = 'treasury.outbound_payment.posted'; const TYPE_TREASURY_OUTBOUND_PAYMENT_RETURNED = 'treasury.outbound_payment.returned'; const TYPE_TREASURY_OUTBOUND_PAYMENT_TRACKING_DETAILS_UPDATED = 'treasury.outbound_payment.tracking_details_updated'; const TYPE_TREASURY_OUTBOUND_TRANSFER_CANCELED = 'treasury.outbound_transfer.canceled'; const TYPE_TREASURY_OUTBOUND_TRANSFER_CREATED = 'treasury.outbound_transfer.created'; const TYPE_TREASURY_OUTBOUND_TRANSFER_EXPECTED_ARRIVAL_DATE_UPDATED = 'treasury.outbound_transfer.expected_arrival_date_updated'; const TYPE_TREASURY_OUTBOUND_TRANSFER_FAILED = 'treasury.outbound_transfer.failed'; const TYPE_TREASURY_OUTBOUND_TRANSFER_POSTED = 'treasury.outbound_transfer.posted'; const TYPE_TREASURY_OUTBOUND_TRANSFER_RETURNED = 'treasury.outbound_transfer.returned'; const TYPE_TREASURY_OUTBOUND_TRANSFER_TRACKING_DETAILS_UPDATED = 'treasury.outbound_transfer.tracking_details_updated'; const TYPE_TREASURY_RECEIVED_CREDIT_CREATED = 'treasury.received_credit.created'; const TYPE_TREASURY_RECEIVED_CREDIT_FAILED = 'treasury.received_credit.failed'; const TYPE_TREASURY_RECEIVED_CREDIT_SUCCEEDED = 'treasury.received_credit.succeeded'; const TYPE_TREASURY_RECEIVED_DEBIT_CREATED = 'treasury.received_debit.created'; /** * List events, going back up to 30 days. Each event data is rendered according to * Stripe API version at its creation time, specified in event object * api_version attribute (not according to your current Stripe API * version or Stripe-Version header). * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Event> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an event if it was created in the last 30 days. Supply * the unique identifier of the event, which you might have received in a webhook. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Event */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/StripeClient.php000064400000011607147206617610014162 0ustar00getService($name); } public function getService($name) { if (null === $this->coreServiceFactory) { $this->coreServiceFactory = new \Stripe\Service\CoreServiceFactory($this); } return $this->coreServiceFactory->getService($name); } } lib/stripe-gateway/lib/BaseStripeClientInterface.php000064400000001736147206617610016600 0ustar00Application Fee Refund objects allow you to refund an application fee that * has previously been created but not yet refunded. Funds will be refunded to * the Stripe account from which the fee was originally collected. * * Related guide: Refunding application fees * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount, in cents (or local equivalent). * @property null|string|\Stripe\BalanceTransaction $balance_transaction Balance transaction that describes the impact on your account balance. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string|\Stripe\ApplicationFee $fee ID of the application fee that was refunded. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ class ApplicationFeeRefund extends ApiResource { const OBJECT_NAME = 'fee_refund'; use ApiOperations\Update { save as protected _save; } /** * @return string the API URL for this Stripe refund */ public function instanceUrl() { $id = $this['id']; $fee = $this['fee']; if (!$id) { throw new Exception\UnexpectedValueException( 'Could not determine which URL to request: ' . "class instance has invalid ID: {$id}", null ); } $id = Util\Util::utf8($id); $fee = Util\Util::utf8($fee); $base = ApplicationFee::classUrl(); $feeExtn = \urlencode($fee); $extn = \urlencode($id); return "{$base}/{$feeExtn}/refunds/{$extn}"; } /** * @param null|array|string $opts * * @return ApplicationFeeRefund the saved refund */ public function save($opts = null) { return $this->_save($opts); } } lib/stripe-gateway/lib/Exception/UnexpectedValueException.php000064400000000216147206617610020465 0ustar00jsonBody) { return null; } return \Stripe\OAuthErrorObject::constructFrom($this->jsonBody); } } lib/stripe-gateway/lib/Exception/OAuth/UnsupportedGrantTypeException.php000064400000000346147206617610022576 0ustar00setHttpBody($httpBody); $instance->setSigHeader($sigHeader); return $instance; } /** * Gets the HTTP body as a string. * * @return null|string */ public function getHttpBody() { return $this->httpBody; } /** * Sets the HTTP body as a string. * * @param null|string $httpBody */ public function setHttpBody($httpBody) { $this->httpBody = $httpBody; } /** * Gets the `Stripe-Signature` HTTP header. * * @return null|string */ public function getSigHeader() { return $this->sigHeader; } /** * Sets the `Stripe-Signature` HTTP header. * * @param null|string $sigHeader */ public function setSigHeader($sigHeader) { $this->sigHeader = $sigHeader; } } lib/stripe-gateway/lib/Exception/ExceptionInterface.php000064400000001000147206617610017254 0ustar00setStripeParam($stripeParam); return $instance; } /** * Gets the parameter related to the error. * * @return null|string */ public function getStripeParam() { return $this->stripeParam; } /** * Sets the parameter related to the error. * * @param null|string $stripeParam */ public function setStripeParam($stripeParam) { $this->stripeParam = $stripeParam; } } lib/stripe-gateway/lib/Exception/ApiErrorException.php000064400000011756147206617610017122 0ustar00setHttpStatus($httpStatus); $instance->setHttpBody($httpBody); $instance->setJsonBody($jsonBody); $instance->setHttpHeaders($httpHeaders); $instance->setStripeCode($stripeCode); $instance->setRequestId(null); if ($httpHeaders && isset($httpHeaders['Request-Id'])) { $instance->setRequestId($httpHeaders['Request-Id']); } $instance->setError($instance->constructErrorObject()); return $instance; } /** * Gets the Stripe error object. * * @return null|\Stripe\ErrorObject */ public function getError() { return $this->error; } /** * Sets the Stripe error object. * * @param null|\Stripe\ErrorObject $error */ public function setError($error) { $this->error = $error; } /** * Gets the HTTP body as a string. * * @return null|string */ public function getHttpBody() { return $this->httpBody; } /** * Sets the HTTP body as a string. * * @param null|string $httpBody */ public function setHttpBody($httpBody) { $this->httpBody = $httpBody; } /** * Gets the HTTP headers array. * * @return null|array|\Stripe\Util\CaseInsensitiveArray */ public function getHttpHeaders() { return $this->httpHeaders; } /** * Sets the HTTP headers array. * * @param null|array|\Stripe\Util\CaseInsensitiveArray $httpHeaders */ public function setHttpHeaders($httpHeaders) { $this->httpHeaders = $httpHeaders; } /** * Gets the HTTP status code. * * @return null|int */ public function getHttpStatus() { return $this->httpStatus; } /** * Sets the HTTP status code. * * @param null|int $httpStatus */ public function setHttpStatus($httpStatus) { $this->httpStatus = $httpStatus; } /** * Gets the JSON deserialized body. * * @return null|array */ public function getJsonBody() { return $this->jsonBody; } /** * Sets the JSON deserialized body. * * @param null|array $jsonBody */ public function setJsonBody($jsonBody) { $this->jsonBody = $jsonBody; } /** * Gets the Stripe request ID. * * @return null|string */ public function getRequestId() { return $this->requestId; } /** * Sets the Stripe request ID. * * @param null|string $requestId */ public function setRequestId($requestId) { $this->requestId = $requestId; } /** * Gets the Stripe error code. * * Cf. the `CODE_*` constants on {@see \Stripe\ErrorObject} for possible * values. * * @return null|string */ public function getStripeCode() { return $this->stripeCode; } /** * Sets the Stripe error code. * * @param null|string $stripeCode */ public function setStripeCode($stripeCode) { $this->stripeCode = $stripeCode; } /** * Returns the string representation of the exception. * * @return string */ public function __toString() { $parentStr = parent::__toString(); $statusStr = (null === $this->getHttpStatus()) ? '' : "(Status {$this->getHttpStatus()}) "; $idStr = (null === $this->getRequestId()) ? '' : "(Request {$this->getRequestId()}) "; return "Error sending request to Stripe: {$statusStr}{$idStr}{$this->getMessage()}\n{$parentStr}"; } protected function constructErrorObject() { if (null === $this->jsonBody || !\array_key_exists('error', $this->jsonBody)) { return null; } return \Stripe\ErrorObject::constructFrom($this->jsonBody['error']); } } lib/stripe-gateway/lib/Exception/BadMethodCallException.php000064400000000212147206617610020003 0ustar00setDeclineCode($declineCode); $instance->setStripeParam($stripeParam); return $instance; } /** * Gets the decline code. * * @return null|string */ public function getDeclineCode() { return $this->declineCode; } /** * Sets the decline code. * * @param null|string $declineCode */ public function setDeclineCode($declineCode) { $this->declineCode = $declineCode; } /** * Gets the parameter related to the error. * * @return null|string */ public function getStripeParam() { return $this->stripeParam; } /** * Sets the parameter related to the error. * * @param null|string $stripeParam */ public function setStripeParam($stripeParam) { $this->stripeParam = $stripeParam; } } lib/stripe-gateway/lib/Exception/AuthenticationException.php000064400000000335147206617610020345 0ustar00 * * @property string $object * @property string $url * @property bool $has_more * @property TStripeObject[] $data */ class Collection extends StripeObject implements \Countable, \IteratorAggregate { const OBJECT_NAME = 'list'; use ApiOperations\Request; /** @var array */ protected $filters = []; /** * @return string the base URL for the given class */ public static function baseUrl() { return Stripe::$apiBase; } /** * Returns the filters. * * @return array the filters */ public function getFilters() { return $this->filters; } /** * Sets the filters, removing paging options. * * @param array $filters the filters */ public function setFilters($filters) { $this->filters = $filters; } /** * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($k) { if (\is_string($k)) { return parent::offsetGet($k); } $msg = "You tried to access the {$k} index, but Collection " . 'types only support string keys. (HINT: List calls ' . 'return an object with a `data` (which is the data ' . "array). You likely want to call ->data[{$k}])"; throw new Exception\InvalidArgumentException($msg); } /** * @param null|array $params * @param null|array|string $opts * * @throws Exception\ApiErrorException * * @return Collection */ public function all($params = null, $opts = null) { self::_validateParams($params); list($url, $params) = $this->extractPathAndUpdateParams($params); list($response, $opts) = $this->_request('get', $url, $params, $opts); $obj = Util\Util::convertToStripeObject($response, $opts); if (!($obj instanceof \Stripe\Collection)) { throw new \Stripe\Exception\UnexpectedValueException( 'Expected type ' . \Stripe\Collection::class . ', got "' . \get_class($obj) . '" instead.' ); } $obj->setFilters($params); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws Exception\ApiErrorException * * @return TStripeObject */ public function create($params = null, $opts = null) { self::_validateParams($params); list($url, $params) = $this->extractPathAndUpdateParams($params); list($response, $opts) = $this->_request('post', $url, $params, $opts); return Util\Util::convertToStripeObject($response, $opts); } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws Exception\ApiErrorException * * @return TStripeObject */ public function retrieve($id, $params = null, $opts = null) { self::_validateParams($params); list($url, $params) = $this->extractPathAndUpdateParams($params); $id = Util\Util::utf8($id); $extn = \urlencode($id); list($response, $opts) = $this->_request( 'get', "{$url}/{$extn}", $params, $opts ); return Util\Util::convertToStripeObject($response, $opts); } /** * @return int the number of objects in the current page */ #[\ReturnTypeWillChange] public function count() { return \count($this->data); } /** * @return \ArrayIterator an iterator that can be used to iterate * across objects in the current page */ #[\ReturnTypeWillChange] public function getIterator() { return new \ArrayIterator($this->data); } /** * @return \ArrayIterator an iterator that can be used to iterate * backwards across objects in the current page */ public function getReverseIterator() { return new \ArrayIterator(\array_reverse($this->data)); } /** * @throws Exception\ApiErrorException * * @return \Generator|TStripeObject[] A generator that can be used to * iterate across all objects across all pages. As page boundaries are * encountered, the next page will be fetched automatically for * continued iteration. */ public function autoPagingIterator() { $page = $this; while (true) { $filters = $this->filters ?: []; if (\array_key_exists('ending_before', $filters) && !\array_key_exists('starting_after', $filters)) { foreach ($page->getReverseIterator() as $item) { yield $item; } $page = $page->previousPage(); } else { foreach ($page as $item) { yield $item; } $page = $page->nextPage(); } if ($page->isEmpty()) { break; } } } /** * Returns an empty collection. This is returned from {@see nextPage()} * when we know that there isn't a next page in order to replicate the * behavior of the API when it attempts to return a page beyond the last. * * @param null|array|string $opts * * @return Collection */ public static function emptyCollection($opts = null) { return Collection::constructFrom(['data' => []], $opts); } /** * Returns true if the page object contains no element. * * @return bool */ public function isEmpty() { return empty($this->data); } /** * Fetches the next page in the resource list (if there is one). * * This method will try to respect the limit of the current page. If none * was given, the default limit will be fetched again. * * @param null|array $params * @param null|array|string $opts * * @throws Exception\ApiErrorException * * @return Collection */ public function nextPage($params = null, $opts = null) { if (!$this->has_more) { return static::emptyCollection($opts); } $lastId = \end($this->data)->id; $params = \array_merge( $this->filters ?: [], ['starting_after' => $lastId], $params ?: [] ); return $this->all($params, $opts); } /** * Fetches the previous page in the resource list (if there is one). * * This method will try to respect the limit of the current page. If none * was given, the default limit will be fetched again. * * @param null|array $params * @param null|array|string $opts * * @throws Exception\ApiErrorException * * @return Collection */ public function previousPage($params = null, $opts = null) { if (!$this->has_more) { return static::emptyCollection($opts); } $firstId = $this->data[0]->id; $params = \array_merge( $this->filters ?: [], ['ending_before' => $firstId], $params ?: [] ); return $this->all($params, $opts); } /** * Gets the first item from the current page. Returns `null` if the current page is empty. * * @return null|TStripeObject */ public function first() { return \count($this->data) > 0 ? $this->data[0] : null; } /** * Gets the last item from the current page. Returns `null` if the current page is empty. * * @return null|TStripeObject */ public function last() { return \count($this->data) > 0 ? $this->data[\count($this->data) - 1] : null; } private function extractPathAndUpdateParams($params) { $url = \parse_url($this->url); if (!isset($url['path'])) { throw new Exception\UnexpectedValueException("Could not parse list url into parts: {$url}"); } if (isset($url['query'])) { // If the URL contains a query param, parse it out into $params so they // don't interact weirdly with each other. $query = []; \parse_str($url['query'], $query); $params = \array_merge($params ?: [], $query); } return [$url['path'], $params]; } } lib/stripe-gateway/lib/ApiOperations/Update.php000064400000003166147206617610015555 0ustar00json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return static the saved resource * * @deprecated The `save` method is deprecated and will be removed in a * future major version of the library. Use the static method `update` * on the resource instead. */ public function save($opts = null) { $params = $this->serializeParameters(); if (\count($params) > 0) { $url = $this->instanceUrl(); list($response, $opts) = $this->_request('post', $url, $params, $opts, ['save']); $this->refreshFrom($response, $opts); } return $this; } } lib/stripe-gateway/lib/ApiOperations/Request.php000064400000013037147206617610015761 0ustar00 100, " . "'currency' => 'usd', 'source' => 'tok_1234'])\")"; throw new \Stripe\Exception\InvalidArgumentException($message); } } /** * @param 'delete'|'get'|'post' $method HTTP method ('get', 'post', etc.) * @param string $url URL for the request * @param array $params list of parameters for the request * @param null|array|string $options * @param string[] $usage names of tracked behaviors associated with this request * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return array tuple containing (the JSON response, $options) */ protected function _request($method, $url, $params = [], $options = null, $usage = []) { $opts = $this->_opts->merge($options); list($resp, $options) = static::_staticRequest($method, $url, $params, $opts, $usage); $this->setLastResponse($resp); return [$resp->json, $options]; } /** * @param string $url URL for the request * @param class-string< \Stripe\SearchResult|\Stripe\Collection > $resultClass indicating what type of paginated result is returned * @param null|array $params list of parameters for the request * @param null|array|string $options * @param string[] $usage names of tracked behaviors associated with this request * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection|\Stripe\SearchResult */ protected static function _requestPage($url, $resultClass, $params = null, $options = null, $usage = []) { self::_validateParams($params); list($response, $opts) = static::_staticRequest('get', $url, $params, $options, $usage); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); if (!($obj instanceof $resultClass)) { throw new \Stripe\Exception\UnexpectedValueException( 'Expected type ' . $resultClass . ', got "' . \get_class($obj) . '" instead.' ); } $obj->setLastResponse($response); $obj->setFilters($params); return $obj; } /** * @param 'delete'|'get'|'post' $method HTTP method ('get', 'post', etc.) * @param string $url URL for the request * @param callable $readBodyChunk function that will receive chunks of data from a successful request body * @param array $params list of parameters for the request * @param null|array|string $options * @param string[] $usage names of tracked behaviors associated with this request * * @throws \Stripe\Exception\ApiErrorException if the request fails */ protected function _requestStream($method, $url, $readBodyChunk, $params = [], $options = null, $usage = []) { $opts = $this->_opts->merge($options); static::_staticStreamingRequest($method, $url, $readBodyChunk, $params, $opts, $usage); } /** * @param 'delete'|'get'|'post' $method HTTP method ('get', 'post', etc.) * @param string $url URL for the request * @param array $params list of parameters for the request * @param null|array|string $options * @param string[] $usage names of tracked behaviors associated with this request * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return array tuple containing (the JSON response, $options) */ protected static function _staticRequest($method, $url, $params, $options, $usage = []) { $opts = \Stripe\Util\RequestOptions::parse($options); $baseUrl = isset($opts->apiBase) ? $opts->apiBase : static::baseUrl(); $requestor = new \Stripe\ApiRequestor($opts->apiKey, $baseUrl); list($response, $opts->apiKey) = $requestor->request($method, $url, $params, $opts->headers, $usage); $opts->discardNonPersistentHeaders(); return [$response, $opts]; } /** * @param 'delete'|'get'|'post' $method HTTP method ('get', 'post', etc.) * @param string $url URL for the request * @param callable $readBodyChunk function that will receive chunks of data from a successful request body * @param array $params list of parameters for the request * @param null|array|string $options * @param string[] $usage names of tracked behaviors associated with this request * * @throws \Stripe\Exception\ApiErrorException if the request fails */ protected static function _staticStreamingRequest($method, $url, $readBodyChunk, $params, $options, $usage = []) { $opts = \Stripe\Util\RequestOptions::parse($options); $baseUrl = isset($opts->apiBase) ? $opts->apiBase : static::baseUrl(); $requestor = new \Stripe\ApiRequestor($opts->apiKey, $baseUrl); $requestor->requestStream($method, $url, $readBodyChunk, $params, $opts->headers); } } lib/stripe-gateway/lib/ApiOperations/Delete.php000064400000001374147206617610015534 0ustar00instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/ApiOperations/All.php000064400000001176147206617610015042 0ustar00refresh(); return $instance; } } lib/stripe-gateway/lib/ApiOperations/Create.php000064400000001543147206617610015533 0ustar00json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/ApiOperations/Retrieve.php000064400000001414147206617610016112 0ustar00refresh(); return $instance; } } lib/stripe-gateway/lib/ApiOperations/NestedResource.php000064400000007651147206617610017270 0ustar00json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param string $id * @param string $nestedPath * @param null|string $nestedId * * @return string */ protected static function _nestedResourceUrl($id, $nestedPath, $nestedId = null) { $url = static::resourceUrl($id) . $nestedPath; if (null !== $nestedId) { $url .= "/{$nestedId}"; } return $url; } /** * @param string $id * @param string $nestedPath * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\StripeObject */ protected static function _createNestedResource($id, $nestedPath, $params = null, $options = null) { $url = static::_nestedResourceUrl($id, $nestedPath); return self::_nestedResourceOperation('post', $url, $params, $options); } /** * @param string $id * @param string $nestedPath * @param null|string $nestedId * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\StripeObject */ protected static function _retrieveNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null) { $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId); return self::_nestedResourceOperation('get', $url, $params, $options); } /** * @param string $id * @param string $nestedPath * @param null|string $nestedId * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\StripeObject */ protected static function _updateNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null) { $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId); return self::_nestedResourceOperation('post', $url, $params, $options); } /** * @param string $id * @param string $nestedPath * @param null|string $nestedId * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\StripeObject */ protected static function _deleteNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null) { $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId); return self::_nestedResourceOperation('delete', $url, $params, $options); } /** * @param string $id * @param string $nestedPath * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\StripeObject */ protected static function _allNestedResources($id, $nestedPath, $params = null, $options = null) { $url = static::_nestedResourceUrl($id, $nestedPath); return self::_nestedResourceOperation('get', $url, $params, $options); } } lib/stripe-gateway/lib/ApiOperations/Search.php000064400000001171147206617610015532 0ustar00Refunds * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount, in cents (or local equivalent). * @property null|string|\Stripe\BalanceTransaction $balance_transaction Balance transaction that describes the impact on your account balance. * @property null|string|\Stripe\Charge $charge ID of the charge that's refunded. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. You can use this for displaying to users (available on non-card refunds only). * @property null|\Stripe\StripeObject $destination_details * @property null|string|\Stripe\BalanceTransaction $failure_balance_transaction After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction. * @property null|string $failure_reason Provides the reason for the refund failure. Possible values are: lost_or_stolen_card, expired_or_canceled_card, charge_for_pending_refund_disputed, insufficient_funds, declined, merchant_request, or unknown. * @property null|string $instructions_email For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $next_action * @property null|string|\Stripe\PaymentIntent $payment_intent ID of the PaymentIntent that's refunded. * @property null|string $reason Reason for the refund, which is either user-provided (duplicate, fraudulent, or requested_by_customer) or generated by Stripe internally (expired_uncaptured_charge). * @property null|string $receipt_number This is the transaction number that appears on email receipts sent for this refund. * @property null|string|\Stripe\TransferReversal $source_transfer_reversal The transfer reversal that's associated with the refund. Only present if the charge came from another Stripe account. * @property null|string $status Status of the refund. This can be pending, requires_action, succeeded, failed, or canceled. Learn more about failed refunds. * @property null|string|\Stripe\TransferReversal $transfer_reversal This refers to the transfer reversal object if the accompanying transfer reverses. This is only applicable if the charge was created using the destination parameter. */ class Refund extends ApiResource { const OBJECT_NAME = 'refund'; use ApiOperations\Update; const FAILURE_REASON_EXPIRED_OR_CANCELED_CARD = 'expired_or_canceled_card'; const FAILURE_REASON_LOST_OR_STOLEN_CARD = 'lost_or_stolen_card'; const FAILURE_REASON_UNKNOWN = 'unknown'; const REASON_DUPLICATE = 'duplicate'; const REASON_EXPIRED_UNCAPTURED_CHARGE = 'expired_uncaptured_charge'; const REASON_FRAUDULENT = 'fraudulent'; const REASON_REQUESTED_BY_CUSTOMER = 'requested_by_customer'; const STATUS_CANCELED = 'canceled'; const STATUS_FAILED = 'failed'; const STATUS_PENDING = 'pending'; const STATUS_REQUIRES_ACTION = 'requires_action'; const STATUS_SUCCEEDED = 'succeeded'; /** * When you create a new refund, you must specify a Charge or a PaymentIntent * object on which to create it. * * Creating a new refund will refund a charge that has previously been created but * not yet refunded. Funds will be refunded to the credit or debit card that was * originally charged. * * You can optionally refund only part of a charge. You can do so multiple times, * until the entire charge has been refunded. * * Once entirely refunded, a charge can’t be refunded again. This method will raise * an error when called on an already-refunded charge, or when trying to refund * more money than is left on a charge. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of all refunds you created. We return the refunds in sorted * order, with the most recent refunds appearing first. The 10 most recent refunds * are always available by default on the Charge object. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Refund> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing refund. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the refund that you specify by setting the values of the passed * parameters. Any parameters that you don’t provide remain unchanged. * * This request only accepts metadata as an argument. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund the canceled refund */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/TaxCode.php000064400000003543147206617610013104 0ustar00Tax codes classify goods and services for tax purposes. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property string $description A detailed description of which types of products the tax code represents. * @property string $name A short name for the tax code. */ class TaxCode extends ApiResource { const OBJECT_NAME = 'tax_code'; /** * A list of all tax codes * available to add to Products in order to allow specific tax calculations. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TaxCode> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing tax code. Supply the unique tax code ID and * Stripe will return the corresponding tax code information. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxCode */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/TaxRate.php000064400000014616147206617610013130 0ustar00invoices, subscriptions and Checkout Sessions to collect tax. * * Related guide: Tax rates * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $active Defaults to true. When set to false, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. * @property null|string $country Two-letter country code (ISO 3166-1 alpha-2). * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $description An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. * @property string $display_name The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page. * @property null|float $effective_percentage Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product's taxability and whether the user is registered to collect taxes in the corresponding jurisdiction. * @property bool $inclusive This specifies if the tax rate is inclusive or exclusive. * @property null|string $jurisdiction The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice. * @property null|string $jurisdiction_level The level of the jurisdiction that imposes this tax rate. Will be null for manually defined tax rates. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property float $percentage Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions. * @property null|string $state ISO 3166-2 subdivision code, without country prefix. For example, "NY" for New York, United States. * @property null|string $tax_type The high-level tax type, such as vat or sales_tax. */ class TaxRate extends ApiResource { const OBJECT_NAME = 'tax_rate'; use ApiOperations\Update; const JURISDICTION_LEVEL_CITY = 'city'; const JURISDICTION_LEVEL_COUNTRY = 'country'; const JURISDICTION_LEVEL_COUNTY = 'county'; const JURISDICTION_LEVEL_DISTRICT = 'district'; const JURISDICTION_LEVEL_MULTIPLE = 'multiple'; const JURISDICTION_LEVEL_STATE = 'state'; const TAX_TYPE_AMUSEMENT_TAX = 'amusement_tax'; const TAX_TYPE_COMMUNICATIONS_TAX = 'communications_tax'; const TAX_TYPE_GST = 'gst'; const TAX_TYPE_HST = 'hst'; const TAX_TYPE_IGST = 'igst'; const TAX_TYPE_JCT = 'jct'; const TAX_TYPE_LEASE_TAX = 'lease_tax'; const TAX_TYPE_PST = 'pst'; const TAX_TYPE_QST = 'qst'; const TAX_TYPE_RST = 'rst'; const TAX_TYPE_SALES_TAX = 'sales_tax'; const TAX_TYPE_VAT = 'vat'; /** * Creates a new tax rate. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxRate the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of your tax rates. Tax rates are returned sorted by creation * date, with the most recently created tax rates appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TaxRate> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a tax rate with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxRate */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates an existing tax rate. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxRate the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Source.php000064400000026712147206617610013020 0ustar00Source objects allow you to accept a variety of payment methods. They * represent a customer's payment instrument, and can be used with the Stripe API * just like a Card object: once chargeable, they can be charged, or can be * attached to customers. * * Stripe doesn't recommend using the deprecated Sources API. * We recommend that you adopt the PaymentMethods API. * This newer API provides access to our latest features and payment method types. * * Related guides: Sources API and Sources & Customers. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $ach_credit_transfer * @property null|\Stripe\StripeObject $ach_debit * @property null|\Stripe\StripeObject $acss_debit * @property null|\Stripe\StripeObject $alipay * @property null|int $amount A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for single_use sources. * @property null|\Stripe\StripeObject $au_becs_debit * @property null|\Stripe\StripeObject $bancontact * @property null|\Stripe\StripeObject $card * @property null|\Stripe\StripeObject $card_present * @property string $client_secret The client secret of the source. Used for client-side retrieval using a publishable key. * @property null|\Stripe\StripeObject $code_verification * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $currency Three-letter ISO code for the currency associated with the source. This is the currency for which the source will be chargeable once ready. Required for single_use sources. * @property null|string $customer The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer. * @property null|\Stripe\StripeObject $eps * @property string $flow The authentication flow of the source. flow is one of redirect, receiver, code_verification, none. * @property null|\Stripe\StripeObject $giropay * @property null|\Stripe\StripeObject $ideal * @property null|\Stripe\StripeObject $klarna * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $multibanco * @property null|\Stripe\StripeObject $owner Information about the owner of the payment instrument that may be used or required by particular source types. * @property null|\Stripe\StripeObject $p24 * @property null|\Stripe\StripeObject $receiver * @property null|\Stripe\StripeObject $redirect * @property null|\Stripe\StripeObject $sepa_credit_transfer * @property null|\Stripe\StripeObject $sepa_debit * @property null|\Stripe\StripeObject $sofort * @property null|\Stripe\StripeObject $source_order * @property null|string $statement_descriptor Extra information about a source. This will appear on your customer's statement every time you charge the source. * @property string $status The status of the source, one of canceled, chargeable, consumed, failed, or pending. Only chargeable sources can be used to create a charge. * @property null|\Stripe\StripeObject $three_d_secure * @property string $type The type of the source. The type is a payment method, one of ach_credit_transfer, ach_debit, alipay, bancontact, card, card_present, eps, giropay, ideal, multibanco, klarna, p24, sepa_debit, sofort, three_d_secure, or wechat. An additional hash is included on the source with a name matching this value. It contains additional information specific to the payment method used. * @property null|string $usage Either reusable or single_use. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. * @property null|\Stripe\StripeObject $wechat */ class Source extends ApiResource { const OBJECT_NAME = 'source'; use ApiOperations\Update; const FLOW_CODE_VERIFICATION = 'code_verification'; const FLOW_NONE = 'none'; const FLOW_RECEIVER = 'receiver'; const FLOW_REDIRECT = 'redirect'; const STATUS_CANCELED = 'canceled'; const STATUS_CHARGEABLE = 'chargeable'; const STATUS_CONSUMED = 'consumed'; const STATUS_FAILED = 'failed'; const STATUS_PENDING = 'pending'; const TYPE_ACH_CREDIT_TRANSFER = 'ach_credit_transfer'; const TYPE_ACH_DEBIT = 'ach_debit'; const TYPE_ACSS_DEBIT = 'acss_debit'; const TYPE_ALIPAY = 'alipay'; const TYPE_AU_BECS_DEBIT = 'au_becs_debit'; const TYPE_BANCONTACT = 'bancontact'; const TYPE_CARD = 'card'; const TYPE_CARD_PRESENT = 'card_present'; const TYPE_EPS = 'eps'; const TYPE_GIROPAY = 'giropay'; const TYPE_IDEAL = 'ideal'; const TYPE_KLARNA = 'klarna'; const TYPE_MULTIBANCO = 'multibanco'; const TYPE_P24 = 'p24'; const TYPE_SEPA_CREDIT_TRANSFER = 'sepa_credit_transfer'; const TYPE_SEPA_DEBIT = 'sepa_debit'; const TYPE_SOFORT = 'sofort'; const TYPE_THREE_D_SECURE = 'three_d_secure'; const TYPE_WECHAT = 'wechat'; const USAGE_REUSABLE = 'reusable'; const USAGE_SINGLE_USE = 'single_use'; /** * Creates a new source object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Retrieves an existing source object. Supply the unique source ID from a source * creation request and Stripe will return the corresponding up-to-date source * object information. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified source by setting the values of the parameters passed. Any * parameters not provided will be left unchanged. * * This request accepts the metadata and owner as * arguments. It is also possible to update type specific information for selected * payment methods. Please refer to our payment method * guides for more detail. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } use ApiOperations\NestedResource; /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\UnexpectedValueException if the source is not attached to a customer * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source the detached source */ public function detach($params = null, $opts = null) { self::_validateParams($params); $id = $this['id']; if (!$id) { $class = static::class; $msg = "Could not determine which URL to request: {$class} instance " . "has invalid ID: {$id}"; throw new Exception\UnexpectedValueException($msg, null); } if ($this['customer']) { $base = Customer::classUrl(); $parentExtn = \urlencode(Util\Util::utf8($this['customer'])); $extn = \urlencode(Util\Util::utf8($id)); $url = "{$base}/{$parentExtn}/sources/{$extn}"; list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } $message = 'This source object does not appear to be currently attached ' . 'to a customer object.'; throw new Exception\UnexpectedValueException($message); } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\SourceTransaction> list of source transactions */ public static function allSourceTransactions($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/source_transactions'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source the verified source */ public function verify($params = null, $opts = null) { $url = $this->instanceUrl() . '/verify'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/PaymentMethodDomain.php000064400000011306147206617610015457 0ustar00Payment method domains. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject $apple_pay Indicates the status of a specific payment method on a payment method domain. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $domain_name The domain name that this payment method domain object represents. * @property bool $enabled Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements. * @property \Stripe\StripeObject $google_pay Indicates the status of a specific payment method on a payment method domain. * @property \Stripe\StripeObject $link Indicates the status of a specific payment method on a payment method domain. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $paypal Indicates the status of a specific payment method on a payment method domain. */ class PaymentMethodDomain extends ApiResource { const OBJECT_NAME = 'payment_method_domain'; use ApiOperations\Update; /** * Creates a payment method domain. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodDomain the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Lists the details of existing payment method domains. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PaymentMethodDomain> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing payment method domain. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodDomain */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates an existing payment method domain. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodDomain the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodDomain the validated payment method domain */ public function validate($params = null, $opts = null) { $url = $this->instanceUrl() . '/validate'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Quote.php000064400000026626147206617610012661 0ustar00charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as active. Defaults to charge_automatically. * @property \Stripe\StripeObject $computed * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string|\Stripe\Customer $customer The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. * @property null|(string|\Stripe\TaxRate)[] $default_tax_rates The tax rates applied to this quote. * @property null|string $description A description that will be displayed on the quote PDF. * @property (string|\Stripe\Discount)[] $discounts The discounts applied to this quote. * @property int $expires_at The date on which the quote will be canceled if in open or draft status. Measured in seconds since the Unix epoch. * @property null|string $footer A footer that will be displayed on the quote PDF. * @property null|\Stripe\StripeObject $from_quote Details of the quote that was cloned. See the cloning documentation for more details. * @property null|string $header A header that will be displayed on the quote PDF. * @property null|string|\Stripe\Invoice $invoice The invoice that was created from this quote. * @property \Stripe\StripeObject $invoice_settings * @property null|\Stripe\Collection<\Stripe\LineItem> $line_items A list of items the customer is being quoted for. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $number A unique number that identifies this particular quote. This number is assigned once the quote is finalized. * @property null|string|\Stripe\Account $on_behalf_of The account on behalf of which to charge. See the Connect documentation for details. * @property string $status The status of the quote. * @property \Stripe\StripeObject $status_transitions * @property null|string|\Stripe\Subscription $subscription The subscription that was created or updated from this quote. * @property \Stripe\StripeObject $subscription_data * @property null|string|\Stripe\SubscriptionSchedule $subscription_schedule The subscription schedule that was created or updated from this quote. * @property null|string|\Stripe\TestHelpers\TestClock $test_clock ID of the test clock this quote belongs to. * @property \Stripe\StripeObject $total_details * @property null|\Stripe\StripeObject $transfer_data The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices. */ class Quote extends ApiResource { const OBJECT_NAME = 'quote'; use ApiOperations\Update; const COLLECTION_METHOD_CHARGE_AUTOMATICALLY = 'charge_automatically'; const COLLECTION_METHOD_SEND_INVOICE = 'send_invoice'; const STATUS_ACCEPTED = 'accepted'; const STATUS_CANCELED = 'canceled'; const STATUS_DRAFT = 'draft'; const STATUS_OPEN = 'open'; /** * A quote models prices and services for a customer. Default options for * header, description, footer, and * expires_at can be set in the dashboard via the quote template. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of your quotes. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Quote> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the quote with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * A quote models prices and services for a customer. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote the accepted quote */ public function accept($params = null, $opts = null) { $url = $this->instanceUrl() . '/accept'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote the canceled quote */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote the finalized quote */ public function finalizeQuote($params = null, $opts = null) { $url = $this->instanceUrl() . '/finalize'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\LineItem> list of line items */ public static function allComputedUpfrontLineItems($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/computed_upfront_line_items'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\LineItem> list of line items */ public static function allLineItems($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/line_items'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param callable $readBodyChunkCallable * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return void */ public function pdf($readBodyChunkCallable, $params = null, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); if (!isset($opts->apiBase)) { $opts->apiBase = \Stripe\Stripe::$apiUploadBase; } $url = $this->instanceUrl() . '/pdf'; $this->_requestStream('get', $url, $readBodyChunkCallable, $params, $opts); } } lib/stripe-gateway/lib/Coupon.php000064400000017243147206617610013022 0ustar00subscriptions, invoices, * checkout sessions, quotes, and more. Coupons do not work with conventional one-off charges or payment intents. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|int $amount_off Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer. * @property null|\Stripe\StripeObject $applies_to * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $currency If amount_off has been set, the three-letter ISO code for the currency of the amount to take off. * @property null|\Stripe\StripeObject $currency_options Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency. * @property string $duration One of forever, once, and repeating. Describes how long a customer who applies this coupon will get the discount. * @property null|int $duration_in_months If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|int $max_redemptions Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $name Name of the coupon displayed to customers on for instance invoices or receipts. * @property null|float $percent_off Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $ (or local equivalent)100 invoice $ (or local equivalent)50 instead. * @property null|int $redeem_by Date after which the coupon can no longer be redeemed. * @property int $times_redeemed Number of times this coupon has been applied to a customer. * @property bool $valid Taking account of the above properties, whether this coupon can still be applied to a customer. */ class Coupon extends ApiResource { const OBJECT_NAME = 'coupon'; use ApiOperations\Update; const DURATION_FOREVER = 'forever'; const DURATION_ONCE = 'once'; const DURATION_REPEATING = 'repeating'; /** * You can create coupons easily via the coupon management page of the * Stripe dashboard. Coupon creation is also accessible via the API if you need to * create coupons on the fly. * * A coupon has either a percent_off or an amount_off and * currency. If you set an amount_off, that amount will * be subtracted from any invoice’s subtotal. For example, an invoice with a * subtotal of 100 will have a final total of * 0 if a coupon with an amount_off of * 200 is applied to it and an invoice with a subtotal of * 300 will have a final total of 100 if * a coupon with an amount_off of 200 is applied to * it. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Coupon the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * You can delete coupons via the coupon management page of the * Stripe dashboard. However, deleting a coupon does not affect any customers who * have already applied the coupon; it means that new customers can’t redeem the * coupon. You can also delete coupons via the API. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Coupon the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of your coupons. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Coupon> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the coupon with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Coupon */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the metadata of a coupon. Other coupon details (currency, duration, * amount_off) are, by design, not editable. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Coupon the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/OAuth.php000064400000006646147206617610012604 0ustar00request( 'post', '/oauth/token', $params, null ); return Util\Util::convertToStripeObject($response->json, $opts); } /** * Disconnects an account from your platform. * * @param null|array $params * @param null|array $opts * * @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails * * @return StripeObject object containing the response from the API */ public static function deauthorize($params = null, $opts = null) { $params = $params ?: []; $base = ($opts && \array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase; $requestor = new ApiRequestor(null, $base); $params['client_id'] = self::_getClientId($params); list($response, $apiKey) = $requestor->request( 'post', '/oauth/deauthorize', $params, null ); return Util\Util::convertToStripeObject($response->json, $opts); } private static function _getClientId($params = null) { $clientId = ($params && \array_key_exists('client_id', $params)) ? $params['client_id'] : null; if (null === $clientId) { $clientId = Stripe::getClientId(); } if (null === $clientId) { $msg = 'No client_id provided. (HINT: set your client_id using ' . '"Stripe::setClientId()". You can find your client_ids ' . 'in your Stripe dashboard at ' . 'https://dashboard.stripe.com/account/applications/settings, ' . 'after registering your account as a platform. See ' . 'https://stripe.com/docs/connect/standard-accounts for details, ' . 'or email support@stripe.com if you have any questions.'; throw new Exception\AuthenticationException($msg); } return $clientId; } } lib/stripe-gateway/lib/EphemeralKey.php000064400000004110147206617610014117 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $secret The key's secret. You can use this value to make authorized requests to the Stripe API. */ class EphemeralKey extends ApiResource { const OBJECT_NAME = 'ephemeral_key'; /** * Invalidates a short-lived API key for a given resource. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\EphemeralKey the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } use ApiOperations\Create { create as protected _create; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\InvalidArgumentException if stripe_version is missing * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\EphemeralKey the created key */ public static function create($params = null, $opts = null) { if (!$opts || !isset($opts['stripe_version'])) { throw new Exception\InvalidArgumentException('stripe_version must be specified to create an ephemeral key'); } return self::_create($params, $opts); } } lib/stripe-gateway/lib/FundingInstructions.php000064400000002554147206617610015575 0ustar00balance that is * automatically applied to future invoices and payments using the customer_balance payment method. * Customers can fund this balance by initiating a bank transfer to any account in the * financial_addresses field. * Related guide: Customer balance funding instructions. * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject $bank_transfer * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string $funding_type The funding_type of the returned instructions * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. */ class FundingInstructions extends ApiResource { const OBJECT_NAME = 'funding_instructions'; const FUNDING_TYPE_BANK_TRANSFER = 'bank_transfer'; } lib/stripe-gateway/lib/ConnectCollectionTransfer.php000064400000001625147206617610016666 0ustar00ISO currency code, in lowercase. Must be a supported currency. * @property string|\Stripe\Account $destination ID of the account that funds are being collected for. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. */ class ConnectCollectionTransfer extends ApiResource { const OBJECT_NAME = 'connect_collection_transfer'; } lib/stripe-gateway/lib/Climate/Supplier.php000064400000004216147206617610014734 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject[] $locations The locations in which this supplier operates. * @property string $name Name of this carbon removal supplier. * @property string $removal_pathway The scientific pathway used for carbon removal. */ class Supplier extends \Stripe\ApiResource { const OBJECT_NAME = 'climate.supplier'; const REMOVAL_PATHWAY_BIOMASS_CARBON_REMOVAL_AND_STORAGE = 'biomass_carbon_removal_and_storage'; const REMOVAL_PATHWAY_DIRECT_AIR_CAPTURE = 'direct_air_capture'; const REMOVAL_PATHWAY_ENHANCED_WEATHERING = 'enhanced_weathering'; /** * Lists all available Climate supplier objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Climate\Supplier> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a Climate supplier object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Supplier */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Climate/Order.php000064400000014771147206617610014213 0ustar00Frontier's service fees in the currency's smallest unit. * @property int $amount_subtotal Total amount of the carbon removal in the currency's smallest unit. * @property int $amount_total Total amount of the order including fees in the currency's smallest unit. * @property null|\Stripe\StripeObject $beneficiary * @property null|int $canceled_at Time at which the order was canceled. Measured in seconds since the Unix epoch. * @property null|string $cancellation_reason Reason for the cancellation of this order. * @property null|string $certificate For delivered orders, a URL to a delivery certificate for the order. * @property null|int $confirmed_at Time at which the order was confirmed. Measured in seconds since the Unix epoch. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase, representing the currency for this order. * @property null|int $delayed_at Time at which the order's expected_delivery_year was delayed. Measured in seconds since the Unix epoch. * @property null|int $delivered_at Time at which the order was delivered. Measured in seconds since the Unix epoch. * @property \Stripe\StripeObject[] $delivery_details Details about the delivery of carbon removal for this order. * @property int $expected_delivery_year The year this order is expected to be delivered. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $metric_tons Quantity of carbon removal that is included in this order. * @property string|\Stripe\Climate\Product $product Unique ID for the Climate Product this order is purchasing. * @property null|int $product_substituted_at Time at which the order's product was substituted for a different product. Measured in seconds since the Unix epoch. * @property string $status The current status of this order. */ class Order extends \Stripe\ApiResource { const OBJECT_NAME = 'climate.order'; use \Stripe\ApiOperations\Update; const CANCELLATION_REASON_EXPIRED = 'expired'; const CANCELLATION_REASON_PRODUCT_UNAVAILABLE = 'product_unavailable'; const CANCELLATION_REASON_REQUESTED = 'requested'; const STATUS_AWAITING_FUNDS = 'awaiting_funds'; const STATUS_CANCELED = 'canceled'; const STATUS_CONFIRMED = 'confirmed'; const STATUS_DELIVERED = 'delivered'; const STATUS_OPEN = 'open'; /** * Creates a Climate order object for a given Climate product. The order will be * processed immediately after creation and payment will be deducted your Stripe * balance. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Order the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Lists all Climate order objects. The orders are returned sorted by creation * date, with the most recently created orders appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Climate\Order> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a Climate order object with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Order */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified order by setting the values of the parameters passed. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Order the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Order the canceled order */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Climate/Product.php000064400000005137147206617610014554 0ustar00climsku_. See carbon removal inventory for a list of available carbon removal products. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property \Stripe\StripeObject $current_prices_per_metric_ton Current prices for a metric ton of carbon removal in a currency's smallest unit. * @property null|int $delivery_year The year in which the carbon removal is expected to be delivered. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $metric_tons_available The quantity of metric tons available for reservation. * @property string $name The Climate product's name. * @property \Stripe\Climate\Supplier[] $suppliers The carbon removal suppliers that fulfill orders for this Climate product. */ class Product extends \Stripe\ApiResource { const OBJECT_NAME = 'climate.product'; /** * Lists all available Climate product objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Climate\Product> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a Climate product with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Product */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Payout.php000064400000026337147206617610013044 0ustar00Payout object is created when you receive funds from Stripe, or when you * initiate a payout to either a bank account or debit card of a connected * Stripe account. You can retrieve individual payouts, * and list all payouts. Payouts are made on varying * schedules, depending on your country and * industry. * * Related guide: Receiving payouts * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount The amount (in cents (or local equivalent)) that transfers to your bank account or debit card. * @property null|string|\Stripe\ApplicationFee $application_fee The application fee (if any) for the payout. See the Connect documentation for details. * @property null|int $application_fee_amount The amount of the application fee (if any) requested for the payout. See the Connect documentation for details. * @property int $arrival_date Date that you can expect the payout to arrive in the bank. This factors in delays to account for weekends or bank holidays. * @property bool $automatic Returns true if the payout is created by an automated payout schedule and false if it's requested manually. * @property null|string|\Stripe\BalanceTransaction $balance_transaction ID of the balance transaction that describes the impact of this payout on your account balance. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|string|\Stripe\BankAccount|\Stripe\Card $destination ID of the bank account or card the payout is sent to. * @property null|string|\Stripe\BalanceTransaction $failure_balance_transaction If the payout fails or cancels, this is the ID of the balance transaction that reverses the initial balance transaction and returns the funds from the failed payout back in your balance. * @property null|string $failure_code Error code that provides a reason for a payout failure, if available. View our list of failure codes. * @property null|string $failure_message Message that provides the reason for a payout failure, if available. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $method The method used to send this payout, which can be standard or instant. instant is supported for payouts to debit cards and bank accounts in certain countries. Learn more about bank support for Instant Payouts. * @property null|string|\Stripe\Payout $original_payout If the payout reverses another, this is the ID of the original payout. * @property string $reconciliation_status If completed, you can use the Balance Transactions API to list all balance transactions that are paid out in this payout. * @property null|string|\Stripe\Payout $reversed_by If the payout reverses, this is the ID of the payout that reverses this payout. * @property string $source_type The source balance this payout came from, which can be one of the following: card, fpx, or bank_account. * @property null|string $statement_descriptor Extra information about a payout that displays on the user's bank statement. * @property string $status Current status of the payout: paid, pending, in_transit, canceled or failed. A payout is pending until it's submitted to the bank, when it becomes in_transit. The status changes to paid if the transaction succeeds, or to failed or canceled (within 5 business days). Some payouts that fail might initially show as paid, then change to failed. * @property string $type Can be bank_account or card. */ class Payout extends ApiResource { const OBJECT_NAME = 'payout'; use ApiOperations\Update; const METHOD_INSTANT = 'instant'; const METHOD_STANDARD = 'standard'; const RECONCILIATION_STATUS_COMPLETED = 'completed'; const RECONCILIATION_STATUS_IN_PROGRESS = 'in_progress'; const RECONCILIATION_STATUS_NOT_APPLICABLE = 'not_applicable'; const STATUS_CANCELED = 'canceled'; const STATUS_FAILED = 'failed'; const STATUS_IN_TRANSIT = 'in_transit'; const STATUS_PAID = 'paid'; const STATUS_PENDING = 'pending'; const TYPE_BANK_ACCOUNT = 'bank_account'; const TYPE_CARD = 'card'; /** * To send funds to your own bank account, create a new payout object. Your Stripe balance must cover the payout amount. If it doesn’t, * you receive an “Insufficient Funds” error. * * If your API key is in test mode, money won’t actually be sent, though every * other action occurs as if you’re in live mode. * * If you create a manual payout on a Stripe account that uses multiple payment * source types, you need to specify the source type balance that the payout draws * from. The balance object details available and * pending amounts by source type. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of existing payouts sent to third-party bank accounts or payouts * that Stripe sent to you. The payouts return in sorted order, with the most * recently created payouts appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Payout> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing payout. Supply the unique payout ID from * either a payout creation request or the payout list. Stripe returns the * corresponding payout information. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified payout by setting the values of the parameters you pass. * We don’t change parameters that you don’t provide. This request only accepts the * metadata as arguments. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } const FAILURE_ACCOUNT_CLOSED = 'account_closed'; const FAILURE_ACCOUNT_FROZEN = 'account_frozen'; const FAILURE_BANK_ACCOUNT_RESTRICTED = 'bank_account_restricted'; const FAILURE_BANK_OWNERSHIP_CHANGED = 'bank_ownership_changed'; const FAILURE_COULD_NOT_PROCESS = 'could_not_process'; const FAILURE_DEBIT_NOT_AUTHORIZED = 'debit_not_authorized'; const FAILURE_DECLINED = 'declined'; const FAILURE_INCORRECT_ACCOUNT_HOLDER_ADDRESS = 'incorrect_account_holder_address'; const FAILURE_INCORRECT_ACCOUNT_HOLDER_NAME = 'incorrect_account_holder_name'; const FAILURE_INCORRECT_ACCOUNT_HOLDER_TAX_ID = 'incorrect_account_holder_tax_id'; const FAILURE_INSUFFICIENT_FUNDS = 'insufficient_funds'; const FAILURE_INVALID_ACCOUNT_NUMBER = 'invalid_account_number'; const FAILURE_INVALID_CURRENCY = 'invalid_currency'; const FAILURE_NO_ACCOUNT = 'no_account'; const FAILURE_UNSUPPORTED_CARD = 'unsupported_card'; /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout the canceled payout */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout the reversed payout */ public function reverse($params = null, $opts = null) { $url = $this->instanceUrl() . '/reverse'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/ShippingRate.php000064400000011236147206617610014150 0ustar00Charge for shipping. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $active Whether the shipping rate can be used for new purchases. Defaults to true. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|\Stripe\StripeObject $delivery_estimate The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. * @property null|string $display_name The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. * @property null|\Stripe\StripeObject $fixed_amount * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $tax_behavior Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified. * @property null|string|\Stripe\TaxCode $tax_code A tax code ID. The Shipping tax code is txcd_92010001. * @property string $type The type of calculation to use on the shipping rate. */ class ShippingRate extends ApiResource { const OBJECT_NAME = 'shipping_rate'; use ApiOperations\Update; const TAX_BEHAVIOR_EXCLUSIVE = 'exclusive'; const TAX_BEHAVIOR_INCLUSIVE = 'inclusive'; const TAX_BEHAVIOR_UNSPECIFIED = 'unspecified'; const TYPE_FIXED_AMOUNT = 'fixed_amount'; /** * Creates a new shipping rate object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ShippingRate the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of your shipping rates. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\ShippingRate> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Returns the shipping rate object with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ShippingRate */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates an existing shipping rate object. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ShippingRate the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Stripe.php000064400000016066147206617610013027 0ustar00issued card that results in funds entering or leaving * your Stripe account, such as a completed purchase or refund, is represented by an Issuing * Transaction object. * * Related guide: Issued card transactions * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount The transaction amount, which will be reflected in your balance. This amount is in your currency and in the smallest currency unit. * @property null|\Stripe\StripeObject $amount_details Detailed breakdown of amount components. These amounts are denominated in currency and in the smallest currency unit. * @property null|string|\Stripe\Issuing\Authorization $authorization The Authorization object that led to this transaction. * @property null|string|\Stripe\BalanceTransaction $balance_transaction ID of the balance transaction associated with this transaction. * @property string|\Stripe\Issuing\Card $card The card used to make this transaction. * @property null|string|\Stripe\Issuing\Cardholder $cardholder The cardholder to whom this transaction belongs. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string|\Stripe\Issuing\Dispute $dispute If you've disputed the transaction, the ID of the dispute. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property int $merchant_amount The amount that the merchant will receive, denominated in merchant_currency and in the smallest currency unit. It will be different from amount if the merchant is taking payment in a different currency. * @property string $merchant_currency The currency with which the merchant is taking payment. * @property \Stripe\StripeObject $merchant_data * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $network_data Details about the transaction, such as processing dates, set by the card network. * @property null|\Stripe\StripeObject $purchase_details Additional purchase information that is optionally provided by the merchant. * @property null|string|\Stripe\Issuing\Token $token Token object used for this transaction. If a network token was not used for this transaction, this field will be null. * @property null|\Stripe\StripeObject $treasury Treasury details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts * @property string $type The nature of the transaction. * @property null|string $wallet The digital wallet used for this transaction. One of apple_pay, google_pay, or samsung_pay. */ class Transaction extends \Stripe\ApiResource { const OBJECT_NAME = 'issuing.transaction'; use \Stripe\ApiOperations\Update; const TYPE_CAPTURE = 'capture'; const TYPE_REFUND = 'refund'; const WALLET_APPLE_PAY = 'apple_pay'; const WALLET_GOOGLE_PAY = 'google_pay'; const WALLET_SAMSUNG_PAY = 'samsung_pay'; /** * Returns a list of Issuing Transaction objects. The objects are * sorted in descending order by creation date, with the most recently created * object appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Transaction> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves an Issuing Transaction object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Transaction */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified Issuing Transaction object by setting the * values of the parameters passed. Any parameters not provided will be left * unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Transaction the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Issuing/Cardholder.php000064400000013373147206617610015247 0ustar00Cardholder object represents an individual or business entity who is issued cards. * * Related guide: How to create a cardholder * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject $billing * @property null|\Stripe\StripeObject $company Additional information about a company cardholder. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $email The cardholder's email address. * @property null|\Stripe\StripeObject $individual Additional information about an individual cardholder. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $name The cardholder's name. This will be printed on cards issued to them. * @property null|string $phone_number The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the 3D Secure documentation for more details. * @property null|string[] $preferred_locales The cardholder’s preferred locales (languages), ordered by preference. Locales can be de, en, es, fr, or it. This changes the language of the 3D Secure flow and one-time password messages sent to the cardholder. * @property \Stripe\StripeObject $requirements * @property null|\Stripe\StripeObject $spending_controls Rules that control spending across this cardholder's cards. Refer to our documentation for more details. * @property string $status Specifies whether to permit authorizations on this cardholder's cards. * @property string $type One of individual or company. See Choose a cardholder type for more details. */ class Cardholder extends \Stripe\ApiResource { const OBJECT_NAME = 'issuing.cardholder'; use \Stripe\ApiOperations\Update; const STATUS_ACTIVE = 'active'; const STATUS_BLOCKED = 'blocked'; const STATUS_INACTIVE = 'inactive'; const TYPE_COMPANY = 'company'; const TYPE_INDIVIDUAL = 'individual'; /** * Creates a new Issuing Cardholder object that can be issued cards. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Cardholder the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of Issuing Cardholder objects. The objects are * sorted in descending order by creation date, with the most recently created * object appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Cardholder> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves an Issuing Cardholder object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Cardholder */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified Issuing Cardholder object by setting the * values of the parameters passed. Any parameters not provided will be left * unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Cardholder the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Issuing/PersonalizationDesign.php000064400000011266147206617610017512 0ustar00purpose value of issuing_logo. * @property null|\Stripe\StripeObject $carrier_text Hash containing carrier text, for use with physical bundles that support carrier text. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $lookup_key A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $name Friendly display name. * @property string|\Stripe\Issuing\PhysicalBundle $physical_bundle The physical bundle object belonging to this personalization design. * @property \Stripe\StripeObject $preferences * @property \Stripe\StripeObject $rejection_reasons * @property string $status Whether this personalization design can be used to create cards. */ class PersonalizationDesign extends \Stripe\ApiResource { const OBJECT_NAME = 'issuing.personalization_design'; use \Stripe\ApiOperations\Update; const STATUS_ACTIVE = 'active'; const STATUS_INACTIVE = 'inactive'; const STATUS_REJECTED = 'rejected'; const STATUS_REVIEW = 'review'; /** * Creates a personalization design object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of personalization design objects. The objects are sorted in * descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\PersonalizationDesign> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a personalization design object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a card personalization object. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Issuing/Authorization.php000064400000022426147206617610016037 0ustar00issued card is used to make a purchase, an Issuing Authorization * object is created. Authorizations must be approved for the * purchase to be completed successfully. * * Related guide: Issued card authorizations * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount The total amount that was authorized or rejected. This amount is in currency and in the smallest currency unit. amount should be the same as merchant_amount, unless currency and merchant_currency are different. * @property null|\Stripe\StripeObject $amount_details Detailed breakdown of amount components. These amounts are denominated in currency and in the smallest currency unit. * @property bool $approved Whether the authorization has been approved. * @property string $authorization_method How the card details were provided. * @property \Stripe\BalanceTransaction[] $balance_transactions List of balance transactions associated with this authorization. * @property \Stripe\Issuing\Card $card You can create physical or virtual cards that are issued to cardholders. * @property null|string|\Stripe\Issuing\Cardholder $cardholder The cardholder to whom this authorization belongs. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency The currency of the cardholder. This currency can be different from the currency presented at authorization and the merchant_currency field on this authorization. Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|\Stripe\StripeObject $fleet Fleet-specific information for authorizations using Fleet cards. * @property null|\Stripe\StripeObject $fuel Information about fuel that was purchased with this transaction. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property int $merchant_amount The total amount that was authorized or rejected. This amount is in the merchant_currency and in the smallest currency unit. merchant_amount should be the same as amount, unless merchant_currency and currency are different. * @property string $merchant_currency The local currency that was presented to the cardholder for the authorization. This currency can be different from the cardholder currency and the currency field on this authorization. Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property \Stripe\StripeObject $merchant_data * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $network_data Details about the authorization, such as identifiers, set by the card network. * @property null|\Stripe\StripeObject $pending_request The pending authorization request. This field will only be non-null during an issuing_authorization.request webhook. * @property \Stripe\StripeObject[] $request_history History of every time a pending_request authorization was approved/declined, either by you directly or by Stripe (e.g. based on your spending_controls). If the merchant changes the authorization by performing an incremental authorization, you can look at this field to see the previous requests for the authorization. This field can be helpful in determining why a given authorization was approved/declined. * @property string $status The current status of the authorization in its lifecycle. * @property null|string|\Stripe\Issuing\Token $token Token object used for this authorization. If a network token was not used for this authorization, this field will be null. * @property \Stripe\Issuing\Transaction[] $transactions List of transactions associated with this authorization. * @property null|\Stripe\StripeObject $treasury Treasury details related to this authorization if it was created on a FinancialAccount. * @property \Stripe\StripeObject $verification_data * @property null|string $wallet The digital wallet used for this transaction. One of apple_pay, google_pay, or samsung_pay. Will populate as null when no digital wallet was utilized. */ class Authorization extends \Stripe\ApiResource { const OBJECT_NAME = 'issuing.authorization'; use \Stripe\ApiOperations\Update; const AUTHORIZATION_METHOD_CHIP = 'chip'; const AUTHORIZATION_METHOD_CONTACTLESS = 'contactless'; const AUTHORIZATION_METHOD_KEYED_IN = 'keyed_in'; const AUTHORIZATION_METHOD_ONLINE = 'online'; const AUTHORIZATION_METHOD_SWIPE = 'swipe'; const STATUS_CLOSED = 'closed'; const STATUS_PENDING = 'pending'; const STATUS_REVERSED = 'reversed'; /** * Returns a list of Issuing Authorization objects. The objects are * sorted in descending order by creation date, with the most recently created * object appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Authorization> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves an Issuing Authorization object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified Issuing Authorization object by setting the * values of the parameters passed. Any parameters not provided will be left * unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization the approved authorization */ public function approve($params = null, $opts = null) { $url = $this->instanceUrl() . '/approve'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization the declined authorization */ public function decline($params = null, $opts = null) { $url = $this->instanceUrl() . '/decline'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Issuing/Dispute.php000064400000017515147206617610014617 0ustar00card issuer, you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with. * * Related guide: Issuing disputes * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Disputed amount in the card's currency and in the smallest currency unit. Usually the amount of the transaction, but can differ (usually because of currency fluctuation). * @property null|\Stripe\BalanceTransaction[] $balance_transactions List of balance transactions associated with the dispute. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency The currency the transaction was made in. * @property \Stripe\StripeObject $evidence * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $loss_reason The enum that describes the dispute loss outcome. If the dispute is not lost, this field will be absent. New enum values may be added in the future, so be sure to handle unknown values. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $status Current status of the dispute. * @property string|\Stripe\Issuing\Transaction $transaction The transaction being disputed. * @property null|\Stripe\StripeObject $treasury Treasury details related to this dispute if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts */ class Dispute extends \Stripe\ApiResource { const OBJECT_NAME = 'issuing.dispute'; use \Stripe\ApiOperations\Update; const LOSS_REASON_CARDHOLDER_AUTHENTICATION_ISSUER_LIABILITY = 'cardholder_authentication_issuer_liability'; const LOSS_REASON_ECI5_TOKEN_TRANSACTION_WITH_TAVV = 'eci5_token_transaction_with_tavv'; const LOSS_REASON_EXCESS_DISPUTES_IN_TIMEFRAME = 'excess_disputes_in_timeframe'; const LOSS_REASON_HAS_NOT_MET_THE_MINIMUM_DISPUTE_AMOUNT_REQUIREMENTS = 'has_not_met_the_minimum_dispute_amount_requirements'; const LOSS_REASON_INVALID_DUPLICATE_DISPUTE = 'invalid_duplicate_dispute'; const LOSS_REASON_INVALID_INCORRECT_AMOUNT_DISPUTE = 'invalid_incorrect_amount_dispute'; const LOSS_REASON_INVALID_NO_AUTHORIZATION = 'invalid_no_authorization'; const LOSS_REASON_INVALID_USE_OF_DISPUTES = 'invalid_use_of_disputes'; const LOSS_REASON_MERCHANDISE_DELIVERED_OR_SHIPPED = 'merchandise_delivered_or_shipped'; const LOSS_REASON_MERCHANDISE_OR_SERVICE_AS_DESCRIBED = 'merchandise_or_service_as_described'; const LOSS_REASON_NOT_CANCELLED = 'not_cancelled'; const LOSS_REASON_OTHER = 'other'; const LOSS_REASON_REFUND_ISSUED = 'refund_issued'; const LOSS_REASON_SUBMITTED_BEYOND_ALLOWABLE_TIME_LIMIT = 'submitted_beyond_allowable_time_limit'; const LOSS_REASON_TRANSACTION_3DS_REQUIRED = 'transaction_3ds_required'; const LOSS_REASON_TRANSACTION_APPROVED_AFTER_PRIOR_FRAUD_DISPUTE = 'transaction_approved_after_prior_fraud_dispute'; const LOSS_REASON_TRANSACTION_AUTHORIZED = 'transaction_authorized'; const LOSS_REASON_TRANSACTION_ELECTRONICALLY_READ = 'transaction_electronically_read'; const LOSS_REASON_TRANSACTION_QUALIFIES_FOR_VISA_EASY_PAYMENT_SERVICE = 'transaction_qualifies_for_visa_easy_payment_service'; const LOSS_REASON_TRANSACTION_UNATTENDED = 'transaction_unattended'; const STATUS_EXPIRED = 'expired'; const STATUS_LOST = 'lost'; const STATUS_SUBMITTED = 'submitted'; const STATUS_UNSUBMITTED = 'unsubmitted'; const STATUS_WON = 'won'; /** * Creates an Issuing Dispute object. Individual pieces of evidence * within the evidence object are optional at this point. Stripe only * validates that required evidence is present during submission. Refer to Dispute * reasons and evidence for more details about evidence requirements. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Dispute the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of Issuing Dispute objects. The objects are sorted * in descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Dispute> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves an Issuing Dispute object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Dispute */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified Issuing Dispute object by setting the values * of the parameters passed. Any parameters not provided will be left unchanged. * Properties on the evidence object can be unset by passing in an * empty string. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Dispute the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Dispute the submited dispute */ public function submit($params = null, $opts = null) { $url = $this->instanceUrl() . '/submit'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Issuing/PhysicalBundle.php000064400000004511147206617610016100 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property string $name Friendly display name. * @property string $status Whether this physical bundle can be used to create cards. * @property string $type Whether this physical bundle is a standard Stripe offering or custom-made for you. */ class PhysicalBundle extends \Stripe\ApiResource { const OBJECT_NAME = 'issuing.physical_bundle'; const STATUS_ACTIVE = 'active'; const STATUS_INACTIVE = 'inactive'; const STATUS_REVIEW = 'review'; const TYPE_CUSTOM = 'custom'; const TYPE_STANDARD = 'standard'; /** * Returns a list of physical bundle objects. The objects are sorted in descending * order by creation date, with the most recently created object appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\PhysicalBundle> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a physical bundle object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PhysicalBundle */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Issuing/Token.php000064400000007554147206617610014264 0ustar00card issuer, you can view and manage these tokens through Stripe. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property string|\Stripe\Issuing\Card $card Card associated with this token. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $device_fingerprint The hashed ID derived from the device ID from the card network associated with the token. * @property null|string $last4 The last four digits of the token. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $network The token service provider / card network associated with the token. * @property null|\Stripe\StripeObject $network_data * @property int $network_updated_at Time at which the token was last updated by the card network. Measured in seconds since the Unix epoch. * @property string $status The usage state of the token. * @property null|string $wallet_provider The digital wallet for this token, if one was used. */ class Token extends \Stripe\ApiResource { const OBJECT_NAME = 'issuing.token'; use \Stripe\ApiOperations\Update; const NETWORK_MASTERCARD = 'mastercard'; const NETWORK_VISA = 'visa'; const STATUS_ACTIVE = 'active'; const STATUS_DELETED = 'deleted'; const STATUS_REQUESTED = 'requested'; const STATUS_SUSPENDED = 'suspended'; const WALLET_PROVIDER_APPLE_PAY = 'apple_pay'; const WALLET_PROVIDER_GOOGLE_PAY = 'google_pay'; const WALLET_PROVIDER_SAMSUNG_PAY = 'samsung_pay'; /** * Lists all Issuing Token objects for a given card. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Token> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves an Issuing Token object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Token */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Attempts to update the specified Issuing Token object to the status * specified. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Token the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Issuing/CardDetails.php000064400000000560147206617610015351 0ustar00create physical or virtual cards that are issued to cardholders. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property string $brand The brand of the card. * @property null|string $cancellation_reason The reason why the card was canceled. * @property \Stripe\Issuing\Cardholder $cardholder

An Issuing Cardholder object represents an individual or business entity who is issued cards.

Related guide: How to create a cardholder

* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Supported currencies are usd in the US, eur in the EU, and gbp in the UK. * @property null|string $cvc The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with the expand parameter. Additionally, it's only available via the "Retrieve a card" endpoint, not via "List all cards" or any other endpoint. * @property int $exp_month The expiration month of the card. * @property int $exp_year The expiration year of the card. * @property null|string $financial_account The financial account this card is attached to. * @property string $last4 The last 4 digits of the card number. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $number The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with the expand parameter. Additionally, it's only available via the "Retrieve a card" endpoint, not via "List all cards" or any other endpoint. * @property null|string|\Stripe\Issuing\PersonalizationDesign $personalization_design The personalization design object belonging to this card. * @property null|string|\Stripe\Issuing\Card $replaced_by The latest card that replaces this card, if any. * @property null|string|\Stripe\Issuing\Card $replacement_for The card this card replaces, if any. * @property null|string $replacement_reason The reason why the previous card needed to be replaced. * @property null|\Stripe\StripeObject $shipping Where and how the card will be shipped. * @property \Stripe\StripeObject $spending_controls * @property string $status Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to inactive. * @property string $type The type of the card. * @property null|\Stripe\StripeObject $wallets Information relating to digital wallets (like Apple Pay and Google Pay). */ class Card extends \Stripe\ApiResource { const OBJECT_NAME = 'issuing.card'; use \Stripe\ApiOperations\Update; const CANCELLATION_REASON_DESIGN_REJECTED = 'design_rejected'; const CANCELLATION_REASON_LOST = 'lost'; const CANCELLATION_REASON_STOLEN = 'stolen'; const REPLACEMENT_REASON_DAMAGED = 'damaged'; const REPLACEMENT_REASON_EXPIRED = 'expired'; const REPLACEMENT_REASON_LOST = 'lost'; const REPLACEMENT_REASON_STOLEN = 'stolen'; const STATUS_ACTIVE = 'active'; const STATUS_CANCELED = 'canceled'; const STATUS_INACTIVE = 'inactive'; const TYPE_PHYSICAL = 'physical'; const TYPE_VIRTUAL = 'virtual'; /** * Creates an Issuing Card object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of Issuing Card objects. The objects are sorted in * descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Card> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves an Issuing Card object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified Issuing Card object by setting the values of * the parameters passed. Any parameters not provided will be left unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/SetupAttempt.php000064400000007331147206617610014213 0ustar00application on the SetupIntent at the time of this confirmation. * @property null|bool $attach_to_self

If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.

It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.

* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Customer $customer The value of customer on the SetupIntent at the time of this confirmation. * @property null|string[] $flow_directions

Indicates the directions of money movement for which this payment method is intended to be used.

Include inbound if you intend to use the payment method as the origin to pull funds from. Include outbound if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.

* @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string|\Stripe\Account $on_behalf_of The value of on_behalf_of on the SetupIntent at the time of this confirmation. * @property string|\Stripe\PaymentMethod $payment_method ID of the payment method used with this SetupAttempt. * @property \Stripe\StripeObject $payment_method_details * @property null|\Stripe\StripeObject $setup_error The error encountered during this attempt to confirm the SetupIntent, if any. * @property string|\Stripe\SetupIntent $setup_intent ID of the SetupIntent that this attempt belongs to. * @property string $status Status of this SetupAttempt, one of requires_confirmation, requires_action, processing, succeeded, failed, or abandoned. * @property string $usage The value of usage on the SetupIntent at the time of this confirmation, one of off_session or on_session. */ class SetupAttempt extends ApiResource { const OBJECT_NAME = 'setup_attempt'; /** * Returns a list of SetupAttempts that associate with a provided SetupIntent. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\SetupAttempt> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } } lib/stripe-gateway/lib/AccountSession.php000064400000005027147206617610014514 0ustar00Connect embedded components * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property string $account The ID of the account the AccountSession was created for * @property string $client_secret

The client secret of this AccountSession. Used on the client to set up secure access to the given account.

The client secret can be used to provide access to account from your frontend. It should not be stored, logged, or exposed to anyone other than the connected account. Make sure that you have TLS enabled on any page that includes the client secret.

Refer to our docs to setup Connect embedded components and learn about how client_secret should be handled.

* @property \Stripe\StripeObject $components * @property int $expires_at The timestamp at which this AccountSession will expire. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. */ class AccountSession extends ApiResource { const OBJECT_NAME = 'account_session'; /** * Creates a AccountSession object that includes a single-use token that the * platform can use on their front-end to grant client-side API access. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\AccountSession the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/LineItem.php000064400000002541147206617610013260 0ustar00ISO currency code, in lowercase. Must be a supported currency. * @property string $description An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name. * @property null|\Stripe\StripeObject[] $discounts The discounts applied to the line item. * @property null|\Stripe\Price $price The price used to generate the line item. * @property null|int $quantity The quantity of products being purchased. * @property null|\Stripe\StripeObject[] $taxes The taxes applied to the line item. */ class LineItem extends ApiResource { const OBJECT_NAME = 'item'; } lib/stripe-gateway/lib/Topup.php000064400000014113147206617610012657 0ustar00Topping up your platform account * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount transferred. * @property null|string|\Stripe\BalanceTransaction $balance_transaction ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|int $expected_availability_date Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up. * @property null|string $failure_code Error code explaining reason for top-up failure if available (see the errors section for a list of codes). * @property null|string $failure_message Message to user further explaining reason for top-up failure if available. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\Source $source The source field is deprecated. It might not always be present in the API response. * @property null|string $statement_descriptor Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter. * @property string $status The status of the top-up is either canceled, failed, pending, reversed, or succeeded. * @property null|string $transfer_group A string that identifies this top-up as part of a group. */ class Topup extends ApiResource { const OBJECT_NAME = 'topup'; use ApiOperations\Update; const STATUS_CANCELED = 'canceled'; const STATUS_FAILED = 'failed'; const STATUS_PENDING = 'pending'; const STATUS_REVERSED = 'reversed'; const STATUS_SUCCEEDED = 'succeeded'; /** * Top up the balance of an account. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Topup the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of top-ups. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Topup> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a top-up that has previously been created. Supply the * unique top-up ID that was returned from your previous request, and Stripe will * return the corresponding top-up information. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Topup */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the metadata of a top-up. Other top-up details are not editable by * design. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Topup the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Topup the canceled topup */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/TransferReversal.php000064400000006440147206617610015044 0ustar00Stripe Connect platforms can reverse transfers made to a * connected account, either entirely or partially, and can also specify whether * to refund any related application fees. Transfer reversals add to the * platform's balance and subtract from the destination account's balance. * * Reversing a transfer that was made for a destination * charge is allowed only up to the amount of * the charge. It is possible to reverse a * transfer_group * transfer only if the destination account has enough balance to cover the * reversal. * * Related guide: Reverse transfers * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount, in cents (or local equivalent). * @property null|string|\Stripe\BalanceTransaction $balance_transaction Balance transaction that describes the impact on your account balance. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string|\Stripe\Refund $destination_payment_refund Linked payment refund for the transfer reversal. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string|\Stripe\Refund $source_refund ID of the refund responsible for the transfer reversal. * @property string|\Stripe\Transfer $transfer ID of the transfer that was reversed. */ class TransferReversal extends ApiResource { const OBJECT_NAME = 'transfer_reversal'; use ApiOperations\Update { save as protected _save; } /** * @return string the API URL for this Stripe transfer reversal */ public function instanceUrl() { $id = $this['id']; $transfer = $this['transfer']; if (!$id) { throw new Exception\UnexpectedValueException( 'Could not determine which URL to request: ' . "class instance has invalid ID: {$id}", null ); } $id = Util\Util::utf8($id); $transfer = Util\Util::utf8($transfer); $base = Transfer::classUrl(); $transferExtn = \urlencode($transfer); $extn = \urlencode($id); return "{$base}/{$transferExtn}/reversals/{$extn}"; } /** * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return TransferReversal the saved reversal */ public function save($opts = null) { return $this->_save($opts); } } lib/stripe-gateway/lib/WebhookSignature.php000064400000010431147206617610015027 0ustar00 0) && (\abs(\time() - $timestamp) > $tolerance)) { throw Exception\SignatureVerificationException::factory( 'Timestamp outside the tolerance zone', $payload, $header ); } return true; } /** * Extracts the timestamp in a signature header. * * @param string $header the signature header * * @return int the timestamp contained in the header, or -1 if no valid * timestamp is found */ private static function getTimestamp($header) { $items = \explode(',', $header); foreach ($items as $item) { $itemParts = \explode('=', $item, 2); if ('t' === $itemParts[0]) { if (!\is_numeric($itemParts[1])) { return -1; } return (int) ($itemParts[1]); } } return -1; } /** * Extracts the signatures matching a given scheme in a signature header. * * @param string $header the signature header * @param string $scheme the signature scheme to look for * * @return array the list of signatures matching the provided scheme */ private static function getSignatures($header, $scheme) { $signatures = []; $items = \explode(',', $header); foreach ($items as $item) { $itemParts = \explode('=', $item, 2); if (\trim($itemParts[0]) === $scheme) { $signatures[] = $itemParts[1]; } } return $signatures; } /** * Computes the signature for a given payload and secret. * * The current scheme used by Stripe ("v1") is HMAC/SHA-256. * * @param string $payload the payload to sign * @param string $secret the secret used to generate the signature * * @return string the signature as a string */ private static function computeSignature($payload, $secret) { return \hash_hmac('sha256', $payload, $secret); } } lib/stripe-gateway/lib/Apps/Secret.php000064400000010226147206617610013701 0ustar00secret. Other apps can't view secrets created by an app. Additionally, secrets are scoped to provide further permission control. * * All Dashboard users and the app backend share account scoped secrets. Use the account scope for secrets that don't change per-user, like a third-party API key. * * A user scoped secret is accessible by the app backend and one specific Dashboard user. Use the user scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions. * * Related guide: Store data between page reloads * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|bool $deleted If true, indicates that this secret has been deleted * @property null|int $expires_at The Unix timestamp for the expiry time of the secret, after which the secret deletes. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $name A name for the secret that's unique within the scope. * @property null|string $payload The plaintext secret value to be stored. * @property \Stripe\StripeObject $scope */ class Secret extends \Stripe\ApiResource { const OBJECT_NAME = 'apps.secret'; /** * Create or replace a secret in the secret store. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Apps\Secret the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * List all secrets stored on the given scope. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Apps\Secret> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Apps\Secret the deleted secret */ public static function deleteWhere($params = null, $opts = null) { $url = static::classUrl() . '/delete'; list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Apps\Secret the finded secret */ public static function find($params = null, $opts = null) { $url = static::classUrl() . '/find'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Mandate.php000064400000003602147206617610013122 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $multi_use * @property null|string $on_behalf_of The account (if any) that the mandate is intended for. * @property string|\Stripe\PaymentMethod $payment_method ID of the payment method associated with this mandate. * @property \Stripe\StripeObject $payment_method_details * @property null|\Stripe\StripeObject $single_use * @property string $status The mandate status indicates whether or not you can use it to initiate a payment. * @property string $type The type of the mandate. */ class Mandate extends ApiResource { const OBJECT_NAME = 'mandate'; const STATUS_ACTIVE = 'active'; const STATUS_INACTIVE = 'inactive'; const STATUS_PENDING = 'pending'; const TYPE_MULTI_USE = 'multi_use'; const TYPE_SINGLE_USE = 'single_use'; /** * Retrieves a Mandate object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Mandate */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/PaymentLink.php000064400000021266147206617610014012 0ustar00checkout session to render the payment page. You can use checkout session events to track payments through payment links. * * Related guide: Payment Links API * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $active Whether the payment link's url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated. * @property \Stripe\StripeObject $after_completion * @property bool $allow_promotion_codes Whether user redeemable promotion codes are enabled. * @property null|string|\Stripe\Application $application The ID of the Connect application that created the Payment Link. * @property null|int $application_fee_amount The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. * @property null|float $application_fee_percent This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. * @property \Stripe\StripeObject $automatic_tax * @property string $billing_address_collection Configuration for collecting the customer's billing address. Defaults to auto. * @property null|\Stripe\StripeObject $consent_collection When set, provides configuration to gather active consent from customers. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property \Stripe\StripeObject[] $custom_fields Collect additional information from your customer using custom fields. Up to 3 fields are supported. * @property \Stripe\StripeObject $custom_text * @property string $customer_creation Configuration for Customer creation during checkout. * @property null|string $inactive_message The custom message to be displayed to a customer when a payment link is no longer active. * @property null|\Stripe\StripeObject $invoice_creation Configuration for creating invoice for payment mode payment links. * @property null|\Stripe\Collection<\Stripe\LineItem> $line_items The line items representing what is being sold. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string|\Stripe\Account $on_behalf_of The account on behalf of which to charge. See the Connect documentation for details. * @property null|\Stripe\StripeObject $payment_intent_data Indicates the parameters to be passed to PaymentIntent creation during checkout. * @property string $payment_method_collection Configuration for collecting a payment method during checkout. Defaults to always. * @property null|string[] $payment_method_types The list of payment method types that customers can use. When null, Stripe will dynamically show relevant payment methods you've enabled in your payment method settings. * @property \Stripe\StripeObject $phone_number_collection * @property null|\Stripe\StripeObject $restrictions Settings that restrict the usage of a payment link. * @property null|\Stripe\StripeObject $shipping_address_collection Configuration for collecting the customer's shipping address. * @property \Stripe\StripeObject[] $shipping_options The shipping rate options applied to the session. * @property string $submit_type Indicates the type of transaction being performed which customizes relevant text on the page, such as the submit button. * @property null|\Stripe\StripeObject $subscription_data When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use subscription_data. * @property \Stripe\StripeObject $tax_id_collection * @property null|\Stripe\StripeObject $transfer_data The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to. * @property string $url The public URL that can be shared with customers. */ class PaymentLink extends ApiResource { const OBJECT_NAME = 'payment_link'; use ApiOperations\Update; const BILLING_ADDRESS_COLLECTION_AUTO = 'auto'; const BILLING_ADDRESS_COLLECTION_REQUIRED = 'required'; const CUSTOMER_CREATION_ALWAYS = 'always'; const CUSTOMER_CREATION_IF_REQUIRED = 'if_required'; const PAYMENT_METHOD_COLLECTION_ALWAYS = 'always'; const PAYMENT_METHOD_COLLECTION_IF_REQUIRED = 'if_required'; const SUBMIT_TYPE_AUTO = 'auto'; const SUBMIT_TYPE_BOOK = 'book'; const SUBMIT_TYPE_DONATE = 'donate'; const SUBMIT_TYPE_PAY = 'pay'; /** * Creates a payment link. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentLink the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of your payment links. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PaymentLink> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieve a payment link. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentLink */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a payment link. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentLink the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\LineItem> list of line items */ public static function allLineItems($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/line_items'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Application.php000064400000000604147206617610014013 0ustar00controller.requirement_collection * is application, which includes Custom accounts, the properties below are always * returned. * * For accounts where controller.requirement_collection * is stripe, which includes Standard and Express accounts, some properties are only returned * until you create an Account Link or Account Session * to start Connect Onboarding. Learn about the differences between accounts. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $business_profile Business information about the account. * @property null|string $business_type The business type. After you create an Account Link or Account Session, this property is only returned for accounts where controller.requirement_collection is application, which includes Custom accounts. * @property null|\Stripe\StripeObject $capabilities * @property null|bool $charges_enabled Whether the account can create live charges. * @property null|\Stripe\StripeObject $company * @property null|\Stripe\StripeObject $controller * @property null|string $country The account's country. * @property null|int $created Time at which the account was connected. Measured in seconds since the Unix epoch. * @property null|string $default_currency Three-letter ISO currency code representing the default currency for the account. This must be a currency that Stripe supports in the account's country. * @property null|bool $details_submitted Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to an onboarding flow to finish submitting account details. * @property null|string $email An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform. * @property null|\Stripe\Collection<\Stripe\BankAccount|\Stripe\Card> $external_accounts External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where controller[is_controller] is true. * @property null|\Stripe\StripeObject $future_requirements * @property null|\Stripe\Person $individual

This is an object representing a person associated with a Stripe account.

A platform cannot access a person for an account where account.controller.requirement_collection is stripe, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.

See the Standard onboarding or Express onboarding documentation for information about prefilling information and account onboarding steps. Learn more about handling identity verification with the API.

* @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|bool $payouts_enabled Whether Stripe can send payouts to this account. * @property null|\Stripe\StripeObject $requirements * @property null|\Stripe\StripeObject $settings Options for customizing how the account functions within Stripe. * @property null|\Stripe\StripeObject $tos_acceptance * @property null|string $type The Stripe account type. Can be standard, express, custom, or none. */ class Account extends ApiResource { const OBJECT_NAME = 'account'; use ApiOperations\NestedResource; use ApiOperations\Update; const BUSINESS_TYPE_COMPANY = 'company'; const BUSINESS_TYPE_GOVERNMENT_ENTITY = 'government_entity'; const BUSINESS_TYPE_INDIVIDUAL = 'individual'; const BUSINESS_TYPE_NON_PROFIT = 'non_profit'; const TYPE_CUSTOM = 'custom'; const TYPE_EXPRESS = 'express'; const TYPE_NONE = 'none'; const TYPE_STANDARD = 'standard'; /** * With Connect, you can create Stripe accounts for * your users. To do this, you’ll first need to register your * platform. * * If you’ve already collected information for your connected accounts, you can prefill that information * when creating the account. Connect Onboarding won’t ask for the prefilled * information during account onboarding. You can prefill any information on the * account. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * With Connect, you can delete accounts you manage. * * Test-mode accounts can be deleted at any time. * * Live-mode accounts where Stripe is responsible for negative account balances * cannot be deleted, which includes Standard accounts. Live-mode accounts where * your platform is liable for negative account balances, which includes Custom and * Express accounts, can be deleted when all balances are zero. * * If you want to delete your own account, use the account information tab in * your account settings instead. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Account> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Updates a connected account by setting the * values of the parameters passed. Any parameters not provided are left unchanged. * * For accounts where controller.requirement_collection * is application, which includes Custom accounts, you can update any * information on the account. * * For accounts where controller.requirement_collection * is stripe, which includes Standard and Express accounts, you can * update all information until you create an Account * Link or Account Session to start Connect * onboarding, after which some properties can no longer be updated. * * To update your own account, use the Dashboard. Refer to our * Connect documentation to learn * more about updating accounts. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } use ApiOperations\Retrieve { retrieve as protected _retrieve; } public static function getSavedNestedResources() { static $savedNestedResources = null; if (null === $savedNestedResources) { $savedNestedResources = new Util\Set([ 'external_account', 'bank_account', ]); } return $savedNestedResources; } public function instanceUrl() { if (null === $this['id']) { return '/v1/account'; } return parent::instanceUrl(); } /** * @param null|array|string $id the ID of the account to retrieve, or an * options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public static function retrieve($id = null, $opts = null) { if (!$opts && \is_string($id) && 'sk_' === \substr($id, 0, 3)) { $opts = $id; $id = null; } return self::_retrieve($id, $opts); } public function serializeParameters($force = false) { $update = parent::serializeParameters($force); if (isset($this->_values['legal_entity'])) { $entity = $this['legal_entity']; if (isset($entity->_values['additional_owners'])) { $owners = $entity['additional_owners']; $entityUpdate = isset($update['legal_entity']) ? $update['legal_entity'] : []; $entityUpdate['additional_owners'] = $this->serializeAdditionalOwners($entity, $owners); $update['legal_entity'] = $entityUpdate; } } if (isset($this->_values['individual'])) { $individual = $this['individual']; if (($individual instanceof Person) && !isset($update['individual'])) { $update['individual'] = $individual->serializeParameters($force); } } return $update; } private function serializeAdditionalOwners($legalEntity, $additionalOwners) { if (isset($legalEntity->_originalValues['additional_owners'])) { $originalValue = $legalEntity->_originalValues['additional_owners']; } else { $originalValue = []; } if (($originalValue) && (\count($originalValue) > \count($additionalOwners))) { throw new Exception\InvalidArgumentException( 'You cannot delete an item from an array, you must instead set a new array' ); } $updateArr = []; foreach ($additionalOwners as $i => $v) { $update = ($v instanceof StripeObject) ? $v->serializeParameters() : $v; if ([] !== $update) { if (!$originalValue || !\array_key_exists($i, $originalValue) || ($update !== $legalEntity->serializeParamsValue($originalValue[$i], null, false, true))) { $updateArr[$i] = $update; } } } return $updateArr; } /** * @param null|array $clientId * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\StripeObject object containing the response from the API */ public function deauthorize($clientId = null, $opts = null) { $params = [ 'client_id' => $clientId, 'stripe_user_id' => $this->id, ]; return OAuth::deauthorize($params, $opts); } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account the rejected account */ public function reject($params = null, $opts = null) { $url = $this->instanceUrl() . '/reject'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } const PATH_CAPABILITIES = '/capabilities'; /** * @param string $id the ID of the account on which to retrieve the capabilities * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Capability> the list of capabilities */ public static function allCapabilities($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_CAPABILITIES, $params, $opts); } /** * @param string $id the ID of the account to which the capability belongs * @param string $capabilityId the ID of the capability to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Capability */ public static function retrieveCapability($id, $capabilityId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_CAPABILITIES, $capabilityId, $params, $opts); } /** * @param string $id the ID of the account to which the capability belongs * @param string $capabilityId the ID of the capability to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Capability */ public static function updateCapability($id, $capabilityId, $params = null, $opts = null) { return self::_updateNestedResource($id, static::PATH_CAPABILITIES, $capabilityId, $params, $opts); } const PATH_EXTERNAL_ACCOUNTS = '/external_accounts'; /** * @param string $id the ID of the account on which to retrieve the external accounts * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\BankAccount|\Stripe\Card> the list of external accounts (BankAccount or Card) */ public static function allExternalAccounts($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_EXTERNAL_ACCOUNTS, $params, $opts); } /** * @param string $id the ID of the account on which to create the external account * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public static function createExternalAccount($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_EXTERNAL_ACCOUNTS, $params, $opts); } /** * @param string $id the ID of the account to which the external account belongs * @param string $externalAccountId the ID of the external account to delete * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public static function deleteExternalAccount($id, $externalAccountId, $params = null, $opts = null) { return self::_deleteNestedResource($id, static::PATH_EXTERNAL_ACCOUNTS, $externalAccountId, $params, $opts); } /** * @param string $id the ID of the account to which the external account belongs * @param string $externalAccountId the ID of the external account to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public static function retrieveExternalAccount($id, $externalAccountId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_EXTERNAL_ACCOUNTS, $externalAccountId, $params, $opts); } /** * @param string $id the ID of the account to which the external account belongs * @param string $externalAccountId the ID of the external account to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public static function updateExternalAccount($id, $externalAccountId, $params = null, $opts = null) { return self::_updateNestedResource($id, static::PATH_EXTERNAL_ACCOUNTS, $externalAccountId, $params, $opts); } const PATH_LOGIN_LINKS = '/login_links'; /** * @param string $id the ID of the account on which to create the login link * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\LoginLink */ public static function createLoginLink($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_LOGIN_LINKS, $params, $opts); } const PATH_PERSONS = '/persons'; /** * @param string $id the ID of the account on which to retrieve the persons * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Person> the list of persons */ public static function allPersons($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_PERSONS, $params, $opts); } /** * @param string $id the ID of the account on which to create the person * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public static function createPerson($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_PERSONS, $params, $opts); } /** * @param string $id the ID of the account to which the person belongs * @param string $personId the ID of the person to delete * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public static function deletePerson($id, $personId, $params = null, $opts = null) { return self::_deleteNestedResource($id, static::PATH_PERSONS, $personId, $params, $opts); } /** * @param string $id the ID of the account to which the person belongs * @param string $personId the ID of the person to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public static function retrievePerson($id, $personId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_PERSONS, $personId, $params, $opts); } /** * @param string $id the ID of the account to which the person belongs * @param string $personId the ID of the person to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public static function updatePerson($id, $personId, $params = null, $opts = null) { return self::_updateNestedResource($id, static::PATH_PERSONS, $personId, $params, $opts); } } lib/stripe-gateway/lib/ApplicationFee.php000064400000013262147206617610014437 0ustar00ISO currency code, in lowercase. Must be a supported currency. * @property null|\Stripe\StripeObject $fee_source Polymorphic source of the application fee. Includes the ID of the object the application fee was created from. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string|\Stripe\Charge $originating_transaction ID of the corresponding charge on the platform account, if this fee was the result of a charge using the destination parameter. * @property bool $refunded Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false. * @property \Stripe\Collection<\Stripe\ApplicationFeeRefund> $refunds A list of refunds that have been applied to the fee. */ class ApplicationFee extends ApiResource { const OBJECT_NAME = 'application_fee'; use ApiOperations\NestedResource; /** * Returns a list of application fees you’ve previously collected. The application * fees are returned in sorted order, with the most recent fees appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\ApplicationFee> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an application fee that your account has collected. The * same information is returned when refunding the application fee. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplicationFee */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } const PATH_REFUNDS = '/refunds'; /** * @param string $id the ID of the application fee on which to retrieve the application fee refunds * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\ApplicationFeeRefund> the list of application fee refunds */ public static function allRefunds($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_REFUNDS, $params, $opts); } /** * @param string $id the ID of the application fee on which to create the application fee refund * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplicationFeeRefund */ public static function createRefund($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_REFUNDS, $params, $opts); } /** * @param string $id the ID of the application fee to which the application fee refund belongs * @param string $refundId the ID of the application fee refund to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplicationFeeRefund */ public static function retrieveRefund($id, $refundId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_REFUNDS, $refundId, $params, $opts); } /** * @param string $id the ID of the application fee to which the application fee refund belongs * @param string $refundId the ID of the application fee refund to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplicationFeeRefund */ public static function updateRefund($id, $refundId, $params = null, $opts = null) { return self::_updateNestedResource($id, static::PATH_REFUNDS, $refundId, $params, $opts); } } lib/stripe-gateway/lib/InvoiceLineItem.php000064400000011345147206617610014577 0ustar00ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|\Stripe\StripeObject[] $discount_amounts The amount of discount calculated per discount for this line item. * @property bool $discountable If true, discounts will apply to this line item. Always false for prorations. * @property (string|\Stripe\Discount)[] $discounts The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use expand[]=discounts to expand each discount. * @property null|string $invoice The ID of the invoice that contains this line item. * @property null|string|\Stripe\InvoiceItem $invoice_item The ID of the invoice item associated with this line item if any. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with type=subscription, metadata reflects the current metadata from the subscription associated with the line item, unless the invoice line was directly updated with different metadata after creation. * @property \Stripe\StripeObject $period * @property null|\Stripe\Plan $plan The plan of the subscription, if the line item is a subscription or a proration. * @property null|\Stripe\Price $price The price of the line item. * @property bool $proration Whether this is a proration. * @property null|\Stripe\StripeObject $proration_details Additional details for proration line items * @property null|int $quantity The quantity of the subscription, if the line item is a subscription or a proration. * @property null|string|\Stripe\Subscription $subscription The subscription that the invoice item pertains to, if any. * @property null|string|\Stripe\SubscriptionItem $subscription_item The subscription item that generated this line item. Left empty if the line item is not an explicit result of a subscription. * @property null|\Stripe\StripeObject[] $tax_amounts The amount of tax calculated per tax rate for this line item * @property null|\Stripe\TaxRate[] $tax_rates The tax rates which apply to the line item. * @property string $type A string identifying the type of the source of this line item, either an invoiceitem or a subscription. * @property null|string $unit_amount_excluding_tax The amount in cents (or local equivalent) representing the unit amount for this line item, excluding all tax and discounts. */ class InvoiceLineItem extends ApiResource { const OBJECT_NAME = 'line_item'; use ApiOperations\Update; /** * Updates an invoice’s line item. Some fields, such as tax_amounts, * only live on the invoice line item, so they can only be updated through this * endpoint. Other fields, such as amount, live on both the invoice * item and the invoice line item, so updates on this endpoint will propagate to * the invoice item as well. Updating an invoice’s line item is only possible * before the invoice is finalized. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceLineItem the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Terminal/ConnectionToken.php000064400000003421147206617610016423 0ustar00Fleet management * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $location The id of the location that this connection token is scoped to. Note that location scoping only applies to internet-connected readers. For more details, see the docs on scoping connection tokens. * @property string $secret Your application should pass this token to the Stripe Terminal SDK. */ class ConnectionToken extends \Stripe\ApiResource { const OBJECT_NAME = 'terminal.connection_token'; /** * To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived * connection token from Stripe, proxied through your server. On your backend, add * an endpoint that creates and returns a connection token. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\ConnectionToken the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Terminal/Reader.php000064400000017773147206617610014544 0ustar00Connecting to a reader * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $action The most recent action performed by the reader. * @property null|string $device_sw_version The current software version of the reader. * @property string $device_type Type of reader, one of bbpos_wisepad3, stripe_m2, stripe_s700, bbpos_chipper2x, bbpos_wisepos_e, verifone_P400, simulated_wisepos_e, or mobile_phone_reader. * @property null|string $ip_address The local IP address of the reader. * @property string $label Custom label given to the reader for easier identification. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string|\Stripe\Terminal\Location $location The location identifier of the reader. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $serial_number Serial number of the reader. * @property null|string $status The networking status of the reader. */ class Reader extends \Stripe\ApiResource { const OBJECT_NAME = 'terminal.reader'; use \Stripe\ApiOperations\Update; const DEVICE_TYPE_BBPOS_CHIPPER2X = 'bbpos_chipper2x'; const DEVICE_TYPE_BBPOS_WISEPAD3 = 'bbpos_wisepad3'; const DEVICE_TYPE_BBPOS_WISEPOS_E = 'bbpos_wisepos_e'; const DEVICE_TYPE_MOBILE_PHONE_READER = 'mobile_phone_reader'; const DEVICE_TYPE_SIMULATED_WISEPOS_E = 'simulated_wisepos_e'; const DEVICE_TYPE_STRIPE_M2 = 'stripe_m2'; const DEVICE_TYPE_STRIPE_S700 = 'stripe_s700'; const DEVICE_TYPE_VERIFONE_P400 = 'verifone_P400'; const STATUS_OFFLINE = 'offline'; const STATUS_ONLINE = 'online'; /** * Creates a new Reader object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes a Reader object. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of Reader objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Terminal\Reader> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a Reader object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a Reader object by setting the values of the parameters * passed. Any parameters not provided will be left unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader the canceled reader */ public function cancelAction($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel_action'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader the processed reader */ public function processPaymentIntent($params = null, $opts = null) { $url = $this->instanceUrl() . '/process_payment_intent'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader the processed reader */ public function processSetupIntent($params = null, $opts = null) { $url = $this->instanceUrl() . '/process_setup_intent'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader the refunded reader */ public function refundPayment($params = null, $opts = null) { $url = $this->instanceUrl() . '/refund_payment'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader the seted reader */ public function setReaderDisplay($params = null, $opts = null) { $url = $this->instanceUrl() . '/set_reader_display'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Terminal/Configuration.php000064400000010354147206617610016135 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $name String indicating the name of the Configuration object, set by the user * @property null|\Stripe\StripeObject $offline * @property null|\Stripe\StripeObject $reboot_window * @property null|\Stripe\StripeObject $stripe_s700 * @property null|\Stripe\StripeObject $tipping * @property null|\Stripe\StripeObject $verifone_p400 */ class Configuration extends \Stripe\ApiResource { const OBJECT_NAME = 'terminal.configuration'; use \Stripe\ApiOperations\Update; /** * Creates a new Configuration object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Configuration the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes a Configuration object. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Configuration the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of Configuration objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Terminal\Configuration> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a Configuration object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Configuration */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a new Configuration object. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Configuration the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Terminal/Location.php000064400000010744147206617610015101 0ustar00Fleet management * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject $address * @property null|string $configuration_overrides The ID of a configuration that will be used to customize all readers in this location. * @property string $display_name The display name of the location. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ class Location extends \Stripe\ApiResource { const OBJECT_NAME = 'terminal.location'; use \Stripe\ApiOperations\Update; /** * Creates a new Location object. For further details, including which * address fields are required in each country, see the Manage locations guide. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Location the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes a Location object. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Location the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of Location objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Terminal\Location> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a Location object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Location */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a Location object by setting the values of the parameters * passed. Any parameters not provided will be left unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Location the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/StripeClientInterface.php000064400000001131147206617610015772 0ustar00charge type: * * Direct configurations apply to payments created on your account, including Connect destination charges, Connect separate charges and transfers, and payments not involving Connect. * * Child configurations apply to payments created on your connected accounts using direct charges, and charges with the on_behalf_of parameter. * * Child configurations have a parent that sets default values and controls which settings connected accounts may override. You can specify a parent ID at payment time, and Stripe will automatically resolve the connected account’s associated child configuration. Parent configurations are managed in the dashboard and are not available in this API. * * Related guides: * - Payment Method Configurations API * - Multiple configurations on dynamic payment methods * - Multiple configurations for your Connect accounts * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $acss_debit * @property bool $active Whether the configuration can be used for new payments. * @property null|\Stripe\StripeObject $affirm * @property null|\Stripe\StripeObject $afterpay_clearpay * @property null|\Stripe\StripeObject $alipay * @property null|\Stripe\StripeObject $amazon_pay * @property null|\Stripe\StripeObject $apple_pay * @property null|string $application For child configs, the Connect application associated with the configuration. * @property null|\Stripe\StripeObject $au_becs_debit * @property null|\Stripe\StripeObject $bacs_debit * @property null|\Stripe\StripeObject $bancontact * @property null|\Stripe\StripeObject $blik * @property null|\Stripe\StripeObject $boleto * @property null|\Stripe\StripeObject $card * @property null|\Stripe\StripeObject $cartes_bancaires * @property null|\Stripe\StripeObject $cashapp * @property null|\Stripe\StripeObject $customer_balance * @property null|\Stripe\StripeObject $eps * @property null|\Stripe\StripeObject $fpx * @property null|\Stripe\StripeObject $giropay * @property null|\Stripe\StripeObject $google_pay * @property null|\Stripe\StripeObject $grabpay * @property null|\Stripe\StripeObject $ideal * @property bool $is_default The default configuration is used whenever a payment method configuration is not specified. * @property null|\Stripe\StripeObject $jcb * @property null|\Stripe\StripeObject $klarna * @property null|\Stripe\StripeObject $konbini * @property null|\Stripe\StripeObject $link * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $mobilepay * @property null|\Stripe\StripeObject $multibanco * @property string $name The configuration's name. * @property null|\Stripe\StripeObject $oxxo * @property null|\Stripe\StripeObject $p24 * @property null|string $parent For child configs, the configuration's parent configuration. * @property null|\Stripe\StripeObject $paynow * @property null|\Stripe\StripeObject $paypal * @property null|\Stripe\StripeObject $promptpay * @property null|\Stripe\StripeObject $revolut_pay * @property null|\Stripe\StripeObject $sepa_debit * @property null|\Stripe\StripeObject $sofort * @property null|\Stripe\StripeObject $swish * @property null|\Stripe\StripeObject $twint * @property null|\Stripe\StripeObject $us_bank_account * @property null|\Stripe\StripeObject $wechat_pay * @property null|\Stripe\StripeObject $zip */ class PaymentMethodConfiguration extends ApiResource { const OBJECT_NAME = 'payment_method_configuration'; use ApiOperations\Update; /** * Creates a payment method configuration. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodConfiguration the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * List payment method configurations. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PaymentMethodConfiguration> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieve payment method configuration. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodConfiguration */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Update payment method configuration. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodConfiguration the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/PromotionCode.php000064400000012300147206617610014325 0ustar00coupon. It can be used to * create multiple codes for a single coupon. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $active Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid. * @property string $code The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer. * @property \Stripe\Coupon $coupon A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer. Coupons may be applied to subscriptions, invoices, checkout sessions, quotes, and more. Coupons do not work with conventional one-off charges or payment intents. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Customer $customer The customer that this promotion code can be used by. * @property null|int $expires_at Date at which the promotion code can no longer be redeemed. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|int $max_redemptions Maximum number of times this promotion code can be redeemed. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property \Stripe\StripeObject $restrictions * @property int $times_redeemed Number of times this promotion code has been used. */ class PromotionCode extends ApiResource { const OBJECT_NAME = 'promotion_code'; use ApiOperations\Update; /** * A promotion code points to a coupon. You can optionally restrict the code to a * specific customer, redemption limit, and expiration date. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PromotionCode the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of your promotion codes. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PromotionCode> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the promotion code with the given ID. In order to retrieve a promotion * code by the customer-facing code use list with the desired * code. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PromotionCode */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified promotion code by setting the values of the parameters * passed. Most fields are, by design, not editable. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PromotionCode the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/PaymentMethod.php000064400000024147147206617610014336 0ustar00PaymentIntents to collect payments or save them to * Customer objects to store instrument details for future payments. * * Related guides: Payment Methods and More Payment Scenarios. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $acss_debit * @property null|\Stripe\StripeObject $affirm * @property null|\Stripe\StripeObject $afterpay_clearpay * @property null|\Stripe\StripeObject $alipay * @property null|string $allow_redisplay This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”. * @property null|\Stripe\StripeObject $amazon_pay * @property null|\Stripe\StripeObject $au_becs_debit * @property null|\Stripe\StripeObject $bacs_debit * @property null|\Stripe\StripeObject $bancontact * @property \Stripe\StripeObject $billing_details * @property null|\Stripe\StripeObject $blik * @property null|\Stripe\StripeObject $boleto * @property null|\Stripe\StripeObject $card * @property null|\Stripe\StripeObject $card_present * @property null|\Stripe\StripeObject $cashapp * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Customer $customer The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer. * @property null|\Stripe\StripeObject $customer_balance * @property null|\Stripe\StripeObject $eps * @property null|\Stripe\StripeObject $fpx * @property null|\Stripe\StripeObject $giropay * @property null|\Stripe\StripeObject $grabpay * @property null|\Stripe\StripeObject $ideal * @property null|\Stripe\StripeObject $interac_present * @property null|\Stripe\StripeObject $klarna * @property null|\Stripe\StripeObject $konbini * @property null|\Stripe\StripeObject $link * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $mobilepay * @property null|\Stripe\StripeObject $multibanco * @property null|\Stripe\StripeObject $oxxo * @property null|\Stripe\StripeObject $p24 * @property null|\Stripe\StripeObject $paynow * @property null|\Stripe\StripeObject $paypal * @property null|\Stripe\StripeObject $pix * @property null|\Stripe\StripeObject $promptpay * @property null|\Stripe\StripeObject $radar_options Options to configure Radar. See Radar Session for more information. * @property null|\Stripe\StripeObject $revolut_pay * @property null|\Stripe\StripeObject $sepa_debit * @property null|\Stripe\StripeObject $sofort * @property null|\Stripe\StripeObject $swish * @property null|\Stripe\StripeObject $twint * @property string $type The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. * @property null|\Stripe\StripeObject $us_bank_account * @property null|\Stripe\StripeObject $wechat_pay * @property null|\Stripe\StripeObject $zip */ class PaymentMethod extends ApiResource { const OBJECT_NAME = 'payment_method'; use ApiOperations\Update; const ALLOW_REDISPLAY_ALWAYS = 'always'; const ALLOW_REDISPLAY_LIMITED = 'limited'; const ALLOW_REDISPLAY_UNSPECIFIED = 'unspecified'; const TYPE_ACSS_DEBIT = 'acss_debit'; const TYPE_AFFIRM = 'affirm'; const TYPE_AFTERPAY_CLEARPAY = 'afterpay_clearpay'; const TYPE_ALIPAY = 'alipay'; const TYPE_AMAZON_PAY = 'amazon_pay'; const TYPE_AU_BECS_DEBIT = 'au_becs_debit'; const TYPE_BACS_DEBIT = 'bacs_debit'; const TYPE_BANCONTACT = 'bancontact'; const TYPE_BLIK = 'blik'; const TYPE_BOLETO = 'boleto'; const TYPE_CARD = 'card'; const TYPE_CARD_PRESENT = 'card_present'; const TYPE_CASHAPP = 'cashapp'; const TYPE_CUSTOMER_BALANCE = 'customer_balance'; const TYPE_EPS = 'eps'; const TYPE_FPX = 'fpx'; const TYPE_GIROPAY = 'giropay'; const TYPE_GRABPAY = 'grabpay'; const TYPE_IDEAL = 'ideal'; const TYPE_INTERAC_PRESENT = 'interac_present'; const TYPE_KLARNA = 'klarna'; const TYPE_KONBINI = 'konbini'; const TYPE_LINK = 'link'; const TYPE_MOBILEPAY = 'mobilepay'; const TYPE_MULTIBANCO = 'multibanco'; const TYPE_OXXO = 'oxxo'; const TYPE_P24 = 'p24'; const TYPE_PAYNOW = 'paynow'; const TYPE_PAYPAL = 'paypal'; const TYPE_PIX = 'pix'; const TYPE_PROMPTPAY = 'promptpay'; const TYPE_REVOLUT_PAY = 'revolut_pay'; const TYPE_SEPA_DEBIT = 'sepa_debit'; const TYPE_SOFORT = 'sofort'; const TYPE_SWISH = 'swish'; const TYPE_TWINT = 'twint'; const TYPE_US_BANK_ACCOUNT = 'us_bank_account'; const TYPE_WECHAT_PAY = 'wechat_pay'; const TYPE_ZIP = 'zip'; /** * Creates a PaymentMethod object. Read the Stripe.js * reference to learn how to create PaymentMethods via Stripe.js. * * Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a * payment immediately or the SetupIntent API to collect payment * method details ahead of a future payment. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of PaymentMethods for Treasury flows. If you want to list the * PaymentMethods attached to a Customer for payments, you should use the List a Customer’s * PaymentMethods API instead. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PaymentMethod> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a * payment method attached to a Customer, you should use Retrieve a Customer’s * PaymentMethods. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a PaymentMethod object. A PaymentMethod must be attached a customer to * be updated. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod the attached payment method */ public function attach($params = null, $opts = null) { $url = $this->instanceUrl() . '/attach'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod the detached payment method */ public function detach($params = null, $opts = null) { $url = $this->instanceUrl() . '/detach'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/WebhookEndpoint.php000064400000013760147206617610014656 0ustar00webhook endpoints via the API to be * notified about events that happen in your Stripe account or connected * accounts. * * Most users configure webhooks from the dashboard, which provides a user interface for registering and testing your webhook endpoints. * * Related guide: Setting up webhooks * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $api_version The API version events are rendered as for this webhook endpoint. * @property null|string $application The ID of the associated Connect application. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $description An optional description of what the webhook is used for. * @property string[] $enabled_events The list of events to enable for this endpoint. ['*'] indicates that all events are enabled, except those that require explicit selection. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $secret The endpoint's secret, used to generate webhook signatures. Only returned at creation. * @property string $status The status of the webhook. It can be enabled or disabled. * @property string $url The URL of the webhook endpoint. */ class WebhookEndpoint extends ApiResource { const OBJECT_NAME = 'webhook_endpoint'; use ApiOperations\Update; /** * A webhook endpoint must have a url and a list of * enabled_events. You may optionally specify the Boolean * connect parameter. If set to true, then a Connect webhook endpoint * that notifies the specified url about events from all connected * accounts is created; otherwise an account webhook endpoint that notifies the * specified url only about events from your account is created. You * can also create webhook endpoints in the webhooks settings * section of the Dashboard. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\WebhookEndpoint the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * You can also delete webhook endpoints via the webhook endpoint * management page of the Stripe dashboard. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\WebhookEndpoint the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of your webhook endpoints. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\WebhookEndpoint> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the webhook endpoint with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\WebhookEndpoint */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the webhook endpoint. You may edit the url, the list of * enabled_events, and the status of your endpoint. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\WebhookEndpoint the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/TestHelpers/TestClock.php000064400000010462147206617610015710 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $name The custom name supplied at creation. * @property string $status The status of the Test Clock. */ class TestClock extends \Stripe\ApiResource { const OBJECT_NAME = 'test_helpers.test_clock'; const STATUS_ADVANCING = 'advancing'; const STATUS_INTERNAL_FAILURE = 'internal_failure'; const STATUS_READY = 'ready'; /** * Creates a new test clock that can be attached to new customers and quotes. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TestHelpers\TestClock the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes a test clock. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TestHelpers\TestClock the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of your test clocks. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TestHelpers\TestClock> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a test clock. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TestHelpers\TestClock */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TestHelpers\TestClock the advanced test clock */ public function advance($params = null, $opts = null) { $url = $this->instanceUrl() . '/advance'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/InvoiceItem.php000064400000017710147206617610013771 0ustar00invoice. An invoice item is added to an * invoice by creating or updating it with an invoice field, at which point it will be included as * an invoice line item within * invoice.lines. * * Invoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined * with a subscription. Sometimes you want to add a charge or credit to a customer, but actually charge * or credit the customer’s card only at the end of a regular billing cycle. This is useful for combining several charges * (to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals. * * Related guides: Integrate with the Invoicing API, Subscription Invoices. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in the currency specified) of the invoice item. This should always be equal to unit_amount * quantity. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string|\Stripe\Customer $customer The ID of the customer who will be billed when this invoice item is billed. * @property int $date Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property bool $discountable If true, discounts will apply to this invoice item. Always false for prorations. * @property null|(string|\Stripe\Discount)[] $discounts The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use expand[]=discounts to expand each discount. * @property null|string|\Stripe\Invoice $invoice The ID of the invoice this invoice item belongs to. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property \Stripe\StripeObject $period * @property null|\Stripe\Plan $plan If the invoice item is a proration, the plan of the subscription that the proration was computed for. * @property null|\Stripe\Price $price The price of the invoice item. * @property bool $proration Whether the invoice item was created automatically as a proration adjustment when the customer switched plans. * @property int $quantity Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for. * @property null|string|\Stripe\Subscription $subscription The subscription that this invoice item has been created for, if any. * @property null|string $subscription_item The subscription item that this invoice item has been created for, if any. * @property null|\Stripe\TaxRate[] $tax_rates The tax rates which apply to the invoice item. When set, the default_tax_rates on the invoice do not apply to this invoice item. * @property null|string|\Stripe\TestHelpers\TestClock $test_clock ID of the test clock this invoice item belongs to. * @property null|int $unit_amount Unit amount (in the currency specified) of the invoice item. * @property null|string $unit_amount_decimal Same as unit_amount, but contains a decimal value with at most 12 decimal places. */ class InvoiceItem extends ApiResource { const OBJECT_NAME = 'invoiceitem'; use ApiOperations\Update; /** * Creates an item to be added to a draft invoice (up to 250 items per invoice). If * no invoice is specified, the item will be on the next invoice created for the * customer specified. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceItem the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes an invoice item, removing it from an invoice. Deleting invoice items is * only possible when they’re not attached to invoices, or if it’s attached to a * draft invoice. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceItem the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of your invoice items. Invoice items are returned sorted by * creation date, with the most recently created invoice items appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\InvoiceItem> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the invoice item with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceItem */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the amount or description of an invoice item on an upcoming invoice. * Updating an invoice item is only possible before the invoice it’s attached to is * closed. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceItem the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Invoice.php000064400000073754147206617610013164 0ustar00invoice items, and proration adjustments * that may be caused by subscription upgrades/downgrades (if necessary). * * If your invoice is configured to be billed through automatic charges, * Stripe automatically finalizes your invoice and attempts payment. Note * that finalizing the invoice, * when automatic, does * not happen immediately as the invoice is created. Stripe waits * until one hour after the last webhook was successfully sent (or the last * webhook timed out after failing). If you (and the platforms you may have * connected to) have no webhooks configured, Stripe waits one hour after * creation to finalize the invoice. * * If your invoice is configured to be billed by sending an email, then based on your * email settings, * Stripe will email the invoice to your customer and await payment. These * emails can contain a link to a hosted page to pay the invoice. * * Stripe applies any customer credit on the account before determining the * amount due for the invoice (i.e., the amount that will be actually * charged). If the amount due for the invoice is less than Stripe's minimum allowed charge * per currency, the * invoice is automatically marked paid, and we add the amount due to the * customer's credit balance which is applied to the next invoice. * * More details on the customer's credit balance are * here. * * Related guide: Send invoices to customers * * @property null|string $id Unique identifier for the object. This property is always present unless the invoice is an upcoming invoice. See Retrieve an upcoming invoice for more details. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $account_country The country of the business associated with this invoice, most often the business creating the invoice. * @property null|string $account_name The public name of the business associated with this invoice, most often the business creating the invoice. * @property null|(string|\Stripe\TaxId)[] $account_tax_ids The account tax IDs associated with the invoice. Only editable when the invoice is a draft. * @property int $amount_due Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the amount_due may be 0. If there is a positive starting_balance for the invoice (the customer owes money), the amount_due will also take that into account. The charge that gets generated for the invoice will be for the amount specified in amount_due. * @property int $amount_paid The amount, in cents (or local equivalent), that was paid. * @property int $amount_remaining The difference between amount_due and amount_paid, in cents (or local equivalent). * @property int $amount_shipping This is the sum of all the shipping amounts. * @property null|string|\Stripe\Application $application ID of the Connect Application that created the invoice. * @property null|int $application_fee_amount The fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid. * @property int $attempt_count Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained. * @property bool $attempted Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the invoice.created webhook, for example, so you might not want to display that invoice as unpaid to your users. * @property null|bool $auto_advance Controls whether Stripe performs automatic collection of the invoice. If false, the invoice's state doesn't automatically advance without an explicit action. * @property \Stripe\StripeObject $automatic_tax * @property null|string $billing_reason

Indicates the reason why the invoice was created.

* manual: Unrelated to a subscription, for example, created via the invoice editor. * subscription: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds. * subscription_create: A new subscription was created. * subscription_cycle: A subscription advanced into a new period. * subscription_threshold: A subscription reached a billing threshold. * subscription_update: A subscription was updated. * upcoming: Reserved for simulated invoices, per the upcoming invoice endpoint.

* @property null|string|\Stripe\Charge $charge ID of the latest charge generated for this invoice, if any. * @property string $collection_method Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|\Stripe\StripeObject[] $custom_fields Custom fields displayed on the invoice. * @property null|string|\Stripe\Customer $customer The ID of the customer who will be billed. * @property null|\Stripe\StripeObject $customer_address The customer's address. Until the invoice is finalized, this field will equal customer.address. Once the invoice is finalized, this field will no longer be updated. * @property null|string $customer_email The customer's email. Until the invoice is finalized, this field will equal customer.email. Once the invoice is finalized, this field will no longer be updated. * @property null|string $customer_name The customer's name. Until the invoice is finalized, this field will equal customer.name. Once the invoice is finalized, this field will no longer be updated. * @property null|string $customer_phone The customer's phone number. Until the invoice is finalized, this field will equal customer.phone. Once the invoice is finalized, this field will no longer be updated. * @property null|\Stripe\StripeObject $customer_shipping The customer's shipping information. Until the invoice is finalized, this field will equal customer.shipping. Once the invoice is finalized, this field will no longer be updated. * @property null|string $customer_tax_exempt The customer's tax exempt status. Until the invoice is finalized, this field will equal customer.tax_exempt. Once the invoice is finalized, this field will no longer be updated. * @property null|\Stripe\StripeObject[] $customer_tax_ids The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as customer.tax_ids. Once the invoice is finalized, this field will no longer be updated. * @property null|string|\Stripe\PaymentMethod $default_payment_method ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. * @property null|string|\Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source $default_source ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. * @property \Stripe\TaxRate[] $default_tax_rates The tax rates applied to this invoice, if any. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. * @property null|\Stripe\Discount $discount Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts. * @property (string|\Stripe\Discount)[] $discounts The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use expand[]=discounts to expand each discount. * @property null|int $due_date The date on which payment for this invoice is due. This value will be null for invoices where collection_method=charge_automatically. * @property null|int $effective_at The date when this invoice is in effect. Same as finalized_at unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. * @property null|int $ending_balance Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null. * @property null|string $footer Footer displayed on the invoice. * @property null|\Stripe\StripeObject $from_invoice Details of the invoice that was cloned. See the revision documentation for more details. * @property null|string $hosted_invoice_url The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null. * @property null|string $invoice_pdf The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null. * @property \Stripe\StripeObject $issuer * @property null|\Stripe\StripeObject $last_finalization_error The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized. * @property null|string|\Stripe\Invoice $latest_revision The ID of the most recent non-draft revision of this invoice * @property \Stripe\Collection<\Stripe\InvoiceLineItem> $lines The individual line items that make up the invoice. lines is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|int $next_payment_attempt The time at which payment will next be attempted. This value will be null for invoices where collection_method=send_invoice. * @property null|string $number A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified. * @property null|string|\Stripe\Account $on_behalf_of The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the Invoices with Connect documentation for details. * @property bool $paid Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance. * @property bool $paid_out_of_band Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe. * @property null|string|\Stripe\PaymentIntent $payment_intent The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent. * @property \Stripe\StripeObject $payment_settings * @property int $period_end End of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the line item period to get the service period for each price. * @property int $period_start Start of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the line item period to get the service period for each price. * @property int $post_payment_credit_notes_amount Total amount of all post-payment credit notes issued for this invoice. * @property int $pre_payment_credit_notes_amount Total amount of all pre-payment credit notes issued for this invoice. * @property null|string|\Stripe\Quote $quote The quote this invoice was generated from. * @property null|string $receipt_number This is the transaction number that appears on email receipts sent for this invoice. * @property null|\Stripe\StripeObject $rendering The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. * @property null|\Stripe\StripeObject $shipping_cost The details of the cost of shipping, including the ShippingRate applied on the invoice. * @property null|\Stripe\StripeObject $shipping_details Shipping details for the invoice. The Invoice PDF will use the shipping_details value if it is set, otherwise the PDF will render the shipping address from the customer. * @property int $starting_balance Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice. * @property null|string $statement_descriptor Extra information about an invoice for the customer's credit card statement. * @property null|string $status The status of the invoice, one of draft, open, paid, uncollectible, or void. Learn more * @property \Stripe\StripeObject $status_transitions * @property null|string|\Stripe\Subscription $subscription The subscription that this invoice was prepared for, if any. * @property null|\Stripe\StripeObject $subscription_details Details about the subscription that created this invoice. * @property null|int $subscription_proration_date Only set for upcoming invoices that preview prorations. The time used to calculate prorations. * @property int $subtotal Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated * @property null|int $subtotal_excluding_tax The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated * @property null|int $tax The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice. * @property null|string|\Stripe\TestHelpers\TestClock $test_clock ID of the test clock this invoice belongs to. * @property null|\Stripe\StripeObject $threshold_reason * @property int $total Total after discounts and taxes. * @property null|\Stripe\StripeObject[] $total_discount_amounts The aggregate amounts calculated per discount across all line items. * @property null|int $total_excluding_tax The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax. * @property \Stripe\StripeObject[] $total_tax_amounts The aggregate amounts calculated per tax rate for all line items. * @property null|\Stripe\StripeObject $transfer_data The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice. * @property null|int $webhooks_delivered_at Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have been exhausted. This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created. */ class Invoice extends ApiResource { const OBJECT_NAME = 'invoice'; use ApiOperations\NestedResource; use ApiOperations\Update; const BILLING_REASON_AUTOMATIC_PENDING_INVOICE_ITEM_INVOICE = 'automatic_pending_invoice_item_invoice'; const BILLING_REASON_MANUAL = 'manual'; const BILLING_REASON_QUOTE_ACCEPT = 'quote_accept'; const BILLING_REASON_SUBSCRIPTION = 'subscription'; const BILLING_REASON_SUBSCRIPTION_CREATE = 'subscription_create'; const BILLING_REASON_SUBSCRIPTION_CYCLE = 'subscription_cycle'; const BILLING_REASON_SUBSCRIPTION_THRESHOLD = 'subscription_threshold'; const BILLING_REASON_SUBSCRIPTION_UPDATE = 'subscription_update'; const BILLING_REASON_UPCOMING = 'upcoming'; const COLLECTION_METHOD_CHARGE_AUTOMATICALLY = 'charge_automatically'; const COLLECTION_METHOD_SEND_INVOICE = 'send_invoice'; const CUSTOMER_TAX_EXEMPT_EXEMPT = 'exempt'; const CUSTOMER_TAX_EXEMPT_NONE = 'none'; const CUSTOMER_TAX_EXEMPT_REVERSE = 'reverse'; const STATUS_DRAFT = 'draft'; const STATUS_OPEN = 'open'; const STATUS_PAID = 'paid'; const STATUS_UNCOLLECTIBLE = 'uncollectible'; const STATUS_VOID = 'void'; /** * This endpoint creates a draft invoice for a given customer. The invoice remains * a draft until you finalize the invoice, which * allows you to pay or send * the invoice to your customers. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to * delete invoices that are no longer in a draft state will fail; once an invoice * has been finalized or if an invoice is for a subscription, it must be voided. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * You can list all invoices, or list the invoices for a specific customer. The * invoices are returned sorted by creation date, with the most recently created * invoices appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Invoice> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the invoice with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Draft invoices are fully editable. Once an invoice is finalized, monetary values, * as well as collection_method, become uneditable. * * If you would like to stop the Stripe Billing engine from automatically * finalizing, reattempting payments on, sending reminders for, or automatically reconciling * invoices, pass auto_advance=false. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } const BILLING_CHARGE_AUTOMATICALLY = 'charge_automatically'; const BILLING_SEND_INVOICE = 'send_invoice'; /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the added invoice */ public function addLines($params = null, $opts = null) { $url = $this->instanceUrl() . '/add_lines'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the created invoice */ public static function createPreview($params = null, $opts = null) { $url = static::classUrl() . '/create_preview'; list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the finalized invoice */ public function finalizeInvoice($params = null, $opts = null) { $url = $this->instanceUrl() . '/finalize'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the uncollectible invoice */ public function markUncollectible($params = null, $opts = null) { $url = $this->instanceUrl() . '/mark_uncollectible'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the paid invoice */ public function pay($params = null, $opts = null) { $url = $this->instanceUrl() . '/pay'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the removed invoice */ public function removeLines($params = null, $opts = null) { $url = $this->instanceUrl() . '/remove_lines'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the sent invoice */ public function sendInvoice($params = null, $opts = null) { $url = $this->instanceUrl() . '/send'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the upcoming invoice */ public static function upcoming($params = null, $opts = null) { $url = static::classUrl() . '/upcoming'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\InvoiceLineItem> list of invoice line items */ public static function upcomingLines($params = null, $opts = null) { $url = static::classUrl() . '/upcoming/lines'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the updated invoice */ public function updateLines($params = null, $opts = null) { $url = $this->instanceUrl() . '/update_lines'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice the voided invoice */ public function voidInvoice($params = null, $opts = null) { $url = $this->instanceUrl() . '/void'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Invoice> the invoice search results */ public static function search($params = null, $opts = null) { $url = '/v1/invoices/search'; return static::_requestPage($url, \Stripe\SearchResult::class, $params, $opts); } const PATH_LINES = '/lines'; /** * @param string $id the ID of the invoice on which to retrieve the invoice line items * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\InvoiceLineItem> the list of invoice line items */ public static function allLines($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_LINES, $params, $opts); } } lib/stripe-gateway/lib/CashBalance.php000064400000004645147206617610013705 0ustar00Cash balance represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account. * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $available A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the smallest currency unit. * @property string $customer The ID of the customer whose cash balance this object represents. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $settings */ class CashBalance extends ApiResource { const OBJECT_NAME = 'cash_balance'; /** * @return string the API URL for this balance transaction */ public function instanceUrl() { $customer = $this['customer']; $customer = Util\Util::utf8($customer); $base = Customer::classUrl(); $customerExtn = \urlencode($customer); return "{$base}/{$customerExtn}/cash_balance"; } /** * @param array|string $_id * @param null|array|string $_opts * * @throws \Stripe\Exception\BadMethodCallException */ public static function retrieve($_id, $_opts = null) { $msg = 'Customer Cash Balance cannot be retrieved without a ' . 'customer ID. Retrieve a Customer Cash Balance using ' . "`Customer::retrieveCashBalance('customer_id')`."; throw new Exception\BadMethodCallException($msg); } /** * @param string $_id * @param null|array $_params * @param null|array|string $_options * * @throws \Stripe\Exception\BadMethodCallException */ public static function update($_id, $_params = null, $_options = null) { $msg = 'Customer Cash Balance cannot be updated without a ' . 'customer ID. Retrieve a Customer Cash Balance using ' . "`Customer::updateCashBalance('customer_id')`."; throw new Exception\BadMethodCallException($msg); } } lib/stripe-gateway/lib/Plan.php000064400000022715147206617610012451 0ustar00Prices API. It replaces the Plans API and is backwards compatible to simplify your migration. * * Plans define the base price, currency, and billing cycle for recurring purchases of products. * Products help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme. * * For example, you might have a single "gold" product that has plans for $10/month, $100/year, €9/month, and €90/year. * * Related guides: Set up a subscription and more about products and prices. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $active Whether the plan can be used for new purchases. * @property null|string $aggregate_usage Specifies a usage aggregation strategy for plans of usage_type=metered. Allowed values are sum for summing up all usage during a period, last_during_period for using the last usage record reported within a period, last_ever for using the last usage record ever (across period bounds) or max which uses the usage record with the maximum reported usage during a period. Defaults to sum. * @property null|int $amount The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit. * @property null|string $amount_decimal The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit. * @property string $billing_scheme Describes how to compute the price per period. Either per_unit or tiered. per_unit indicates that the fixed amount (specified in amount) will be charged per unit in quantity (for plans with usage_type=licensed), or per unit of total usage (for plans with usage_type=metered). tiered indicates that the unit pricing will be computed using a tiering strategy as defined using the tiers and tiers_mode attributes. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string $interval The frequency at which a subscription is billed. One of day, week, month or year. * @property int $interval_count The number of intervals (specified in the interval attribute) between subscription billings. For example, interval=month and interval_count=3 bills every 3 months. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $meter The meter tracking the usage of a metered price * @property null|string $nickname A brief description of the plan, hidden from customers. * @property null|string|\Stripe\Product $product The product whose pricing this plan determines. * @property null|\Stripe\StripeObject[] $tiers Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme. * @property null|string $tiers_mode Defines if the tiering price should be graduated or volume based. In volume-based tiering, the maximum quantity within a period determines the per unit price. In graduated tiering, pricing can change as the quantity grows. * @property null|\Stripe\StripeObject $transform_usage Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with tiers. * @property null|int $trial_period_days Default number of trial days when subscribing a customer to this plan using trial_from_plan=true. * @property string $usage_type Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed. */ class Plan extends ApiResource { const OBJECT_NAME = 'plan'; use ApiOperations\Update; const AGGREGATE_USAGE_LAST_DURING_PERIOD = 'last_during_period'; const AGGREGATE_USAGE_LAST_EVER = 'last_ever'; const AGGREGATE_USAGE_MAX = 'max'; const AGGREGATE_USAGE_SUM = 'sum'; const BILLING_SCHEME_PER_UNIT = 'per_unit'; const BILLING_SCHEME_TIERED = 'tiered'; const INTERVAL_DAY = 'day'; const INTERVAL_MONTH = 'month'; const INTERVAL_WEEK = 'week'; const INTERVAL_YEAR = 'year'; const TIERS_MODE_GRADUATED = 'graduated'; const TIERS_MODE_VOLUME = 'volume'; const USAGE_TYPE_LICENSED = 'licensed'; const USAGE_TYPE_METERED = 'metered'; /** * You can now model subscriptions more flexibly using the Prices * API. It replaces the Plans API and is backwards compatible to simplify your * migration. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Plan the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deleting plans means new subscribers can’t be added. Existing subscribers aren’t * affected. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Plan the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of your plans. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Plan> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the plan with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Plan */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified plan by setting the values of the parameters passed. Any * parameters not provided are left unchanged. By design, you cannot change a * plan’s ID, amount, currency, or billing cycle. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Plan the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Customer.php000064400000054317147206617610013363 0ustar00Save a card during payment * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $address The customer's address. * @property null|int $balance The current balance, if any, that's stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize. * @property null|\Stripe\CashBalance $cash_balance The current funds being held by Stripe on behalf of the customer. You can apply these funds towards payment intents when the source is "cash_balance". The settings[reconciliation_mode] field describes if these funds apply to these payment intents manually or automatically. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $currency Three-letter ISO code for the currency the customer can be charged in for recurring billing purposes. * @property null|string|\Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source $default_source

ID of the default payment source for the customer.

If you use payment methods created through the PaymentMethods API, see the invoice_settings.default_payment_method field instead.

* @property null|bool $delinquent

Tracks the most recent state change on any invoice belonging to the customer. Paying an invoice or marking it uncollectible via the API will set this field to false. An automatic payment failure or passing the invoice.due_date will set this field to true.

If an invoice becomes uncollectible by dunning, delinquent doesn't reset to false.

If you care whether the customer has paid their most recent subscription invoice, use subscription.status instead. Paying or marking uncollectible any customer invoice regardless of whether it is the latest invoice for a subscription will always set this field to false.

* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|\Stripe\Discount $discount Describes the current discount active on the customer, if there is one. * @property null|string $email The customer's email address. * @property null|\Stripe\StripeObject $invoice_credit_balance The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes. * @property null|string $invoice_prefix The prefix for the customer used to generate unique invoice numbers. * @property null|\Stripe\StripeObject $invoice_settings * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $name The customer's full name or business name. * @property null|int $next_invoice_sequence The suffix of the customer's next invoice number (for example, 0001). When the account uses account level sequencing, this parameter is ignored in API requests and the field omitted in API responses. * @property null|string $phone The customer's phone number. * @property null|string[] $preferred_locales The customer's preferred locales (languages), ordered by preference. * @property null|\Stripe\StripeObject $shipping Mailing and shipping address for the customer. Appears on invoices emailed to this customer. * @property null|\Stripe\Collection<\Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source> $sources The customer's payment sources, if any. * @property null|\Stripe\Collection<\Stripe\Subscription> $subscriptions The customer's current subscriptions, if any. * @property null|\Stripe\StripeObject $tax * @property null|string $tax_exempt Describes the customer's tax exemption status, which is none, exempt, or reverse. When set to reverse, invoice and receipt PDFs include the following text: "Reverse charge". * @property null|\Stripe\Collection<\Stripe\TaxId> $tax_ids The customer's tax IDs. * @property null|string|\Stripe\TestHelpers\TestClock $test_clock ID of the test clock that this customer belongs to. */ class Customer extends ApiResource { const OBJECT_NAME = 'customer'; use ApiOperations\NestedResource; use ApiOperations\Update; const TAX_EXEMPT_EXEMPT = 'exempt'; const TAX_EXEMPT_NONE = 'none'; const TAX_EXEMPT_REVERSE = 'reverse'; /** * Creates a new customer object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Customer the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Permanently deletes a customer. It cannot be undone. Also immediately cancels * any active subscriptions on the customer. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Customer the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of your customers. The customers are returned sorted by creation * date, with the most recent customers appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Customer> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a Customer object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Customer */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified customer by setting the values of the parameters passed. * Any parameters not provided will be left unchanged. For example, if you pass the * source parameter, that becomes the customer’s active source * (e.g., a card) to be used for all charges in the future. When you update a * customer to a new valid card source by passing the source * parameter: for each of the customer’s current subscriptions, if the subscription * bills automatically and is in the past_due state, then the latest * open invoice for the subscription with automatic collection enabled will be * retried. This retry will not count as an automatic retry, and will not affect * the next regularly scheduled payment for the invoice. Changing the * default_source for a customer will not trigger this behavior. * * This request accepts mostly the same arguments as the customer creation call. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Customer the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } public static function getSavedNestedResources() { static $savedNestedResources = null; if (null === $savedNestedResources) { $savedNestedResources = new Util\Set([ 'source', ]); } return $savedNestedResources; } /** * @param null|array $params * @param null|array|string $opts * * @return \Stripe\Customer the updated customer */ public function deleteDiscount($params = null, $opts = null) { $url = $this->instanceUrl() . '/discount'; list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom(['discount' => null], $opts, true); return $this; } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PaymentMethod> list of payment methods */ public static function allPaymentMethods($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/payment_methods'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param string $payment_method * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod the retrieved payment method */ public function retrievePaymentMethod($payment_method, $params = null, $opts = null) { $url = $this->instanceUrl() . '/payment_methods/' . $payment_method; list($response, $opts) = $this->_request('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Customer> the customer search results */ public static function search($params = null, $opts = null) { $url = '/v1/customers/search'; return static::_requestPage($url, \Stripe\SearchResult::class, $params, $opts); } const PATH_BALANCE_TRANSACTIONS = '/balance_transactions'; /** * @param string $id the ID of the customer on which to retrieve the customer balance transactions * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CustomerBalanceTransaction> the list of customer balance transactions */ public static function allBalanceTransactions($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_BALANCE_TRANSACTIONS, $params, $opts); } /** * @param string $id the ID of the customer on which to create the customer balance transaction * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerBalanceTransaction */ public static function createBalanceTransaction($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $params, $opts); } /** * @param string $id the ID of the customer to which the customer balance transaction belongs * @param string $balanceTransactionId the ID of the customer balance transaction to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerBalanceTransaction */ public static function retrieveBalanceTransaction($id, $balanceTransactionId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $balanceTransactionId, $params, $opts); } /** * @param string $id the ID of the customer to which the customer balance transaction belongs * @param string $balanceTransactionId the ID of the customer balance transaction to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerBalanceTransaction */ public static function updateBalanceTransaction($id, $balanceTransactionId, $params = null, $opts = null) { return self::_updateNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $balanceTransactionId, $params, $opts); } const PATH_CASH_BALANCE_TRANSACTIONS = '/cash_balance_transactions'; /** * @param string $id the ID of the customer on which to retrieve the customer cash balance transactions * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CustomerCashBalanceTransaction> the list of customer cash balance transactions */ public static function allCashBalanceTransactions($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_CASH_BALANCE_TRANSACTIONS, $params, $opts); } /** * @param string $id the ID of the customer to which the customer cash balance transaction belongs * @param string $cashBalanceTransactionId the ID of the customer cash balance transaction to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerCashBalanceTransaction */ public static function retrieveCashBalanceTransaction($id, $cashBalanceTransactionId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_CASH_BALANCE_TRANSACTIONS, $cashBalanceTransactionId, $params, $opts); } const PATH_SOURCES = '/sources'; /** * @param string $id the ID of the customer on which to retrieve the payment sources * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\BankAccount|\Stripe\Card|\Stripe\Source> the list of payment sources (BankAccount, Card or Source) */ public static function allSources($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_SOURCES, $params, $opts); } /** * @param string $id the ID of the customer on which to create the payment source * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public static function createSource($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_SOURCES, $params, $opts); } /** * @param string $id the ID of the customer to which the payment source belongs * @param string $sourceId the ID of the payment source to delete * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public static function deleteSource($id, $sourceId, $params = null, $opts = null) { return self::_deleteNestedResource($id, static::PATH_SOURCES, $sourceId, $params, $opts); } /** * @param string $id the ID of the customer to which the payment source belongs * @param string $sourceId the ID of the payment source to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public static function retrieveSource($id, $sourceId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_SOURCES, $sourceId, $params, $opts); } /** * @param string $id the ID of the customer to which the payment source belongs * @param string $sourceId the ID of the payment source to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public static function updateSource($id, $sourceId, $params = null, $opts = null) { return self::_updateNestedResource($id, static::PATH_SOURCES, $sourceId, $params, $opts); } const PATH_CASH_BALANCE = '/cash_balance'; /** * @param string $id the ID of the customer to which the cash balance belongs * @param null|array $params * @param null|array|string $opts * @param mixed $cashBalanceId * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CashBalance */ public static function retrieveCashBalance($id, $cashBalanceId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_CASH_BALANCE, $params, $opts); } /** * @param string $id the ID of the customer to which the cash balance belongs * @param null|array $params * @param null|array|string $opts * @param mixed $cashBalanceId * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CashBalance */ public static function updateCashBalance($id, $cashBalanceId, $params = null, $opts = null) { return self::_updateNestedResource($id, static::PATH_CASH_BALANCE, $params, $opts); } const PATH_TAX_IDS = '/tax_ids'; /** * @param string $id the ID of the customer on which to retrieve the tax ids * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TaxId> the list of tax ids */ public static function allTaxIds($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_TAX_IDS, $params, $opts); } /** * @param string $id the ID of the customer on which to create the tax id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public static function createTaxId($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_TAX_IDS, $params, $opts); } /** * @param string $id the ID of the customer to which the tax id belongs * @param string $taxIdId the ID of the tax id to delete * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public static function deleteTaxId($id, $taxIdId, $params = null, $opts = null) { return self::_deleteNestedResource($id, static::PATH_TAX_IDS, $taxIdId, $params, $opts); } /** * @param string $id the ID of the customer to which the tax id belongs * @param string $taxIdId the ID of the tax id to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public static function retrieveTaxId($id, $taxIdId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_TAX_IDS, $taxIdId, $params, $opts); } } lib/stripe-gateway/lib/StripeObject.php000064400000045566147206617610014165 0ustar00 "old_value"] * * If we update the object with `metadata[new]=new_value`, the server side * object now has *both* fields: * * metadata = ["old" => "old_value", "new" => "new_value"] * * This is okay in itself because usually users will want to treat it as * additive: * * $obj->metadata["new"] = "new_value"; * $obj->save(); * * However, in other cases, they may want to replace the entire existing * contents: * * $obj->metadata = ["new" => "new_value"]; * $obj->save(); * * This is where things get a little bit tricky because in order to clear * any old keys that may have existed, we actually have to send an explicit * empty string to the server. So the operation above would have to send * this form to get the intended behavior: * * metadata[old]=&metadata[new]=new_value * * This method allows us to track which parameters are considered additive, * and lets us behave correctly where appropriate when serializing * parameters to be sent. * * @return Util\Set Set of additive parameters */ public static function getAdditiveParams() { static $additiveParams = null; if (null === $additiveParams) { // Set `metadata` as additive so that when it's set directly we remember // to clear keys that may have been previously set by sending empty // values for them. // // It's possible that not every object has `metadata`, but having this // option set when there is no `metadata` field is not harmful. $additiveParams = new Util\Set([ 'metadata', ]); } return $additiveParams; } public function __construct($id = null, $opts = null) { list($id, $this->_retrieveOptions) = Util\Util::normalizeId($id); $this->_opts = Util\RequestOptions::parse($opts); $this->_originalValues = []; $this->_values = []; $this->_unsavedValues = new Util\Set(); $this->_transientValues = new Util\Set(); if (null !== $id) { $this->_values['id'] = $id; } } // Standard accessor magic methods public function __set($k, $v) { if (static::getPermanentAttributes()->includes($k)) { throw new Exception\InvalidArgumentException( "Cannot set {$k} on this object. HINT: you can't set: " . \implode(', ', static::getPermanentAttributes()->toArray()) ); } if ('' === $v) { throw new Exception\InvalidArgumentException( 'You cannot set \'' . $k . '\'to an empty string. ' . 'We interpret empty strings as NULL in requests. ' . 'You may set obj->' . $k . ' = NULL to delete the property' ); } $this->_values[$k] = Util\Util::convertToStripeObject($v, $this->_opts); $this->dirtyValue($this->_values[$k]); $this->_unsavedValues->add($k); } /** * @param mixed $k * * @return bool */ public function __isset($k) { return isset($this->_values[$k]); } public function __unset($k) { unset($this->_values[$k]); $this->_transientValues->add($k); $this->_unsavedValues->discard($k); } public function &__get($k) { // function should return a reference, using $nullval to return a reference to null $nullval = null; if (!empty($this->_values) && \array_key_exists($k, $this->_values)) { return $this->_values[$k]; } if (!empty($this->_transientValues) && $this->_transientValues->includes($k)) { $class = static::class; $attrs = \implode(', ', \array_keys($this->_values)); $message = "Stripe Notice: Undefined property of {$class} instance: {$k}. " . "HINT: The {$k} attribute was set in the past, however. " . 'It was then wiped when refreshing the object ' . "with the result returned by Stripe's API, " . 'probably as a result of a save(). The attributes currently ' . "available on this object are: {$attrs}"; Stripe::getLogger()->error($message); return $nullval; } $class = static::class; Stripe::getLogger()->error("Stripe Notice: Undefined property of {$class} instance: {$k}"); return $nullval; } /** * Magic method for var_dump output. Only works with PHP >= 5.6. * * @return array */ public function __debugInfo() { return $this->_values; } // ArrayAccess methods /** * @return void */ #[\ReturnTypeWillChange] public function offsetSet($k, $v) { $this->{$k} = $v; } /** * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($k) { return \array_key_exists($k, $this->_values); } /** * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($k) { unset($this->{$k}); } /** * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($k) { return \array_key_exists($k, $this->_values) ? $this->_values[$k] : null; } /** * @return int */ #[\ReturnTypeWillChange] public function count() { return \count($this->_values); } public function keys() { return \array_keys($this->_values); } public function values() { return \array_values($this->_values); } /** * This unfortunately needs to be public to be used in Util\Util. * * @param array $values * @param null|array|string|Util\RequestOptions $opts * * @return static the object constructed from the given values */ public static function constructFrom($values, $opts = null) { $obj = new static(isset($values['id']) ? $values['id'] : null); $obj->refreshFrom($values, $opts); return $obj; } /** * Refreshes this object using the provided values. * * @param array $values * @param null|array|string|Util\RequestOptions $opts * @param bool $partial defaults to false */ public function refreshFrom($values, $opts, $partial = false) { $this->_opts = Util\RequestOptions::parse($opts); $this->_originalValues = self::deepCopy($values); if ($values instanceof StripeObject) { $values = $values->toArray(); } // Wipe old state before setting new. This is useful for e.g. updating a // customer, where there is no persistent card parameter. Mark those values // which don't persist as transient if ($partial) { $removed = new Util\Set(); } else { $removed = new Util\Set(\array_diff(\array_keys($this->_values), \array_keys($values))); } foreach ($removed->toArray() as $k) { unset($this->{$k}); } $this->updateAttributes($values, $opts, false); foreach ($values as $k => $v) { $this->_transientValues->discard($k); $this->_unsavedValues->discard($k); } } /** * Mass assigns attributes on the model. * * @param array $values * @param null|array|string|Util\RequestOptions $opts * @param bool $dirty defaults to true */ public function updateAttributes($values, $opts = null, $dirty = true) { foreach ($values as $k => $v) { // Special-case metadata to always be cast as a StripeObject // This is necessary in case metadata is empty, as PHP arrays do // not differentiate between lists and hashes, and we consider // empty arrays to be lists. if (('metadata' === $k) && (\is_array($v))) { $this->_values[$k] = StripeObject::constructFrom($v, $opts); } else { $this->_values[$k] = Util\Util::convertToStripeObject($v, $opts); } if ($dirty) { $this->dirtyValue($this->_values[$k]); } $this->_unsavedValues->add($k); } } /** * @param bool $force defaults to false * * @return array a recursive mapping of attributes to values for this object, * including the proper value for deleted attributes */ public function serializeParameters($force = false) { $updateParams = []; foreach ($this->_values as $k => $v) { // There are a few reasons that we may want to add in a parameter for // update: // // 1. The `$force` option has been set. // 2. We know that it was modified. // 3. Its value is a StripeObject. A StripeObject may contain modified // values within in that its parent StripeObject doesn't know about. // $original = \array_key_exists($k, $this->_originalValues) ? $this->_originalValues[$k] : null; $unsaved = $this->_unsavedValues->includes($k); if ($force || $unsaved || $v instanceof StripeObject) { $updateParams[$k] = $this->serializeParamsValue( $this->_values[$k], $original, $unsaved, $force, $k ); } } // a `null` that makes it out of `serializeParamsValue` signals an empty // value that we shouldn't appear in the serialized form of the object return \array_filter( $updateParams, function ($v) { return null !== $v; } ); } public function serializeParamsValue($value, $original, $unsaved, $force, $key = null) { // The logic here is that essentially any object embedded in another // object that had a `type` is actually an API resource of a different // type that's been included in the response. These other resources must // be updated from their proper endpoints, and therefore they are not // included when serializing even if they've been modified. // // There are _some_ known exceptions though. // // For example, if the value is unsaved (meaning the user has set it), and // it looks like the API resource is persisted with an ID, then we include // the object so that parameters are serialized with a reference to its // ID. // // Another example is that on save API calls it's sometimes desirable to // update a customer's default source by setting a new card (or other) // object with `->source=` and then saving the customer. The // `saveWithParent` flag to override the default behavior allows us to // handle these exceptions. // // We throw an error if a property was set explicitly but we can't do // anything with it because the integration is probably not working as the // user intended it to. if (null === $value) { return ''; } if (($value instanceof ApiResource) && (!$value->saveWithParent)) { if (!$unsaved) { return null; } if (isset($value->id)) { return $value; } throw new Exception\InvalidArgumentException( "Cannot save property `{$key}` containing an API resource of type " . \get_class($value) . ". It doesn't appear to be persisted and is " . 'not marked as `saveWithParent`.' ); } if (\is_array($value)) { if (Util\Util::isList($value)) { // Sequential array, i.e. a list $update = []; foreach ($value as $v) { $update[] = $this->serializeParamsValue($v, null, true, $force); } // This prevents an array that's unchanged from being resent. if ($update !== $this->serializeParamsValue($original, null, true, $force, $key)) { return $update; } } else { // Associative array, i.e. a map return Util\Util::convertToStripeObject($value, $this->_opts)->serializeParameters(); } } elseif ($value instanceof StripeObject) { $update = $value->serializeParameters($force); if ($original && $unsaved && $key && static::getAdditiveParams()->includes($key)) { $update = \array_merge(self::emptyValues($original), $update); } return $update; } else { return $value; } } /** * @return mixed */ #[\ReturnTypeWillChange] public function jsonSerialize() { return $this->toArray(); } /** * Returns an associative array with the key and values composing the * Stripe object. * * @return array the associative array */ public function toArray() { $maybeToArray = function ($value) { if (null === $value) { return null; } return \is_object($value) && \method_exists($value, 'toArray') ? $value->toArray() : $value; }; return \array_reduce(\array_keys($this->_values), function ($acc, $k) use ($maybeToArray) { if ('_' === \substr((string) $k, 0, 1)) { return $acc; } $v = $this->_values[$k]; if (Util\Util::isList($v)) { $acc[$k] = \array_map($maybeToArray, $v); } else { $acc[$k] = $maybeToArray($v); } return $acc; }, []); } /** * Returns a pretty JSON representation of the Stripe object. * * @return string the JSON representation of the Stripe object */ public function toJSON() { return \json_encode($this->toArray(), \JSON_PRETTY_PRINT); } public function __toString() { $class = static::class; return $class . ' JSON: ' . $this->toJSON(); } /** * Sets all keys within the StripeObject as unsaved so that they will be * included with an update when `serializeParameters` is called. This * method is also recursive, so any StripeObjects contained as values or * which are values in a tenant array are also marked as dirty. */ public function dirty() { $this->_unsavedValues = new Util\Set(\array_keys($this->_values)); foreach ($this->_values as $k => $v) { $this->dirtyValue($v); } } protected function dirtyValue($value) { if (\is_array($value)) { foreach ($value as $v) { $this->dirtyValue($v); } } elseif ($value instanceof StripeObject) { $value->dirty(); } } /** * Produces a deep copy of the given object including support for arrays * and StripeObjects. * * @param mixed $obj */ protected static function deepCopy($obj) { if (\is_array($obj)) { $copy = []; foreach ($obj as $k => $v) { $copy[$k] = self::deepCopy($v); } return $copy; } if ($obj instanceof StripeObject) { return $obj::constructFrom( self::deepCopy($obj->_values), clone $obj->_opts ); } return $obj; } /** * Returns a hash of empty values for all the values that are in the given * StripeObject. * * @param mixed $obj */ public static function emptyValues($obj) { if (\is_array($obj)) { $values = $obj; } elseif ($obj instanceof StripeObject) { $values = $obj->_values; } else { throw new Exception\InvalidArgumentException( 'empty_values got unexpected object type: ' . \get_class($obj) ); } return \array_fill_keys(\array_keys($values), ''); } /** * @return null|ApiResponse The last response from the Stripe API */ public function getLastResponse() { return $this->_lastResponse; } /** * Sets the last response from the Stripe API. * * @param ApiResponse $resp */ public function setLastResponse($resp) { $this->_lastResponse = $resp; } /** * Indicates whether or not the resource has been deleted on the server. * Note that some, but not all, resources can indicate whether they have * been deleted. * * @return bool whether the resource is deleted */ public function isDeleted() { return isset($this->_values['deleted']) ? $this->_values['deleted'] : false; } } lib/stripe-gateway/lib/PaymentIntent.php000064400000045276147206617610014365 0ustar00multiple statuses * throughout its lifetime as it interfaces with Stripe.js to perform * authentication flows and ultimately creates at most one successful charge. * * Related guide: Payment Intents API * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). * @property int $amount_capturable Amount that can be captured from this PaymentIntent. * @property null|\Stripe\StripeObject $amount_details * @property int $amount_received Amount that this PaymentIntent collects. * @property null|string|\Stripe\Application $application ID of the Connect application that created the PaymentIntent. * @property null|int $application_fee_amount The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts. * @property null|\Stripe\StripeObject $automatic_payment_methods Settings to configure compatible payment methods from the Stripe Dashboard * @property null|int $canceled_at Populated when status is canceled, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch. * @property null|string $cancellation_reason Reason for cancellation of this PaymentIntent, either user-provided (duplicate, fraudulent, requested_by_customer, or abandoned) or generated by Stripe internally (failed_invoice, void_invoice, or automatic). * @property string $capture_method Controls when the funds will be captured from the customer's account. * @property null|string $client_secret

The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key.

The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.

Refer to our docs to accept a payment and learn about how client_secret should be handled.

* @property string $confirmation_method Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string|\Stripe\Customer $customer

ID of the Customer this PaymentIntent belongs to, if one exists.

Payment methods attached to other Customers cannot be used with this PaymentIntent.

If present in combination with setup_future_usage, this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.

* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|string|\Stripe\Invoice $invoice ID of the invoice that created this PaymentIntent, if it exists. * @property null|\Stripe\StripeObject $last_payment_error The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason. * @property null|string|\Stripe\Charge $latest_charge ID of the latest Charge object created by this PaymentIntent. This property is null until PaymentIntent confirmation is attempted. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Learn more about storing information in metadata. * @property null|\Stripe\StripeObject $next_action If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source. * @property null|string|\Stripe\Account $on_behalf_of The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents use case for connected accounts for details. * @property null|string|\Stripe\PaymentMethod $payment_method ID of the payment method used in this PaymentIntent. * @property null|\Stripe\StripeObject $payment_method_configuration_details Information about the payment method configuration used for this PaymentIntent. * @property null|\Stripe\StripeObject $payment_method_options Payment-method-specific configuration for this PaymentIntent. * @property string[] $payment_method_types The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. * @property null|\Stripe\StripeObject $processing If present, this property tells you about the processing state of the payment. * @property null|string $receipt_email Email address that the receipt for the resulting payment will be sent to. If receipt_email is specified for a payment in live mode, a receipt will be sent regardless of your email settings. * @property null|string|\Stripe\Review $review ID of the review associated with this PaymentIntent, if any. * @property null|string $setup_future_usage

Indicates that you intend to make future payments with this PaymentIntent's payment method.

Providing this parameter will attach the payment method to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be attached to a Customer after the transaction completes.

When processing card payments, Stripe also uses setup_future_usage to dynamically optimize your payment flow and comply with regional legislation and network rules, such as SCA.

* @property null|\Stripe\StripeObject $shipping Shipping information for this PaymentIntent. * @property null|string|\Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source $source This is a legacy field that will be removed in the future. It is the ID of the Source object that is associated with this PaymentIntent, if one was supplied. * @property null|string $statement_descriptor For card charges, use statement_descriptor_suffix. Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long. * @property null|string $statement_descriptor_suffix Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. * @property string $status Status of this PaymentIntent, one of requires_payment_method, requires_confirmation, requires_action, processing, requires_capture, canceled, or succeeded. Read more about each PaymentIntent status. * @property null|\Stripe\StripeObject $transfer_data The data that automatically creates a Transfer after the payment finalizes. Learn more about the use case for connected accounts. * @property null|string $transfer_group A string that identifies the resulting payment as part of a group. Learn more about the use case for connected accounts. */ class PaymentIntent extends ApiResource { const OBJECT_NAME = 'payment_intent'; use ApiOperations\Update; const CANCELLATION_REASON_ABANDONED = 'abandoned'; const CANCELLATION_REASON_AUTOMATIC = 'automatic'; const CANCELLATION_REASON_DUPLICATE = 'duplicate'; const CANCELLATION_REASON_FAILED_INVOICE = 'failed_invoice'; const CANCELLATION_REASON_FRAUDULENT = 'fraudulent'; const CANCELLATION_REASON_REQUESTED_BY_CUSTOMER = 'requested_by_customer'; const CANCELLATION_REASON_VOID_INVOICE = 'void_invoice'; const CAPTURE_METHOD_AUTOMATIC = 'automatic'; const CAPTURE_METHOD_AUTOMATIC_ASYNC = 'automatic_async'; const CAPTURE_METHOD_MANUAL = 'manual'; const CONFIRMATION_METHOD_AUTOMATIC = 'automatic'; const CONFIRMATION_METHOD_MANUAL = 'manual'; const SETUP_FUTURE_USAGE_OFF_SESSION = 'off_session'; const SETUP_FUTURE_USAGE_ON_SESSION = 'on_session'; const STATUS_CANCELED = 'canceled'; const STATUS_PROCESSING = 'processing'; const STATUS_REQUIRES_ACTION = 'requires_action'; const STATUS_REQUIRES_CAPTURE = 'requires_capture'; const STATUS_REQUIRES_CONFIRMATION = 'requires_confirmation'; const STATUS_REQUIRES_PAYMENT_METHOD = 'requires_payment_method'; const STATUS_SUCCEEDED = 'succeeded'; /** * Creates a PaymentIntent object. * * After the PaymentIntent is created, attach a payment method and confirm to continue the payment. * Learn more about the available payment * flows with the Payment Intents API. * * When you use confirm=true during creation, it’s equivalent to * creating and confirming the PaymentIntent in the same call. You can use any * parameters available in the confirm * API when you supply confirm=true. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of PaymentIntents. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PaymentIntent> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a PaymentIntent that has previously been created. * * You can retrieve a PaymentIntent client-side using a publishable key when the * client_secret is in the query string. * * If you retrieve a PaymentIntent with a publishable key, it only returns a subset * of properties. Refer to the payment intent * object reference for more details. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates properties on a PaymentIntent object without confirming. * * Depending on which properties you update, you might need to confirm the * PaymentIntent again. For example, updating the payment_method * always requires you to confirm the PaymentIntent again. If you prefer to update * and confirm at the same time, we recommend updating properties through the confirm API instead. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent the applied payment intent */ public function applyCustomerBalance($params = null, $opts = null) { $url = $this->instanceUrl() . '/apply_customer_balance'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent the canceled payment intent */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent the captured payment intent */ public function capture($params = null, $opts = null) { $url = $this->instanceUrl() . '/capture'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent the confirmed payment intent */ public function confirm($params = null, $opts = null) { $url = $this->instanceUrl() . '/confirm'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent the incremented payment intent */ public function incrementAuthorization($params = null, $opts = null) { $url = $this->instanceUrl() . '/increment_authorization'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent the verified payment intent */ public function verifyMicrodeposits($params = null, $opts = null) { $url = $this->instanceUrl() . '/verify_microdeposits'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\PaymentIntent> the payment intent search results */ public static function search($params = null, $opts = null) { $url = '/v1/payment_intents/search'; return static::_requestPage($url, \Stripe\SearchResult::class, $params, $opts); } } lib/stripe-gateway/lib/ApiRequestor.php000064400000047103147206617610014200 0ustar00_apiKey = $apiKey; if (!$apiBase) { $apiBase = Stripe::$apiBase; } $this->_apiBase = $apiBase; $this->_appInfo = $appInfo; } /** * Creates a telemetry json blob for use in 'X-Stripe-Client-Telemetry' headers. * * @static * * @param RequestTelemetry $requestTelemetry * * @return string */ private static function _telemetryJson($requestTelemetry) { $payload = [ 'last_request_metrics' => [ 'request_id' => $requestTelemetry->requestId, 'request_duration_ms' => $requestTelemetry->requestDuration, ], ]; if (\count($requestTelemetry->usage) > 0) { $payload['last_request_metrics']['usage'] = $requestTelemetry->usage; } $result = \json_encode($payload); if (false !== $result) { return $result; } Stripe::getLogger()->error('Serializing telemetry payload failed!'); return '{}'; } /** * @static * * @param ApiResource|array|bool|mixed $d * * @return ApiResource|array|mixed|string */ private static function _encodeObjects($d) { if ($d instanceof ApiResource) { return Util\Util::utf8($d->id); } if (true === $d) { return 'true'; } if (false === $d) { return 'false'; } if (\is_array($d)) { $res = []; foreach ($d as $k => $v) { $res[$k] = self::_encodeObjects($v); } return $res; } return Util\Util::utf8($d); } /** * @param 'delete'|'get'|'post' $method * @param string $url * @param null|array $params * @param null|array $headers * @param string[] $usage * * @throws Exception\ApiErrorException * * @return array tuple containing (ApiReponse, API key) */ public function request($method, $url, $params = null, $headers = null, $usage = []) { $params = $params ?: []; $headers = $headers ?: []; list($rbody, $rcode, $rheaders, $myApiKey) = $this->_requestRaw($method, $url, $params, $headers, $usage); $json = $this->_interpretResponse($rbody, $rcode, $rheaders); $resp = new ApiResponse($rbody, $rcode, $rheaders, $json); return [$resp, $myApiKey]; } /** * @param 'delete'|'get'|'post' $method * @param string $url * @param callable $readBodyChunkCallable * @param null|array $params * @param null|array $headers * @param string[] $usage * * @throws Exception\ApiErrorException */ public function requestStream($method, $url, $readBodyChunkCallable, $params = null, $headers = null, $usage = []) { $params = $params ?: []; $headers = $headers ?: []; list($rbody, $rcode, $rheaders, $myApiKey) = $this->_requestRawStreaming($method, $url, $params, $headers, $usage, $readBodyChunkCallable); if ($rcode >= 300) { $this->_interpretResponse($rbody, $rcode, $rheaders); } } /** * @param string $rbody a JSON string * @param int $rcode * @param array $rheaders * @param array $resp * * @throws Exception\UnexpectedValueException * @throws Exception\ApiErrorException */ public function handleErrorResponse($rbody, $rcode, $rheaders, $resp) { if (!\is_array($resp) || !isset($resp['error'])) { $msg = "Invalid response object from API: {$rbody} " . "(HTTP response code was {$rcode})"; throw new Exception\UnexpectedValueException($msg); } $errorData = $resp['error']; $error = null; if (\is_string($errorData)) { $error = self::_specificOAuthError($rbody, $rcode, $rheaders, $resp, $errorData); } if (!$error) { $error = self::_specificAPIError($rbody, $rcode, $rheaders, $resp, $errorData); } throw $error; } /** * @static * * @param string $rbody * @param int $rcode * @param array $rheaders * @param array $resp * @param array $errorData * * @return Exception\ApiErrorException */ private static function _specificAPIError($rbody, $rcode, $rheaders, $resp, $errorData) { $msg = isset($errorData['message']) ? $errorData['message'] : null; $param = isset($errorData['param']) ? $errorData['param'] : null; $code = isset($errorData['code']) ? $errorData['code'] : null; $type = isset($errorData['type']) ? $errorData['type'] : null; $declineCode = isset($errorData['decline_code']) ? $errorData['decline_code'] : null; switch ($rcode) { case 400: // 'rate_limit' code is deprecated, but left here for backwards compatibility // for API versions earlier than 2015-09-08 if ('rate_limit' === $code) { return Exception\RateLimitException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code, $param); } if ('idempotency_error' === $type) { return Exception\IdempotencyException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code); } // no break case 404: return Exception\InvalidRequestException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code, $param); case 401: return Exception\AuthenticationException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code); case 402: return Exception\CardException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code, $declineCode, $param); case 403: return Exception\PermissionException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code); case 429: return Exception\RateLimitException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code, $param); default: return Exception\UnknownApiErrorException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code); } } /** * @static * * @param bool|string $rbody * @param int $rcode * @param array $rheaders * @param array $resp * @param string $errorCode * * @return Exception\OAuth\OAuthErrorException */ private static function _specificOAuthError($rbody, $rcode, $rheaders, $resp, $errorCode) { $description = isset($resp['error_description']) ? $resp['error_description'] : $errorCode; switch ($errorCode) { case 'invalid_client': return Exception\OAuth\InvalidClientException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode); case 'invalid_grant': return Exception\OAuth\InvalidGrantException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode); case 'invalid_request': return Exception\OAuth\InvalidRequestException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode); case 'invalid_scope': return Exception\OAuth\InvalidScopeException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode); case 'unsupported_grant_type': return Exception\OAuth\UnsupportedGrantTypeException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode); case 'unsupported_response_type': return Exception\OAuth\UnsupportedResponseTypeException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode); default: return Exception\OAuth\UnknownOAuthErrorException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode); } } /** * @static * * @param null|array $appInfo * * @return null|string */ private static function _formatAppInfo($appInfo) { if (null !== $appInfo) { $string = $appInfo['name']; if (\array_key_exists('version', $appInfo) && null !== $appInfo['version']) { $string .= '/' . $appInfo['version']; } if (\array_key_exists('url', $appInfo) && null !== $appInfo['url']) { $string .= ' (' . $appInfo['url'] . ')'; } return $string; } return null; } /** * @static * * @param string $disableFunctionsOutput - String value of the 'disable_function' setting, as output by \ini_get('disable_functions') * @param string $functionName - Name of the function we are interesting in seeing whether or not it is disabled * * @return bool */ private static function _isDisabled($disableFunctionsOutput, $functionName) { $disabledFunctions = \explode(',', $disableFunctionsOutput); foreach ($disabledFunctions as $disabledFunction) { if (\trim($disabledFunction) === $functionName) { return true; } } return false; } /** * @static * * @param string $apiKey the Stripe API key, to be used in regular API requests * @param null $clientInfo client user agent information * @param null $appInfo information to identify a plugin that integrates Stripe using this library * * @return array */ private static function _defaultHeaders($apiKey, $clientInfo = null, $appInfo = null) { $uaString = 'Stripe/v1 PhpBindings/' . Stripe::VERSION; $langVersion = \PHP_VERSION; $uname_disabled = self::_isDisabled(\ini_get('disable_functions'), 'php_uname'); $uname = $uname_disabled ? '(disabled)' : \php_uname(); // Fallback to global configuration to maintain backwards compatibility. $appInfo = $appInfo ?: Stripe::getAppInfo(); $ua = [ 'bindings_version' => Stripe::VERSION, 'lang' => 'php', 'lang_version' => $langVersion, 'publisher' => 'stripe', 'uname' => $uname, ]; if ($clientInfo) { $ua = \array_merge($clientInfo, $ua); } if (null !== $appInfo) { $uaString .= ' ' . self::_formatAppInfo($appInfo); $ua['application'] = $appInfo; } return [ 'X-Stripe-Client-User-Agent' => \json_encode($ua), 'User-Agent' => $uaString, 'Authorization' => 'Bearer ' . $apiKey, 'Stripe-Version' => Stripe::getApiVersion(), ]; } private function _prepareRequest($method, $url, $params, $headers) { $myApiKey = $this->_apiKey; if (!$myApiKey) { $myApiKey = Stripe::$apiKey; } if (!$myApiKey) { $msg = 'No API key provided. (HINT: set your API key using ' . '"Stripe::setApiKey()". You can generate API keys from ' . 'the Stripe web interface. See https://stripe.com/api for ' . 'details, or email support@stripe.com if you have any questions.'; throw new Exception\AuthenticationException($msg); } // Clients can supply arbitrary additional keys to be included in the // X-Stripe-Client-User-Agent header via the optional getUserAgentInfo() // method $clientUAInfo = null; if (\method_exists($this->httpClient(), 'getUserAgentInfo')) { $clientUAInfo = $this->httpClient()->getUserAgentInfo(); } if ($params && \is_array($params)) { $optionKeysInParams = \array_filter( self::$OPTIONS_KEYS, function ($key) use ($params) { return \array_key_exists($key, $params); } ); if (\count($optionKeysInParams) > 0) { $message = \sprintf('Options found in $params: %s. Options should ' . 'be passed in their own array after $params. (HINT: pass an ' . 'empty array to $params if you do not have any.)', \implode(', ', $optionKeysInParams)); \trigger_error($message, \E_USER_WARNING); } } $absUrl = $this->_apiBase . $url; $params = self::_encodeObjects($params); $defaultHeaders = $this->_defaultHeaders($myApiKey, $clientUAInfo, $this->_appInfo); if (Stripe::$accountId) { $defaultHeaders['Stripe-Account'] = Stripe::$accountId; } if (Stripe::$enableTelemetry && null !== self::$requestTelemetry) { $defaultHeaders['X-Stripe-Client-Telemetry'] = self::_telemetryJson(self::$requestTelemetry); } $hasFile = false; foreach ($params as $k => $v) { if (\is_resource($v)) { $hasFile = true; $params[$k] = self::_processResourceParam($v); } elseif ($v instanceof \CURLFile) { $hasFile = true; } } if ($hasFile) { $defaultHeaders['Content-Type'] = 'multipart/form-data'; } else { $defaultHeaders['Content-Type'] = 'application/x-www-form-urlencoded'; } $combinedHeaders = \array_merge($defaultHeaders, $headers); $rawHeaders = []; foreach ($combinedHeaders as $header => $value) { $rawHeaders[] = $header . ': ' . $value; } return [$absUrl, $rawHeaders, $params, $hasFile, $myApiKey]; } /** * @param 'delete'|'get'|'post' $method * @param string $url * @param array $params * @param array $headers * @param string[] $usage * * @throws Exception\AuthenticationException * @throws Exception\ApiConnectionException * * @return array */ private function _requestRaw($method, $url, $params, $headers, $usage) { list($absUrl, $rawHeaders, $params, $hasFile, $myApiKey) = $this->_prepareRequest($method, $url, $params, $headers); $requestStartMs = Util\Util::currentTimeMillis(); list($rbody, $rcode, $rheaders) = $this->httpClient()->request( $method, $absUrl, $rawHeaders, $params, $hasFile ); if ( isset($rheaders['request-id']) && \is_string($rheaders['request-id']) && '' !== $rheaders['request-id'] ) { self::$requestTelemetry = new RequestTelemetry( $rheaders['request-id'], Util\Util::currentTimeMillis() - $requestStartMs, $usage ); } return [$rbody, $rcode, $rheaders, $myApiKey]; } /** * @param 'delete'|'get'|'post' $method * @param string $url * @param array $params * @param array $headers * @param string[] $usage * @param callable $readBodyChunkCallable * * @throws Exception\AuthenticationException * @throws Exception\ApiConnectionException * * @return array */ private function _requestRawStreaming($method, $url, $params, $headers, $usage, $readBodyChunkCallable) { list($absUrl, $rawHeaders, $params, $hasFile, $myApiKey) = $this->_prepareRequest($method, $url, $params, $headers); $requestStartMs = Util\Util::currentTimeMillis(); list($rbody, $rcode, $rheaders) = $this->streamingHttpClient()->requestStream( $method, $absUrl, $rawHeaders, $params, $hasFile, $readBodyChunkCallable ); if ( isset($rheaders['request-id']) && \is_string($rheaders['request-id']) && '' !== $rheaders['request-id'] ) { self::$requestTelemetry = new RequestTelemetry( $rheaders['request-id'], Util\Util::currentTimeMillis() - $requestStartMs ); } return [$rbody, $rcode, $rheaders, $myApiKey]; } /** * @param resource $resource * * @throws Exception\InvalidArgumentException * * @return \CURLFile|string */ private function _processResourceParam($resource) { if ('stream' !== \get_resource_type($resource)) { throw new Exception\InvalidArgumentException( 'Attempted to upload a resource that is not a stream' ); } $metaData = \stream_get_meta_data($resource); if ('plainfile' !== $metaData['wrapper_type']) { throw new Exception\InvalidArgumentException( 'Only plainfile resource streams are supported' ); } // We don't have the filename or mimetype, but the API doesn't care return new \CURLFile($metaData['uri']); } /** * @param string $rbody * @param int $rcode * @param array $rheaders * * @throws Exception\UnexpectedValueException * @throws Exception\ApiErrorException * * @return array */ private function _interpretResponse($rbody, $rcode, $rheaders) { $resp = \json_decode($rbody, true); $jsonError = \json_last_error(); if (null === $resp && \JSON_ERROR_NONE !== $jsonError) { $msg = "Invalid response body from API: {$rbody} " . "(HTTP response code was {$rcode}, json_last_error() was {$jsonError})"; throw new Exception\UnexpectedValueException($msg, $rcode); } if ($rcode < 200 || $rcode >= 300) { $this->handleErrorResponse($rbody, $rcode, $rheaders, $resp); } return $resp; } /** * @static * * @param HttpClient\ClientInterface $client */ public static function setHttpClient($client) { self::$_httpClient = $client; } /** * @static * * @param HttpClient\StreamingClientInterface $client */ public static function setStreamingHttpClient($client) { self::$_streamingHttpClient = $client; } /** * @static * * Resets any stateful telemetry data */ public static function resetTelemetry() { self::$requestTelemetry = null; } /** * @return HttpClient\ClientInterface */ private function httpClient() { if (!self::$_httpClient) { self::$_httpClient = HttpClient\CurlClient::instance(); } return self::$_httpClient; } /** * @return HttpClient\StreamingClientInterface */ private function streamingHttpClient() { if (!self::$_streamingHttpClient) { self::$_streamingHttpClient = HttpClient\CurlClient::instance(); } return self::$_streamingHttpClient; } } lib/stripe-gateway/lib/SourceMandateNotification.php000064400000005053147206617610016654 0ustar00debit_initiated. * @property null|\Stripe\StripeObject $bacs_debit * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $reason The reason of the mandate notification. Valid reasons are mandate_confirmed or debit_initiated. * @property null|\Stripe\StripeObject $sepa_debit * @property \Stripe\Source $source

Source objects allow you to accept a variety of payment methods. They represent a customer's payment instrument, and can be used with the Stripe API just like a Card object: once chargeable, they can be charged, or can be attached to customers.

Stripe doesn't recommend using the deprecated Sources API. We recommend that you adopt the PaymentMethods API. This newer API provides access to our latest features and payment method types.

Related guides: Sources API and Sources & Customers.

* @property string $status The status of the mandate notification. Valid statuses are pending or submitted. * @property string $type The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as three_d_secure. */ class SourceMandateNotification extends ApiResource { const OBJECT_NAME = 'source_mandate_notification'; } lib/stripe-gateway/lib/TaxId.php000064400000017773147206617610012600 0ustar00customer or account. * Customer and account tax IDs get displayed on related invoices and credit notes. * * Related guides: Customer tax identification numbers, Account tax IDs * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $country Two-letter ISO code representing the country of the tax ID. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Customer $customer ID of the customer. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $owner The account or customer the tax ID belongs to. * @property string $type Type of the tax ID, one of ad_nrt, ae_trn, ar_cuit, au_abn, au_arn, bg_uic, bh_vat, bo_tin, br_cnpj, br_cpf, ca_bn, ca_gst_hst, ca_pst_bc, ca_pst_mb, ca_pst_sk, ca_qst, ch_uid, ch_vat, cl_tin, cn_tin, co_nit, cr_tin, de_stn, do_rcn, ec_ruc, eg_tin, es_cif, eu_oss_vat, eu_vat, gb_vat, ge_vat, hk_br, hu_tin, id_npwp, il_vat, in_gst, is_vat, jp_cn, jp_rn, jp_trn, ke_pin, kr_brn, kz_bin, li_uid, mx_rfc, my_frp, my_itn, my_sst, ng_tin, no_vat, no_voec, nz_gst, om_vat, pe_ruc, ph_tin, ro_tin, rs_pib, ru_inn, ru_kpp, sa_vat, sg_gst, sg_uen, si_tin, sv_nit, th_vat, tr_tin, tw_vat, ua_vat, us_ein, uy_ruc, ve_rif, vn_tin, or za_vat. Note that some legacy tax IDs have type unknown * @property string $value Value of the tax ID. * @property null|\Stripe\StripeObject $verification Tax ID verification information. */ class TaxId extends ApiResource { const OBJECT_NAME = 'tax_id'; const TYPE_AD_NRT = 'ad_nrt'; const TYPE_AE_TRN = 'ae_trn'; const TYPE_AR_CUIT = 'ar_cuit'; const TYPE_AU_ABN = 'au_abn'; const TYPE_AU_ARN = 'au_arn'; const TYPE_BG_UIC = 'bg_uic'; const TYPE_BH_VAT = 'bh_vat'; const TYPE_BO_TIN = 'bo_tin'; const TYPE_BR_CNPJ = 'br_cnpj'; const TYPE_BR_CPF = 'br_cpf'; const TYPE_CA_BN = 'ca_bn'; const TYPE_CA_GST_HST = 'ca_gst_hst'; const TYPE_CA_PST_BC = 'ca_pst_bc'; const TYPE_CA_PST_MB = 'ca_pst_mb'; const TYPE_CA_PST_SK = 'ca_pst_sk'; const TYPE_CA_QST = 'ca_qst'; const TYPE_CH_UID = 'ch_uid'; const TYPE_CH_VAT = 'ch_vat'; const TYPE_CL_TIN = 'cl_tin'; const TYPE_CN_TIN = 'cn_tin'; const TYPE_CO_NIT = 'co_nit'; const TYPE_CR_TIN = 'cr_tin'; const TYPE_DE_STN = 'de_stn'; const TYPE_DO_RCN = 'do_rcn'; const TYPE_EC_RUC = 'ec_ruc'; const TYPE_EG_TIN = 'eg_tin'; const TYPE_ES_CIF = 'es_cif'; const TYPE_EU_OSS_VAT = 'eu_oss_vat'; const TYPE_EU_VAT = 'eu_vat'; const TYPE_GB_VAT = 'gb_vat'; const TYPE_GE_VAT = 'ge_vat'; const TYPE_HK_BR = 'hk_br'; const TYPE_HU_TIN = 'hu_tin'; const TYPE_ID_NPWP = 'id_npwp'; const TYPE_IL_VAT = 'il_vat'; const TYPE_IN_GST = 'in_gst'; const TYPE_IS_VAT = 'is_vat'; const TYPE_JP_CN = 'jp_cn'; const TYPE_JP_RN = 'jp_rn'; const TYPE_JP_TRN = 'jp_trn'; const TYPE_KE_PIN = 'ke_pin'; const TYPE_KR_BRN = 'kr_brn'; const TYPE_KZ_BIN = 'kz_bin'; const TYPE_LI_UID = 'li_uid'; const TYPE_MX_RFC = 'mx_rfc'; const TYPE_MY_FRP = 'my_frp'; const TYPE_MY_ITN = 'my_itn'; const TYPE_MY_SST = 'my_sst'; const TYPE_NG_TIN = 'ng_tin'; const TYPE_NO_VAT = 'no_vat'; const TYPE_NO_VOEC = 'no_voec'; const TYPE_NZ_GST = 'nz_gst'; const TYPE_OM_VAT = 'om_vat'; const TYPE_PE_RUC = 'pe_ruc'; const TYPE_PH_TIN = 'ph_tin'; const TYPE_RO_TIN = 'ro_tin'; const TYPE_RS_PIB = 'rs_pib'; const TYPE_RU_INN = 'ru_inn'; const TYPE_RU_KPP = 'ru_kpp'; const TYPE_SA_VAT = 'sa_vat'; const TYPE_SG_GST = 'sg_gst'; const TYPE_SG_UEN = 'sg_uen'; const TYPE_SI_TIN = 'si_tin'; const TYPE_SV_NIT = 'sv_nit'; const TYPE_TH_VAT = 'th_vat'; const TYPE_TR_TIN = 'tr_tin'; const TYPE_TW_VAT = 'tw_vat'; const TYPE_UA_VAT = 'ua_vat'; const TYPE_UNKNOWN = 'unknown'; const TYPE_US_EIN = 'us_ein'; const TYPE_UY_RUC = 'uy_ruc'; const TYPE_VE_RIF = 've_rif'; const TYPE_VN_TIN = 'vn_tin'; const TYPE_ZA_VAT = 'za_vat'; /** * Creates a new account or customer tax_id object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes an existing account or customer tax_id object. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of tax IDs. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TaxId> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves an account or customer tax_id object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } const VERIFICATION_STATUS_PENDING = 'pending'; const VERIFICATION_STATUS_UNAVAILABLE = 'unavailable'; const VERIFICATION_STATUS_UNVERIFIED = 'unverified'; const VERIFICATION_STATUS_VERIFIED = 'verified'; } lib/stripe-gateway/lib/Charge.php000064400000041721147206617610012746 0ustar00Charge object represents a single attempt to move money into your Stripe account. * PaymentIntent confirmation is the most common way to create Charges, but transferring * money to a different Stripe account through Connect also creates Charges. * Some legacy payment flows create Charges directly, which is not recommended for new integrations. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). * @property int $amount_captured Amount in cents (or local equivalent) captured (can be less than the amount attribute on the charge if a partial capture was made). * @property int $amount_refunded Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the charge if a partial refund was issued). * @property null|string|\Stripe\Application $application ID of the Connect application that created the charge. * @property null|string|\Stripe\ApplicationFee $application_fee The application fee (if any) for the charge. See the Connect documentation for details. * @property null|int $application_fee_amount The amount of the application fee (if any) requested for the charge. See the Connect documentation for details. * @property null|string $authorization_code Authorization code on the charge. * @property null|string|\Stripe\BalanceTransaction $balance_transaction ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes). * @property \Stripe\StripeObject $billing_details * @property null|string $calculated_statement_descriptor The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined. * @property bool $captured If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string|\Stripe\Customer $customer ID of the customer this charge is for if one exists. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property bool $disputed Whether the charge has been disputed. * @property null|string|\Stripe\BalanceTransaction $failure_balance_transaction ID of the balance transaction that describes the reversal of the balance on your account due to payment failure. * @property null|string $failure_code Error code explaining reason for charge failure if available (see the errors section for a list of codes). * @property null|string $failure_message Message to user further explaining reason for charge failure if available. * @property null|\Stripe\StripeObject $fraud_details Information on fraud assessments for the charge. * @property null|string|\Stripe\Invoice $invoice ID of the invoice this charge is for if one exists. * @property null|\Stripe\StripeObject $level3 * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string|\Stripe\Account $on_behalf_of The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the Connect documentation for details. * @property null|\Stripe\StripeObject $outcome Details about whether the payment was accepted, and why. See understanding declines for details. * @property bool $paid true if the charge succeeded, or was successfully authorized for later capture. * @property null|string|\Stripe\PaymentIntent $payment_intent ID of the PaymentIntent associated with this charge, if one exists. * @property null|string $payment_method ID of the payment method used in this charge. * @property null|\Stripe\StripeObject $payment_method_details Details about the payment method at the time of the transaction. * @property null|\Stripe\StripeObject $radar_options Options to configure Radar. See Radar Session for more information. * @property null|string $receipt_email This is the email address that the receipt for this charge was sent to. * @property null|string $receipt_number This is the transaction number that appears on email receipts sent for this charge. This attribute will be null until a receipt has been sent. * @property null|string $receipt_url This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt. * @property bool $refunded Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false. * @property null|\Stripe\Collection<\Stripe\Refund> $refunds A list of refunds that have been applied to the charge. * @property null|string|\Stripe\Review $review ID of the review associated with this charge if one exists. * @property null|\Stripe\StripeObject $shipping Shipping information for the charge. * @property null|\Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source $source This is a legacy field that will be removed in the future. It contains the Source, Card, or BankAccount object used for the charge. For details about the payment method used for this charge, refer to payment_method or payment_method_details instead. * @property null|string|\Stripe\Transfer $source_transfer The transfer ID which created this charge. Only present if the charge came from another Stripe account. See the Connect documentation for details. * @property null|string $statement_descriptor For card charges, use statement_descriptor_suffix instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters. * @property null|string $statement_descriptor_suffix Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. * @property string $status The status of the payment is either succeeded, pending, or failed. * @property null|string|\Stripe\Transfer $transfer ID of the transfer to the destination account (only applicable if the charge was created using the destination parameter). * @property null|\Stripe\StripeObject $transfer_data An optional dictionary including the account to automatically transfer to as part of a destination charge. See the Connect documentation for details. * @property null|string $transfer_group A string that identifies this transaction as part of a group. See the Connect documentation for details. */ class Charge extends ApiResource { const OBJECT_NAME = 'charge'; use ApiOperations\NestedResource; use ApiOperations\Update; const STATUS_FAILED = 'failed'; const STATUS_PENDING = 'pending'; const STATUS_SUCCEEDED = 'succeeded'; /** * This method is no longer recommended—use the Payment Intents API to initiate a new * payment instead. Confirmation of the PaymentIntent creates the * Charge object used to request payment. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Charge the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of charges you’ve previously created. The charges are returned in * sorted order, with the most recent charges appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Charge> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a charge that has previously been created. Supply the * unique charge ID that was returned from your previous request, and Stripe will * return the corresponding charge information. The same information is returned * when creating or refunding the charge. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Charge */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified charge by setting the values of the parameters passed. Any * parameters not provided will be left unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Charge the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Possible string representations of decline codes. * These strings are applicable to the decline_code property of the \Stripe\Exception\CardException exception. * * @see https://stripe.com/docs/declines/codes */ const DECLINED_AUTHENTICATION_REQUIRED = 'authentication_required'; const DECLINED_APPROVE_WITH_ID = 'approve_with_id'; const DECLINED_CALL_ISSUER = 'call_issuer'; const DECLINED_CARD_NOT_SUPPORTED = 'card_not_supported'; const DECLINED_CARD_VELOCITY_EXCEEDED = 'card_velocity_exceeded'; const DECLINED_CURRENCY_NOT_SUPPORTED = 'currency_not_supported'; const DECLINED_DO_NOT_HONOR = 'do_not_honor'; const DECLINED_DO_NOT_TRY_AGAIN = 'do_not_try_again'; const DECLINED_DUPLICATED_TRANSACTION = 'duplicate_transaction'; const DECLINED_EXPIRED_CARD = 'expired_card'; const DECLINED_FRAUDULENT = 'fraudulent'; const DECLINED_GENERIC_DECLINE = 'generic_decline'; const DECLINED_INCORRECT_NUMBER = 'incorrect_number'; const DECLINED_INCORRECT_CVC = 'incorrect_cvc'; const DECLINED_INCORRECT_PIN = 'incorrect_pin'; const DECLINED_INCORRECT_ZIP = 'incorrect_zip'; const DECLINED_INSUFFICIENT_FUNDS = 'insufficient_funds'; const DECLINED_INVALID_ACCOUNT = 'invalid_account'; const DECLINED_INVALID_AMOUNT = 'invalid_amount'; const DECLINED_INVALID_CVC = 'invalid_cvc'; const DECLINED_INVALID_EXPIRY_YEAR = 'invalid_expiry_year'; const DECLINED_INVALID_NUMBER = 'invalid_number'; const DECLINED_INVALID_PIN = 'invalid_pin'; const DECLINED_ISSUER_NOT_AVAILABLE = 'issuer_not_available'; const DECLINED_LOST_CARD = 'lost_card'; const DECLINED_MERCHANT_BLACKLIST = 'merchant_blacklist'; const DECLINED_NEW_ACCOUNT_INFORMATION_AVAILABLE = 'new_account_information_available'; const DECLINED_NO_ACTION_TAKEN = 'no_action_taken'; const DECLINED_NOT_PERMITTED = 'not_permitted'; const DECLINED_OFFLINE_PIN_REQUIRED = 'offline_pin_required'; const DECLINED_ONLINE_OR_OFFLINE_PIN_REQUIRED = 'online_or_offline_pin_required'; const DECLINED_PICKUP_CARD = 'pickup_card'; const DECLINED_PIN_TRY_EXCEEDED = 'pin_try_exceeded'; const DECLINED_PROCESSING_ERROR = 'processing_error'; const DECLINED_REENTER_TRANSACTION = 'reenter_transaction'; const DECLINED_RESTRICTED_CARD = 'restricted_card'; const DECLINED_REVOCATION_OF_ALL_AUTHORIZATIONS = 'revocation_of_all_authorizations'; const DECLINED_REVOCATION_OF_AUTHORIZATION = 'revocation_of_authorization'; const DECLINED_SECURITY_VIOLATION = 'security_violation'; const DECLINED_SERVICE_NOT_ALLOWED = 'service_not_allowed'; const DECLINED_STOLEN_CARD = 'stolen_card'; const DECLINED_STOP_PAYMENT_ORDER = 'stop_payment_order'; const DECLINED_TESTMODE_DECLINE = 'testmode_decline'; const DECLINED_TRANSACTION_NOT_ALLOWED = 'transaction_not_allowed'; const DECLINED_TRY_AGAIN_LATER = 'try_again_later'; const DECLINED_WITHDRAWAL_COUNT_LIMIT_EXCEEDED = 'withdrawal_count_limit_exceeded'; /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Charge the captured charge */ public function capture($params = null, $opts = null) { $url = $this->instanceUrl() . '/capture'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Charge> the charge search results */ public static function search($params = null, $opts = null) { $url = '/v1/charges/search'; return static::_requestPage($url, \Stripe\SearchResult::class, $params, $opts); } const PATH_REFUNDS = '/refunds'; /** * @param string $id the ID of the charge on which to retrieve the refunds * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Refund> the list of refunds */ public static function allRefunds($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_REFUNDS, $params, $opts); } /** * @param string $id the ID of the charge to which the refund belongs * @param string $refundId the ID of the refund to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund */ public static function retrieveRefund($id, $refundId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_REFUNDS, $refundId, $params, $opts); } } lib/stripe-gateway/lib/ApiResource.php000064400000006647147206617610014006 0ustar00{$k}; if ((static::getSavedNestedResources()->includes($k)) && ($v instanceof ApiResource)) { $v->saveWithParent = true; } } /** * @throws Exception\ApiErrorException * * @return ApiResource the refreshed resource */ public function refresh() { $requestor = new ApiRequestor($this->_opts->apiKey, static::baseUrl()); $url = $this->instanceUrl(); list($response, $this->_opts->apiKey) = $requestor->request( 'get', $url, $this->_retrieveOptions, $this->_opts->headers ); $this->setLastResponse($response); $this->refreshFrom($response->json, $this->_opts); return $this; } /** * @return string the base URL for the given class */ public static function baseUrl() { return Stripe::$apiBase; } /** * @return string the endpoint URL for the given class */ public static function classUrl() { // Replace dots with slashes for namespaced resources, e.g. if the object's name is // "foo.bar", then its URL will be "/v1/foo/bars". /** @phpstan-ignore-next-line */ $base = \str_replace('.', '/', static::OBJECT_NAME); return "/v1/{$base}s"; } /** * @param null|string $id the ID of the resource * * @throws Exception\UnexpectedValueException if $id is null * * @return string the instance endpoint URL for the given class */ public static function resourceUrl($id) { if (null === $id) { $class = static::class; $message = 'Could not determine which URL to request: ' . "{$class} instance has invalid ID: {$id}"; throw new Exception\UnexpectedValueException($message); } $id = Util\Util::utf8($id); $base = static::classUrl(); $extn = \urlencode($id); return "{$base}/{$extn}"; } /** * @return string the full API URL for this API resource */ public function instanceUrl() { return static::resourceUrl($this['id']); } } lib/stripe-gateway/lib/SubscriptionSchedule.php000064400000016421147206617610015715 0ustar00Subscription schedules * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string|\Stripe\Application $application ID of the Connect Application that created the schedule. * @property null|int $canceled_at Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch. * @property null|int $completed_at Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|\Stripe\StripeObject $current_phase Object representing the start and end dates for the current phase of the subscription schedule, if it is active. * @property string|\Stripe\Customer $customer ID of the customer who owns the subscription schedule. * @property \Stripe\StripeObject $default_settings * @property string $end_behavior Behavior of the subscription schedule and underlying subscription when it ends. Possible values are release or cancel with the default being release. release will end the subscription schedule and keep the underlying subscription running. cancel will end the subscription schedule and cancel the underlying subscription. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property \Stripe\StripeObject[] $phases Configuration for the subscription schedule's phases. * @property null|int $released_at Time at which the subscription schedule was released. Measured in seconds since the Unix epoch. * @property null|string $released_subscription ID of the subscription once managed by the subscription schedule (if it is released). * @property string $status The present status of the subscription schedule. Possible values are not_started, active, completed, released, and canceled. You can read more about the different states in our behavior guide. * @property null|string|\Stripe\Subscription $subscription ID of the subscription managed by the subscription schedule. * @property null|string|\Stripe\TestHelpers\TestClock $test_clock ID of the test clock this subscription schedule belongs to. */ class SubscriptionSchedule extends ApiResource { const OBJECT_NAME = 'subscription_schedule'; use ApiOperations\Update; const END_BEHAVIOR_CANCEL = 'cancel'; const END_BEHAVIOR_NONE = 'none'; const END_BEHAVIOR_RELEASE = 'release'; const END_BEHAVIOR_RENEW = 'renew'; const STATUS_ACTIVE = 'active'; const STATUS_CANCELED = 'canceled'; const STATUS_COMPLETED = 'completed'; const STATUS_NOT_STARTED = 'not_started'; const STATUS_RELEASED = 'released'; /** * Creates a new subscription schedule object. Each customer can have up to 500 * active or scheduled subscriptions. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Retrieves the list of your subscription schedules. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\SubscriptionSchedule> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing subscription schedule. You only need to * supply the unique subscription schedule identifier that was returned upon * subscription schedule creation. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates an existing subscription schedule. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule the canceled subscription schedule */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule the released subscription schedule */ public function release($params = null, $opts = null) { $url = $this->instanceUrl() . '/release'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Dispute.php000064400000016257147206617610013200 0ustar00Disputes and fraud * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Disputed amount. Usually the amount of the charge, but it can differ (usually because of currency fluctuation or because only part of the order is disputed). * @property \Stripe\BalanceTransaction[] $balance_transactions List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute. * @property string|\Stripe\Charge $charge ID of the charge that's disputed. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property \Stripe\StripeObject $evidence * @property \Stripe\StripeObject $evidence_details * @property bool $is_charge_refundable If true, it's still possible to refund the disputed payment. After the payment has been fully refunded, no further funds are withdrawn from your Stripe account as a result of this dispute. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $network_reason_code Network-dependent reason code for the dispute. * @property null|string|\Stripe\PaymentIntent $payment_intent ID of the PaymentIntent that's disputed. * @property null|\Stripe\StripeObject $payment_method_details * @property string $reason Reason given by cardholder for dispute. Possible values are bank_cannot_process, check_returned, credit_not_processed, customer_initiated, debit_not_authorized, duplicate, fraudulent, general, incorrect_account_details, insufficient_funds, product_not_received, product_unacceptable, subscription_canceled, or unrecognized. Learn more about dispute reasons. * @property string $status Current status of dispute. Possible values are warning_needs_response, warning_under_review, warning_closed, needs_response, under_review, won, or lost. */ class Dispute extends ApiResource { const OBJECT_NAME = 'dispute'; use ApiOperations\Update; const REASON_BANK_CANNOT_PROCESS = 'bank_cannot_process'; const REASON_CHECK_RETURNED = 'check_returned'; const REASON_CREDIT_NOT_PROCESSED = 'credit_not_processed'; const REASON_CUSTOMER_INITIATED = 'customer_initiated'; const REASON_DEBIT_NOT_AUTHORIZED = 'debit_not_authorized'; const REASON_DUPLICATE = 'duplicate'; const REASON_FRAUDULENT = 'fraudulent'; const REASON_GENERAL = 'general'; const REASON_INCORRECT_ACCOUNT_DETAILS = 'incorrect_account_details'; const REASON_INSUFFICIENT_FUNDS = 'insufficient_funds'; const REASON_PRODUCT_NOT_RECEIVED = 'product_not_received'; const REASON_PRODUCT_UNACCEPTABLE = 'product_unacceptable'; const REASON_SUBSCRIPTION_CANCELED = 'subscription_canceled'; const REASON_UNRECOGNIZED = 'unrecognized'; const STATUS_LOST = 'lost'; const STATUS_NEEDS_RESPONSE = 'needs_response'; const STATUS_UNDER_REVIEW = 'under_review'; const STATUS_WARNING_CLOSED = 'warning_closed'; const STATUS_WARNING_NEEDS_RESPONSE = 'warning_needs_response'; const STATUS_WARNING_UNDER_REVIEW = 'warning_under_review'; const STATUS_WON = 'won'; /** * Returns a list of your disputes. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Dispute> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the dispute with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Dispute */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * When you get a dispute, contacting your customer is always the best first step. * If that doesn’t work, you can submit evidence to help us resolve the dispute in * your favor. You can do this in your dashboard, but if you prefer, * you can use the API to submit evidence programmatically. * * Depending on your dispute type, different evidence fields will give you a better * chance of winning your dispute. To figure out which evidence fields to provide, * see our guide to dispute types. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Dispute the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Dispute the closed dispute */ public function close($params = null, $opts = null) { $url = $this->instanceUrl() . '/close'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Billing/Meter.php000064400000013471147206617610014212 0ustar00event_name field on meter events. * @property null|string $event_time_window The time window to pre-aggregate meter events for, if any. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $status The meter's status. * @property \Stripe\StripeObject $status_transitions * @property int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch. * @property \Stripe\StripeObject $value_settings */ class Meter extends \Stripe\ApiResource { const OBJECT_NAME = 'billing.meter'; use \Stripe\ApiOperations\NestedResource; use \Stripe\ApiOperations\Update; const EVENT_TIME_WINDOW_DAY = 'day'; const EVENT_TIME_WINDOW_HOUR = 'hour'; const STATUS_ACTIVE = 'active'; const STATUS_INACTIVE = 'inactive'; /** * Creates a billing meter. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Retrieve a list of billing meters. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Billing\Meter> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a billing meter given an ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a billing meter. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter the deactivated meter */ public function deactivate($params = null, $opts = null) { $url = $this->instanceUrl() . '/deactivate'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter the reactivated meter */ public function reactivate($params = null, $opts = null) { $url = $this->instanceUrl() . '/reactivate'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } const PATH_EVENT_SUMMARIES = '/event_summaries'; /** * @param string $id the ID of the meter on which to retrieve the meter event summaries * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Billing\MeterEventSummary> the list of meter event summaries */ public static function allEventSummaries($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_EVENT_SUMMARIES, $params, $opts); } } lib/stripe-gateway/lib/Billing/MeterEventAdjustment.php000064400000003575147206617610017257 0ustar00event_name field on a meter. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $status The meter event adjustment's status. * @property string $type Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. */ class MeterEventAdjustment extends \Stripe\ApiResource { const OBJECT_NAME = 'billing.meter_event_adjustment'; const STATUS_COMPLETE = 'complete'; const STATUS_PENDING = 'pending'; /** * Creates a billing meter event adjustment. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\MeterEventAdjustment the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Billing/MeterEventSummary.php000064400000002402147206617610016562 0ustar00start_time (inclusive) and end_time (inclusive). The aggregation strategy is defined on meter via default_aggregation. * @property int $end_time End timestamp for this event summary (exclusive). Must be aligned with minute boundaries. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $meter The meter associated with this event summary. * @property int $start_time Start timestamp for this event summary (inclusive). Must be aligned with minute boundaries. */ class MeterEventSummary extends \Stripe\ApiResource { const OBJECT_NAME = 'billing.meter_event_summary'; } lib/stripe-gateway/lib/Billing/MeterEvent.php000064400000004327147206617610015214 0ustar00event_name field on a meter. * @property string $identifier A unique identifier for the event. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $payload The payload of the event. This contains the fields corresponding to a meter's customer_mapping.event_payload_key (default is stripe_customer_id) and value_settings.event_payload_key (default is value). Read more about the payload. * @property int $timestamp The timestamp passed in when creating the event. Measured in seconds since the Unix epoch. */ class MeterEvent extends \Stripe\ApiResource { const OBJECT_NAME = 'billing.meter_event'; /** * Creates a billing meter event. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\MeterEvent the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/FileLink.php000064400000007455147206617610013260 0ustar00File object with non-Stripe users, you can * create a FileLink. FileLinks contain a URL that you can use to * retrieve the contents of the file without authentication. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property bool $expired Returns if the link is already expired. * @property null|int $expires_at Time that the link expires. * @property string|\Stripe\File $file The file object this link points to. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $url The publicly accessible URL to download the file. */ class FileLink extends ApiResource { const OBJECT_NAME = 'file_link'; use ApiOperations\Update; /** * Creates a new file link object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FileLink the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of file links. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\FileLink> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the file link with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FileLink */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates an existing file link object. Expired links can no longer be updated. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FileLink the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/BillingPortal/Session.php000064400000006677147206617610015755 0ustar00Customer management * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property string|\Stripe\BillingPortal\Configuration $configuration The configuration used by this session, describing the features available. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $customer The ID of the customer for this session. * @property null|\Stripe\StripeObject $flow Information about a specific flow for the customer to go through. See the docs to learn more about using customer portal deep links and flows. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $locale The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer’s preferred_locales or browser’s locale is used. * @property null|string $on_behalf_of The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this on_behalf_of account appear in the portal. For more information, see the docs. Use the Accounts API to modify the on_behalf_of account's branding settings, which the portal displays. * @property null|string $return_url The URL to redirect customers to when they click on the portal's link to return to your website. * @property string $url The short-lived URL of the session that gives customers access to the customer portal. */ class Session extends \Stripe\ApiResource { const OBJECT_NAME = 'billing_portal.session'; /** * Creates a session of the customer portal. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BillingPortal\Session the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/BillingPortal/Configuration.php000064400000011270147206617610017122 0ustar00overriden when creating the session. * @property \Stripe\StripeObject $features * @property bool $is_default Whether the configuration is the default. If true, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $login_page * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch. */ class Configuration extends \Stripe\ApiResource { const OBJECT_NAME = 'billing_portal.configuration'; use \Stripe\ApiOperations\Update; /** * Creates a configuration that describes the functionality and behavior of a * PortalSession. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BillingPortal\Configuration the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of configurations that describe the functionality of the customer * portal. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\BillingPortal\Configuration> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a configuration that describes the functionality of the customer * portal. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BillingPortal\Configuration */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a configuration that describes the functionality of the customer portal. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BillingPortal\Configuration the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/UsageRecordSummary.php000064400000001454147206617610015335 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $period * @property string $subscription_item The ID of the subscription item this summary is describing. * @property int $total_usage The total usage within this usage period. */ class UsageRecordSummary extends ApiResource { const OBJECT_NAME = 'usage_record_summary'; } lib/stripe-gateway/lib/Util/ApiVersion.php000064400000000177147206617610014551 0ustar00 a list of headers that should be persisted across requests */ public static $HEADERS_TO_PERSIST = [ 'Stripe-Account', 'Stripe-Version', ]; /** @var array */ public $headers; /** @var null|string */ public $apiKey; /** @var null|string */ public $apiBase; /** * @param null|string $key * @param array $headers * @param null|string $base */ public function __construct($key = null, $headers = [], $base = null) { $this->apiKey = $key; $this->headers = $headers; $this->apiBase = $base; } /** * @return array */ public function __debugInfo() { return [ 'apiKey' => $this->redactedApiKey(), 'headers' => $this->headers, 'apiBase' => $this->apiBase, ]; } /** * Unpacks an options array and merges it into the existing RequestOptions * object. * * @param null|array|RequestOptions|string $options a key => value array * @param bool $strict when true, forbid string form and arbitrary keys in array form * * @return RequestOptions */ public function merge($options, $strict = false) { $other_options = self::parse($options, $strict); if (null === $other_options->apiKey) { $other_options->apiKey = $this->apiKey; } if (null === $other_options->apiBase) { $other_options->apiBase = $this->apiBase; } $other_options->headers = \array_merge($this->headers, $other_options->headers); return $other_options; } /** * Discards all headers that we don't want to persist across requests. */ public function discardNonPersistentHeaders() { foreach ($this->headers as $k => $v) { if (!\in_array($k, self::$HEADERS_TO_PERSIST, true)) { unset($this->headers[$k]); } } } /** * Unpacks an options array into an RequestOptions object. * * @param null|array|RequestOptions|string $options a key => value array * @param bool $strict when true, forbid string form and arbitrary keys in array form * * @throws \Stripe\Exception\InvalidArgumentException * * @return RequestOptions */ public static function parse($options, $strict = false) { if ($options instanceof self) { return clone $options; } if (null === $options) { return new RequestOptions(null, [], null); } if (\is_string($options)) { if ($strict) { $message = 'Do not pass a string for request options. If you want to set the ' . 'API key, pass an array like ["api_key" => ] instead.'; throw new \Stripe\Exception\InvalidArgumentException($message); } return new RequestOptions($options, [], null); } if (\is_array($options)) { $headers = []; $key = null; $base = null; if (\array_key_exists('api_key', $options)) { $key = $options['api_key']; unset($options['api_key']); } if (\array_key_exists('idempotency_key', $options)) { $headers['Idempotency-Key'] = $options['idempotency_key']; unset($options['idempotency_key']); } if (\array_key_exists('stripe_account', $options)) { $headers['Stripe-Account'] = $options['stripe_account']; unset($options['stripe_account']); } if (\array_key_exists('stripe_version', $options)) { $headers['Stripe-Version'] = $options['stripe_version']; unset($options['stripe_version']); } if (\array_key_exists('api_base', $options)) { $base = $options['api_base']; unset($options['api_base']); } if ($strict && !empty($options)) { $message = 'Got unexpected keys in options array: ' . \implode(', ', \array_keys($options)); throw new \Stripe\Exception\InvalidArgumentException($message); } return new RequestOptions($key, $headers, $base); } $message = 'The second argument to Stripe API method calls is an ' . 'optional per-request apiKey, which must be a string, or ' . 'per-request options, which must be an array. (HINT: you can set ' . 'a global apiKey by "Stripe::setApiKey()")'; throw new \Stripe\Exception\InvalidArgumentException($message); } /** @return string */ private function redactedApiKey() { if (null === $this->apiKey) { return ''; } $pieces = \explode('_', $this->apiKey, 3); $last = \array_pop($pieces); $redactedLast = \strlen($last) > 4 ? (\str_repeat('*', \strlen($last) - 4) . \substr($last, -4)) : $last; $pieces[] = $redactedLast; return \implode('_', $pieces); } } lib/stripe-gateway/lib/Util/RandomGenerator.php000064400000001456147206617610015562 0ustar00 \Stripe\Collection::class, \Stripe\Issuing\CardDetails::OBJECT_NAME => \Stripe\Issuing\CardDetails::class, \Stripe\SearchResult::OBJECT_NAME => \Stripe\SearchResult::class, \Stripe\File::OBJECT_NAME_ALT => \Stripe\File::class, // object classes: The beginning of the section generated from our OpenAPI spec \Stripe\Account::OBJECT_NAME => \Stripe\Account::class, \Stripe\AccountLink::OBJECT_NAME => \Stripe\AccountLink::class, \Stripe\AccountSession::OBJECT_NAME => \Stripe\AccountSession::class, \Stripe\ApplePayDomain::OBJECT_NAME => \Stripe\ApplePayDomain::class, \Stripe\Application::OBJECT_NAME => \Stripe\Application::class, \Stripe\ApplicationFee::OBJECT_NAME => \Stripe\ApplicationFee::class, \Stripe\ApplicationFeeRefund::OBJECT_NAME => \Stripe\ApplicationFeeRefund::class, \Stripe\Apps\Secret::OBJECT_NAME => \Stripe\Apps\Secret::class, \Stripe\Balance::OBJECT_NAME => \Stripe\Balance::class, \Stripe\BalanceTransaction::OBJECT_NAME => \Stripe\BalanceTransaction::class, \Stripe\BankAccount::OBJECT_NAME => \Stripe\BankAccount::class, \Stripe\Billing\Meter::OBJECT_NAME => \Stripe\Billing\Meter::class, \Stripe\Billing\MeterEvent::OBJECT_NAME => \Stripe\Billing\MeterEvent::class, \Stripe\Billing\MeterEventAdjustment::OBJECT_NAME => \Stripe\Billing\MeterEventAdjustment::class, \Stripe\Billing\MeterEventSummary::OBJECT_NAME => \Stripe\Billing\MeterEventSummary::class, \Stripe\BillingPortal\Configuration::OBJECT_NAME => \Stripe\BillingPortal\Configuration::class, \Stripe\BillingPortal\Session::OBJECT_NAME => \Stripe\BillingPortal\Session::class, \Stripe\Capability::OBJECT_NAME => \Stripe\Capability::class, \Stripe\Card::OBJECT_NAME => \Stripe\Card::class, \Stripe\CashBalance::OBJECT_NAME => \Stripe\CashBalance::class, \Stripe\Charge::OBJECT_NAME => \Stripe\Charge::class, \Stripe\Checkout\Session::OBJECT_NAME => \Stripe\Checkout\Session::class, \Stripe\Climate\Order::OBJECT_NAME => \Stripe\Climate\Order::class, \Stripe\Climate\Product::OBJECT_NAME => \Stripe\Climate\Product::class, \Stripe\Climate\Supplier::OBJECT_NAME => \Stripe\Climate\Supplier::class, \Stripe\ConfirmationToken::OBJECT_NAME => \Stripe\ConfirmationToken::class, \Stripe\ConnectCollectionTransfer::OBJECT_NAME => \Stripe\ConnectCollectionTransfer::class, \Stripe\CountrySpec::OBJECT_NAME => \Stripe\CountrySpec::class, \Stripe\Coupon::OBJECT_NAME => \Stripe\Coupon::class, \Stripe\CreditNote::OBJECT_NAME => \Stripe\CreditNote::class, \Stripe\CreditNoteLineItem::OBJECT_NAME => \Stripe\CreditNoteLineItem::class, \Stripe\Customer::OBJECT_NAME => \Stripe\Customer::class, \Stripe\CustomerBalanceTransaction::OBJECT_NAME => \Stripe\CustomerBalanceTransaction::class, \Stripe\CustomerCashBalanceTransaction::OBJECT_NAME => \Stripe\CustomerCashBalanceTransaction::class, \Stripe\CustomerSession::OBJECT_NAME => \Stripe\CustomerSession::class, \Stripe\Discount::OBJECT_NAME => \Stripe\Discount::class, \Stripe\Dispute::OBJECT_NAME => \Stripe\Dispute::class, \Stripe\Entitlements\ActiveEntitlement::OBJECT_NAME => \Stripe\Entitlements\ActiveEntitlement::class, \Stripe\Entitlements\ActiveEntitlementSummary::OBJECT_NAME => \Stripe\Entitlements\ActiveEntitlementSummary::class, \Stripe\Entitlements\Feature::OBJECT_NAME => \Stripe\Entitlements\Feature::class, \Stripe\EphemeralKey::OBJECT_NAME => \Stripe\EphemeralKey::class, \Stripe\Event::OBJECT_NAME => \Stripe\Event::class, \Stripe\ExchangeRate::OBJECT_NAME => \Stripe\ExchangeRate::class, \Stripe\File::OBJECT_NAME => \Stripe\File::class, \Stripe\FileLink::OBJECT_NAME => \Stripe\FileLink::class, \Stripe\FinancialConnections\Account::OBJECT_NAME => \Stripe\FinancialConnections\Account::class, \Stripe\FinancialConnections\AccountOwner::OBJECT_NAME => \Stripe\FinancialConnections\AccountOwner::class, \Stripe\FinancialConnections\AccountOwnership::OBJECT_NAME => \Stripe\FinancialConnections\AccountOwnership::class, \Stripe\FinancialConnections\Session::OBJECT_NAME => \Stripe\FinancialConnections\Session::class, \Stripe\FinancialConnections\Transaction::OBJECT_NAME => \Stripe\FinancialConnections\Transaction::class, \Stripe\Forwarding\Request::OBJECT_NAME => \Stripe\Forwarding\Request::class, \Stripe\FundingInstructions::OBJECT_NAME => \Stripe\FundingInstructions::class, \Stripe\Identity\VerificationReport::OBJECT_NAME => \Stripe\Identity\VerificationReport::class, \Stripe\Identity\VerificationSession::OBJECT_NAME => \Stripe\Identity\VerificationSession::class, \Stripe\Invoice::OBJECT_NAME => \Stripe\Invoice::class, \Stripe\InvoiceItem::OBJECT_NAME => \Stripe\InvoiceItem::class, \Stripe\InvoiceLineItem::OBJECT_NAME => \Stripe\InvoiceLineItem::class, \Stripe\Issuing\Authorization::OBJECT_NAME => \Stripe\Issuing\Authorization::class, \Stripe\Issuing\Card::OBJECT_NAME => \Stripe\Issuing\Card::class, \Stripe\Issuing\Cardholder::OBJECT_NAME => \Stripe\Issuing\Cardholder::class, \Stripe\Issuing\Dispute::OBJECT_NAME => \Stripe\Issuing\Dispute::class, \Stripe\Issuing\PersonalizationDesign::OBJECT_NAME => \Stripe\Issuing\PersonalizationDesign::class, \Stripe\Issuing\PhysicalBundle::OBJECT_NAME => \Stripe\Issuing\PhysicalBundle::class, \Stripe\Issuing\Token::OBJECT_NAME => \Stripe\Issuing\Token::class, \Stripe\Issuing\Transaction::OBJECT_NAME => \Stripe\Issuing\Transaction::class, \Stripe\LineItem::OBJECT_NAME => \Stripe\LineItem::class, \Stripe\LoginLink::OBJECT_NAME => \Stripe\LoginLink::class, \Stripe\Mandate::OBJECT_NAME => \Stripe\Mandate::class, \Stripe\PaymentIntent::OBJECT_NAME => \Stripe\PaymentIntent::class, \Stripe\PaymentLink::OBJECT_NAME => \Stripe\PaymentLink::class, \Stripe\PaymentMethod::OBJECT_NAME => \Stripe\PaymentMethod::class, \Stripe\PaymentMethodConfiguration::OBJECT_NAME => \Stripe\PaymentMethodConfiguration::class, \Stripe\PaymentMethodDomain::OBJECT_NAME => \Stripe\PaymentMethodDomain::class, \Stripe\Payout::OBJECT_NAME => \Stripe\Payout::class, \Stripe\Person::OBJECT_NAME => \Stripe\Person::class, \Stripe\Plan::OBJECT_NAME => \Stripe\Plan::class, \Stripe\Price::OBJECT_NAME => \Stripe\Price::class, \Stripe\Product::OBJECT_NAME => \Stripe\Product::class, \Stripe\ProductFeature::OBJECT_NAME => \Stripe\ProductFeature::class, \Stripe\PromotionCode::OBJECT_NAME => \Stripe\PromotionCode::class, \Stripe\Quote::OBJECT_NAME => \Stripe\Quote::class, \Stripe\Radar\EarlyFraudWarning::OBJECT_NAME => \Stripe\Radar\EarlyFraudWarning::class, \Stripe\Radar\ValueList::OBJECT_NAME => \Stripe\Radar\ValueList::class, \Stripe\Radar\ValueListItem::OBJECT_NAME => \Stripe\Radar\ValueListItem::class, \Stripe\Refund::OBJECT_NAME => \Stripe\Refund::class, \Stripe\Reporting\ReportRun::OBJECT_NAME => \Stripe\Reporting\ReportRun::class, \Stripe\Reporting\ReportType::OBJECT_NAME => \Stripe\Reporting\ReportType::class, \Stripe\ReserveTransaction::OBJECT_NAME => \Stripe\ReserveTransaction::class, \Stripe\Review::OBJECT_NAME => \Stripe\Review::class, \Stripe\SetupAttempt::OBJECT_NAME => \Stripe\SetupAttempt::class, \Stripe\SetupIntent::OBJECT_NAME => \Stripe\SetupIntent::class, \Stripe\ShippingRate::OBJECT_NAME => \Stripe\ShippingRate::class, \Stripe\Sigma\ScheduledQueryRun::OBJECT_NAME => \Stripe\Sigma\ScheduledQueryRun::class, \Stripe\Source::OBJECT_NAME => \Stripe\Source::class, \Stripe\SourceMandateNotification::OBJECT_NAME => \Stripe\SourceMandateNotification::class, \Stripe\SourceTransaction::OBJECT_NAME => \Stripe\SourceTransaction::class, \Stripe\Subscription::OBJECT_NAME => \Stripe\Subscription::class, \Stripe\SubscriptionItem::OBJECT_NAME => \Stripe\SubscriptionItem::class, \Stripe\SubscriptionSchedule::OBJECT_NAME => \Stripe\SubscriptionSchedule::class, \Stripe\Tax\Calculation::OBJECT_NAME => \Stripe\Tax\Calculation::class, \Stripe\Tax\CalculationLineItem::OBJECT_NAME => \Stripe\Tax\CalculationLineItem::class, \Stripe\Tax\Registration::OBJECT_NAME => \Stripe\Tax\Registration::class, \Stripe\Tax\Settings::OBJECT_NAME => \Stripe\Tax\Settings::class, \Stripe\Tax\Transaction::OBJECT_NAME => \Stripe\Tax\Transaction::class, \Stripe\Tax\TransactionLineItem::OBJECT_NAME => \Stripe\Tax\TransactionLineItem::class, \Stripe\TaxCode::OBJECT_NAME => \Stripe\TaxCode::class, \Stripe\TaxDeductedAtSource::OBJECT_NAME => \Stripe\TaxDeductedAtSource::class, \Stripe\TaxId::OBJECT_NAME => \Stripe\TaxId::class, \Stripe\TaxRate::OBJECT_NAME => \Stripe\TaxRate::class, \Stripe\Terminal\Configuration::OBJECT_NAME => \Stripe\Terminal\Configuration::class, \Stripe\Terminal\ConnectionToken::OBJECT_NAME => \Stripe\Terminal\ConnectionToken::class, \Stripe\Terminal\Location::OBJECT_NAME => \Stripe\Terminal\Location::class, \Stripe\Terminal\Reader::OBJECT_NAME => \Stripe\Terminal\Reader::class, \Stripe\TestHelpers\TestClock::OBJECT_NAME => \Stripe\TestHelpers\TestClock::class, \Stripe\Token::OBJECT_NAME => \Stripe\Token::class, \Stripe\Topup::OBJECT_NAME => \Stripe\Topup::class, \Stripe\Transfer::OBJECT_NAME => \Stripe\Transfer::class, \Stripe\TransferReversal::OBJECT_NAME => \Stripe\TransferReversal::class, \Stripe\Treasury\CreditReversal::OBJECT_NAME => \Stripe\Treasury\CreditReversal::class, \Stripe\Treasury\DebitReversal::OBJECT_NAME => \Stripe\Treasury\DebitReversal::class, \Stripe\Treasury\FinancialAccount::OBJECT_NAME => \Stripe\Treasury\FinancialAccount::class, \Stripe\Treasury\FinancialAccountFeatures::OBJECT_NAME => \Stripe\Treasury\FinancialAccountFeatures::class, \Stripe\Treasury\InboundTransfer::OBJECT_NAME => \Stripe\Treasury\InboundTransfer::class, \Stripe\Treasury\OutboundPayment::OBJECT_NAME => \Stripe\Treasury\OutboundPayment::class, \Stripe\Treasury\OutboundTransfer::OBJECT_NAME => \Stripe\Treasury\OutboundTransfer::class, \Stripe\Treasury\ReceivedCredit::OBJECT_NAME => \Stripe\Treasury\ReceivedCredit::class, \Stripe\Treasury\ReceivedDebit::OBJECT_NAME => \Stripe\Treasury\ReceivedDebit::class, \Stripe\Treasury\Transaction::OBJECT_NAME => \Stripe\Treasury\Transaction::class, \Stripe\Treasury\TransactionEntry::OBJECT_NAME => \Stripe\Treasury\TransactionEntry::class, \Stripe\UsageRecord::OBJECT_NAME => \Stripe\UsageRecord::class, \Stripe\UsageRecordSummary::OBJECT_NAME => \Stripe\UsageRecordSummary::class, \Stripe\WebhookEndpoint::OBJECT_NAME => \Stripe\WebhookEndpoint::class, // object classes: The end of the section generated from our OpenAPI spec ]; } lib/stripe-gateway/lib/Util/LoggerInterface.php000064400000002206147206617610015525 0ustar00 0) { throw new \Stripe\Exception\BadMethodCallException('DefaultLogger does not currently implement context. Please implement if you need it.'); } if (null === $this->destination) { \error_log($message, $this->messageType); } else { \error_log($message, $this->messageType, $this->destination); } } } lib/stripe-gateway/lib/Util/CaseInsensitiveArray.php000064400000004310147206617610016556 0ustar00container = \array_change_key_case($initial_array, \CASE_LOWER); } /** * @return int */ #[\ReturnTypeWillChange] public function count() { return \count($this->container); } /** * @return \ArrayIterator */ #[\ReturnTypeWillChange] public function getIterator() { return new \ArrayIterator($this->container); } /** * @return void */ #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { $offset = self::maybeLowercase($offset); if (null === $offset) { $this->container[] = $value; } else { $this->container[$offset] = $value; } } /** * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($offset) { $offset = self::maybeLowercase($offset); return isset($this->container[$offset]); } /** * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($offset) { $offset = self::maybeLowercase($offset); unset($this->container[$offset]); } /** * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { $offset = self::maybeLowercase($offset); return isset($this->container[$offset]) ? $this->container[$offset] : null; } private static function maybeLowercase($v) { if (\is_string($v)) { return \strtolower($v); } return $v; } } lib/stripe-gateway/lib/Util/Set.php000064400000001464147206617610013225 0ustar00_elts = []; foreach ($members as $item) { $this->_elts[$item] = true; } } public function includes($elt) { return isset($this->_elts[$elt]); } public function add($elt) { $this->_elts[$elt] = true; } public function discard($elt) { unset($this->_elts[$elt]); } public function toArray() { return \array_keys($this->_elts); } /** * @return ArrayIterator */ #[\ReturnTypeWillChange] public function getIterator() { return new ArrayIterator($this->toArray()); } } lib/stripe-gateway/lib/Util/Util.php000064400000016721147206617610013411 0ustar00id; } if (static::isList($h)) { $results = []; foreach ($h as $v) { $results[] = static::objectsToIds($v); } return $results; } if (\is_array($h)) { $results = []; foreach ($h as $k => $v) { if (null === $v) { continue; } $results[$k] = static::objectsToIds($v); } return $results; } return $h; } /** * @param array $params * * @return string */ public static function encodeParameters($params) { $flattenedParams = self::flattenParams($params); $pieces = []; foreach ($flattenedParams as $param) { list($k, $v) = $param; $pieces[] = self::urlEncode($k) . '=' . self::urlEncode($v); } return \implode('&', $pieces); } /** * @param array $params * @param null|string $parentKey * * @return array */ public static function flattenParams($params, $parentKey = null) { $result = []; foreach ($params as $key => $value) { $calculatedKey = $parentKey ? "{$parentKey}[{$key}]" : $key; if (self::isList($value)) { $result = \array_merge($result, self::flattenParamsList($value, $calculatedKey)); } elseif (\is_array($value)) { $result = \array_merge($result, self::flattenParams($value, $calculatedKey)); } else { \array_push($result, [$calculatedKey, $value]); } } return $result; } /** * @param array $value * @param string $calculatedKey * * @return array */ public static function flattenParamsList($value, $calculatedKey) { $result = []; foreach ($value as $i => $elem) { if (self::isList($elem)) { $result = \array_merge($result, self::flattenParamsList($elem, $calculatedKey)); } elseif (\is_array($elem)) { $result = \array_merge($result, self::flattenParams($elem, "{$calculatedKey}[{$i}]")); } else { \array_push($result, ["{$calculatedKey}[{$i}]", $elem]); } } return $result; } /** * @param string $key a string to URL-encode * * @return string the URL-encoded string */ public static function urlEncode($key) { $s = \urlencode((string) $key); // Don't use strict form encoding by changing the square bracket control // characters back to their literals. This is fine by the server, and // makes these parameter strings easier to read. $s = \str_replace('%5B', '[', $s); return \str_replace('%5D', ']', $s); } public static function normalizeId($id) { if (\is_array($id)) { // see https://github.com/stripe/stripe-php/pull/1602 if (!isset($id['id'])) { return [null, $id]; } $params = $id; $id = $params['id']; unset($params['id']); } else { $params = []; } return [$id, $params]; } /** * Returns UNIX timestamp in milliseconds. * * @return int current time in millis */ public static function currentTimeMillis() { return (int) \round(\microtime(true) * 1000); } } lib/stripe-gateway/lib/BaseStripeClient.php000064400000030336147206617610014755 0ustar00 */ const DEFAULT_CONFIG = [ 'api_key' => null, 'app_info' => null, 'client_id' => null, 'stripe_account' => null, 'stripe_version' => \Stripe\Util\ApiVersion::CURRENT, 'api_base' => self::DEFAULT_API_BASE, 'connect_base' => self::DEFAULT_CONNECT_BASE, 'files_base' => self::DEFAULT_FILES_BASE, ]; /** @var array */ private $config; /** @var \Stripe\Util\RequestOptions */ private $defaultOpts; /** * Initializes a new instance of the {@link BaseStripeClient} class. * * The constructor takes a single argument. The argument can be a string, in which case it * should be the API key. It can also be an array with various configuration settings. * * Configuration settings include the following options: * * - api_key (null|string): the Stripe API key, to be used in regular API requests. * - app_info (null|array): information to identify a plugin that integrates Stripe using this library. * Expects: array{name: string, version?: string, url?: string, partner_id?: string} * - client_id (null|string): the Stripe client ID, to be used in OAuth requests. * - stripe_account (null|string): a Stripe account ID. If set, all requests sent by the client * will automatically use the {@code Stripe-Account} header with that account ID. * - stripe_version (null|string): a Stripe API version. If set, all requests sent by the client * will include the {@code Stripe-Version} header with that API version. * * The following configuration settings are also available, though setting these should rarely be necessary * (only useful if you want to send requests to a mock server like stripe-mock): * * - api_base (string): the base URL for regular API requests. Defaults to * {@link DEFAULT_API_BASE}. * - connect_base (string): the base URL for OAuth requests. Defaults to * {@link DEFAULT_CONNECT_BASE}. * - files_base (string): the base URL for file creation requests. Defaults to * {@link DEFAULT_FILES_BASE}. * * @param array|string $config the API key as a string, or an array containing * the client configuration settings */ public function __construct($config = []) { if (\is_string($config)) { $config = ['api_key' => $config]; } elseif (!\is_array($config)) { throw new \Stripe\Exception\InvalidArgumentException('$config must be a string or an array'); } $config = \array_merge(self::DEFAULT_CONFIG, $config); $this->validateConfig($config); $this->config = $config; $this->defaultOpts = \Stripe\Util\RequestOptions::parse([ 'stripe_account' => $config['stripe_account'], 'stripe_version' => $config['stripe_version'], ]); } /** * Gets the API key used by the client to send requests. * * @return null|string the API key used by the client to send requests */ public function getApiKey() { return $this->config['api_key']; } /** * Gets the client ID used by the client in OAuth requests. * * @return null|string the client ID used by the client in OAuth requests */ public function getClientId() { return $this->config['client_id']; } /** * Gets the base URL for Stripe's API. * * @return string the base URL for Stripe's API */ public function getApiBase() { return $this->config['api_base']; } /** * Gets the base URL for Stripe's OAuth API. * * @return string the base URL for Stripe's OAuth API */ public function getConnectBase() { return $this->config['connect_base']; } /** * Gets the base URL for Stripe's Files API. * * @return string the base URL for Stripe's Files API */ public function getFilesBase() { return $this->config['files_base']; } /** * Gets the app info for this client. * * @return null|array information to identify a plugin that integrates Stripe using this library */ public function getAppInfo() { return $this->config['app_info']; } /** * Sends a request to Stripe's API. * * @param 'delete'|'get'|'post' $method the HTTP method * @param string $path the path of the request * @param array $params the parameters of the request * @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request * * @return \Stripe\StripeObject the object returned by Stripe's API */ public function request($method, $path, $params, $opts) { $opts = $this->defaultOpts->merge($opts, true); $baseUrl = $opts->apiBase ?: $this->getApiBase(); $requestor = new \Stripe\ApiRequestor($this->apiKeyForRequest($opts), $baseUrl, $this->getAppInfo()); list($response, $opts->apiKey) = $requestor->request($method, $path, $params, $opts->headers, ['stripe_client']); $opts->discardNonPersistentHeaders(); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Sends a request to Stripe's API, passing chunks of the streamed response * into a user-provided $readBodyChunkCallable callback. * * @param 'delete'|'get'|'post' $method the HTTP method * @param string $path the path of the request * @param callable $readBodyChunkCallable a function that will be called * @param array $params the parameters of the request * @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request * with chunks of bytes from the body if the request is successful */ public function requestStream($method, $path, $readBodyChunkCallable, $params, $opts) { $opts = $this->defaultOpts->merge($opts, true); $baseUrl = $opts->apiBase ?: $this->getApiBase(); $requestor = new \Stripe\ApiRequestor($this->apiKeyForRequest($opts), $baseUrl, $this->getAppInfo()); list($response, $opts->apiKey) = $requestor->requestStream($method, $path, $readBodyChunkCallable, $params, $opts->headers, ['stripe_client']); } /** * Sends a request to Stripe's API. * * @param 'delete'|'get'|'post' $method the HTTP method * @param string $path the path of the request * @param array $params the parameters of the request * @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request * * @return \Stripe\Collection of ApiResources */ public function requestCollection($method, $path, $params, $opts) { $obj = $this->request($method, $path, $params, $opts); if (!($obj instanceof \Stripe\Collection)) { $received_class = \get_class($obj); $msg = "Expected to receive `Stripe\\Collection` object from Stripe API. Instead received `{$received_class}`."; throw new \Stripe\Exception\UnexpectedValueException($msg); } $obj->setFilters($params); return $obj; } /** * Sends a request to Stripe's API. * * @param 'delete'|'get'|'post' $method the HTTP method * @param string $path the path of the request * @param array $params the parameters of the request * @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request * * @return \Stripe\SearchResult of ApiResources */ public function requestSearchResult($method, $path, $params, $opts) { $obj = $this->request($method, $path, $params, $opts); if (!($obj instanceof \Stripe\SearchResult)) { $received_class = \get_class($obj); $msg = "Expected to receive `Stripe\\SearchResult` object from Stripe API. Instead received `{$received_class}`."; throw new \Stripe\Exception\UnexpectedValueException($msg); } $obj->setFilters($params); return $obj; } /** * @param \Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\AuthenticationException * * @return string */ private function apiKeyForRequest($opts) { $apiKey = $opts->apiKey ?: $this->getApiKey(); if (null === $apiKey) { $msg = 'No API key provided. Set your API key when constructing the ' . 'StripeClient instance, or provide it on a per-request basis ' . 'using the `api_key` key in the $opts argument.'; throw new \Stripe\Exception\AuthenticationException($msg); } return $apiKey; } /** * @param array $config * * @throws \Stripe\Exception\InvalidArgumentException */ private function validateConfig($config) { // api_key if (null !== $config['api_key'] && !\is_string($config['api_key'])) { throw new \Stripe\Exception\InvalidArgumentException('api_key must be null or a string'); } if (null !== $config['api_key'] && ('' === $config['api_key'])) { $msg = 'api_key cannot be the empty string'; throw new \Stripe\Exception\InvalidArgumentException($msg); } if (null !== $config['api_key'] && (\preg_match('/\s/', $config['api_key']))) { $msg = 'api_key cannot contain whitespace'; throw new \Stripe\Exception\InvalidArgumentException($msg); } // client_id if (null !== $config['client_id'] && !\is_string($config['client_id'])) { throw new \Stripe\Exception\InvalidArgumentException('client_id must be null or a string'); } // stripe_account if (null !== $config['stripe_account'] && !\is_string($config['stripe_account'])) { throw new \Stripe\Exception\InvalidArgumentException('stripe_account must be null or a string'); } // stripe_version if (null !== $config['stripe_version'] && !\is_string($config['stripe_version'])) { throw new \Stripe\Exception\InvalidArgumentException('stripe_version must be null or a string'); } // api_base if (!\is_string($config['api_base'])) { throw new \Stripe\Exception\InvalidArgumentException('api_base must be a string'); } // connect_base if (!\is_string($config['connect_base'])) { throw new \Stripe\Exception\InvalidArgumentException('connect_base must be a string'); } // files_base if (!\is_string($config['files_base'])) { throw new \Stripe\Exception\InvalidArgumentException('files_base must be a string'); } // app info if (null !== $config['app_info'] && !\is_array($config['app_info'])) { throw new \Stripe\Exception\InvalidArgumentException('app_info must be an array'); } $appInfoKeys = ['name', 'version', 'url', 'partner_id']; if (null !== $config['app_info'] && array_diff_key($config['app_info'], array_flip($appInfoKeys))) { $msg = 'app_info must be of type array{name: string, version?: string, url?: string, partner_id?: string}'; throw new \Stripe\Exception\InvalidArgumentException($msg); } // check absence of extra keys $extraConfigKeys = \array_diff(\array_keys($config), \array_keys(self::DEFAULT_CONFIG)); if (!empty($extraConfigKeys)) { // Wrap in single quote to more easily catch trailing spaces errors $invalidKeys = "'" . \implode("', '", $extraConfigKeys) . "'"; throw new \Stripe\Exception\InvalidArgumentException('Found unknown key(s) in configuration array: ' . $invalidKeys); } } } lib/stripe-gateway/lib/CustomerCashBalanceTransaction.php000064400000005667147206617610017642 0ustar00ISO currency code, in lowercase. Must be a supported currency. * @property string|\Stripe\Customer $customer The customer whose available cash balance changed as a result of this transaction. * @property int $ending_balance The total available cash balance for the specified currency after this transaction was applied. Represented in the smallest currency unit. * @property null|\Stripe\StripeObject $funded * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property int $net_amount The amount by which the cash balance changed, represented in the smallest currency unit. A positive value represents funds being added to the cash balance, a negative value represents funds being removed from the cash balance. * @property null|\Stripe\StripeObject $refunded_from_payment * @property null|\Stripe\StripeObject $transferred_to_balance * @property string $type The type of the cash balance transaction. New types may be added in future. See Customer Balance to learn more about these types. * @property null|\Stripe\StripeObject $unapplied_from_payment */ class CustomerCashBalanceTransaction extends ApiResource { const OBJECT_NAME = 'customer_cash_balance_transaction'; const TYPE_ADJUSTED_FOR_OVERDRAFT = 'adjusted_for_overdraft'; const TYPE_APPLIED_TO_PAYMENT = 'applied_to_payment'; const TYPE_FUNDED = 'funded'; const TYPE_FUNDING_REVERSED = 'funding_reversed'; const TYPE_REFUNDED_FROM_PAYMENT = 'refunded_from_payment'; const TYPE_RETURN_CANCELED = 'return_canceled'; const TYPE_RETURN_INITIATED = 'return_initiated'; const TYPE_TRANSFERRED_TO_BALANCE = 'transferred_to_balance'; const TYPE_UNAPPLIED_FROM_PAYMENT = 'unapplied_from_payment'; } lib/stripe-gateway/lib/SingletonApiResource.php000064400000001324147206617610015654 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/payouts', $params, $opts); } /** * You can cancel a previously created payout if its status is * pending. Stripe refunds the funds to your available balance. You * can’t cancel automatic Stripe payouts. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payouts/%s/cancel', $id), $params, $opts); } /** * To send funds to your own bank account, create a new payout object. Your Stripe balance must cover the payout amount. If it doesn’t, * you receive an “Insufficient Funds” error. * * If your API key is in test mode, money won’t actually be sent, though every * other action occurs as if you’re in live mode. * * If you create a manual payout on a Stripe account that uses multiple payment * source types, you need to specify the source type balance that the payout draws * from. The balance object details available and * pending amounts by source type. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/payouts', $params, $opts); } /** * Retrieves the details of an existing payout. Supply the unique payout ID from * either a payout creation request or the payout list. Stripe returns the * corresponding payout information. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/payouts/%s', $id), $params, $opts); } /** * Reverses a payout by debiting the destination bank account. At this time, you * can only reverse payouts for connected accounts to US bank accounts. If the * payout is manual and in the pending status, use * /v1/payouts/:id/cancel instead. * * By requesting a reversal through /v1/payouts/:id/reverse, you * confirm that the authorized signatory of the selected bank account authorizes * the debit on the bank account and that no other authorization is required. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout */ public function reverse($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payouts/%s/reverse', $id), $params, $opts); } /** * Updates the specified payout by setting the values of the parameters you pass. * We don’t change parameters that you don’t provide. This request only accepts the * metadata as arguments. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Payout */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payouts/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/AccountLinkService.php000064400000001574147206617610016712 0ustar00request('post', '/v1/account_links', $params, $opts); } } lib/stripe-gateway/lib/Service/CountrySpecService.php000064400000002416147206617610016752 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/country_specs', $params, $opts); } /** * Returns a Country Spec for a given Country code. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CountrySpec */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/country_specs/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/AccountService.php000064400000036452147206617610016077 0ustar00Connect. If you’re not a platform, the list is empty. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Account> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/accounts', $params, $opts); } /** * Returns a list of capabilities associated with the account. The capabilities are * returned sorted by creation date, with the most recent capability appearing * first. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Capability> */ public function allCapabilities($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/accounts/%s/capabilities', $parentId), $params, $opts); } /** * List external accounts for an account. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\BankAccount|\Stripe\Card> */ public function allExternalAccounts($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/accounts/%s/external_accounts', $parentId), $params, $opts); } /** * Returns a list of people associated with the account’s legal entity. The people * are returned sorted by creation date, with the most recent people appearing * first. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Person> */ public function allPersons($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/accounts/%s/persons', $parentId), $params, $opts); } /** * With Connect, you can create Stripe accounts for * your users. To do this, you’ll first need to register your * platform. * * If you’ve already collected information for your connected accounts, you can prefill that information * when creating the account. Connect Onboarding won’t ask for the prefilled * information during account onboarding. You can prefill any information on the * account. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/accounts', $params, $opts); } /** * Create an external account for a given account. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public function createExternalAccount($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/external_accounts', $parentId), $params, $opts); } /** * Creates a single-use login link for a connected account to access the Express * Dashboard. * * You can only create login links for accounts that use the Express Dashboard and are connected to * your platform. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\LoginLink */ public function createLoginLink($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/login_links', $parentId), $params, $opts); } /** * Creates a new person. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public function createPerson($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/persons', $parentId), $params, $opts); } /** * With Connect, you can delete accounts you manage. * * Test-mode accounts can be deleted at any time. * * Live-mode accounts where Stripe is responsible for negative account balances * cannot be deleted, which includes Standard accounts. Live-mode accounts where * your platform is liable for negative account balances, which includes Custom and * Express accounts, can be deleted when all balances are zero. * * If you want to delete your own account, use the account information tab in * your account settings instead. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/accounts/%s', $id), $params, $opts); } /** * Delete a specified external account for a given account. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public function deleteExternalAccount($parentId, $id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/accounts/%s/external_accounts/%s', $parentId, $id), $params, $opts); } /** * Deletes an existing person’s relationship to the account’s legal entity. Any * person with a relationship for an account can be deleted through the API, except * if the person is the account_opener. If your integration is using * the executive parameter, you cannot delete the only verified * executive on file. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public function deletePerson($parentId, $id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/accounts/%s/persons/%s', $parentId, $id), $params, $opts); } /** * With Connect, you can reject accounts that you have * flagged as suspicious. * * Only accounts where your platform is liable for negative account balances, which * includes Custom and Express accounts, can be rejected. Test-mode accounts can be * rejected at any time. Live-mode accounts can only be rejected after all balances * are zero. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function reject($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/reject', $id), $params, $opts); } /** * Retrieves information about the specified Account Capability. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Capability */ public function retrieveCapability($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/accounts/%s/capabilities/%s', $parentId, $id), $params, $opts); } /** * Retrieve a specified external account for a given account. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public function retrieveExternalAccount($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/accounts/%s/external_accounts/%s', $parentId, $id), $params, $opts); } /** * Retrieves an existing person. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public function retrievePerson($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/accounts/%s/persons/%s', $parentId, $id), $params, $opts); } /** * Updates a connected account by setting the * values of the parameters passed. Any parameters not provided are left unchanged. * * For accounts where controller.requirement_collection * is application, which includes Custom accounts, you can update any * information on the account. * * For accounts where controller.requirement_collection * is stripe, which includes Standard and Express accounts, you can * update all information until you create an Account * Link or Account Session to start Connect * onboarding, after which some properties can no longer be updated. * * To update your own account, use the Dashboard. Refer to our * Connect documentation to learn * more about updating accounts. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s', $id), $params, $opts); } /** * Updates an existing Account Capability. Request or remove a capability by * updating its requested parameter. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Capability */ public function updateCapability($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/capabilities/%s', $parentId, $id), $params, $opts); } /** * Updates the metadata, account holder name, account holder type of a bank account * belonging to a connected account and optionally sets it as the default for its * currency. Other bank account details are not editable by design. * * You can only update bank accounts when account.controller.requirement_collection * is application, which includes Custom accounts. * * You can re-enable a disabled bank account by performing an update call without * providing any arguments or changes. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount|\Stripe\Card */ public function updateExternalAccount($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/external_accounts/%s', $parentId, $id), $params, $opts); } /** * Updates an existing person. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Person */ public function updatePerson($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/accounts/%s/persons/%s', $parentId, $id), $params, $opts); } /** * Retrieves the details of an account. * * @param null|string $id * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account */ public function retrieve($id = null, $params = null, $opts = null) { if (null === $id) { return $this->request('get', '/v1/account', $params, $opts); } return $this->request('get', $this->buildPath('/v1/accounts/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Climate/OrderService.php000064400000006550147206617610017130 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/climate/orders', $params, $opts); } /** * Cancels a Climate order. You can cancel an order within 24 hours of creation. * Stripe refunds the reservation amount_subtotal, but not the * amount_fees for user-triggered cancellations. Frontier might cancel * reservations if suppliers fail to deliver. If Frontier cancels the reservation, * Stripe provides 90 days advance notice and refunds the * amount_total. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Order */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/climate/orders/%s/cancel', $id), $params, $opts); } /** * Creates a Climate order object for a given Climate product. The order will be * processed immediately after creation and payment will be deducted your Stripe * balance. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Order */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/climate/orders', $params, $opts); } /** * Retrieves the details of a Climate order object with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Order */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/climate/orders/%s', $id), $params, $opts); } /** * Updates the specified order by setting the values of the parameters passed. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Order */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/climate/orders/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Climate/ClimateServiceFactory.php000064400000001326147206617610020757 0ustar00 */ private static $classMap = [ 'orders' => OrderService::class, 'products' => ProductService::class, 'suppliers' => SupplierService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Climate/SupplierService.php000064400000002422147206617610017652 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/climate/suppliers', $params, $opts); } /** * Retrieves a Climate supplier object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Supplier */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/climate/suppliers/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Climate/ProductService.php000064400000002445147206617610017474 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/climate/products', $params, $opts); } /** * Retrieves the details of a Climate product with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Climate\Product */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/climate/products/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/CustomerService.php000064400000044651147206617610016304 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/customers', $params, $opts); } /** * Returns a list of transactions that updated the customer’s balances. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CustomerBalanceTransaction> */ public function allBalanceTransactions($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/balance_transactions', $parentId), $params, $opts); } /** * Returns a list of transactions that modified the customer’s cash balance. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CustomerCashBalanceTransaction> */ public function allCashBalanceTransactions($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/cash_balance_transactions', $parentId), $params, $opts); } /** * Returns a list of PaymentMethods for a given Customer. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PaymentMethod> */ public function allPaymentMethods($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/payment_methods', $id), $params, $opts); } /** * List sources for a specified customer. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source> */ public function allSources($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/sources', $parentId), $params, $opts); } /** * Returns a list of tax IDs for a customer. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TaxId> */ public function allTaxIds($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/customers/%s/tax_ids', $parentId), $params, $opts); } /** * Creates a new customer object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Customer */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/customers', $params, $opts); } /** * Creates an immutable transaction that updates the customer’s credit balance. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerBalanceTransaction */ public function createBalanceTransaction($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s/balance_transactions', $parentId), $params, $opts); } /** * Retrieve funding instructions for a customer cash balance. If funding * instructions do not yet exist for the customer, new funding instructions will be * created. If funding instructions have already been created for a given customer, * the same funding instructions will be retrieved. In other words, we will return * the same funding instructions each time. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FundingInstructions */ public function createFundingInstructions($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s/funding_instructions', $id), $params, $opts); } /** * When you create a new credit card, you must specify a customer or recipient on * which to create it. * * If the card’s owner has no default card, then the new card will become the * default. However, if the owner already has a default, then it will not change. * To change the default, you should update the * customer to have a new default_source. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public function createSource($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s/sources', $parentId), $params, $opts); } /** * Creates a new tax_id object for a customer. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public function createTaxId($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s/tax_ids', $parentId), $params, $opts); } /** * Permanently deletes a customer. It cannot be undone. Also immediately cancels * any active subscriptions on the customer. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Customer */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/customers/%s', $id), $params, $opts); } /** * Removes the currently applied discount on a customer. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Discount */ public function deleteDiscount($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/customers/%s/discount', $id), $params, $opts); } /** * Delete a specified source for a given customer. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public function deleteSource($parentId, $id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/customers/%s/sources/%s', $parentId, $id), $params, $opts); } /** * Deletes an existing tax_id object. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public function deleteTaxId($parentId, $id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/customers/%s/tax_ids/%s', $parentId, $id), $params, $opts); } /** * Retrieves a Customer object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Customer */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/customers/%s', $id), $params, $opts); } /** * Retrieves a specific customer balance transaction that updated the customer’s balances. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerBalanceTransaction */ public function retrieveBalanceTransaction($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/customers/%s/balance_transactions/%s', $parentId, $id), $params, $opts); } /** * Retrieves a customer’s cash balance. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CashBalance */ public function retrieveCashBalance($parentId, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/customers/%s/cash_balance', $parentId), $params, $opts); } /** * Retrieves a specific cash balance transaction, which updated the customer’s cash balance. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerCashBalanceTransaction */ public function retrieveCashBalanceTransaction($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/customers/%s/cash_balance_transactions/%s', $parentId, $id), $params, $opts); } /** * Retrieves a PaymentMethod object for a given Customer. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod */ public function retrievePaymentMethod($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/customers/%s/payment_methods/%s', $parentId, $id), $params, $opts); } /** * Retrieve a specified source for a given customer. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public function retrieveSource($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/customers/%s/sources/%s', $parentId, $id), $params, $opts); } /** * Retrieves the tax_id object with the given identifier. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public function retrieveTaxId($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/customers/%s/tax_ids/%s', $parentId, $id), $params, $opts); } /** * Search for customers you’ve previously created using Stripe’s Search Query Language. Don’t use * search in read-after-write flows where strict consistency is necessary. Under * normal operating conditions, data is searchable in less than a minute. * Occasionally, propagation of new or updated data can be up to an hour behind * during outages. Search functionality is not available to merchants in India. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Customer> */ public function search($params = null, $opts = null) { return $this->requestSearchResult('get', '/v1/customers/search', $params, $opts); } /** * Updates the specified customer by setting the values of the parameters passed. * Any parameters not provided will be left unchanged. For example, if you pass the * source parameter, that becomes the customer’s active source * (e.g., a card) to be used for all charges in the future. When you update a * customer to a new valid card source by passing the source * parameter: for each of the customer’s current subscriptions, if the subscription * bills automatically and is in the past_due state, then the latest * open invoice for the subscription with automatic collection enabled will be * retried. This retry will not count as an automatic retry, and will not affect * the next regularly scheduled payment for the invoice. Changing the * default_source for a customer will not trigger this behavior. * * This request accepts mostly the same arguments as the customer creation call. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Customer */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s', $id), $params, $opts); } /** * Most credit balance transaction fields are immutable, but you may update its * description and metadata. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerBalanceTransaction */ public function updateBalanceTransaction($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s/balance_transactions/%s', $parentId, $id), $params, $opts); } /** * Changes the settings on a customer’s cash balance. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CashBalance */ public function updateCashBalance($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s/cash_balance', $parentId), $params, $opts); } /** * Update a specified source for a given customer. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public function updateSource($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s/sources/%s', $parentId, $id), $params, $opts); } /** * Verify a specified bank account for a given customer. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public function verifySource($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/customers/%s/sources/%s/verify', $parentId, $id), $params, $opts); } } lib/stripe-gateway/lib/Service/PaymentMethodConfigurationService.php000064400000004451147206617610022003 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/payment_method_configurations', $params, $opts); } /** * Creates a payment method configuration. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodConfiguration */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/payment_method_configurations', $params, $opts); } /** * Retrieve payment method configuration. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodConfiguration */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/payment_method_configurations/%s', $id), $params, $opts); } /** * Update payment method configuration. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodConfiguration */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_method_configurations/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/FileLinkService.php000064400000004242147206617610016170 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/file_links', $params, $opts); } /** * Creates a new file link object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FileLink */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/file_links', $params, $opts); } /** * Retrieves the file link with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FileLink */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/file_links/%s', $id), $params, $opts); } /** * Updates an existing file link object. Expired links can no longer be updated. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FileLink */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/file_links/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Issuing/PhysicalBundleService.php000064400000002651147206617610021024 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/issuing/physical_bundles', $params, $opts); } /** * Retrieves a physical bundle object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PhysicalBundle */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/issuing/physical_bundles/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Issuing/TokenService.php000064400000003520147206617610017172 0ustar00Token objects for a given card. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Token> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/issuing/tokens', $params, $opts); } /** * Retrieves an Issuing Token object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Token */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/issuing/tokens/%s', $id), $params, $opts); } /** * Attempts to update the specified Issuing Token object to the status * specified. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Token */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/tokens/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Issuing/CardService.php000064400000004700147206617610016764 0ustar00Card objects. The objects are sorted in * descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Card> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/issuing/cards', $params, $opts); } /** * Creates an Issuing Card object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/issuing/cards', $params, $opts); } /** * Retrieves an Issuing Card object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/issuing/cards/%s', $id), $params, $opts); } /** * Updates the specified Issuing Card object by setting the values of * the parameters passed. Any parameters not provided will be left unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/cards/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Issuing/CardholderService.php000064400000005061147206617610020163 0ustar00Cardholder objects. The objects are * sorted in descending order by creation date, with the most recently created * object appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Cardholder> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/issuing/cardholders', $params, $opts); } /** * Creates a new Issuing Cardholder object that can be issued cards. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Cardholder */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/issuing/cardholders', $params, $opts); } /** * Retrieves an Issuing Cardholder object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Cardholder */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/issuing/cardholders/%s', $id), $params, $opts); } /** * Updates the specified Issuing Cardholder object by setting the * values of the parameters passed. Any parameters not provided will be left * unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Cardholder */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/cardholders/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Issuing/AuthorizationService.php000064400000010175147206617610020756 0ustar00Authorization objects. The objects are * sorted in descending order by creation date, with the most recently created * object appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Authorization> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/issuing/authorizations', $params, $opts); } /** * [Deprecated] Approves a pending Issuing Authorization object. This * request should be made within the timeout window of the real-time * authorization flow. This method is deprecated. Instead, respond * directly to the webhook request to approve an authorization. * * @deprecated this method is deprecated, please refer to the description for details * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function approve($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/authorizations/%s/approve', $id), $params, $opts); } /** * [Deprecated] Declines a pending Issuing Authorization object. This * request should be made within the timeout window of the real time * authorization flow. This method is deprecated. Instead, respond * directly to the webhook request to decline an authorization. * * @deprecated this method is deprecated, please refer to the description for details * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function decline($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/authorizations/%s/decline', $id), $params, $opts); } /** * Retrieves an Issuing Authorization object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/issuing/authorizations/%s', $id), $params, $opts); } /** * Updates the specified Issuing Authorization object by setting the * values of the parameters passed. Any parameters not provided will be left * unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/authorizations/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Issuing/PersonalizationDesignService.php000064400000004727147206617610022437 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/issuing/personalization_designs', $params, $opts); } /** * Creates a personalization design object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/issuing/personalization_designs', $params, $opts); } /** * Retrieves a personalization design object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/issuing/personalization_designs/%s', $id), $params, $opts); } /** * Updates a card personalization object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/personalization_designs/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Issuing/IssuingServiceFactory.php000064400000002355147206617610021070 0ustar00 */ private static $classMap = [ 'authorizations' => AuthorizationService::class, 'cardholders' => CardholderService::class, 'cards' => CardService::class, 'disputes' => DisputeService::class, 'personalizationDesigns' => PersonalizationDesignService::class, 'physicalBundles' => PhysicalBundleService::class, 'tokens' => TokenService::class, 'transactions' => TransactionService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Issuing/DisputeService.php000064400000007306147206617610017535 0ustar00Dispute objects. The objects are sorted * in descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Dispute> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/issuing/disputes', $params, $opts); } /** * Creates an Issuing Dispute object. Individual pieces of evidence * within the evidence object are optional at this point. Stripe only * validates that required evidence is present during submission. Refer to Dispute * reasons and evidence for more details about evidence requirements. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Dispute */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/issuing/disputes', $params, $opts); } /** * Retrieves an Issuing Dispute object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Dispute */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/issuing/disputes/%s', $id), $params, $opts); } /** * Submits an Issuing Dispute to the card network. Stripe validates * that all evidence fields required for the dispute’s reason are present. For more * details, see Dispute * reasons and evidence. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Dispute */ public function submit($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/disputes/%s/submit', $id), $params, $opts); } /** * Updates the specified Issuing Dispute object by setting the values * of the parameters passed. Any parameters not provided will be left unchanged. * Properties on the evidence object can be unset by passing in an * empty string. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Dispute */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/disputes/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Issuing/TransactionService.php000064400000004114147206617610020377 0ustar00Transaction objects. The objects are * sorted in descending order by creation date, with the most recently created * object appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Issuing\Transaction> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/issuing/transactions', $params, $opts); } /** * Retrieves an Issuing Transaction object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Transaction */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/issuing/transactions/%s', $id), $params, $opts); } /** * Updates the specified Issuing Transaction object by setting the * values of the parameters passed. Any parameters not provided will be left * unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Transaction */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/issuing/transactions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TokenService.php000064400000003157147206617610015557 0ustar00connected * account where controller.requirement_collection * is application, which includes Custom accounts. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Token */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/tokens', $params, $opts); } /** * Retrieves the token with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Token */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/tokens/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Apps/SecretService.php000064400000004153147206617610016624 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/apps/secrets', $params, $opts); } /** * Create or replace a secret in the secret store. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Apps\Secret */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/apps/secrets', $params, $opts); } /** * Deletes a secret from the secret store by name and scope. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Apps\Secret */ public function deleteWhere($params = null, $opts = null) { return $this->request('post', '/v1/apps/secrets/delete', $params, $opts); } /** * Finds a secret in the secret store by name and scope. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Apps\Secret */ public function find($params = null, $opts = null) { return $this->request('get', '/v1/apps/secrets/find', $params, $opts); } } lib/stripe-gateway/lib/Service/Apps/AppsServiceFactory.php000064400000001047147206617610017631 0ustar00 */ private static $classMap = [ 'secrets' => SecretService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/ApplicationFeeService.php000064400000011636147206617610017363 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/application_fees', $params, $opts); } /** * You can see a list of the refunds belonging to a specific application fee. Note * that the 10 most recent refunds are always available by default on the * application fee object. If you need more than those 10, you can use this API * method and the limit and starting_after parameters to * page through additional refunds. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\ApplicationFeeRefund> */ public function allRefunds($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/application_fees/%s/refunds', $parentId), $params, $opts); } /** * Refunds an application fee that has previously been collected but not yet * refunded. Funds will be refunded to the Stripe account from which the fee was * originally collected. * * You can optionally refund only part of an application fee. You can do so * multiple times, until the entire fee has been refunded. * * Once entirely refunded, an application fee can’t be refunded again. This method * will raise an error when called on an already-refunded application fee, or when * trying to refund more money than is left on an application fee. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplicationFeeRefund */ public function createRefund($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/application_fees/%s/refunds', $parentId), $params, $opts); } /** * Retrieves the details of an application fee that your account has collected. The * same information is returned when refunding the application fee. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplicationFee */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/application_fees/%s', $id), $params, $opts); } /** * By default, you can see the 10 most recent refunds stored directly on the * application fee object, but you can also retrieve details about a specific * refund stored on the application fee. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplicationFeeRefund */ public function retrieveRefund($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/application_fees/%s/refunds/%s', $parentId, $id), $params, $opts); } /** * Updates the specified application fee refund by setting the values of the * parameters passed. Any parameters not provided will be left unchanged. * * This request only accepts metadata as an argument. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplicationFeeRefund */ public function updateRefund($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/application_fees/%s/refunds/%s', $parentId, $id), $params, $opts); } } lib/stripe-gateway/lib/Service/PromotionCodeService.php000064400000005104147206617610017252 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/promotion_codes', $params, $opts); } /** * A promotion code points to a coupon. You can optionally restrict the code to a * specific customer, redemption limit, and expiration date. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PromotionCode */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/promotion_codes', $params, $opts); } /** * Retrieves the promotion code with the given ID. In order to retrieve a promotion * code by the customer-facing code use list with the desired * code. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PromotionCode */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/promotion_codes/%s', $id), $params, $opts); } /** * Updates the specified promotion code by setting the values of the parameters * passed. Most fields are, by design, not editable. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PromotionCode */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/promotion_codes/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/SubscriptionItemService.php000064400000013766147206617610020011 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/subscription_items', $params, $opts); } /** * For the specified subscription item, returns a list of summary objects. Each * object in the list provides usage information that’s been summarized from * multiple usage records and over a subscription billing period (e.g., 15 usage * records in the month of September). * * The list is sorted in reverse-chronological order (newest first). The first list * item represents the most current usage period that hasn’t ended yet. Since new * usage records can still be added, the returned summary information for the * subscription item’s ID should be seen as unstable until the subscription billing * period ends. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\UsageRecordSummary> */ public function allUsageRecordSummaries($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/subscription_items/%s/usage_record_summaries', $parentId), $params, $opts); } /** * Adds a new item to an existing subscription. No existing items will be changed * or replaced. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionItem */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/subscription_items', $params, $opts); } /** * Creates a usage record for a specified subscription item and date, and fills it * with a quantity. * * Usage records provide quantity information that Stripe uses to * track how much a customer is using your service. With usage information and the * pricing model set up by the metered * billing plan, Stripe helps you send accurate invoices to your customers. * * The default calculation for usage is to add up all the quantity * values of the usage records within a billing period. You can change this default * behavior with the billing plan’s aggregate_usage parameter. When * there is more than one usage record with the same timestamp, Stripe adds the * quantity values together. In most cases, this is the desired * resolution, however, you can change this behavior with the action * parameter. * * The default pricing model for metered billing is per-unit pricing. * For finer granularity, you can configure metered billing to have a tiered pricing * model. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\UsageRecord */ public function createUsageRecord($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/subscription_items/%s/usage_records', $parentId), $params, $opts); } /** * Deletes an item from the subscription. Removing a subscription item from a * subscription will not cancel the subscription. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionItem */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts); } /** * Retrieves the subscription item with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionItem */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts); } /** * Updates the plan or quantity of an item on a current subscription. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionItem */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/WebhookEndpointService.php000064400000007043147206617610017574 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/webhook_endpoints', $params, $opts); } /** * A webhook endpoint must have a url and a list of * enabled_events. You may optionally specify the Boolean * connect parameter. If set to true, then a Connect webhook endpoint * that notifies the specified url about events from all connected * accounts is created; otherwise an account webhook endpoint that notifies the * specified url only about events from your account is created. You * can also create webhook endpoints in the webhooks settings * section of the Dashboard. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\WebhookEndpoint */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/webhook_endpoints', $params, $opts); } /** * You can also delete webhook endpoints via the webhook endpoint * management page of the Stripe dashboard. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\WebhookEndpoint */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/webhook_endpoints/%s', $id), $params, $opts); } /** * Retrieves the webhook endpoint with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\WebhookEndpoint */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/webhook_endpoints/%s', $id), $params, $opts); } /** * Updates the webhook endpoint. You may edit the url, the list of * enabled_events, and the status of your endpoint. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\WebhookEndpoint */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/webhook_endpoints/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/CustomerSessionService.php000064400000001612147206617610017636 0ustar00request('post', '/v1/customer_sessions', $params, $opts); } } lib/stripe-gateway/lib/Service/Terminal/ConfigurationService.php000064400000005473147206617610021064 0ustar00Configuration objects. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Terminal\Configuration> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/terminal/configurations', $params, $opts); } /** * Creates a new Configuration object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Configuration */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/terminal/configurations', $params, $opts); } /** * Deletes a Configuration object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Configuration */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/terminal/configurations/%s', $id), $params, $opts); } /** * Retrieves a Configuration object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Configuration */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/terminal/configurations/%s', $id), $params, $opts); } /** * Updates a new Configuration object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Configuration */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/terminal/configurations/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Terminal/ConnectionTokenService.php000064400000001717147206617610021352 0ustar00request('post', '/v1/terminal/connection_tokens', $params, $opts); } } lib/stripe-gateway/lib/Service/Terminal/LocationService.php000064400000005776147206617610020033 0ustar00Location objects. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Terminal\Location> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/terminal/locations', $params, $opts); } /** * Creates a new Location object. For further details, including which * address fields are required in each country, see the Manage locations guide. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Location */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/terminal/locations', $params, $opts); } /** * Deletes a Location object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Location */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/terminal/locations/%s', $id), $params, $opts); } /** * Retrieves a Location object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Location */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/terminal/locations/%s', $id), $params, $opts); } /** * Updates a Location object by setting the values of the parameters * passed. Any parameters not provided will be left unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Location */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/terminal/locations/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Terminal/TerminalServiceFactory.php000064400000001550147206617610021350 0ustar00 */ private static $classMap = [ 'configurations' => ConfigurationService::class, 'connectionTokens' => ConnectionTokenService::class, 'locations' => LocationService::class, 'readers' => ReaderService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Terminal/ReaderService.php000064400000012626147206617610017455 0ustar00Reader objects. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Terminal\Reader> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/terminal/readers', $params, $opts); } /** * Cancels the current reader action. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function cancelAction($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/terminal/readers/%s/cancel_action', $id), $params, $opts); } /** * Creates a new Reader object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/terminal/readers', $params, $opts); } /** * Deletes a Reader object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/terminal/readers/%s', $id), $params, $opts); } /** * Initiates a payment flow on a Reader. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function processPaymentIntent($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/terminal/readers/%s/process_payment_intent', $id), $params, $opts); } /** * Initiates a setup intent flow on a Reader. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function processSetupIntent($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/terminal/readers/%s/process_setup_intent', $id), $params, $opts); } /** * Initiates a refund on a Reader. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function refundPayment($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/terminal/readers/%s/refund_payment', $id), $params, $opts); } /** * Retrieves a Reader object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/terminal/readers/%s', $id), $params, $opts); } /** * Sets reader display to show cart details. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function setReaderDisplay($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/terminal/readers/%s/set_reader_display', $id), $params, $opts); } /** * Updates a Reader object by setting the values of the parameters * passed. Any parameters not provided will be left unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Terminal\Reader */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/terminal/readers/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/QuoteService.php000064400000014312147206617610015567 0ustar00request('post', $this->buildPath('/v1/quotes/%s/accept', $id), $params, $opts); } /** * Returns a list of your quotes. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Quote> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/quotes', $params, $opts); } /** * When retrieving a quote, there is an includable computed.upfront.line_items * property containing the first handful of those items. There is also a URL where * you can retrieve the full (paginated) list of upfront line items. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\LineItem> */ public function allComputedUpfrontLineItems($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/quotes/%s/computed_upfront_line_items', $id), $params, $opts); } /** * When retrieving a quote, there is an includable line_items * property containing the first handful of those items. There is also a URL where * you can retrieve the full (paginated) list of line items. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\LineItem> */ public function allLineItems($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/quotes/%s/line_items', $id), $params, $opts); } /** * Cancels the quote. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/quotes/%s/cancel', $id), $params, $opts); } /** * A quote models prices and services for a customer. Default options for * header, description, footer, and * expires_at can be set in the dashboard via the quote template. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/quotes', $params, $opts); } /** * Finalizes the quote. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote */ public function finalizeQuote($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/quotes/%s/finalize', $id), $params, $opts); } /** * Download the PDF for a finalized quote. Explanation for special handling can be * found here. * * @param string $id * @param callable $readBodyChunkCallable * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return mixed */ public function pdf($id, $readBodyChunkCallable, $params = null, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); if (!isset($opts->apiBase)) { $opts->apiBase = $this->getClient()->getFilesBase(); } return $this->requestStream('get', $this->buildPath('/v1/quotes/%s/pdf', $id), $readBodyChunkCallable, $params, $opts); } /** * Retrieves the quote with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/quotes/%s', $id), $params, $opts); } /** * A quote models prices and services for a customer. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Quote */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/quotes/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TaxCodeService.php000064400000002711147206617610016021 0ustar00all tax codes * available to add to Products in order to allow specific tax calculations. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TaxCode> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/tax_codes', $params, $opts); } /** * Retrieves the details of an existing tax code. Supply the unique tax code ID and * Stripe will return the corresponding tax code information. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxCode */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/tax_codes/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/SourceService.php000064400000007464147206617610015744 0ustar00 */ public function allSourceTransactions($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/sources/%s/source_transactions', $id), $params, $opts); } /** * Creates a new source object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/sources', $params, $opts); } /** * Delete a specified source for a given customer. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source */ public function detach($parentId, $id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/customers/%s/sources/%s', $parentId, $id), $params, $opts); } /** * Retrieves an existing source object. Supply the unique source ID from a source * creation request and Stripe will return the corresponding up-to-date source * object information. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/sources/%s', $id), $params, $opts); } /** * Updates the specified source by setting the values of the parameters passed. Any * parameters not provided will be left unchanged. * * This request accepts the metadata and owner as * arguments. It is also possible to update type specific information for selected * payment methods. Please refer to our payment method * guides for more detail. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/sources/%s', $id), $params, $opts); } /** * Verify a given source. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Source */ public function verify($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/sources/%s/verify', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/MandateService.php000064400000001412147206617610016040 0ustar00request('get', $this->buildPath('/v1/mandates/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TaxRateService.php000064400000004323147206617610016043 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/tax_rates', $params, $opts); } /** * Creates a new tax rate. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxRate */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/tax_rates', $params, $opts); } /** * Retrieves a tax rate with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxRate */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/tax_rates/%s', $id), $params, $opts); } /** * Updates an existing tax rate. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxRate */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/tax_rates/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/CustomerService.php000064400000001545147206617610020541 0ustar00request('post', $this->buildPath('/v1/test_helpers/customers/%s/fund_cash_balance', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Issuing/CardService.php000064400000005245147206617610021233 0ustar00Card object to * delivered. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card */ public function deliverCard($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/cards/%s/shipping/deliver', $id), $params, $opts); } /** * Updates the shipping status of the specified Issuing Card object to * failure. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card */ public function failCard($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/cards/%s/shipping/fail', $id), $params, $opts); } /** * Updates the shipping status of the specified Issuing Card object to * returned. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card */ public function returnCard($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/cards/%s/shipping/return', $id), $params, $opts); } /** * Updates the shipping status of the specified Issuing Card object to * shipped. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Card */ public function shipCard($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/cards/%s/shipping/ship', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Issuing/AuthorizationService.php000064400000006771147206617610023227 0ustar00request('post', $this->buildPath('/v1/test_helpers/issuing/authorizations/%s/capture', $id), $params, $opts); } /** * Create a test-mode authorization. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/test_helpers/issuing/authorizations', $params, $opts); } /** * Expire a test-mode Authorization. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function expire($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/authorizations/%s/expire', $id), $params, $opts); } /** * Finalize the amount on an Authorization prior to capture, when the initial * authorization was for an estimated amount. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function finalizeAmount($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/authorizations/%s/finalize_amount', $id), $params, $opts); } /** * Increment a test-mode Authorization. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function increment($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/authorizations/%s/increment', $id), $params, $opts); } /** * Reverse a test-mode Authorization. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Authorization */ public function reverse($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/authorizations/%s/reverse', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Issuing/PersonalizationDesignService.php000064400000004313147206617610024670 0ustar00status of the specified testmode personalization design * object to active. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign */ public function activate($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/personalization_designs/%s/activate', $id), $params, $opts); } /** * Updates the status of the specified testmode personalization design * object to inactive. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign */ public function deactivate($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/personalization_designs/%s/deactivate', $id), $params, $opts); } /** * Updates the status of the specified testmode personalization design * object to rejected. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\PersonalizationDesign */ public function reject($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/personalization_designs/%s/reject', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Issuing/IssuingServiceFactory.php000064400000001615147206617610023330 0ustar00 */ private static $classMap = [ 'authorizations' => AuthorizationService::class, 'cards' => CardService::class, 'personalizationDesigns' => PersonalizationDesignService::class, 'transactions' => TransactionService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/TestHelpers/Issuing/TransactionService.php000064400000003625147206617610022647 0ustar00request('post', '/v1/test_helpers/issuing/transactions/create_force_capture', $params, $opts); } /** * Allows the user to refund an arbitrary amount, also known as a unlinked refund. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Transaction */ public function createUnlinkedRefund($params = null, $opts = null) { return $this->request('post', '/v1/test_helpers/issuing/transactions/create_unlinked_refund', $params, $opts); } /** * Refund a test-mode Transaction. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Issuing\Transaction */ public function refund($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/issuing/transactions/%s/refund', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Terminal/TerminalServiceFactory.php000064400000001077147206617610023616 0ustar00 */ private static $classMap = [ 'readers' => ReaderService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/TestHelpers/Terminal/ReaderService.php000064400000001722147206617610021712 0ustar00request('post', $this->buildPath('/v1/test_helpers/terminal/readers/%s/present_payment_method', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/TestHelpersServiceFactory.php000064400000002302147206617610022522 0ustar00 */ private static $classMap = [ 'confirmationTokens' => ConfirmationTokenService::class, 'customers' => CustomerService::class, 'issuing' => Issuing\IssuingServiceFactory::class, 'refunds' => RefundService::class, 'terminal' => Terminal\TerminalServiceFactory::class, 'testClocks' => TestClockService::class, 'treasury' => Treasury\TreasuryServiceFactory::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/TestHelpers/TestClockService.php000064400000005563147206617610020637 0ustar00Ready. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TestHelpers\TestClock */ public function advance($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/test_clocks/%s/advance', $id), $params, $opts); } /** * Returns a list of your test clocks. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TestHelpers\TestClock> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/test_helpers/test_clocks', $params, $opts); } /** * Creates a new test clock that can be attached to new customers and quotes. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TestHelpers\TestClock */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/test_helpers/test_clocks', $params, $opts); } /** * Deletes a test clock. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TestHelpers\TestClock */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/test_helpers/test_clocks/%s', $id), $params, $opts); } /** * Retrieves a test clock. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TestHelpers\TestClock */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/test_helpers/test_clocks/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Treasury/OutboundTransferService.php000064400000006010147206617610024052 0ustar00failed * status. The OutboundTransfer must already be in the processing * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer */ public function fail($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/outbound_transfers/%s/fail', $id), $params, $opts); } /** * Transitions a test mode created OutboundTransfer to the posted * status. The OutboundTransfer must already be in the processing * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer */ public function post($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/outbound_transfers/%s/post', $id), $params, $opts); } /** * Transitions a test mode created OutboundTransfer to the returned * status. The OutboundTransfer must already be in the processing * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer */ public function returnOutboundTransfer($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/outbound_transfers/%s/return', $id), $params, $opts); } /** * Updates a test mode created OutboundTransfer with tracking details. The * OutboundTransfer must not be cancelable, and cannot be in the * canceled or failed states. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/outbound_transfers/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Treasury/InboundTransferService.php000064400000004531147206617610023657 0ustar00failed * status. The InboundTransfer must already be in the processing * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer */ public function fail($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/inbound_transfers/%s/fail', $id), $params, $opts); } /** * Marks the test mode InboundTransfer object as returned and links the * InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the * succeeded state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer */ public function returnInboundTransfer($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/inbound_transfers/%s/return', $id), $params, $opts); } /** * Transitions a test mode created InboundTransfer to the succeeded * status. The InboundTransfer must already be in the processing * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer */ public function succeed($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/inbound_transfers/%s/succeed', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Treasury/ReceivedCreditService.php000064400000001670147206617610023436 0ustar00request('post', '/v1/test_helpers/treasury/received_credits', $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Treasury/ReceivedDebitService.php000064400000001663147206617610023255 0ustar00request('post', '/v1/test_helpers/treasury/received_debits', $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/Treasury/TreasuryServiceFactory.php000064400000002047147206617610023722 0ustar00 */ private static $classMap = [ 'inboundTransfers' => InboundTransferService::class, 'outboundPayments' => OutboundPaymentService::class, 'outboundTransfers' => OutboundTransferService::class, 'receivedCredits' => ReceivedCreditService::class, 'receivedDebits' => ReceivedDebitService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/TestHelpers/Treasury/OutboundPaymentService.php000064400000005766147206617610023724 0ustar00failed * status. The OutboundPayment must already be in the processing * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment */ public function fail($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/outbound_payments/%s/fail', $id), $params, $opts); } /** * Transitions a test mode created OutboundPayment to the posted * status. The OutboundPayment must already be in the processing * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment */ public function post($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/outbound_payments/%s/post', $id), $params, $opts); } /** * Transitions a test mode created OutboundPayment to the returned * status. The OutboundPayment must already be in the processing * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment */ public function returnOutboundPayment($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/outbound_payments/%s/return', $id), $params, $opts); } /** * Updates a test mode created OutboundPayment with tracking details. The * OutboundPayment must not be cancelable, and cannot be in the * canceled or failed states. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/treasury/outbound_payments/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/RefundService.php000064400000001511147206617610020154 0ustar00requires_action. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund */ public function expire($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/test_helpers/refunds/%s/expire', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TestHelpers/ConfirmationTokenService.php000064400000001474147206617610022372 0ustar00request('post', '/v1/test_helpers/confirmation_tokens', $params, $opts); } } lib/stripe-gateway/lib/Service/SubscriptionScheduleService.php000064400000010261147206617610020632 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/subscription_schedules', $params, $opts); } /** * Cancels a subscription schedule and its associated subscription immediately (if * the subscription schedule has an active subscription). A subscription schedule * can only be canceled if its status is not_started or * active. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s/cancel', $id), $params, $opts); } /** * Creates a new subscription schedule object. Each customer can have up to 500 * active or scheduled subscriptions. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/subscription_schedules', $params, $opts); } /** * Releases the subscription schedule immediately, which will stop scheduling of * its phases, but leave any existing subscription in place. A schedule can only be * released if its status is not_started or active. If * the subscription schedule is currently associated with a subscription, releasing * it will remove its subscription property and set the subscription’s * ID to the released_subscription property. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule */ public function release($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s/release', $id), $params, $opts); } /** * Retrieves the details of an existing subscription schedule. You only need to * supply the unique subscription schedule identifier that was returned upon * subscription schedule creation. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/subscription_schedules/%s', $id), $params, $opts); } /** * Updates an existing subscription schedule. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionSchedule */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/subscription_schedules/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/InvoiceItemService.php000064400000006321147206617610016706 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/invoiceitems', $params, $opts); } /** * Creates an item to be added to a draft invoice (up to 250 items per invoice). If * no invoice is specified, the item will be on the next invoice created for the * customer specified. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceItem */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/invoiceitems', $params, $opts); } /** * Deletes an invoice item, removing it from an invoice. Deleting invoice items is * only possible when they’re not attached to invoices, or if it’s attached to a * draft invoice. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceItem */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/invoiceitems/%s', $id), $params, $opts); } /** * Retrieves the invoice item with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceItem */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/invoiceitems/%s', $id), $params, $opts); } /** * Updates the amount or description of an invoice item on an upcoming invoice. * Updating an invoice item is only possible before the invoice it’s attached to is * closed. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceItem */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoiceitems/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/ApplePayDomainService.php000064400000004225147206617610017337 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/apple_pay/domains', $params, $opts); } /** * Create an apple pay domain. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplePayDomain */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/apple_pay/domains', $params, $opts); } /** * Delete an apple pay domain. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplePayDomain */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/apple_pay/domains/%s', $id), $params, $opts); } /** * Retrieve an apple pay domain. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplePayDomain */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/apple_pay/domains/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/EphemeralKeyService.php000064400000002667147206617610017057 0ustar00request('delete', $this->buildPath('/v1/ephemeral_keys/%s', $id), $params, $opts); } /** * Creates a short-lived API key for a given resource. * * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\EphemeralKey */ public function create($params = null, $opts = null) { if (!$opts || !isset($opts['stripe_version'])) { throw new \Stripe\Exception\InvalidArgumentException('stripe_version must be specified to create an ephemeral key'); } return $this->request('post', '/v1/ephemeral_keys', $params, $opts); } } lib/stripe-gateway/lib/Service/Billing/MeterService.php000064400000007332147206617610017132 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/billing/meters', $params, $opts); } /** * Retrieve a list of billing meter event summaries. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Billing\MeterEventSummary> */ public function allEventSummaries($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/billing/meters/%s/event_summaries', $parentId), $params, $opts); } /** * Creates a billing meter. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/billing/meters', $params, $opts); } /** * Deactivates a billing meter. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter */ public function deactivate($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/billing/meters/%s/deactivate', $id), $params, $opts); } /** * Reactivates a billing meter. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter */ public function reactivate($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/billing/meters/%s/reactivate', $id), $params, $opts); } /** * Retrieves a billing meter given an ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/billing/meters/%s', $id), $params, $opts); } /** * Updates a billing meter. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Billing\Meter */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/billing/meters/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Billing/MeterEventAdjustmentService.php000064400000001440147206617610022165 0ustar00request('post', '/v1/billing/meter_event_adjustments', $params, $opts); } } lib/stripe-gateway/lib/Service/Billing/MeterEventService.php000064400000001366147206617610020135 0ustar00request('post', '/v1/billing/meter_events', $params, $opts); } } lib/stripe-gateway/lib/Service/Billing/BillingServiceFactory.php000064400000001422147206617610020760 0ustar00 */ private static $classMap = [ 'meterEventAdjustments' => MeterEventAdjustmentService::class, 'meterEvents' => MeterEventService::class, 'meters' => MeterService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/BalanceTransactionService.php000064400000003346147206617610020232 0ustar00/v1/balance/history. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\BalanceTransaction> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/balance_transactions', $params, $opts); } /** * Retrieves the balance transaction with the given ID. * * Note that this endpoint previously used the path * /v1/balance/history/:id. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BalanceTransaction */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/balance_transactions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/ReviewService.php000064400000003707147206617610015741 0ustar00Review objects that have open set to * true. The objects are sorted in descending order by creation date, * with the most recently created object appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Review> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/reviews', $params, $opts); } /** * Approves a Review object, closing it and removing it from the list * of reviews. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Review */ public function approve($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/reviews/%s/approve', $id), $params, $opts); } /** * Retrieves a Review object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Review */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/reviews/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/CoreServiceFactory.php000064400000016674147206617610016727 0ustar00 */ private static $classMap = [ 'oauth' => OAuthService::class, // Class Map: The beginning of the section generated from our OpenAPI spec 'accountLinks' => AccountLinkService::class, 'accounts' => AccountService::class, 'accountSessions' => AccountSessionService::class, 'applePayDomains' => ApplePayDomainService::class, 'applicationFees' => ApplicationFeeService::class, 'apps' => Apps\AppsServiceFactory::class, 'balance' => BalanceService::class, 'balanceTransactions' => BalanceTransactionService::class, 'billing' => Billing\BillingServiceFactory::class, 'billingPortal' => BillingPortal\BillingPortalServiceFactory::class, 'charges' => ChargeService::class, 'checkout' => Checkout\CheckoutServiceFactory::class, 'climate' => Climate\ClimateServiceFactory::class, 'confirmationTokens' => ConfirmationTokenService::class, 'countrySpecs' => CountrySpecService::class, 'coupons' => CouponService::class, 'creditNotes' => CreditNoteService::class, 'customers' => CustomerService::class, 'customerSessions' => CustomerSessionService::class, 'disputes' => DisputeService::class, 'entitlements' => Entitlements\EntitlementsServiceFactory::class, 'ephemeralKeys' => EphemeralKeyService::class, 'events' => EventService::class, 'exchangeRates' => ExchangeRateService::class, 'fileLinks' => FileLinkService::class, 'files' => FileService::class, 'financialConnections' => FinancialConnections\FinancialConnectionsServiceFactory::class, 'forwarding' => Forwarding\ForwardingServiceFactory::class, 'identity' => Identity\IdentityServiceFactory::class, 'invoiceItems' => InvoiceItemService::class, 'invoices' => InvoiceService::class, 'issuing' => Issuing\IssuingServiceFactory::class, 'mandates' => MandateService::class, 'paymentIntents' => PaymentIntentService::class, 'paymentLinks' => PaymentLinkService::class, 'paymentMethodConfigurations' => PaymentMethodConfigurationService::class, 'paymentMethodDomains' => PaymentMethodDomainService::class, 'paymentMethods' => PaymentMethodService::class, 'payouts' => PayoutService::class, 'plans' => PlanService::class, 'prices' => PriceService::class, 'products' => ProductService::class, 'promotionCodes' => PromotionCodeService::class, 'quotes' => QuoteService::class, 'radar' => Radar\RadarServiceFactory::class, 'refunds' => RefundService::class, 'reporting' => Reporting\ReportingServiceFactory::class, 'reviews' => ReviewService::class, 'setupAttempts' => SetupAttemptService::class, 'setupIntents' => SetupIntentService::class, 'shippingRates' => ShippingRateService::class, 'sigma' => Sigma\SigmaServiceFactory::class, 'sources' => SourceService::class, 'subscriptionItems' => SubscriptionItemService::class, 'subscriptions' => SubscriptionService::class, 'subscriptionSchedules' => SubscriptionScheduleService::class, 'tax' => Tax\TaxServiceFactory::class, 'taxCodes' => TaxCodeService::class, 'taxIds' => TaxIdService::class, 'taxRates' => TaxRateService::class, 'terminal' => Terminal\TerminalServiceFactory::class, 'testHelpers' => TestHelpers\TestHelpersServiceFactory::class, 'tokens' => TokenService::class, 'topups' => TopupService::class, 'transfers' => TransferService::class, 'treasury' => Treasury\TreasuryServiceFactory::class, 'webhookEndpoints' => WebhookEndpointService::class, // Class Map: The end of the section generated from our OpenAPI spec ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/BillingPortal/ConfigurationService.php000064400000005002147206617610022037 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/billing_portal/configurations', $params, $opts); } /** * Creates a configuration that describes the functionality and behavior of a * PortalSession. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BillingPortal\Configuration */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/billing_portal/configurations', $params, $opts); } /** * Retrieves a configuration that describes the functionality of the customer * portal. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BillingPortal\Configuration */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/billing_portal/configurations/%s', $id), $params, $opts); } /** * Updates a configuration that describes the functionality of the customer portal. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BillingPortal\Configuration */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/billing_portal/configurations/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/BillingPortal/SessionService.php000064400000001412147206617610020654 0ustar00request('post', '/v1/billing_portal/sessions', $params, $opts); } } lib/stripe-gateway/lib/Service/BillingPortal/BillingPortalServiceFactory.php000064400000001261147206617610023325 0ustar00 */ private static $classMap = [ 'configurations' => ConfigurationService::class, 'sessions' => SessionService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/TopupService.php000064400000005471147206617610015607 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/topups', $params, $opts); } /** * Cancels a top-up. Only pending top-ups can be canceled. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Topup */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/topups/%s/cancel', $id), $params, $opts); } /** * Top up the balance of an account. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Topup */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/topups', $params, $opts); } /** * Retrieves the details of a top-up that has previously been created. Supply the * unique top-up ID that was returned from your previous request, and Stripe will * return the corresponding top-up information. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Topup */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/topups/%s', $id), $params, $opts); } /** * Updates the metadata of a top-up. Other top-up details are not editable by * design. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Topup */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/topups/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/SubscriptionService.php000064400000023737147206617610017171 0ustar00status=canceled. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Subscription> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/subscriptions', $params, $opts); } /** * Cancels a customer’s subscription immediately. The customer will not be charged * again for the subscription. * * Note, however, that any pending invoice items that you’ve created will still be * charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel * at the end of the period, any pending prorations will also be left in place and * collected at the end of the period. But if the subscription is set to cancel * immediately, pending prorations will be removed. * * By default, upon subscription cancellation, Stripe will stop automatic * collection of all finalized invoices for the customer. This is intended to * prevent unexpected payment attempts after the customer has canceled a * subscription. However, you can resume automatic collection of the invoices * manually after subscription cancellation to have us proceed. Or, you could check * for unpaid invoices before allowing the customer to cancel the subscription at * all. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription */ public function cancel($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/subscriptions/%s', $id), $params, $opts); } /** * Creates a new subscription on an existing customer. Each customer can have up to * 500 active or scheduled subscriptions. * * When you create a subscription with * collection_method=charge_automatically, the first invoice is * finalized as part of the request. The payment_behavior parameter * determines the exact behavior of the initial payment. * * To start subscriptions where the first invoice always begins in a * draft status, use subscription * schedules instead. Schedules provide the flexibility to model more complex * billing configurations that change over time. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/subscriptions', $params, $opts); } /** * Removes the currently applied discount on a subscription. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Discount */ public function deleteDiscount($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/subscriptions/%s/discount', $id), $params, $opts); } /** * Initiates resumption of a paused subscription, optionally resetting the billing * cycle anchor and creating prorations. If a resumption invoice is generated, it * must be paid or marked uncollectible before the subscription will be unpaused. * If payment succeeds the subscription will become active, and if * payment fails the subscription will be past_due. The resumption * invoice will void automatically if not paid by the expiration date. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription */ public function resume($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/subscriptions/%s/resume', $id), $params, $opts); } /** * Retrieves the subscription with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/subscriptions/%s', $id), $params, $opts); } /** * Search for subscriptions you’ve previously created using Stripe’s Search Query Language. Don’t use * search in read-after-write flows where strict consistency is necessary. Under * normal operating conditions, data is searchable in less than a minute. * Occasionally, propagation of new or updated data can be up to an hour behind * during outages. Search functionality is not available to merchants in India. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Subscription> */ public function search($params = null, $opts = null) { return $this->requestSearchResult('get', '/v1/subscriptions/search', $params, $opts); } /** * Updates an existing subscription to match the specified parameters. When * changing prices or quantities, we optionally prorate the price we charge next * month to make up for any price changes. To preview how the proration is * calculated, use the create * preview endpoint. * * By default, we prorate subscription changes. For example, if a customer signs up * on May 1 for a 100 price, they’ll be billed * 100 immediately. If on May 15 they switch to a * 200 price, then on June 1 they’ll be billed * 250 (200 for a renewal of her * subscription, plus a 50 prorating adjustment for half of * the previous month’s 100 difference). Similarly, a * downgrade generates a credit that is applied to the next invoice. We also * prorate when you make quantity changes. * * Switching prices does not normally change the billing date or generate an * immediate charge unless: * *
  • The billing interval is changed (for example, from monthly to * yearly).
  • The subscription moves from free to paid.
  • A trial * starts or ends.
* * In these cases, we apply a credit for the unused time on the previous price, * immediately charge the customer using the new price, and reset the billing date. * Learn about how Stripe * immediately attempts payment for subscription changes. * * If you want to charge for an upgrade immediately, pass * proration_behavior as always_invoice to create * prorations, automatically invoice the customer for those proration adjustments, * and attempt to collect payment. If you pass create_prorations, the * prorations are created but not automatically invoiced. If you want to bill the * customer for the prorations before the subscription’s renewal date, you need to * manually invoice the customer. * * If you don’t want to prorate, set the proration_behavior option to * none. With this option, the customer is billed * 100 on May 1 and 200 on June 1. * Similarly, if you set proration_behavior to none when * switching between different billing intervals (for example, from monthly to * yearly), we don’t generate any credits for the old subscription’s unused time. * We still reset the billing date and bill immediately for the new subscription. * * Updating the quantity on a subscription many times in an hour may result in rate limiting. If you need to bill for a frequently * changing quantity, consider integrating usage-based billing instead. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/subscriptions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/CouponService.php000064400000007522147206617610015742 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/coupons', $params, $opts); } /** * You can create coupons easily via the coupon management page of the * Stripe dashboard. Coupon creation is also accessible via the API if you need to * create coupons on the fly. * * A coupon has either a percent_off or an amount_off and * currency. If you set an amount_off, that amount will * be subtracted from any invoice’s subtotal. For example, an invoice with a * subtotal of 100 will have a final total of * 0 if a coupon with an amount_off of * 200 is applied to it and an invoice with a subtotal of * 300 will have a final total of 100 if * a coupon with an amount_off of 200 is applied to * it. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Coupon */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/coupons', $params, $opts); } /** * You can delete coupons via the coupon management page of the * Stripe dashboard. However, deleting a coupon does not affect any customers who * have already applied the coupon; it means that new customers can’t redeem the * coupon. You can also delete coupons via the API. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Coupon */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/coupons/%s', $id), $params, $opts); } /** * Retrieves the coupon with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Coupon */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/coupons/%s', $id), $params, $opts); } /** * Updates the metadata of a coupon. Other coupon details (currency, duration, * amount_off) are, by design, not editable. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Coupon */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/coupons/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/SetupAttemptService.php000064400000001453147206617610017133 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/setup_attempts', $params, $opts); } } lib/stripe-gateway/lib/Service/Tax/SettingsService.php000064400000002427147206617610017032 0ustar00Settings for a merchant. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Settings */ public function retrieve($params = null, $opts = null) { return $this->request('get', '/v1/tax/settings', $params, $opts); } /** * Updates Tax Settings parameters used in tax calculations. All * parameters are editable but none can be removed once set. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Settings */ public function update($params = null, $opts = null) { return $this->request('post', '/v1/tax/settings', $params, $opts); } } lib/stripe-gateway/lib/Service/Tax/TaxServiceFactory.php000064400000001527147206617610017316 0ustar00 */ private static $classMap = [ 'calculations' => CalculationService::class, 'registrations' => RegistrationService::class, 'settings' => SettingsService::class, 'transactions' => TransactionService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Tax/CalculationService.php000064400000002634147206617610017470 0ustar00 */ public function allLineItems($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/tax/calculations/%s/line_items', $id), $params, $opts); } /** * Calculates tax based on the input and returns a Tax Calculation * object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Calculation */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/tax/calculations', $params, $opts); } } lib/stripe-gateway/lib/Service/Tax/RegistrationService.php000064400000004653147206617610017707 0ustar00Registration objects. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Tax\Registration> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/tax/registrations', $params, $opts); } /** * Creates a new Tax Registration object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Registration */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/tax/registrations', $params, $opts); } /** * Returns a Tax Registration object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Registration */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/tax/registrations/%s', $id), $params, $opts); } /** * Updates an existing Tax Registration object. * * A registration cannot be deleted after it has been created. If you wish to end a * registration you may do so by setting expires_at. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Registration */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/tax/registrations/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Tax/TransactionService.php000064400000004713147206617610017517 0ustar00 */ public function allLineItems($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/tax/transactions/%s/line_items', $id), $params, $opts); } /** * Creates a Tax Transaction from a calculation, if that calculation hasn’t * expired. Calculations expire after 90 days. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Transaction */ public function createFromCalculation($params = null, $opts = null) { return $this->request('post', '/v1/tax/transactions/create_from_calculation', $params, $opts); } /** * Partially or fully reverses a previously created Transaction. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Transaction */ public function createReversal($params = null, $opts = null) { return $this->request('post', '/v1/tax/transactions/create_reversal', $params, $opts); } /** * Retrieves a Tax Transaction object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Transaction */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/tax/transactions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/AccountSessionService.php000064400000001541147206617610017432 0ustar00request('post', '/v1/account_sessions', $params, $opts); } } lib/stripe-gateway/lib/Service/Identity/VerificationReportService.php000064400000002501147206617610022076 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/identity/verification_reports', $params, $opts); } /** * Retrieves an existing VerificationReport. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationReport */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/identity/verification_reports/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Identity/VerificationSessionService.php000064400000013446147206617610022260 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/identity/verification_sessions', $params, $opts); } /** * A VerificationSession object can be canceled when it is in * requires_input status. * * Once canceled, future submission attempts are disabled. This cannot be undone. * Learn more. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/identity/verification_sessions/%s/cancel', $id), $params, $opts); } /** * Creates a VerificationSession object. * * After the VerificationSession is created, display a verification modal using the * session client_secret or send your users to the session’s * url. * * If your API key is in test mode, verification checks won’t actually process, * though everything else will occur as if in live mode. * * Related guide: Verify your * users’ identity documents * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/identity/verification_sessions', $params, $opts); } /** * Redact a VerificationSession to remove all collected information from Stripe. * This will redact the VerificationSession and all objects related to it, * including VerificationReports, Events, request logs, etc. * * A VerificationSession object can be redacted when it is in * requires_input or verified status. Redacting a * VerificationSession in requires_action state will automatically * cancel it. * * The redaction process may take up to four days. When the redaction process is in * progress, the VerificationSession’s redaction.status field will be * set to processing; when the process is finished, it will change to * redacted and an identity.verification_session.redacted * event will be emitted. * * Redaction is irreversible. Redacted objects are still accessible in the Stripe * API, but all the fields that contain personal data will be replaced by the * string [redacted] or a similar placeholder. The * metadata field will also be erased. Redacted objects cannot be * updated or used for any purpose. * * Learn more. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession */ public function redact($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/identity/verification_sessions/%s/redact', $id), $params, $opts); } /** * Retrieves the details of a VerificationSession that was previously created. * * When the session status is requires_input, you can use this method * to retrieve a valid client_secret or url to allow * re-submission. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/identity/verification_sessions/%s', $id), $params, $opts); } /** * Updates a VerificationSession object. * * When the session status is requires_input, you can use this method * to update the verification check and options. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/identity/verification_sessions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Identity/IdentityServiceFactory.php000064400000001346147206617610021407 0ustar00 */ private static $classMap = [ 'verificationReports' => VerificationReportService::class, 'verificationSessions' => VerificationSessionService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/AbstractService.php000064400000006030147206617610016233 0ustar00client = $client; $this->streamingClient = $client; } /** * Gets the client used by this service to send requests. * * @return \Stripe\StripeClientInterface */ public function getClient() { return $this->client; } /** * Gets the client used by this service to send requests. * * @return \Stripe\StripeStreamingClientInterface */ public function getStreamingClient() { return $this->streamingClient; } /** * Translate null values to empty strings. For service methods, * we interpret null as a request to unset the field, which * corresponds to sending an empty string for the field to the * API. * * @param null|array $params */ private static function formatParams($params) { if (null === $params) { return null; } \array_walk_recursive($params, function (&$value, $key) { if (null === $value) { $value = ''; } }); return $params; } protected function request($method, $path, $params, $opts) { return $this->getClient()->request($method, $path, self::formatParams($params), $opts); } protected function requestStream($method, $path, $readBodyChunkCallable, $params, $opts) { // TODO (MAJOR): Add this method to StripeClientInterface // @phpstan-ignore-next-line return $this->getStreamingClient()->requestStream($method, $path, $readBodyChunkCallable, self::formatParams($params), $opts); } protected function requestCollection($method, $path, $params, $opts) { // TODO (MAJOR): Add this method to StripeClientInterface // @phpstan-ignore-next-line return $this->getClient()->requestCollection($method, $path, self::formatParams($params), $opts); } protected function requestSearchResult($method, $path, $params, $opts) { // TODO (MAJOR): Add this method to StripeClientInterface // @phpstan-ignore-next-line return $this->getClient()->requestSearchResult($method, $path, self::formatParams($params), $opts); } protected function buildPath($basePath, ...$ids) { foreach ($ids as $id) { if (null === $id || '' === \trim($id)) { $msg = 'The resource ID cannot be null or whitespace.'; throw new \Stripe\Exception\InvalidArgumentException($msg); } } return \sprintf($basePath, ...\array_map('\urlencode', $ids)); } } lib/stripe-gateway/lib/Service/TransferService.php000064400000014117147206617610016261 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/transfers', $params, $opts); } /** * You can see a list of the reversals belonging to a specific transfer. Note that * the 10 most recent reversals are always available by default on the transfer * object. If you need more than those 10, you can use this API method and the * limit and starting_after parameters to page through * additional reversals. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TransferReversal> */ public function allReversals($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/transfers/%s/reversals', $parentId), $params, $opts); } /** * To send funds from your Stripe account to a connected account, you create a new * transfer object. Your Stripe balance must be able to * cover the transfer amount, or you’ll receive an “Insufficient Funds” error. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Transfer */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/transfers', $params, $opts); } /** * When you create a new reversal, you must specify a transfer to create it on. * * When reversing transfers, you can optionally reverse part of the transfer. You * can do so as many times as you wish until the entire transfer has been reversed. * * Once entirely reversed, a transfer can’t be reversed again. This method will * return an error when called on an already-reversed transfer, or when trying to * reverse more money than is left on a transfer. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TransferReversal */ public function createReversal($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/transfers/%s/reversals', $parentId), $params, $opts); } /** * Retrieves the details of an existing transfer. Supply the unique transfer ID * from either a transfer creation request or the transfer list, and Stripe will * return the corresponding transfer information. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Transfer */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/transfers/%s', $id), $params, $opts); } /** * By default, you can see the 10 most recent reversals stored directly on the * transfer object, but you can also retrieve details about a specific reversal * stored on the transfer. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TransferReversal */ public function retrieveReversal($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/transfers/%s/reversals/%s', $parentId, $id), $params, $opts); } /** * Updates the specified transfer by setting the values of the parameters passed. * Any parameters not provided will be left unchanged. * * This request accepts only metadata as an argument. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Transfer */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/transfers/%s', $id), $params, $opts); } /** * Updates the specified reversal by setting the values of the parameters passed. * Any parameters not provided will be left unchanged. * * This request only accepts metadata and description as arguments. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TransferReversal */ public function updateReversal($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/transfers/%s/reversals/%s', $parentId, $id), $params, $opts); } } lib/stripe-gateway/lib/Service/FileService.php000064400000004333147206617610015353 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/files', $params, $opts); } /** * Retrieves the details of an existing file object. After you supply a unique file * ID, Stripe returns the corresponding file object. Learn how to access file contents. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\File */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/files/%s', $id), $params, $opts); } /** * Create a file. * * @param null|array $params * @param null|array|\Stripe\Util\RequestOptions $opts * * @return \Stripe\File */ public function create($params = null, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); if (!isset($opts->apiBase)) { $opts->apiBase = $this->getClient()->getFilesBase(); } // Manually flatten params, otherwise curl's multipart encoder will // choke on nested null|arrays. $flatParams = \array_column(\Stripe\Util\Util::flattenParams($params), 1, 0); return $this->request('post', '/v1/files', $flatParams, $opts); } } lib/stripe-gateway/lib/Service/DisputeService.php000064400000006031147206617610016106 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/disputes', $params, $opts); } /** * Closing the dispute for a charge indicates that you do not have any evidence to * submit and are essentially dismissing the dispute, acknowledging it as lost. * * The status of the dispute will change from needs_response to * lost. Closing a dispute is irreversible. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Dispute */ public function close($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/disputes/%s/close', $id), $params, $opts); } /** * Retrieves the dispute with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Dispute */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/disputes/%s', $id), $params, $opts); } /** * When you get a dispute, contacting your customer is always the best first step. * If that doesn’t work, you can submit evidence to help us resolve the dispute in * your favor. You can do this in your dashboard, but if you prefer, * you can use the API to submit evidence programmatically. * * Depending on your dispute type, different evidence fields will give you a better * chance of winning your dispute. To figure out which evidence fields to provide, * see our guide to dispute types. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Dispute */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/disputes/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/PaymentMethodService.php000064400000012654147206617610017257 0ustar00List a Customer’s * PaymentMethods API instead. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\PaymentMethod> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/payment_methods', $params, $opts); } /** * Attaches a PaymentMethod object to a Customer. * * To attach a new PaymentMethod to a customer for future payments, we recommend * you use a SetupIntent or a PaymentIntent * with setup_future_usage. * These approaches will perform any necessary steps to set up the PaymentMethod * for future payments. Using the /v1/payment_methods/:id/attach * endpoint without first using a SetupIntent or PaymentIntent with * setup_future_usage does not optimize the PaymentMethod for future * use, which makes later declines and payment friction more likely. See Optimizing cards for future * payments for more information about setting up future payments. * * To use this PaymentMethod as the default for invoice or subscription payments, * set invoice_settings.default_payment_method, * on the Customer to the PaymentMethod’s ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod */ public function attach($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_methods/%s/attach', $id), $params, $opts); } /** * Creates a PaymentMethod object. Read the Stripe.js * reference to learn how to create PaymentMethods via Stripe.js. * * Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a * payment immediately or the SetupIntent API to collect payment * method details ahead of a future payment. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/payment_methods', $params, $opts); } /** * Detaches a PaymentMethod object from a Customer. After a PaymentMethod is * detached, it can no longer be used for a payment or re-attached to a Customer. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod */ public function detach($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_methods/%s/detach', $id), $params, $opts); } /** * Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a * payment method attached to a Customer, you should use Retrieve a Customer’s * PaymentMethods. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/payment_methods/%s', $id), $params, $opts); } /** * Updates a PaymentMethod object. A PaymentMethod must be attached a customer to * be updated. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethod */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_methods/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Radar/ValueListService.php000064400000006263147206617610017441 0ustar00ValueList objects. The objects are sorted in * descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Radar\ValueList> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/radar/value_lists', $params, $opts); } /** * Creates a new ValueList object, which can then be referenced in * rules. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueList */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/radar/value_lists', $params, $opts); } /** * Deletes a ValueList object, also deleting any items contained * within the value list. To be deleted, a value list must not be referenced in any * rules. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueList */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/radar/value_lists/%s', $id), $params, $opts); } /** * Retrieves a ValueList object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueList */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/radar/value_lists/%s', $id), $params, $opts); } /** * Updates a ValueList object by setting the values of the parameters * passed. Any parameters not provided will be left unchanged. Note that * item_type is immutable. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueList */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/radar/value_lists/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Radar/RadarServiceFactory.php000064400000001434147206617610020105 0ustar00 */ private static $classMap = [ 'earlyFraudWarnings' => EarlyFraudWarningService::class, 'valueListItems' => ValueListItemService::class, 'valueLists' => ValueListService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Radar/ValueListItemService.php000064400000005002147206617610020246 0ustar00ValueListItem objects. The objects are sorted in * descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Radar\ValueListItem> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/radar/value_list_items', $params, $opts); } /** * Creates a new ValueListItem object, which is added to the specified * parent value list. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueListItem */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/radar/value_list_items', $params, $opts); } /** * Deletes a ValueListItem object, removing it from its parent value * list. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueListItem */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/radar/value_list_items/%s', $id), $params, $opts); } /** * Retrieves a ValueListItem object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueListItem */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/radar/value_list_items/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Radar/EarlyFraudWarningService.php000064400000002761147206617610021114 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/radar/early_fraud_warnings', $params, $opts); } /** * Retrieves the details of an early fraud warning that has previously been * created. * * Please refer to the early fraud * warning object reference for more details. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\EarlyFraudWarning */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/radar/early_fraud_warnings/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/PaymentIntentService.php000064400000027527147206617610017305 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/payment_intents', $params, $opts); } /** * Manually reconcile the remaining amount for a customer_balance * PaymentIntent. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function applyCustomerBalance($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/apply_customer_balance', $id), $params, $opts); } /** * You can cancel a PaymentIntent object when it’s in one of these statuses: * requires_payment_method, requires_capture, * requires_confirmation, requires_action or, in rare cases, processing. * * After it’s canceled, no additional charges are made by the PaymentIntent and any * operations on the PaymentIntent fail with an error. For PaymentIntents with a * status of requires_capture, the remaining * amount_capturable is automatically refunded. * * You can’t cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session * instead. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/cancel', $id), $params, $opts); } /** * Capture the funds of an existing uncaptured PaymentIntent when its status is * requires_capture. * * Uncaptured PaymentIntents are cancelled a set number of days (7 by default) * after their creation. * * Learn more about separate authorization * and capture. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function capture($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/capture', $id), $params, $opts); } /** * Confirm that your customer intends to pay with current or provided payment * method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. * If the selected payment method requires additional authentication steps, the * PaymentIntent will transition to the requires_action status and * suggest additional actions via next_action. If payment fails, the * PaymentIntent transitions to the requires_payment_method status or * the canceled status if the confirmation limit is reached. If * payment succeeds, the PaymentIntent will transition to the * succeeded status (or requires_capture, if * capture_method is set to manual). If the * confirmation_method is automatic, payment may be * attempted using our client SDKs and * the PaymentIntent’s client_secret. After * next_actions are handled by the client, no additional confirmation * is required to complete the payment. If the confirmation_method is * manual, all payment attempts must be initiated using a secret key. * If any actions are required for the payment, the PaymentIntent will return to * the requires_confirmation state after those actions are completed. * Your server needs to then explicitly re-confirm the PaymentIntent to initiate * the next payment attempt. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function confirm($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/confirm', $id), $params, $opts); } /** * Creates a PaymentIntent object. * * After the PaymentIntent is created, attach a payment method and confirm to continue the payment. * Learn more about the available payment * flows with the Payment Intents API. * * When you use confirm=true during creation, it’s equivalent to * creating and confirming the PaymentIntent in the same call. You can use any * parameters available in the confirm * API when you supply confirm=true. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/payment_intents', $params, $opts); } /** * Perform an incremental authorization on an eligible PaymentIntent. To be eligible, the * PaymentIntent’s status must be requires_capture and incremental_authorization_supported * must be true. * * Incremental authorizations attempt to increase the authorized amount on your * customer’s card to the new, higher amount provided. Similar to the * initial authorization, incremental authorizations can be declined. A single * PaymentIntent can call this endpoint multiple times to further increase the * authorized amount. * * If the incremental authorization succeeds, the PaymentIntent object returns with * the updated amount. * If the incremental authorization fails, a card_declined error returns, and no * other fields on the PaymentIntent or Charge update. The PaymentIntent object * remains capturable for the previously authorized amount. * * Each PaymentIntent can have a maximum of 10 incremental authorization attempts, * including declines. After it’s captured, a PaymentIntent can no longer be * incremented. * * Learn more about incremental * authorizations. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function incrementAuthorization($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/increment_authorization', $id), $params, $opts); } /** * Retrieves the details of a PaymentIntent that has previously been created. * * You can retrieve a PaymentIntent client-side using a publishable key when the * client_secret is in the query string. * * If you retrieve a PaymentIntent with a publishable key, it only returns a subset * of properties. Refer to the payment intent * object reference for more details. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/payment_intents/%s', $id), $params, $opts); } /** * Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language. Don’t use * search in read-after-write flows where strict consistency is necessary. Under * normal operating conditions, data is searchable in less than a minute. * Occasionally, propagation of new or updated data can be up to an hour behind * during outages. Search functionality is not available to merchants in India. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\PaymentIntent> */ public function search($params = null, $opts = null) { return $this->requestSearchResult('get', '/v1/payment_intents/search', $params, $opts); } /** * Updates properties on a PaymentIntent object without confirming. * * Depending on which properties you update, you might need to confirm the * PaymentIntent again. For example, updating the payment_method * always requires you to confirm the PaymentIntent again. If you prefer to update * and confirm at the same time, we recommend updating properties through the confirm API instead. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s', $id), $params, $opts); } /** * Verifies microdeposits on a PaymentIntent object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function verifyMicrodeposits($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/verify_microdeposits', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/PaymentLinkService.php000064400000005535147206617610016734 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/payment_links', $params, $opts); } /** * When retrieving a payment link, there is an includable * line_items property containing the first handful of those * items. There is also a URL where you can retrieve the full (paginated) list of * line items. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\LineItem> */ public function allLineItems($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/payment_links/%s/line_items', $id), $params, $opts); } /** * Creates a payment link. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentLink */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/payment_links', $params, $opts); } /** * Retrieve a payment link. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentLink */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/payment_links/%s', $id), $params, $opts); } /** * Updates a payment link. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentLink */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_links/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/InvoiceService.php000064400000041567147206617610016102 0ustar00request('post', $this->buildPath('/v1/invoices/%s/add_lines', $id), $params, $opts); } /** * You can list all invoices, or list the invoices for a specific customer. The * invoices are returned sorted by creation date, with the most recently created * invoices appearing first. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Invoice> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/invoices', $params, $opts); } /** * When retrieving an invoice, you’ll get a lines property * containing the total count of line items and the first handful of those items. * There is also a URL where you can retrieve the full (paginated) list of line * items. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\InvoiceLineItem> */ public function allLines($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/invoices/%s/lines', $parentId), $params, $opts); } /** * This endpoint creates a draft invoice for a given customer. The invoice remains * a draft until you finalize the invoice, which * allows you to pay or send * the invoice to your customers. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/invoices', $params, $opts); } /** * At any time, you can preview the upcoming invoice for a customer. This will show * you all the charges that are pending, including subscription renewal charges, * invoice item charges, etc. It will also show you any discounts that are * applicable to the invoice. * * Note that when you are viewing an upcoming invoice, you are simply viewing a * preview – the invoice has not yet been created. As such, the upcoming invoice * will not show up in invoice listing calls, and you cannot use the API to pay or * edit the invoice. If you want to change the amount that your customer will be * billed, you can add, remove, or update pending invoice items, or update the * customer’s discount. * * You can preview the effects of updating a subscription, including a preview of * what proration will take place. To ensure that the actual proration is * calculated exactly the same as the previewed proration, you should pass the * subscription_details.proration_date parameter when doing the actual * subscription update. The recommended way to get only the prorations being * previewed is to consider only proration line items where * period[start] is equal to the * subscription_details.proration_date value passed in the request. * * Note: Currency conversion calculations use the latest exchange rates. Exchange * rates may vary between the time of the preview and the time of the actual * invoice creation. Learn * more * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function createPreview($params = null, $opts = null) { return $this->request('post', '/v1/invoices/create_preview', $params, $opts); } /** * Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to * delete invoices that are no longer in a draft state will fail; once an invoice * has been finalized or if an invoice is for a subscription, it must be voided. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/invoices/%s', $id), $params, $opts); } /** * Stripe automatically finalizes drafts before sending and attempting payment on * invoices. However, if you’d like to finalize a draft invoice manually, you can * do so using this method. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function finalizeInvoice($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s/finalize', $id), $params, $opts); } /** * Marking an invoice as uncollectible is useful for keeping track of bad debts * that can be written off for accounting purposes. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function markUncollectible($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s/mark_uncollectible', $id), $params, $opts); } /** * Stripe automatically creates and then attempts to collect payment on invoices * for customers on subscriptions according to your subscriptions * settings. However, if you’d like to attempt payment on an invoice out of the * normal collection schedule or for some other reason, you can do so. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function pay($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s/pay', $id), $params, $opts); } /** * Removes multiple line items from an invoice. This is only possible when an * invoice is still a draft. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function removeLines($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s/remove_lines', $id), $params, $opts); } /** * Retrieves the invoice with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/invoices/%s', $id), $params, $opts); } /** * Search for invoices you’ve previously created using Stripe’s Search Query Language. Don’t use * search in read-after-write flows where strict consistency is necessary. Under * normal operating conditions, data is searchable in less than a minute. * Occasionally, propagation of new or updated data can be up to an hour behind * during outages. Search functionality is not available to merchants in India. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Invoice> */ public function search($params = null, $opts = null) { return $this->requestSearchResult('get', '/v1/invoices/search', $params, $opts); } /** * Stripe will automatically send invoices to customers according to your subscriptions * settings. However, if you’d like to manually send an invoice to your * customer out of the normal schedule, you can do so. When sending invoices that * have already been paid, there will be no reference to the payment in the email. * * Requests made in test-mode result in no emails being sent, despite sending an * invoice.sent event. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function sendInvoice($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s/send', $id), $params, $opts); } /** * At any time, you can preview the upcoming invoice for a customer. This will show * you all the charges that are pending, including subscription renewal charges, * invoice item charges, etc. It will also show you any discounts that are * applicable to the invoice. * * Note that when you are viewing an upcoming invoice, you are simply viewing a * preview – the invoice has not yet been created. As such, the upcoming invoice * will not show up in invoice listing calls, and you cannot use the API to pay or * edit the invoice. If you want to change the amount that your customer will be * billed, you can add, remove, or update pending invoice items, or update the * customer’s discount. * * You can preview the effects of updating a subscription, including a preview of * what proration will take place. To ensure that the actual proration is * calculated exactly the same as the previewed proration, you should pass the * subscription_details.proration_date parameter when doing the actual * subscription update. The recommended way to get only the prorations being * previewed is to consider only proration line items where * period[start] is equal to the * subscription_details.proration_date value passed in the request. * * Note: Currency conversion calculations use the latest exchange rates. Exchange * rates may vary between the time of the preview and the time of the actual * invoice creation. Learn * more * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function upcoming($params = null, $opts = null) { return $this->request('get', '/v1/invoices/upcoming', $params, $opts); } /** * When retrieving an upcoming invoice, you’ll get a lines * property containing the total count of line items and the first handful of those * items. There is also a URL where you can retrieve the full (paginated) list of * line items. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\InvoiceLineItem> */ public function upcomingLines($params = null, $opts = null) { return $this->requestCollection('get', '/v1/invoices/upcoming/lines', $params, $opts); } /** * Draft invoices are fully editable. Once an invoice is finalized, monetary values, * as well as collection_method, become uneditable. * * If you would like to stop the Stripe Billing engine from automatically * finalizing, reattempting payments on, sending reminders for, or automatically reconciling * invoices, pass auto_advance=false. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s', $id), $params, $opts); } /** * Updates an invoice’s line item. Some fields, such as tax_amounts, * only live on the invoice line item, so they can only be updated through this * endpoint. Other fields, such as amount, live on both the invoice * item and the invoice line item, so updates on this endpoint will propagate to * the invoice item as well. Updating an invoice’s line item is only possible * before the invoice is finalized. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\InvoiceLineItem */ public function updateLine($parentId, $id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s/lines/%s', $parentId, $id), $params, $opts); } /** * Updates multiple line items on an invoice. This is only possible when an invoice * is still a draft. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function updateLines($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s/update_lines', $id), $params, $opts); } /** * Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is * similar to deletion, however it only applies to * finalized invoices and maintains a papertrail where the invoice can still be * found. * * Consult with local regulations to determine whether and how an invoice might be * amended, canceled, or voided in the jurisdiction you’re doing business in. You * might need to issue another invoice or credit note instead. Stripe recommends that you * consult with your legal counsel for advice specific to your business. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Invoice */ public function voidInvoice($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/invoices/%s/void', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/OutboundTransferService.php000064400000004775147206617610021630 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/outbound_transfers', $params, $opts); } /** * An OutboundTransfer can be canceled if the funds have not yet been paid out. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/treasury/outbound_transfers/%s/cancel', $id), $params, $opts); } /** * Creates an OutboundTransfer. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/treasury/outbound_transfers', $params, $opts); } /** * Retrieves the details of an existing OutboundTransfer by passing the unique * OutboundTransfer ID from either the OutboundTransfer creation request or * OutboundTransfer list. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/outbound_transfers/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/InboundTransferService.php000064400000004475147206617610021424 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/inbound_transfers', $params, $opts); } /** * Cancels an InboundTransfer. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/treasury/inbound_transfers/%s/cancel', $id), $params, $opts); } /** * Creates an InboundTransfer. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/treasury/inbound_transfers', $params, $opts); } /** * Retrieves the details of an existing InboundTransfer. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/inbound_transfers/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/ReceivedCreditService.php000064400000002610147206617610021167 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/received_credits', $params, $opts); } /** * Retrieves the details of an existing ReceivedCredit by passing the unique * ReceivedCredit ID from the ReceivedCredit list. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\ReceivedCredit */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/received_credits/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/ReceivedDebitService.php000064400000002577147206617610021020 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/received_debits', $params, $opts); } /** * Retrieves the details of an existing ReceivedDebit by passing the unique * ReceivedDebit ID from the ReceivedDebit list. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\ReceivedDebit */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/received_debits/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/TreasuryServiceFactory.php000064400000003110147206617610021450 0ustar00 */ private static $classMap = [ 'creditReversals' => CreditReversalService::class, 'debitReversals' => DebitReversalService::class, 'financialAccounts' => FinancialAccountService::class, 'inboundTransfers' => InboundTransferService::class, 'outboundPayments' => OutboundPaymentService::class, 'outboundTransfers' => OutboundTransferService::class, 'receivedCredits' => ReceivedCreditService::class, 'receivedDebits' => ReceivedDebitService::class, 'transactionEntries' => TransactionEntryService::class, 'transactions' => TransactionService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Treasury/FinancialAccountService.php000064400000006753147206617610021523 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/financial_accounts', $params, $opts); } /** * Creates a new FinancialAccount. For now, each connected account can only have * one FinancialAccount. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccount */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/treasury/financial_accounts', $params, $opts); } /** * Retrieves the details of a FinancialAccount. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccount */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/financial_accounts/%s', $id), $params, $opts); } /** * Retrieves Features information associated with the FinancialAccount. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccountFeatures */ public function retrieveFeatures($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/financial_accounts/%s/features', $id), $params, $opts); } /** * Updates the details of a FinancialAccount. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccount */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/treasury/financial_accounts/%s', $id), $params, $opts); } /** * Updates the Features associated with a FinancialAccount. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccountFeatures */ public function updateFeatures($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/treasury/financial_accounts/%s/features', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/DebitReversalService.php000064400000003411147206617610021041 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/debit_reversals', $params, $opts); } /** * Reverses a ReceivedDebit and creates a DebitReversal object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\DebitReversal */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/treasury/debit_reversals', $params, $opts); } /** * Retrieves a DebitReversal object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\DebitReversal */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/debit_reversals/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/TransactionService.php000064400000002456147206617610020603 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/transactions', $params, $opts); } /** * Retrieves the details of an existing Transaction. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\Transaction */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/transactions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/TransactionEntryService.php000064400000002503147206617610021616 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/transaction_entries', $params, $opts); } /** * Retrieves a TransactionEntry object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\TransactionEntry */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/transaction_entries/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/OutboundPaymentService.php000064400000004674147206617610021457 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/outbound_payments', $params, $opts); } /** * Cancel an OutboundPayment. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/treasury/outbound_payments/%s/cancel', $id), $params, $opts); } /** * Creates an OutboundPayment. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/treasury/outbound_payments', $params, $opts); } /** * Retrieves the details of an existing OutboundPayment by passing the unique * OutboundPayment ID from either the OutboundPayment creation request or * OutboundPayment list. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/outbound_payments/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Treasury/CreditReversalService.php000064400000003643147206617610021233 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/treasury/credit_reversals', $params, $opts); } /** * Reverses a ReceivedCredit and creates a CreditReversal object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\CreditReversal */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/treasury/credit_reversals', $params, $opts); } /** * Retrieves the details of an existing CreditReversal by passing the unique * CreditReversal ID from either the CreditReversal creation request or * CreditReversal list. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\CreditReversal */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/treasury/credit_reversals/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/EventService.php000064400000003223147206617610015552 0ustar00event object * api_version attribute (not according to your current Stripe API * version or Stripe-Version header). * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Event> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/events', $params, $opts); } /** * Retrieves the details of an event if it was created in the last 30 days. Supply * the unique identifier of the event, which you might have received in a webhook. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Event */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/events/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Entitlements/EntitlementsServiceFactory.php000064400000001276147206617610023155 0ustar00 */ private static $classMap = [ 'activeEntitlements' => ActiveEntitlementService::class, 'features' => FeatureService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Entitlements/FeatureService.php000064400000004324147206617610020542 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/entitlements/features', $params, $opts); } /** * Creates a feature. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Entitlements\Feature */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/entitlements/features', $params, $opts); } /** * Retrieves a feature. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Entitlements\Feature */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/entitlements/features/%s', $id), $params, $opts); } /** * Update a feature’s metadata or permanently deactivate it. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Entitlements\Feature */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/entitlements/features/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Entitlements/ActiveEntitlementService.php000064400000002536147206617610022576 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/entitlements/active_entitlements', $params, $opts); } /** * Retrieve an active entitlement. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Entitlements\ActiveEntitlement */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/entitlements/active_entitlements/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/SetupIntentService.php000064400000012605147206617610016757 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/setup_intents', $params, $opts); } /** * You can cancel a SetupIntent object when it’s in one of these statuses: * requires_payment_method, requires_confirmation, or * requires_action. * * After you cancel it, setup is abandoned and any operations on the SetupIntent * fail with an error. You can’t cancel the SetupIntent for a Checkout Session. Expire the Checkout Session * instead. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/setup_intents/%s/cancel', $id), $params, $opts); } /** * Confirm that your customer intends to set up the current or provided payment * method. For example, you would confirm a SetupIntent when a customer hits the * “Save” button on a payment method management page on your website. * * If the selected payment method does not require any additional steps from the * customer, the SetupIntent will transition to the succeeded status. * * Otherwise, it will transition to the requires_action status and * suggest additional actions via next_action. If setup fails, the * SetupIntent will transition to the requires_payment_method status * or the canceled status if the confirmation limit is reached. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent */ public function confirm($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/setup_intents/%s/confirm', $id), $params, $opts); } /** * Creates a SetupIntent object. * * After you create the SetupIntent, attach a payment method and confirm it to collect any required * permissions to charge the payment method later. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/setup_intents', $params, $opts); } /** * Retrieves the details of a SetupIntent that has previously been created. * * Client-side retrieval using a publishable key is allowed when the * client_secret is provided in the query string. * * When retrieved with a publishable key, only a subset of properties will be * returned. Please refer to the SetupIntent * object reference for more details. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/setup_intents/%s', $id), $params, $opts); } /** * Updates a SetupIntent object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/setup_intents/%s', $id), $params, $opts); } /** * Verifies microdeposits on a SetupIntent object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent */ public function verifyMicrodeposits($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/setup_intents/%s/verify_microdeposits', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/PaymentMethodDomainService.php000064400000006624147206617610020407 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/payment_method_domains', $params, $opts); } /** * Creates a payment method domain. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodDomain */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/payment_method_domains', $params, $opts); } /** * Retrieves the details of an existing payment method domain. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodDomain */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/payment_method_domains/%s', $id), $params, $opts); } /** * Updates an existing payment method domain. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodDomain */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_method_domains/%s', $id), $params, $opts); } /** * Some payment methods such as Apple Pay require additional steps to verify a * domain. If the requirements weren’t satisfied when the domain was created, the * payment method will be inactive on the domain. The payment method doesn’t appear * in Elements for this domain until it is active. * * To activate a payment method on an existing payment method domain, complete the * required validation steps specific to the payment method, and then validate the * payment method domain with this endpoint. * * Related guides: Payment method * domains. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentMethodDomain */ public function validate($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_method_domains/%s/validate', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/RefundService.php000064400000007452147206617610015724 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/refunds', $params, $opts); } /** * Cancels a refund with a status of requires_action. * * You can’t cancel refunds in other states. Only refunds for payment methods that * require customer action can enter the requires_action state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/refunds/%s/cancel', $id), $params, $opts); } /** * When you create a new refund, you must specify a Charge or a PaymentIntent * object on which to create it. * * Creating a new refund will refund a charge that has previously been created but * not yet refunded. Funds will be refunded to the credit or debit card that was * originally charged. * * You can optionally refund only part of a charge. You can do so multiple times, * until the entire charge has been refunded. * * Once entirely refunded, a charge can’t be refunded again. This method will raise * an error when called on an already-refunded charge, or when trying to refund * more money than is left on a charge. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/refunds', $params, $opts); } /** * Retrieves the details of an existing refund. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/refunds/%s', $id), $params, $opts); } /** * Updates the refund that you specify by setting the values of the passed * parameters. Any parameters that you don’t provide remain unchanged. * * This request only accepts metadata as an argument. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Refund */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/refunds/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/CreditNoteService.php000064400000013473147206617610016541 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/credit_notes', $params, $opts); } /** * When retrieving a credit note, you’ll get a lines property * containing the first handful of those items. There is also a URL where you can * retrieve the full (paginated) list of line items. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CreditNoteLineItem> */ public function allLines($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/credit_notes/%s/lines', $parentId), $params, $opts); } /** * Issue a credit note to adjust the amount of a finalized invoice. For a * status=open invoice, a credit note reduces its * amount_due. For a status=paid invoice, a credit note * does not affect its amount_due. Instead, it can result in any * combination of the following:. * *
  • Refund: create a new refund (using refund_amount) or link * an existing refund (using refund).
  • Customer balance * credit: credit the customer’s balance (using credit_amount) which * will be automatically applied to their next invoice when it’s finalized.
  • *
  • Outside of Stripe credit: record the amount that is or will be credited * outside of Stripe (using out_of_band_amount).
* * For post-payment credit notes the sum of the refund, credit and outside of * Stripe amounts must equal the credit note total. * * You may issue multiple credit notes for an invoice. Each credit note will * increment the invoice’s pre_payment_credit_notes_amount or * post_payment_credit_notes_amount depending on its * status at the time of credit note creation. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/credit_notes', $params, $opts); } /** * Get a preview of a credit note without creating it. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote */ public function preview($params = null, $opts = null) { return $this->request('get', '/v1/credit_notes/preview', $params, $opts); } /** * When retrieving a credit note preview, you’ll get a lines * property containing the first handful of those items. This URL you can retrieve * the full (paginated) list of line items. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CreditNoteLineItem> */ public function previewLines($params = null, $opts = null) { return $this->requestCollection('get', '/v1/credit_notes/preview/lines', $params, $opts); } /** * Retrieves the credit note object with the given identifier. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/credit_notes/%s', $id), $params, $opts); } /** * Updates an existing credit note. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/credit_notes/%s', $id), $params, $opts); } /** * Marks a credit note as void. Learn more about voiding credit notes. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote */ public function voidCreditNote($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/credit_notes/%s/void', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Checkout/SessionService.php000064400000007134147206617610017666 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/checkout/sessions', $params, $opts); } /** * When retrieving a Checkout Session, there is an includable * line_items property containing the first handful of those * items. There is also a URL where you can retrieve the full (paginated) list of * line items. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\LineItem> */ public function allLineItems($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/checkout/sessions/%s/line_items', $id), $params, $opts); } /** * Creates a Session object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Checkout\Session */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/checkout/sessions', $params, $opts); } /** * A Session can be expired when it is in one of these statuses: open. * * After it expires, a customer can’t complete a Session and customers loading the * Session see a message saying the Session is expired. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Checkout\Session */ public function expire($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/checkout/sessions/%s/expire', $id), $params, $opts); } /** * Retrieves a Session object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Checkout\Session */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/checkout/sessions/%s', $id), $params, $opts); } /** * Updates a Session object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Checkout\Session */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/checkout/sessions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Checkout/CheckoutServiceFactory.php000064400000001067147206617610021337 0ustar00 */ private static $classMap = [ 'sessions' => SessionService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Forwarding/ForwardingServiceFactory.php000064400000001075147206617610022230 0ustar00 */ private static $classMap = [ 'requests' => RequestService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Forwarding/RequestService.php000064400000003330147206617610020222 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/forwarding/requests', $params, $opts); } /** * Creates a ForwardingRequest object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Forwarding\Request */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/forwarding/requests', $params, $opts); } /** * Retrieves a ForwardingRequest object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Forwarding\Request */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/forwarding/requests/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/OAuthService.php000064400000011412147206617610015510 0ustar00_parseOpts($opts); $opts->apiBase = $this->_getBase($opts); return $this->request($method, $path, $params, $opts); } /** * Generates a URL to Stripe's OAuth form. * * @param null|array $params * @param null|array $opts * * @return string the URL to Stripe's OAuth form */ public function authorizeUrl($params = null, $opts = null) { $params = $params ?: []; $opts = $this->_parseOpts($opts); $base = $this->_getBase($opts); $params['client_id'] = $this->_getClientId($params); if (!\array_key_exists('response_type', $params)) { $params['response_type'] = 'code'; } $query = \Stripe\Util\Util::encodeParameters($params); return $base . '/oauth/authorize?' . $query; } /** * Use an authoriztion code to connect an account to your platform and * fetch the user's credentials. * * @param null|array $params * @param null|array $opts * * @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails * * @return \Stripe\StripeObject object containing the response from the API */ public function token($params = null, $opts = null) { $params = $params ?: []; $params['client_secret'] = $this->_getClientSecret($params); return $this->requestConnect('post', '/oauth/token', $params, $opts); } /** * Disconnects an account from your platform. * * @param null|array $params * @param null|array $opts * * @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails * * @return \Stripe\StripeObject object containing the response from the API */ public function deauthorize($params = null, $opts = null) { $params = $params ?: []; $params['client_id'] = $this->_getClientId($params); return $this->requestConnect('post', '/oauth/deauthorize', $params, $opts); } private function _getClientId($params = null) { $clientId = ($params && \array_key_exists('client_id', $params)) ? $params['client_id'] : null; if (null === $clientId) { $clientId = $this->client->getClientId(); } if (null === $clientId) { $msg = 'No client_id provided. (HINT: set your client_id using ' . '`new \Stripe\StripeClient([clientId => ])`)". You can find your client_ids ' . 'in your Stripe dashboard at ' . 'https://dashboard.stripe.com/account/applications/settings, ' . 'after registering your account as a platform. See ' . 'https://stripe.com/docs/connect/standard-accounts for details, ' . 'or email support@stripe.com if you have any questions.'; throw new \Stripe\Exception\AuthenticationException($msg); } return $clientId; } private function _getClientSecret($params = null) { if (\array_key_exists('client_secret', $params)) { return $params['client_secret']; } return $this->client->getApiKey(); } /** * @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request * * @throws \Stripe\Exception\InvalidArgumentException * * @return \Stripe\Util\RequestOptions */ private function _parseOpts($opts) { if (\is_array($opts)) { if (\array_key_exists('connect_base', $opts)) { // Throw an exception for the convenience of anybody migrating to // \Stripe\Service\OAuthService from \Stripe\OAuth, where `connect_base` // was the name of the parameter that behaves as `api_base` does here. throw new \Stripe\Exception\InvalidArgumentException('Use `api_base`, not `connect_base`'); } } return \Stripe\Util\RequestOptions::parse($opts); } /** * @param \Stripe\Util\RequestOptions $opts * * @return string */ private function _getBase($opts) { return isset($opts->apiBase) ? $opts->apiBase : $this->client->getConnectBase(); } } lib/stripe-gateway/lib/Service/FinancialConnections/AccountService.php000064400000010653147206617610022161 0ustar00Account objects. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\FinancialConnections\Account> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/financial_connections/accounts', $params, $opts); } /** * Lists all owners for a given Account. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\FinancialConnections\AccountOwner> */ public function allOwners($id, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/financial_connections/accounts/%s/owners', $id), $params, $opts); } /** * Disables your access to a Financial Connections Account. You will * no longer be able to access data associated with the account (e.g. balances, * transactions). * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account */ public function disconnect($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/financial_connections/accounts/%s/disconnect', $id), $params, $opts); } /** * Refreshes the data associated with a Financial Connections Account. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account */ public function refresh($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/financial_connections/accounts/%s/refresh', $id), $params, $opts); } /** * Retrieves the details of an Financial Connections Account. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/financial_connections/accounts/%s', $id), $params, $opts); } /** * Subscribes to periodic refreshes of data associated with a Financial Connections * Account. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account */ public function subscribe($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/financial_connections/accounts/%s/subscribe', $id), $params, $opts); } /** * Unsubscribes from periodic refreshes of data associated with a Financial * Connections Account. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account */ public function unsubscribe($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/financial_connections/accounts/%s/unsubscribe', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/FinancialConnections/SessionService.php000064400000002752147206617610022211 0ustar00Session. The session’s client_secret can be used to * launch the flow using Stripe.js. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Session */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/financial_connections/sessions', $params, $opts); } /** * Retrieves the details of a Financial Connections Session. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Session */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/financial_connections/sessions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/FinancialConnections/TransactionService.php000064400000002646147206617610023055 0ustar00Transaction objects. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\FinancialConnections\Transaction> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/financial_connections/transactions', $params, $opts); } /** * Retrieves the details of a Financial Connections Transaction. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Transaction */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/financial_connections/transactions/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/FinancialConnections/FinancialConnectionsServiceFactory.php000064400000001421147206617610026175 0ustar00 */ private static $classMap = [ 'accounts' => AccountService::class, 'sessions' => SessionService::class, 'transactions' => TransactionService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/ProductService.php000064400000014466147206617610016124 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/products', $params, $opts); } /** * Retrieve a list of features for a product. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\ProductFeature> */ public function allFeatures($parentId, $params = null, $opts = null) { return $this->requestCollection('get', $this->buildPath('/v1/products/%s/features', $parentId), $params, $opts); } /** * Creates a new product object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Product */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/products', $params, $opts); } /** * Creates a product_feature, which represents a feature attachment to a product. * * @param string $parentId * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ProductFeature */ public function createFeature($parentId, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/products/%s/features', $parentId), $params, $opts); } /** * Delete a product. Deleting a product is only possible if it has no prices * associated with it. Additionally, deleting a product with type=good * is only possible if it has no SKUs associated with it. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Product */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/products/%s', $id), $params, $opts); } /** * Deletes the feature attachment to a product. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ProductFeature */ public function deleteFeature($parentId, $id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/products/%s/features/%s', $parentId, $id), $params, $opts); } /** * Retrieves the details of an existing product. Supply the unique product ID from * either a product creation request or the product list, and Stripe will return * the corresponding product information. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Product */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/products/%s', $id), $params, $opts); } /** * Retrieves a product_feature, which represents a feature attachment to a product. * * @param string $parentId * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ProductFeature */ public function retrieveFeature($parentId, $id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/products/%s/features/%s', $parentId, $id), $params, $opts); } /** * Search for products you’ve previously created using Stripe’s Search Query Language. Don’t use * search in read-after-write flows where strict consistency is necessary. Under * normal operating conditions, data is searchable in less than a minute. * Occasionally, propagation of new or updated data can be up to an hour behind * during outages. Search functionality is not available to merchants in India. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Product> */ public function search($params = null, $opts = null) { return $this->requestSearchResult('get', '/v1/products/search', $params, $opts); } /** * Updates the specific product by setting the values of the parameters passed. Any * parameters not provided will be left unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Product */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/products/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Reporting/ReportRunService.php000064400000003623147206617610020406 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/reporting/report_runs', $params, $opts); } /** * Creates a new object and begin running the report. (Certain report types require * a live-mode API key.). * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Reporting\ReportRun */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/reporting/report_runs', $params, $opts); } /** * Retrieves the details of an existing Report Run. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Reporting\ReportRun */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/reporting/report_runs/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Reporting/ReportTypeService.php000064400000002631147206617610020561 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/reporting/report_types', $params, $opts); } /** * Retrieves the details of a Report Type. (Certain report types require a live-mode API key.). * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Reporting\ReportType */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/reporting/report_types/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Reporting/ReportingServiceFactory.php000064400000001241147206617610021741 0ustar00 */ private static $classMap = [ 'reportRuns' => ReportRunService::class, 'reportTypes' => ReportTypeService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/ChargeService.php000064400000011215147206617610015662 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/charges', $params, $opts); } /** * Capture the payment of an existing, uncaptured charge that was created with the * capture option set to false. * * Uncaptured payments expire a set number of days after they are created (7 by default), after which they are * marked as refunded and capture attempts will fail. * * Don’t use this method to capture a PaymentIntent-initiated charge. Use Capture a PaymentIntent. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Charge */ public function capture($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/charges/%s/capture', $id), $params, $opts); } /** * This method is no longer recommended—use the Payment Intents API to initiate a new * payment instead. Confirmation of the PaymentIntent creates the * Charge object used to request payment. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Charge */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/charges', $params, $opts); } /** * Retrieves the details of a charge that has previously been created. Supply the * unique charge ID that was returned from your previous request, and Stripe will * return the corresponding charge information. The same information is returned * when creating or refunding the charge. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Charge */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/charges/%s', $id), $params, $opts); } /** * Search for charges you’ve previously created using Stripe’s Search Query Language. Don’t use * search in read-after-write flows where strict consistency is necessary. Under * normal operating conditions, data is searchable in less than a minute. * Occasionally, propagation of new or updated data can be up to an hour behind * during outages. Search functionality is not available to merchants in India. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Charge> */ public function search($params = null, $opts = null) { return $this->requestSearchResult('get', '/v1/charges/search', $params, $opts); } /** * Updates the specified charge by setting the values of the parameters passed. Any * parameters not provided will be left unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Charge */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/charges/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/BalanceService.php000064400000001673147206617610016025 0ustar00Accounting * for negative balances. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Balance */ public function retrieve($params = null, $opts = null) { return $this->request('get', '/v1/balance', $params, $opts); } } lib/stripe-gateway/lib/Service/ConfirmationTokenService.php000064400000001475147206617610020131 0ustar00request('get', $this->buildPath('/v1/confirmation_tokens/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/PriceService.php000064400000006467147206617610015550 0ustar00inline prices. * For the list of inactive prices, set active to false. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Price> */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/prices', $params, $opts); } /** * Creates a new price for an existing product. The price can be recurring or * one-time. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Price */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/prices', $params, $opts); } /** * Retrieves the price with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Price */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/prices/%s', $id), $params, $opts); } /** * Search for prices you’ve previously created using Stripe’s Search Query Language. Don’t use * search in read-after-write flows where strict consistency is necessary. Under * normal operating conditions, data is searchable in less than a minute. * Occasionally, propagation of new or updated data can be up to an hour behind * during outages. Search functionality is not available to merchants in India. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Price> */ public function search($params = null, $opts = null) { return $this->requestSearchResult('get', '/v1/prices/search', $params, $opts); } /** * Updates the specified price by setting the values of the parameters passed. Any * parameters not provided are left unchanged. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Price */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/prices/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/ShippingRateService.php000064400000004270147206617610017071 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/shipping_rates', $params, $opts); } /** * Creates a new shipping rate object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ShippingRate */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/shipping_rates', $params, $opts); } /** * Returns the shipping rate object with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ShippingRate */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/shipping_rates/%s', $id), $params, $opts); } /** * Updates an existing shipping rate object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ShippingRate */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/shipping_rates/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/PlanService.php000064400000005676147206617610015401 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/plans', $params, $opts); } /** * You can now model subscriptions more flexibly using the Prices * API. It replaces the Plans API and is backwards compatible to simplify your * migration. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Plan */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/plans', $params, $opts); } /** * Deleting plans means new subscribers can’t be added. Existing subscribers aren’t * affected. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Plan */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/plans/%s', $id), $params, $opts); } /** * Retrieves the plan with the given ID. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Plan */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/plans/%s', $id), $params, $opts); } /** * Updates the specified plan by setting the values of the parameters passed. Any * parameters not provided are left unchanged. By design, you cannot change a * plan’s ID, amount, currency, or billing cycle. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Plan */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/plans/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/TaxIdService.php000064400000004254147206617610015507 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/tax_ids', $params, $opts); } /** * Creates a new account or customer tax_id object. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/tax_ids', $params, $opts); } /** * Deletes an existing account or customer tax_id object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public function delete($id, $params = null, $opts = null) { return $this->request('delete', $this->buildPath('/v1/tax_ids/%s', $id), $params, $opts); } /** * Retrieves an account or customer tax_id object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TaxId */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/tax_ids/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/ExchangeRateService.php000064400000002655147206617610017037 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/exchange_rates', $params, $opts); } /** * Retrieves the exchange rates from the given currency to every supported * currency. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ExchangeRate */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/exchange_rates/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/Sigma/SigmaServiceFactory.php000064400000001126147206617610020121 0ustar00 */ private static $classMap = [ 'scheduledQueryRuns' => ScheduledQueryRunService::class, ]; protected function getServiceClass($name) { return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null; } } lib/stripe-gateway/lib/Service/Sigma/ScheduledQueryRunService.php000064400000002477147206617610021156 0ustar00 */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/sigma/scheduled_query_runs', $params, $opts); } /** * Retrieves the details of an scheduled query run. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Sigma\ScheduledQueryRun */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/sigma/scheduled_query_runs/%s', $id), $params, $opts); } } lib/stripe-gateway/lib/Service/AbstractServiceFactory.php000064400000003215147206617610017565 0ustar00 */ private $services; /** * @param \Stripe\StripeClientInterface $client */ public function __construct($client) { $this->client = $client; $this->services = []; } /** * @param string $name * * @return null|string */ abstract protected function getServiceClass($name); /** * @param string $name * * @return null|AbstractService|AbstractServiceFactory */ public function __get($name) { return $this->getService($name); } /** * @param string $name * * @return null|AbstractService|AbstractServiceFactory */ public function getService($name) { $serviceClass = $this->getServiceClass($name); if (null !== $serviceClass) { if (!\array_key_exists($name, $this->services)) { $this->services[$name] = new $serviceClass($this->client); } return $this->services[$name]; } \trigger_error('Undefined property: ' . static::class . '::$' . $name); return null; } } lib/stripe-gateway/lib/Tax/Registration.php000064400000011206147206617610014756 0ustar00Registration lets us know that your business is registered to collect tax on payments within a region, enabling you to automatically collect tax. * * Stripe doesn't register on your behalf with the relevant authorities when you create a Tax Registration object. For more information on how to register to collect tax, see our guide. * * Related guide: Using the Registrations API * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $active_from Time at which the registration becomes active. Measured in seconds since the Unix epoch. * @property string $country Two-letter country code (ISO 3166-1 alpha-2). * @property \Stripe\StripeObject $country_options * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|int $expires_at If set, the registration stops being active at this time. If not set, the registration will be active indefinitely. Measured in seconds since the Unix epoch. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $status The status of the registration. This field is present for convenience and can be deduced from active_from and expires_at. */ class Registration extends \Stripe\ApiResource { const OBJECT_NAME = 'tax.registration'; use \Stripe\ApiOperations\Update; const STATUS_ACTIVE = 'active'; const STATUS_EXPIRED = 'expired'; const STATUS_SCHEDULED = 'scheduled'; /** * Creates a new Tax Registration object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Registration the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of Tax Registration objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Tax\Registration> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Returns a Tax Registration object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Registration */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates an existing Tax Registration object. * * A registration cannot be deleted after it has been created. If you wish to end a * registration you may do so by setting expires_at. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Registration the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Tax/Transaction.php000064400000011526147206617610014576 0ustar00Calculate tax in your custom payment flow * * @property string $id Unique identifier for the transaction. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $customer The ID of an existing Customer used for the resource. * @property \Stripe\StripeObject $customer_details * @property null|\Stripe\Collection<\Stripe\Tax\TransactionLineItem> $line_items The tax collected or refunded, by line item. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property int $posted_at The Unix timestamp representing when the tax liability is assumed or reduced. * @property string $reference A custom unique identifier, such as 'myOrder_123'. * @property null|\Stripe\StripeObject $reversal If type=reversal, contains information about what was reversed. * @property null|\Stripe\StripeObject $ship_from_details The details of the ship from location, such as the address. * @property null|\Stripe\StripeObject $shipping_cost The shipping cost details for the transaction. * @property int $tax_date Timestamp of date at which the tax rules and rates in effect applies for the calculation. * @property string $type If reversal, this transaction reverses an earlier transaction. */ class Transaction extends \Stripe\ApiResource { const OBJECT_NAME = 'tax.transaction'; const TYPE_REVERSAL = 'reversal'; const TYPE_TRANSACTION = 'transaction'; /** * Retrieves a Tax Transaction object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Transaction */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Transaction the created transaction */ public static function createFromCalculation($params = null, $opts = null) { $url = static::classUrl() . '/create_from_calculation'; list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Transaction the created transaction */ public static function createReversal($params = null, $opts = null) { $url = static::classUrl() . '/create_reversal'; list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Tax\TransactionLineItem> list of transaction line items */ public static function allLineItems($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/line_items'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Tax/Settings.php000064400000005555147206617610014116 0ustar00Settings to manage configurations used by Stripe Tax calculations. * * Related guide: Using the Settings API * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject $defaults * @property null|\Stripe\StripeObject $head_office The place where your business is located. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $status The active status indicates you have all required settings to calculate tax. A status can transition out of active when new required settings are introduced. * @property \Stripe\StripeObject $status_details */ class Settings extends \Stripe\SingletonApiResource { const OBJECT_NAME = 'tax.settings'; const STATUS_ACTIVE = 'active'; const STATUS_PENDING = 'pending'; /** * Retrieves Tax Settings for a merchant. * * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Settings */ public static function retrieve($opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static(null, $opts); $instance->refresh(); return $instance; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return static the updated resource */ public static function update($params = null, $opts = null) { self::_validateParams($params); $url = '/v1/tax/settings'; list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return static the saved resource * * @deprecated The `save` method is deprecated and will be removed in a * future major version of the library. Use the static method `update` * on the resource instead. */ public function save($opts = null) { $params = $this->serializeParameters(); if (\count($params) > 0) { $url = $this->instanceUrl(); list($response, $opts) = $this->_request('post', $url, $params, $opts, ['save']); $this->refreshFrom($response, $opts); } return $this; } } lib/stripe-gateway/lib/Tax/CalculationLineItem.php000064400000003365147206617610016200 0ustar00smallest currency unit. If tax_behavior=inclusive, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. * @property int $amount_tax The amount of tax calculated for this line item, in the smallest currency unit. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $product The ID of an existing Product. * @property int $quantity The number of units of the item being purchased. For reversals, this is the quantity reversed. * @property null|string $reference A custom identifier for this line item. * @property string $tax_behavior Specifies whether the amount includes taxes. If tax_behavior=inclusive, then the amount includes taxes. * @property null|\Stripe\StripeObject[] $tax_breakdown Detailed account of taxes relevant to this line item. * @property string $tax_code The tax code ID used for this resource. */ class CalculationLineItem extends \Stripe\ApiResource { const OBJECT_NAME = 'tax.calculation_line_item'; const TAX_BEHAVIOR_EXCLUSIVE = 'exclusive'; const TAX_BEHAVIOR_INCLUSIVE = 'inclusive'; } lib/stripe-gateway/lib/Tax/TransactionLineItem.php000064400000004306147206617610016223 0ustar00smallest currency unit. If tax_behavior=inclusive, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. * @property int $amount_tax The amount of tax calculated for this line item, in the smallest currency unit. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $product The ID of an existing Product. * @property int $quantity The number of units of the item being purchased. For reversals, this is the quantity reversed. * @property string $reference A custom identifier for this line item in the transaction. * @property null|\Stripe\StripeObject $reversal If type=reversal, contains information about what was reversed. * @property string $tax_behavior Specifies whether the amount includes taxes. If tax_behavior=inclusive, then the amount includes taxes. * @property string $tax_code The tax code ID used for this resource. * @property string $type If reversal, this line item reverses an earlier transaction. */ class TransactionLineItem extends \Stripe\ApiResource { const OBJECT_NAME = 'tax.transaction_line_item'; const TAX_BEHAVIOR_EXCLUSIVE = 'exclusive'; const TAX_BEHAVIOR_INCLUSIVE = 'inclusive'; const TYPE_REVERSAL = 'reversal'; const TYPE_TRANSACTION = 'transaction'; } lib/stripe-gateway/lib/Tax/Calculation.php000064400000006751147206617610014553 0ustar00Calculate tax in your custom payment flow * * @property null|string $id Unique identifier for the calculation. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount_total Total amount after taxes in the smallest currency unit. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $customer The ID of an existing Customer used for the resource. * @property \Stripe\StripeObject $customer_details * @property null|int $expires_at Timestamp of date at which the tax calculation will expire. * @property null|\Stripe\Collection<\Stripe\Tax\CalculationLineItem> $line_items The list of items the customer is purchasing. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $ship_from_details The details of the ship from location, such as the address. * @property null|\Stripe\StripeObject $shipping_cost The shipping cost details for the calculation. * @property int $tax_amount_exclusive The amount of tax to be collected on top of the line item prices. * @property int $tax_amount_inclusive The amount of tax already included in the line item prices. * @property \Stripe\StripeObject[] $tax_breakdown Breakdown of individual tax amounts that add up to the total. * @property int $tax_date Timestamp of date at which the tax rules and rates in effect applies for the calculation. */ class Calculation extends \Stripe\ApiResource { const OBJECT_NAME = 'tax.calculation'; /** * Calculates tax based on the input and returns a Tax Calculation * object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Tax\Calculation the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Tax\CalculationLineItem> list of calculation line items */ public static function allLineItems($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/line_items'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Identity/VerificationReport.php000064400000007116147206617610017164 0ustar00type and options * parameters used. You can find the result of each verification check performed in the * appropriate sub-resource: document, id_number, selfie. * * Each VerificationReport contains a copy of any data collected by the user as well as * reference IDs which can be used to access collected images through the FileUpload * API. To configure and create VerificationReports, use the * VerificationSession API. * * Related guide: Accessing verification results. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $client_reference_id A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|\Stripe\StripeObject $document Result from a document check * @property null|\Stripe\StripeObject $email Result from a email check * @property null|\Stripe\StripeObject $id_number Result from an id_number check * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $options * @property null|\Stripe\StripeObject $phone Result from a phone check * @property null|\Stripe\StripeObject $selfie Result from a selfie check * @property string $type Type of report. * @property null|string $verification_flow The configuration token of a Verification Flow from the dashboard. * @property null|string $verification_session ID of the VerificationSession that created this report. */ class VerificationReport extends \Stripe\ApiResource { const OBJECT_NAME = 'identity.verification_report'; const TYPE_DOCUMENT = 'document'; const TYPE_ID_NUMBER = 'id_number'; const TYPE_VERIFICATION_FLOW = 'verification_flow'; /** * List all verification reports. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Identity\VerificationReport> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves an existing VerificationReport. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationReport */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Identity/VerificationSession.php000064400000021551147206617610017333 0ustar00verification * check to perform. Only create one VerificationSession for * each verification in your system. * * A VerificationSession transitions through multiple * statuses throughout its lifetime as it progresses through * the verification flow. The VerificationSession contains the user's verified data after * verification checks are complete. * * Related guide: The Verification Sessions API * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $client_reference_id A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. * @property null|string $client_secret The short-lived client secret used by Stripe.js to show a verification modal inside your app. This client secret expires after 24 hours and can only be used once. Don’t store it, log it, embed it in a URL, or expose it to anyone other than the user. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs on passing the client secret to the frontend to learn more. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|\Stripe\StripeObject $last_error If present, this property tells you the last error encountered when processing the verification. * @property null|string|\Stripe\Identity\VerificationReport $last_verification_report ID of the most recent VerificationReport. Learn more about accessing detailed verification results. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $options A set of options for the session’s verification checks. * @property null|\Stripe\StripeObject $provided_details Details provided about the user being verified. These details may be shown to the user. * @property null|\Stripe\StripeObject $redaction Redaction status of this VerificationSession. If the VerificationSession is not redacted, this field will be null. * @property string $status Status of this VerificationSession. Learn more about the lifecycle of sessions. * @property string $type The type of verification check to be performed. * @property null|string $url The short-lived URL that you use to redirect a user to Stripe to submit their identity information. This URL expires after 48 hours and can only be used once. Don’t store it, log it, send it in emails or expose it to anyone other than the user. Refer to our docs on verifying identity documents to learn how to redirect users to Stripe. * @property null|string $verification_flow The configuration token of a Verification Flow from the dashboard. * @property null|\Stripe\StripeObject $verified_outputs The user’s verified data. */ class VerificationSession extends \Stripe\ApiResource { const OBJECT_NAME = 'identity.verification_session'; use \Stripe\ApiOperations\Update; const STATUS_CANCELED = 'canceled'; const STATUS_PROCESSING = 'processing'; const STATUS_REQUIRES_INPUT = 'requires_input'; const STATUS_VERIFIED = 'verified'; const TYPE_DOCUMENT = 'document'; const TYPE_ID_NUMBER = 'id_number'; const TYPE_VERIFICATION_FLOW = 'verification_flow'; /** * Creates a VerificationSession object. * * After the VerificationSession is created, display a verification modal using the * session client_secret or send your users to the session’s * url. * * If your API key is in test mode, verification checks won’t actually process, * though everything else will occur as if in live mode. * * Related guide: Verify your * users’ identity documents * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of VerificationSessions. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Identity\VerificationSession> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a VerificationSession that was previously created. * * When the session status is requires_input, you can use this method * to retrieve a valid client_secret or url to allow * re-submission. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a VerificationSession object. * * When the session status is requires_input, you can use this method * to update the verification check and options. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession the canceled verification session */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Identity\VerificationSession the redacted verification session */ public function redact($params = null, $opts = null) { $url = $this->instanceUrl() . '/redact'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/OAuthErrorObject.php000064400000001574147206617610014740 0ustar00 null, 'error_description' => null, ], $values); parent::refreshFrom($values, $opts, $partial); } } lib/stripe-gateway/lib/ApplePayDomain.php000064400000006156147206617610014423 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. */ class ApplePayDomain extends ApiResource { const OBJECT_NAME = 'apple_pay_domain'; /** * Create an apple pay domain. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplePayDomain the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Delete an apple pay domain. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplePayDomain the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * List apple pay domains. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\ApplePayDomain> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieve an apple pay domain. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ApplePayDomain */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * @return string The class URL for this resource. It needs to be special * cased because it doesn't fit into the standard resource pattern. */ public static function classUrl() { return '/v1/apple_pay/domains'; } } lib/stripe-gateway/lib/StripeStreamingClientInterface.php000064400000000356147206617610017654 0ustar00 null, 'code' => null, 'decline_code' => null, 'doc_url' => null, 'message' => null, 'param' => null, 'payment_intent' => null, 'payment_method' => null, 'setup_intent' => null, 'source' => null, 'type' => null, ], $values); parent::refreshFrom($values, $opts, $partial); } } lib/stripe-gateway/lib/ProductFeature.php000064400000001762147206617610014512 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. */ class ProductFeature extends ApiResource { const OBJECT_NAME = 'product_feature'; } lib/stripe-gateway/lib/ReserveTransaction.php000064400000001302147206617610015365 0ustar00ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. */ class ReserveTransaction extends ApiResource { const OBJECT_NAME = 'reserve_transaction'; } lib/stripe-gateway/lib/Radar/ValueList.php000064400000013437147206617610014521 0ustar00Default Stripe lists * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property string $alias The name of the value list for use in rules. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $created_by The name or email address of the user who created this value list. * @property string $item_type The type of items in the value list. One of card_fingerprint, us_bank_account_fingerprint, sepa_debit_fingerprint, card_bin, email, ip_address, country, string, case_sensitive_string, or customer_id. * @property \Stripe\Collection<\Stripe\Radar\ValueListItem> $list_items List of items contained within this value list. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $name The name of the value list. */ class ValueList extends \Stripe\ApiResource { const OBJECT_NAME = 'radar.value_list'; use \Stripe\ApiOperations\Update; const ITEM_TYPE_CARD_BIN = 'card_bin'; const ITEM_TYPE_CARD_FINGERPRINT = 'card_fingerprint'; const ITEM_TYPE_CASE_SENSITIVE_STRING = 'case_sensitive_string'; const ITEM_TYPE_COUNTRY = 'country'; const ITEM_TYPE_CUSTOMER_ID = 'customer_id'; const ITEM_TYPE_EMAIL = 'email'; const ITEM_TYPE_IP_ADDRESS = 'ip_address'; const ITEM_TYPE_SEPA_DEBIT_FINGERPRINT = 'sepa_debit_fingerprint'; const ITEM_TYPE_STRING = 'string'; const ITEM_TYPE_US_BANK_ACCOUNT_FINGERPRINT = 'us_bank_account_fingerprint'; /** * Creates a new ValueList object, which can then be referenced in * rules. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueList the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes a ValueList object, also deleting any items contained * within the value list. To be deleted, a value list must not be referenced in any * rules. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueList the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of ValueList objects. The objects are sorted in * descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Radar\ValueList> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a ValueList object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueList */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a ValueList object by setting the values of the parameters * passed. Any parameters not provided will be left unchanged. Note that * item_type is immutable. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueList the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Radar/ValueListItem.php000064400000007212147206617610015332 0ustar00Managing list items * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $created_by The name or email address of the user who added this item to the value list. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $value The value of the item. * @property string $value_list The identifier of the value list this item belongs to. */ class ValueListItem extends \Stripe\ApiResource { const OBJECT_NAME = 'radar.value_list_item'; /** * Creates a new ValueListItem object, which is added to the specified * parent value list. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueListItem the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes a ValueListItem object, removing it from its parent value * list. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueListItem the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of ValueListItem objects. The objects are sorted in * descending order by creation date, with the most recently created object * appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Radar\ValueListItem> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a ValueListItem object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\ValueListItem */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Radar/EarlyFraudWarning.php000064400000006540147206617610016172 0ustar00Early fraud warnings * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $actionable An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later. * @property string|\Stripe\Charge $charge ID of the charge this early fraud warning is for, optionally expanded. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $fraud_type The type of fraud labelled by the issuer. One of card_never_received, fraudulent_card_application, made_with_counterfeit_card, made_with_lost_card, made_with_stolen_card, misc, unauthorized_use_of_card. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string|\Stripe\PaymentIntent $payment_intent ID of the Payment Intent this early fraud warning is for, optionally expanded. */ class EarlyFraudWarning extends \Stripe\ApiResource { const OBJECT_NAME = 'radar.early_fraud_warning'; const FRAUD_TYPE_CARD_NEVER_RECEIVED = 'card_never_received'; const FRAUD_TYPE_FRAUDULENT_CARD_APPLICATION = 'fraudulent_card_application'; const FRAUD_TYPE_MADE_WITH_COUNTERFEIT_CARD = 'made_with_counterfeit_card'; const FRAUD_TYPE_MADE_WITH_LOST_CARD = 'made_with_lost_card'; const FRAUD_TYPE_MADE_WITH_STOLEN_CARD = 'made_with_stolen_card'; const FRAUD_TYPE_MISC = 'misc'; const FRAUD_TYPE_UNAUTHORIZED_USE_OF_CARD = 'unauthorized_use_of_card'; /** * Returns a list of early fraud warnings. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Radar\EarlyFraudWarning> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an early fraud warning that has previously been * created. * * Please refer to the early fraud * warning object reference for more details. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Radar\EarlyFraudWarning */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/RecipientTransfer.php000064400000001672147206617610015205 0ustar00an online * guide. * * @property string $id Unique identifier for the object. Represented as the ISO country code for this country. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property string $default_currency The default currency for this country. This applies to both payment methods and bank accounts. * @property \Stripe\StripeObject $supported_bank_account_currencies Currencies that can be accepted in the specific country (for transfers). * @property string[] $supported_payment_currencies Currencies that can be accepted in the specified country (for payments). * @property string[] $supported_payment_methods Payment methods available in the specified country. You may need to enable some payment methods (e.g., ACH) on your account before they appear in this list. The stripe payment method refers to charging through your platform. * @property string[] $supported_transfer_countries Countries that can accept transfers from the specified country. * @property \Stripe\StripeObject $verification_fields */ class CountrySpec extends ApiResource { const OBJECT_NAME = 'country_spec'; /** * Lists all Country Spec objects available in the API. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CountrySpec> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Returns a Country Spec for a given Country code. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CountrySpec */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/CustomerSession.php000064400000004305147206617610014717 0ustar00The client secret of this Customer Session. Used on the client to set up secure access to the given customer.

The client secret can be used to provide access to customer from your frontend. It should not be stored, logged, or exposed to anyone other than the relevant customer. Make sure that you have TLS enabled on any page that includes the client secret.

* @property null|\Stripe\StripeObject $components Configuration for the components supported by this Customer Session. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string|\Stripe\Customer $customer The Customer the Customer Session was created for. * @property int $expires_at The timestamp at which this Customer Session will expire. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. */ class CustomerSession extends ApiResource { const OBJECT_NAME = 'customer_session'; /** * Creates a Customer Session object that includes a single-use client secret that * you can use on your front-end to grant client-side API access for certain * customer resources. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CustomerSession the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/ApiResponse.php000064400000001365147206617610014005 0ustar00body = $body; $this->code = $code; $this->headers = $headers; $this->json = $json; } } lib/stripe-gateway/lib/TaxDeductedAtSource.php000064400000001327147206617610015417 0ustar00Prices to configure pricing in Payment Links, Checkout, and Subscriptions. * * Related guides: Set up a subscription, * share a Payment Link, * accept payments with Checkout, * and more about Products and Prices * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $active Whether the product is currently available for purchase. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Price $default_price The ID of the Price object that is the default price for this product. * @property null|string $description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. * @property string[] $images A list of up to 8 URLs of images for this product, meant to be displayable to the customer. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject[] $marketing_features A list of up to 15 marketing features for this product. These are displayed in pricing tables. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $name The product's name, meant to be displayable to the customer. * @property null|\Stripe\StripeObject $package_dimensions The dimensions of this product for shipping purposes. * @property null|bool $shippable Whether this product is shipped (i.e., physical goods). * @property null|string $statement_descriptor Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. Only used for subscription payments. * @property null|string|\Stripe\TaxCode $tax_code A tax code ID. * @property string $type The type of the product. The product is either of type good, which is eligible for use with Orders and SKUs, or service, which is eligible for use with Subscriptions and Plans. * @property null|string $unit_label A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. * @property int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch. * @property null|string $url A URL of a publicly-accessible webpage for this product. */ class Product extends ApiResource { const OBJECT_NAME = 'product'; use ApiOperations\NestedResource; use ApiOperations\Update; const TYPE_GOOD = 'good'; const TYPE_SERVICE = 'service'; /** * Creates a new product object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Product the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Delete a product. Deleting a product is only possible if it has no prices * associated with it. Additionally, deleting a product with type=good * is only possible if it has no SKUs associated with it. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Product the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of your products. The products are returned sorted by creation * date, with the most recently created products appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Product> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing product. Supply the unique product ID from * either a product creation request or the product list, and Stripe will return * the corresponding product information. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Product */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specific product by setting the values of the parameters passed. Any * parameters not provided will be left unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Product the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Product> the product search results */ public static function search($params = null, $opts = null) { $url = '/v1/products/search'; return static::_requestPage($url, \Stripe\SearchResult::class, $params, $opts); } const PATH_FEATURES = '/features'; /** * @param string $id the ID of the product on which to retrieve the product features * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\ProductFeature> the list of product features */ public static function allFeatures($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_FEATURES, $params, $opts); } /** * @param string $id the ID of the product on which to create the product feature * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ProductFeature */ public static function createFeature($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_FEATURES, $params, $opts); } /** * @param string $id the ID of the product to which the product feature belongs * @param string $featureId the ID of the product feature to delete * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ProductFeature */ public static function deleteFeature($id, $featureId, $params = null, $opts = null) { return self::_deleteNestedResource($id, static::PATH_FEATURES, $featureId, $params, $opts); } /** * @param string $id the ID of the product to which the product feature belongs * @param string $featureId the ID of the product feature to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ProductFeature */ public static function retrieveFeature($id, $featureId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_FEATURES, $featureId, $params, $opts); } } lib/stripe-gateway/lib/Discount.php000064400000005530147206617610013343 0ustar00coupon or promotion code. * It contains information about when the discount began, when it will end, and what it is applied to. * * Related guide: Applying discounts to subscriptions * * @property string $id The ID of the discount object. Discounts cannot be fetched by ID. Use expand[]=discounts in API calls to expand discount IDs in an array. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $checkout_session The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. * @property \Stripe\Coupon $coupon A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer. Coupons may be applied to subscriptions, invoices, checkout sessions, quotes, and more. Coupons do not work with conventional one-off charges or payment intents. * @property null|string|\Stripe\Customer $customer The ID of the customer associated with this discount. * @property null|int $end If the coupon has a duration of repeating, the date that this discount will end. If the coupon has a duration of once or forever, this attribute will be null. * @property null|string $invoice The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice. * @property null|string $invoice_item The invoice item id (or invoice line item id for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item. * @property null|string|\Stripe\PromotionCode $promotion_code The promotion code applied to create this discount. * @property int $start Date that the coupon was applied. * @property null|string $subscription The subscription that this coupon is applied to, if it is applied to a particular subscription. * @property null|string $subscription_item The subscription item that this coupon is applied to, if it is applied to a particular subscription item. */ class Discount extends ApiResource { const OBJECT_NAME = 'discount'; } lib/stripe-gateway/lib/File.php000064400000012046147206617610012432 0ustar00create file request * (for example, when uploading dispute evidence). Stripe also * creates files independently (for example, the results of a Sigma scheduled * query). * * Related guide: File upload guide * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|int $expires_at The file expires and isn't available at this time in epoch seconds. * @property null|string $filename The suitable name for saving the file to a filesystem. * @property null|\Stripe\Collection<\Stripe\FileLink> $links A list of file links that point at this file. * @property string $purpose The purpose of the uploaded file. * @property int $size The size of the file object in bytes. * @property null|string $title A suitable title for the document. * @property null|string $type The returned file type (for example, csv, pdf, jpg, or png). * @property null|string $url Use your live secret API key to download the file from this URL. */ class File extends ApiResource { const OBJECT_NAME = 'file'; const PURPOSE_ACCOUNT_REQUIREMENT = 'account_requirement'; const PURPOSE_ADDITIONAL_VERIFICATION = 'additional_verification'; const PURPOSE_BUSINESS_ICON = 'business_icon'; const PURPOSE_BUSINESS_LOGO = 'business_logo'; const PURPOSE_CUSTOMER_SIGNATURE = 'customer_signature'; const PURPOSE_DISPUTE_EVIDENCE = 'dispute_evidence'; const PURPOSE_DOCUMENT_PROVIDER_IDENTITY_DOCUMENT = 'document_provider_identity_document'; const PURPOSE_FINANCE_REPORT_RUN = 'finance_report_run'; const PURPOSE_IDENTITY_DOCUMENT = 'identity_document'; const PURPOSE_IDENTITY_DOCUMENT_DOWNLOADABLE = 'identity_document_downloadable'; const PURPOSE_PCI_DOCUMENT = 'pci_document'; const PURPOSE_SELFIE = 'selfie'; const PURPOSE_SIGMA_SCHEDULED_QUERY = 'sigma_scheduled_query'; const PURPOSE_TAX_DOCUMENT_USER_UPLOAD = 'tax_document_user_upload'; const PURPOSE_TERMINAL_READER_SPLASHSCREEN = 'terminal_reader_splashscreen'; /** * Returns a list of the files that your account has access to. Stripe sorts and * returns the files by their creation dates, placing the most recently created * files at the top. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\File> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing file object. After you supply a unique file * ID, Stripe returns the corresponding file object. Learn how to access file contents. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\File */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } // This resource can have two different object names. In latter API // versions, only `file` is used, but since stripe-php may be used with // any API version, we need to support deserializing the older // `file_upload` object into the same class. const OBJECT_NAME_ALT = 'file_upload'; use ApiOperations\Create { create as protected _create; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\File the created file */ public static function create($params = null, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); if (null === $opts->apiBase) { $opts->apiBase = Stripe::$apiUploadBase; } // Manually flatten params, otherwise curl's multipart encoder will // choke on nested arrays. $flatParams = \array_column(\Stripe\Util\Util::flattenParams($params), 1, 0); return static::_create($flatParams, $opts); } } lib/stripe-gateway/lib/Balance.php000064400000005512147206617610013100 0ustar00transactions that contributed to the balance * (charges, payouts, and so forth). * * The available and pending amounts for each currency are broken down further by * payment source types. * * Related guide: Understanding Connect account balances * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject[] $available Available funds that you can transfer or pay out automatically by Stripe or explicitly through the Transfers API or Payouts API. You can find the available balance for each currency and payment type in the source_types property. * @property null|\Stripe\StripeObject[] $connect_reserved Funds held due to negative balances on connected accounts where account.controller.requirement_collection is application, which includes Custom accounts. You can find the connect reserve balance for each currency and payment type in the source_types property. * @property null|\Stripe\StripeObject[] $instant_available Funds that you can pay out using Instant Payouts. * @property null|\Stripe\StripeObject $issuing * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject[] $pending Funds that aren't available in the balance yet. You can find the pending balance for each currency and each payment type in the source_types property. */ class Balance extends SingletonApiResource { const OBJECT_NAME = 'balance'; /** * Retrieves the current account balance, based on the authentication that was used * to make the request. For a sample request, see Accounting * for negative balances. * * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Balance */ public static function retrieve($opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static(null, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/RequestTelemetry.php000064400000001364147206617610015077 0ustar00requestId = $requestId; $this->requestDuration = $requestDuration; $this->usage = $usage; } } lib/stripe-gateway/lib/CreditNote.php000064400000025453147206617610013621 0ustar00Credit notes * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax. * @property int $amount_shipping This is the sum of all the shipping amounts. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string|\Stripe\Customer $customer ID of the customer. * @property null|string|\Stripe\CustomerBalanceTransaction $customer_balance_transaction Customer balance transaction related to this credit note. * @property int $discount_amount The integer amount in cents (or local equivalent) representing the total amount of discount that was credited. * @property \Stripe\StripeObject[] $discount_amounts The aggregate amounts calculated per discount for all line items. * @property null|int $effective_at The date when this credit note is in effect. Same as created unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. * @property string|\Stripe\Invoice $invoice ID of the invoice. * @property \Stripe\Collection<\Stripe\CreditNoteLineItem> $lines Line items that make up the credit note * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $memo Customer-facing text that appears on the credit note PDF. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $number A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice. * @property null|int $out_of_band_amount Amount that was credited outside of Stripe. * @property string $pdf The link to download the PDF of the credit note. * @property null|string $reason Reason for issuing this credit note, one of duplicate, fraudulent, order_change, or product_unsatisfactory * @property null|string|\Stripe\Refund $refund Refund related to this credit note. * @property null|\Stripe\StripeObject $shipping_cost The details of the cost of shipping, including the ShippingRate applied to the invoice. * @property string $status Status of this credit note, one of issued or void. Learn more about voiding credit notes. * @property int $subtotal The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts. * @property null|int $subtotal_excluding_tax The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts. * @property \Stripe\StripeObject[] $tax_amounts The aggregate amounts calculated per tax rate for all line items. * @property int $total The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount. * @property null|int $total_excluding_tax The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts. * @property string $type Type of this credit note, one of pre_payment or post_payment. A pre_payment credit note means it was issued when the invoice was open. A post_payment credit note means it was issued when the invoice was paid. * @property null|int $voided_at The time that the credit note was voided. */ class CreditNote extends ApiResource { const OBJECT_NAME = 'credit_note'; use ApiOperations\NestedResource; use ApiOperations\Update; const REASON_DUPLICATE = 'duplicate'; const REASON_FRAUDULENT = 'fraudulent'; const REASON_ORDER_CHANGE = 'order_change'; const REASON_PRODUCT_UNSATISFACTORY = 'product_unsatisfactory'; const STATUS_ISSUED = 'issued'; const STATUS_VOID = 'void'; const TYPE_POST_PAYMENT = 'post_payment'; const TYPE_PRE_PAYMENT = 'pre_payment'; /** * Issue a credit note to adjust the amount of a finalized invoice. For a * status=open invoice, a credit note reduces its * amount_due. For a status=paid invoice, a credit note * does not affect its amount_due. Instead, it can result in any * combination of the following:. * *
  • Refund: create a new refund (using refund_amount) or link * an existing refund (using refund).
  • Customer balance * credit: credit the customer’s balance (using credit_amount) which * will be automatically applied to their next invoice when it’s finalized.
  • *
  • Outside of Stripe credit: record the amount that is or will be credited * outside of Stripe (using out_of_band_amount).
* * For post-payment credit notes the sum of the refund, credit and outside of * Stripe amounts must equal the credit note total. * * You may issue multiple credit notes for an invoice. Each credit note will * increment the invoice’s pre_payment_credit_notes_amount or * post_payment_credit_notes_amount depending on its * status at the time of credit note creation. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of credit notes. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CreditNote> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the credit note object with the given identifier. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates an existing credit note. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote the previewed credit note */ public static function preview($params = null, $opts = null) { $url = static::classUrl() . '/preview'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CreditNoteLineItem> list of credit note line items */ public static function previewLines($params = null, $opts = null) { $url = static::classUrl() . '/preview/lines'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\CreditNote the voided credit note */ public function voidCreditNote($params = null, $opts = null) { $url = $this->instanceUrl() . '/void'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } const PATH_LINES = '/lines'; /** * @param string $id the ID of the credit note on which to retrieve the credit note line items * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\CreditNoteLineItem> the list of credit note line items */ public static function allLines($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_LINES, $params, $opts); } } lib/stripe-gateway/lib/ConfirmationToken.php000064400000006744147206617610015214 0ustar00Finalize payments on the server * - Build two-step confirmation. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|int $expires_at Time at which this ConfirmationToken expires and can no longer be used to confirm a PaymentIntent or SetupIntent. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $mandate_data Data used for generating a Mandate. * @property null|string $payment_intent ID of the PaymentIntent that this ConfirmationToken was used to confirm, or null if this ConfirmationToken has not yet been used. * @property null|\Stripe\StripeObject $payment_method_options Payment-method-specific configuration for this ConfirmationToken. * @property null|\Stripe\StripeObject $payment_method_preview Payment details collected by the Payment Element, used to create a PaymentMethod when a PaymentIntent or SetupIntent is confirmed with this ConfirmationToken. * @property null|string $return_url Return URL used to confirm the Intent. * @property null|string $setup_future_usage

Indicates that you intend to make future payments with this ConfirmationToken's payment method.

The presence of this property will attach the payment method to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete.

* @property null|string $setup_intent ID of the SetupIntent that this ConfirmationToken was used to confirm, or null if this ConfirmationToken has not yet been used. * @property null|\Stripe\StripeObject $shipping Shipping information collected on this ConfirmationToken. * @property bool $use_stripe_sdk Indicates whether the Stripe SDK is used to handle confirmation flow. Defaults to true on ConfirmationToken. */ class ConfirmationToken extends ApiResource { const OBJECT_NAME = 'confirmation_token'; const SETUP_FUTURE_USAGE_OFF_SESSION = 'off_session'; const SETUP_FUTURE_USAGE_ON_SESSION = 'on_session'; /** * Retrieves an existing ConfirmationToken object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ConfirmationToken */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Treasury/Transaction.php000064400000006776147206617610015673 0ustar00FinancialAccount's balance. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in cents) transferred. * @property \Stripe\StripeObject $balance_impact Change to a FinancialAccount's balance * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|\Stripe\Collection<\Stripe\Treasury\TransactionEntry> $entries A list of TransactionEntries that are part of this Transaction. This cannot be expanded in any list endpoints. * @property string $financial_account The FinancialAccount associated with this object. * @property null|string $flow ID of the flow that created the Transaction. * @property null|\Stripe\StripeObject $flow_details Details of the flow that created the Transaction. * @property string $flow_type Type of the flow that created the Transaction. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $status Status of the Transaction. * @property \Stripe\StripeObject $status_transitions */ class Transaction extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.transaction'; const FLOW_TYPE_CREDIT_REVERSAL = 'credit_reversal'; const FLOW_TYPE_DEBIT_REVERSAL = 'debit_reversal'; const FLOW_TYPE_INBOUND_TRANSFER = 'inbound_transfer'; const FLOW_TYPE_ISSUING_AUTHORIZATION = 'issuing_authorization'; const FLOW_TYPE_OTHER = 'other'; const FLOW_TYPE_OUTBOUND_PAYMENT = 'outbound_payment'; const FLOW_TYPE_OUTBOUND_TRANSFER = 'outbound_transfer'; const FLOW_TYPE_RECEIVED_CREDIT = 'received_credit'; const FLOW_TYPE_RECEIVED_DEBIT = 'received_debit'; const STATUS_OPEN = 'open'; const STATUS_POSTED = 'posted'; const STATUS_VOID = 'void'; /** * Retrieves a list of Transaction objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\Transaction> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing Transaction. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\Transaction */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Treasury/TransactionEntry.php000064400000011047147206617610016700 0ustar00Transaction. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject $balance_impact Change to a FinancialAccount's balance * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property int $effective_at When the TransactionEntry will impact the FinancialAccount's balance. * @property string $financial_account The FinancialAccount associated with this object. * @property null|string $flow Token of the flow associated with the TransactionEntry. * @property null|\Stripe\StripeObject $flow_details Details of the flow associated with the TransactionEntry. * @property string $flow_type Type of the flow associated with the TransactionEntry. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string|\Stripe\Treasury\Transaction $transaction The Transaction associated with this object. * @property string $type The specific money movement that generated the TransactionEntry. */ class TransactionEntry extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.transaction_entry'; const FLOW_TYPE_CREDIT_REVERSAL = 'credit_reversal'; const FLOW_TYPE_DEBIT_REVERSAL = 'debit_reversal'; const FLOW_TYPE_INBOUND_TRANSFER = 'inbound_transfer'; const FLOW_TYPE_ISSUING_AUTHORIZATION = 'issuing_authorization'; const FLOW_TYPE_OTHER = 'other'; const FLOW_TYPE_OUTBOUND_PAYMENT = 'outbound_payment'; const FLOW_TYPE_OUTBOUND_TRANSFER = 'outbound_transfer'; const FLOW_TYPE_RECEIVED_CREDIT = 'received_credit'; const FLOW_TYPE_RECEIVED_DEBIT = 'received_debit'; const TYPE_CREDIT_REVERSAL = 'credit_reversal'; const TYPE_CREDIT_REVERSAL_POSTING = 'credit_reversal_posting'; const TYPE_DEBIT_REVERSAL = 'debit_reversal'; const TYPE_INBOUND_TRANSFER = 'inbound_transfer'; const TYPE_INBOUND_TRANSFER_RETURN = 'inbound_transfer_return'; const TYPE_ISSUING_AUTHORIZATION_HOLD = 'issuing_authorization_hold'; const TYPE_ISSUING_AUTHORIZATION_RELEASE = 'issuing_authorization_release'; const TYPE_OTHER = 'other'; const TYPE_OUTBOUND_PAYMENT = 'outbound_payment'; const TYPE_OUTBOUND_PAYMENT_CANCELLATION = 'outbound_payment_cancellation'; const TYPE_OUTBOUND_PAYMENT_FAILURE = 'outbound_payment_failure'; const TYPE_OUTBOUND_PAYMENT_POSTING = 'outbound_payment_posting'; const TYPE_OUTBOUND_PAYMENT_RETURN = 'outbound_payment_return'; const TYPE_OUTBOUND_TRANSFER = 'outbound_transfer'; const TYPE_OUTBOUND_TRANSFER_CANCELLATION = 'outbound_transfer_cancellation'; const TYPE_OUTBOUND_TRANSFER_FAILURE = 'outbound_transfer_failure'; const TYPE_OUTBOUND_TRANSFER_POSTING = 'outbound_transfer_posting'; const TYPE_OUTBOUND_TRANSFER_RETURN = 'outbound_transfer_return'; const TYPE_RECEIVED_CREDIT = 'received_credit'; const TYPE_RECEIVED_DEBIT = 'received_debit'; /** * Retrieves a list of TransactionEntry objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\TransactionEntry> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a TransactionEntry object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\TransactionEntry */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Treasury/ReceivedDebit.php000064400000007607147206617610016076 0ustar00FinancialAccount. These are not initiated from the FinancialAccount. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in cents) transferred. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|string $failure_code Reason for the failure. A ReceivedDebit might fail because the FinancialAccount doesn't have sufficient funds, is closed, or is frozen. * @property null|string $financial_account The FinancialAccount that funds were pulled from. * @property null|string $hosted_regulatory_receipt_url A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. * @property null|\Stripe\StripeObject $initiating_payment_method_details * @property \Stripe\StripeObject $linked_flows * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $network The network used for the ReceivedDebit. * @property null|\Stripe\StripeObject $reversal_details Details describing when a ReceivedDebit might be reversed. * @property string $status Status of the ReceivedDebit. ReceivedDebits are created with a status of either succeeded (approved) or failed (declined). The failure reason can be found under the failure_code. * @property null|string|\Stripe\Treasury\Transaction $transaction The Transaction associated with this object. */ class ReceivedDebit extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.received_debit'; const FAILURE_CODE_ACCOUNT_CLOSED = 'account_closed'; const FAILURE_CODE_ACCOUNT_FROZEN = 'account_frozen'; const FAILURE_CODE_INSUFFICIENT_FUNDS = 'insufficient_funds'; const FAILURE_CODE_OTHER = 'other'; const NETWORK_ACH = 'ach'; const NETWORK_CARD = 'card'; const NETWORK_STRIPE = 'stripe'; const STATUS_FAILED = 'failed'; const STATUS_SUCCEEDED = 'succeeded'; /** * Returns a list of ReceivedDebits. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\ReceivedDebit> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing ReceivedDebit by passing the unique * ReceivedDebit ID from the ReceivedDebit list. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\ReceivedDebit */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Treasury/CreditReversal.php000064400000010205147206617610016302 0ustar00ReceivedCredits depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in cents) transferred. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string $financial_account The FinancialAccount to reverse funds from. * @property null|string $hosted_regulatory_receipt_url A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $network The rails used to reverse the funds. * @property string $received_credit The ReceivedCredit being reversed. * @property string $status Status of the CreditReversal * @property \Stripe\StripeObject $status_transitions * @property null|string|\Stripe\Treasury\Transaction $transaction The Transaction associated with this object. */ class CreditReversal extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.credit_reversal'; const NETWORK_ACH = 'ach'; const NETWORK_STRIPE = 'stripe'; const STATUS_CANCELED = 'canceled'; const STATUS_POSTED = 'posted'; const STATUS_PROCESSING = 'processing'; /** * Reverses a ReceivedCredit and creates a CreditReversal object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\CreditReversal the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of CreditReversals. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\CreditReversal> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing CreditReversal by passing the unique * CreditReversal ID from either the CreditReversal creation request or * CreditReversal list. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\CreditReversal */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Treasury/FinancialAccountFeatures.php000064400000002567147206617610020300 0ustar00status enum and associated status_details. * Stripe or the platform can control Features via the requested field. * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $card_issuing Toggle settings for enabling/disabling a feature * @property null|\Stripe\StripeObject $deposit_insurance Toggle settings for enabling/disabling a feature * @property null|\Stripe\StripeObject $financial_addresses Settings related to Financial Addresses features on a Financial Account * @property null|\Stripe\StripeObject $inbound_transfers InboundTransfers contains inbound transfers features for a FinancialAccount. * @property null|\Stripe\StripeObject $intra_stripe_flows Toggle settings for enabling/disabling a feature * @property null|\Stripe\StripeObject $outbound_payments Settings related to Outbound Payments features on a Financial Account * @property null|\Stripe\StripeObject $outbound_transfers OutboundTransfers contains outbound transfers features for a FinancialAccount. */ class FinancialAccountFeatures extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.financial_account_features'; } lib/stripe-gateway/lib/Treasury/OutboundTransfer.php000064400000014456147206617610016704 0ustar00FinancialAccount to a PaymentMethod belonging to the same entity. To send funds to a different party, use OutboundPayments instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account. * * Simulate OutboundTransfer state changes with the /v1/test_helpers/treasury/outbound_transfers endpoints. These methods can only be called on test mode objects. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in cents) transferred. * @property bool $cancelable Returns true if the object can be canceled, and false otherwise. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|string $destination_payment_method The PaymentMethod used as the payment instrument for an OutboundTransfer. * @property \Stripe\StripeObject $destination_payment_method_details * @property int $expected_arrival_date The date when funds are expected to arrive in the destination account. * @property string $financial_account The FinancialAccount that funds were pulled from. * @property null|string $hosted_regulatory_receipt_url A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $returned_details Details about a returned OutboundTransfer. Only set when the status is returned. * @property string $statement_descriptor Information about the OutboundTransfer to be sent to the recipient account. * @property string $status Current status of the OutboundTransfer: processing, failed, canceled, posted, returned. An OutboundTransfer is processing if it has been created and is pending. The status changes to posted once the OutboundTransfer has been "confirmed" and funds have left the account, or to failed or canceled. If an OutboundTransfer fails to arrive at its destination, its status will change to returned. * @property \Stripe\StripeObject $status_transitions * @property null|\Stripe\StripeObject $tracking_details Details about network-specific tracking information if available. * @property string|\Stripe\Treasury\Transaction $transaction The Transaction associated with this object. */ class OutboundTransfer extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.outbound_transfer'; const STATUS_CANCELED = 'canceled'; const STATUS_FAILED = 'failed'; const STATUS_POSTED = 'posted'; const STATUS_PROCESSING = 'processing'; const STATUS_RETURNED = 'returned'; /** * Creates an OutboundTransfer. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of OutboundTransfers sent from the specified FinancialAccount. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\OutboundTransfer> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing OutboundTransfer by passing the unique * OutboundTransfer ID from either the OutboundTransfer creation request or * OutboundTransfer list. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundTransfer the canceled outbound transfer */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Treasury/ReceivedCredit.php000064400000007637147206617610016264 0ustar00FinancialAccount (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in cents) transferred. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|string $failure_code Reason for the failure. A ReceivedCredit might fail because the receiving FinancialAccount is closed or frozen. * @property null|string $financial_account The FinancialAccount that received the funds. * @property null|string $hosted_regulatory_receipt_url A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. * @property \Stripe\StripeObject $initiating_payment_method_details * @property \Stripe\StripeObject $linked_flows * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $network The rails used to send the funds. * @property null|\Stripe\StripeObject $reversal_details Details describing when a ReceivedCredit may be reversed. * @property string $status Status of the ReceivedCredit. ReceivedCredits are created either succeeded (approved) or failed (declined). If a ReceivedCredit is declined, the failure reason can be found in the failure_code field. * @property null|string|\Stripe\Treasury\Transaction $transaction The Transaction associated with this object. */ class ReceivedCredit extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.received_credit'; const FAILURE_CODE_ACCOUNT_CLOSED = 'account_closed'; const FAILURE_CODE_ACCOUNT_FROZEN = 'account_frozen'; const FAILURE_CODE_OTHER = 'other'; const NETWORK_ACH = 'ach'; const NETWORK_CARD = 'card'; const NETWORK_STRIPE = 'stripe'; const NETWORK_US_DOMESTIC_WIRE = 'us_domestic_wire'; const STATUS_FAILED = 'failed'; const STATUS_SUCCEEDED = 'succeeded'; /** * Returns a list of ReceivedCredits. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\ReceivedCredit> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing ReceivedCredit by passing the unique * ReceivedCredit ID from the ReceivedCredit list. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\ReceivedCredit */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Treasury/OutboundPayment.php000064400000015141147206617610016525 0ustar00FinancialAccount. To send money to an account belonging to the same user, use an OutboundTransfer. * * Simulate OutboundPayment state changes with the /v1/test_helpers/treasury/outbound_payments endpoints. These methods can only be called on test mode objects. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in cents) transferred. * @property bool $cancelable Returns true if the object can be canceled, and false otherwise. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $customer ID of the customer to whom an OutboundPayment is sent. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|string $destination_payment_method The PaymentMethod via which an OutboundPayment is sent. This field can be empty if the OutboundPayment was created using destination_payment_method_data. * @property null|\Stripe\StripeObject $destination_payment_method_details Details about the PaymentMethod for an OutboundPayment. * @property null|\Stripe\StripeObject $end_user_details Details about the end user. * @property int $expected_arrival_date The date when funds are expected to arrive in the destination account. * @property string $financial_account The FinancialAccount that funds were pulled from. * @property null|string $hosted_regulatory_receipt_url A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $returned_details Details about a returned OutboundPayment. Only set when the status is returned. * @property string $statement_descriptor The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). * @property string $status Current status of the OutboundPayment: processing, failed, posted, returned, canceled. An OutboundPayment is processing if it has been created and is pending. The status changes to posted once the OutboundPayment has been "confirmed" and funds have left the account, or to failed or canceled. If an OutboundPayment fails to arrive at its destination, its status will change to returned. * @property \Stripe\StripeObject $status_transitions * @property null|\Stripe\StripeObject $tracking_details Details about network-specific tracking information if available. * @property string|\Stripe\Treasury\Transaction $transaction The Transaction associated with this object. */ class OutboundPayment extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.outbound_payment'; const STATUS_CANCELED = 'canceled'; const STATUS_FAILED = 'failed'; const STATUS_POSTED = 'posted'; const STATUS_PROCESSING = 'processing'; const STATUS_RETURNED = 'returned'; /** * Creates an OutboundPayment. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of OutboundPayments sent from the specified FinancialAccount. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\OutboundPayment> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing OutboundPayment by passing the unique * OutboundPayment ID from either the OutboundPayment creation request or * OutboundPayment list. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\OutboundPayment the canceled outbound payment */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Treasury/InboundTransfer.php000064400000013470147206617610016476 0ustar00InboundTransfers to add funds to your FinancialAccount via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in cents) transferred. * @property bool $cancelable Returns true if the InboundTransfer is able to be canceled. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|\Stripe\StripeObject $failure_details Details about this InboundTransfer's failure. Only set when status is failed. * @property string $financial_account The FinancialAccount that received the funds. * @property null|string $hosted_regulatory_receipt_url A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. * @property \Stripe\StripeObject $linked_flows * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $origin_payment_method The origin payment method to be debited for an InboundTransfer. * @property null|\Stripe\StripeObject $origin_payment_method_details Details about the PaymentMethod for an InboundTransfer. * @property null|bool $returned Returns true if the funds for an InboundTransfer were returned after the InboundTransfer went to the succeeded state. * @property string $statement_descriptor Statement descriptor shown when funds are debited from the source. Not all payment networks support statement_descriptor. * @property string $status Status of the InboundTransfer: processing, succeeded, failed, and canceled. An InboundTransfer is processing if it is created and pending. The status changes to succeeded once the funds have been "confirmed" and a transaction is created and posted. The status changes to failed if the transfer fails. * @property \Stripe\StripeObject $status_transitions * @property null|string|\Stripe\Treasury\Transaction $transaction The Transaction associated with this object. */ class InboundTransfer extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.inbound_transfer'; const STATUS_CANCELED = 'canceled'; const STATUS_FAILED = 'failed'; const STATUS_PROCESSING = 'processing'; const STATUS_SUCCEEDED = 'succeeded'; /** * Creates an InboundTransfer. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of InboundTransfers sent from the specified FinancialAccount. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\InboundTransfer> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing InboundTransfer. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\InboundTransfer the canceled inbound transfer */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Treasury/DebitReversal.php000064400000010105147206617610016116 0ustar00ReceivedDebits depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount (in cents) transferred. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $financial_account The FinancialAccount to reverse funds from. * @property null|string $hosted_regulatory_receipt_url A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. * @property null|\Stripe\StripeObject $linked_flows Other flows linked to a DebitReversal. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $network The rails used to reverse the funds. * @property string $received_debit The ReceivedDebit being reversed. * @property string $status Status of the DebitReversal * @property \Stripe\StripeObject $status_transitions * @property null|string|\Stripe\Treasury\Transaction $transaction The Transaction associated with this object. */ class DebitReversal extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.debit_reversal'; const NETWORK_ACH = 'ach'; const NETWORK_CARD = 'card'; const STATUS_FAILED = 'failed'; const STATUS_PROCESSING = 'processing'; const STATUS_SUCCEEDED = 'succeeded'; /** * Reverses a ReceivedDebit and creates a DebitReversal object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\DebitReversal the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of DebitReversals. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\DebitReversal> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a DebitReversal object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\DebitReversal */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Treasury/FinancialAccount.php000064400000014437147206617610016600 0ustar00ISO 3166-1 alpha-2). * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|\Stripe\Treasury\FinancialAccountFeatures $features Encodes whether a FinancialAccount has access to a particular Feature, with a status enum and associated status_details. Stripe or the platform can control Features via the requested field. * @property \Stripe\StripeObject[] $financial_addresses The set of credentials that resolve to a FinancialAccount. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string[] $pending_features The array of paths to pending Features in the Features hash. * @property null|\Stripe\StripeObject $platform_restrictions The set of functionalities that the platform can restrict on the FinancialAccount. * @property null|string[] $restricted_features The array of paths to restricted Features in the Features hash. * @property string $status The enum specifying what state the account is in. * @property \Stripe\StripeObject $status_details * @property string[] $supported_currencies The currencies the FinancialAccount can hold a balance in. Three-letter ISO currency code, in lowercase. */ class FinancialAccount extends \Stripe\ApiResource { const OBJECT_NAME = 'treasury.financial_account'; use \Stripe\ApiOperations\Update; const STATUS_CLOSED = 'closed'; const STATUS_OPEN = 'open'; /** * Creates a new FinancialAccount. For now, each connected account can only have * one FinancialAccount. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccount the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of FinancialAccounts. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Treasury\FinancialAccount> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a FinancialAccount. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccount */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the details of a FinancialAccount. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccount the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccountFeatures the retrieved financial account features */ public function retrieveFeatures($params = null, $opts = null) { $url = $this->instanceUrl() . '/features'; list($response, $opts) = $this->_request('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Treasury\FinancialAccountFeatures the updated financial account features */ public function updateFeatures($params = null, $opts = null) { $url = $this->instanceUrl() . '/features'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/LoginLink.php000064400000001343147206617610013437 0ustar00account.controller.stripe_dashboard.type must be express to have access to the Express Dashboard. * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $url The URL for the login link. */ class LoginLink extends ApiResource { const OBJECT_NAME = 'login_link'; } lib/stripe-gateway/lib/SetupIntent.php000064400000027255147206617610014045 0ustar00PaymentIntents to drive the payment flow. * * Create a SetupIntent when you're ready to collect your customer's payment credentials. * Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid. * The SetupIntent transitions through multiple statuses as it guides * you through the setup process. * * Successful SetupIntents result in payment credentials that are optimized for future payments. * For example, cardholders in certain regions might need to be run through * Strong Customer Authentication during payment method collection * to streamline later off-session payments. * If you use the SetupIntent with a Customer, * it automatically attaches the resulting payment method to that Customer after successful setup. * We recommend using SetupIntents or setup_future_usage on * PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods. * * By using SetupIntents, you can reduce friction for your customers, even as regulations change over time. * * Related guide: Setup Intents API * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string|\Stripe\Application $application ID of the Connect application that created the SetupIntent. * @property null|bool $attach_to_self

If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.

It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.

* @property null|\Stripe\StripeObject $automatic_payment_methods Settings for dynamic payment methods compatible with this Setup Intent * @property null|string $cancellation_reason Reason for cancellation of this SetupIntent, one of abandoned, requested_by_customer, or duplicate. * @property null|string $client_secret

The client secret of this SetupIntent. Used for client-side retrieval using a publishable key.

The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.

* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\Customer $customer

ID of the Customer this SetupIntent belongs to, if one exists.

If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.

* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|string[] $flow_directions

Indicates the directions of money movement for which this payment method is intended to be used.

Include inbound if you intend to use the payment method as the origin to pull funds from. Include outbound if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.

* @property null|\Stripe\StripeObject $last_setup_error The error encountered in the previous SetupIntent confirmation. * @property null|string|\Stripe\SetupAttempt $latest_attempt The most recent SetupAttempt for this SetupIntent. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string|\Stripe\Mandate $mandate ID of the multi use Mandate generated by the SetupIntent. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $next_action If present, this property tells you what actions you need to take in order for your customer to continue payment setup. * @property null|string|\Stripe\Account $on_behalf_of The account (if any) for which the setup is intended. * @property null|string|\Stripe\PaymentMethod $payment_method ID of the payment method used with this SetupIntent. * @property null|\Stripe\StripeObject $payment_method_configuration_details Information about the payment method configuration used for this Setup Intent. * @property null|\Stripe\StripeObject $payment_method_options Payment method-specific configuration for this SetupIntent. * @property string[] $payment_method_types The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. * @property null|string|\Stripe\Mandate $single_use_mandate ID of the single_use Mandate generated by the SetupIntent. * @property string $status Status of this SetupIntent, one of requires_payment_method, requires_confirmation, requires_action, processing, canceled, or succeeded. * @property string $usage

Indicates how the payment method is intended to be used in the future.

Use on_session if you intend to only reuse the payment method when the customer is in your checkout flow. Use off_session if your customer may or may not be in your checkout flow. If not provided, this value defaults to off_session.

*/ class SetupIntent extends ApiResource { const OBJECT_NAME = 'setup_intent'; use ApiOperations\Update; const CANCELLATION_REASON_ABANDONED = 'abandoned'; const CANCELLATION_REASON_DUPLICATE = 'duplicate'; const CANCELLATION_REASON_REQUESTED_BY_CUSTOMER = 'requested_by_customer'; const STATUS_CANCELED = 'canceled'; const STATUS_PROCESSING = 'processing'; const STATUS_REQUIRES_ACTION = 'requires_action'; const STATUS_REQUIRES_CONFIRMATION = 'requires_confirmation'; const STATUS_REQUIRES_PAYMENT_METHOD = 'requires_payment_method'; const STATUS_SUCCEEDED = 'succeeded'; /** * Creates a SetupIntent object. * * After you create the SetupIntent, attach a payment method and confirm it to collect any required * permissions to charge the payment method later. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of SetupIntents. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\SetupIntent> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a SetupIntent that has previously been created. * * Client-side retrieval using a publishable key is allowed when the * client_secret is provided in the query string. * * When retrieved with a publishable key, only a subset of properties will be * returned. Please refer to the SetupIntent * object reference for more details. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a SetupIntent object. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent the canceled setup intent */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl() . '/cancel'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent the confirmed setup intent */ public function confirm($params = null, $opts = null) { $url = $this->instanceUrl() . '/confirm'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SetupIntent the verified setup intent */ public function verifyMicrodeposits($params = null, $opts = null) { $url = $this->instanceUrl() . '/verify_microdeposits'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Entitlements/Feature.php000064400000007405147206617610015624 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property string $lookup_key A unique key you provide as your own system identifier. This may be up to 80 characters. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $name The feature's name, for your own purpose, not meant to be displayable to the customer. */ class Feature extends \Stripe\ApiResource { const OBJECT_NAME = 'entitlements.feature'; use \Stripe\ApiOperations\Update; /** * Creates a feature. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Entitlements\Feature the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Retrieve a list of features. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Entitlements\Feature> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a feature. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Entitlements\Feature */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Update a feature’s metadata or permanently deactivate it. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Entitlements\Feature the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Entitlements/ActiveEntitlement.php000064400000003730147206617610017652 0ustar00Feature that the customer is entitled to. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $lookup_key A unique key you provide as your own system identifier. This may be up to 80 characters. */ class ActiveEntitlement extends \Stripe\ApiResource { const OBJECT_NAME = 'entitlements.active_entitlement'; /** * Retrieve a list of active entitlements for a customer. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Entitlements\ActiveEntitlement> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieve an active entitlement. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Entitlements\ActiveEntitlement */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Entitlements/ActiveEntitlementSummary.php000064400000001361147206617610021226 0ustar00 $entitlements The list of entitlements this customer has. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. */ class ActiveEntitlementSummary extends \Stripe\ApiResource { const OBJECT_NAME = 'entitlements.active_entitlement_summary'; } lib/stripe-gateway/lib/Transfer.php000064400000021401147206617610013332 0ustar00Transfer object is created when you move funds between Stripe accounts as * part of Connect. * * Before April 6, 2017, transfers also represented movement of funds from a * Stripe account to a card or bank account. This behavior has since been split * out into a Payout object, with corresponding payout endpoints. For more * information, read about the * transfer/payout split. * * Related guide: Creating separate charges and transfers * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Amount in cents (or local equivalent) to be transferred. * @property int $amount_reversed Amount in cents (or local equivalent) reversed (can be less than the amount attribute on the transfer if a partial reversal was issued). * @property null|string|\Stripe\BalanceTransaction $balance_transaction Balance transaction that describes the impact of this transfer on your account balance. * @property int $created Time that this record of the transfer was first created. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|string|\Stripe\Account $destination ID of the Stripe account the transfer was sent to. * @property null|string|\Stripe\Charge $destination_payment If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property \Stripe\Collection<\Stripe\TransferReversal> $reversals A list of reversals that have been applied to the transfer. * @property bool $reversed Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false. * @property null|string|\Stripe\Charge $source_transaction ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance. * @property null|string $source_type The source balance this transfer came from. One of card, fpx, or bank_account. * @property null|string $transfer_group A string that identifies this transaction as part of a group. See the Connect documentation for details. */ class Transfer extends ApiResource { const OBJECT_NAME = 'transfer'; use ApiOperations\NestedResource; use ApiOperations\Update; const SOURCE_TYPE_BANK_ACCOUNT = 'bank_account'; const SOURCE_TYPE_CARD = 'card'; const SOURCE_TYPE_FPX = 'fpx'; /** * To send funds from your Stripe account to a connected account, you create a new * transfer object. Your Stripe balance must be able to * cover the transfer amount, or you’ll receive an “Insufficient Funds” error. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Transfer the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of existing transfers sent to connected accounts. The transfers * are returned in sorted order, with the most recently created transfers appearing * first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Transfer> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing transfer. Supply the unique transfer ID * from either a transfer creation request or the transfer list, and Stripe will * return the corresponding transfer information. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Transfer */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified transfer by setting the values of the parameters passed. * Any parameters not provided will be left unchanged. * * This request accepts only metadata as an argument. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Transfer the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } const PATH_REVERSALS = '/reversals'; /** * @param string $id the ID of the transfer on which to retrieve the transfer reversals * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\TransferReversal> the list of transfer reversals */ public static function allReversals($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_REVERSALS, $params, $opts); } /** * @param string $id the ID of the transfer on which to create the transfer reversal * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TransferReversal */ public static function createReversal($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_REVERSALS, $params, $opts); } /** * @param string $id the ID of the transfer to which the transfer reversal belongs * @param string $reversalId the ID of the transfer reversal to retrieve * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TransferReversal */ public static function retrieveReversal($id, $reversalId, $params = null, $opts = null) { return self::_retrieveNestedResource($id, static::PATH_REVERSALS, $reversalId, $params, $opts); } /** * @param string $id the ID of the transfer to which the transfer reversal belongs * @param string $reversalId the ID of the transfer reversal to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\TransferReversal */ public static function updateReversal($id, $reversalId, $params = null, $opts = null) { return self::_updateNestedResource($id, static::PATH_REVERSALS, $reversalId, $params, $opts); } } lib/stripe-gateway/lib/Token.php000064400000011512147206617610012630 0ustar00recommended payments integrations to perform this process * on the client-side. This guarantees that no sensitive card data touches your server, * and allows your integration to operate in a PCI-compliant way. * * If you can't use client-side tokenization, you can also create tokens using * the API with either your publishable or secret API key. If * your integration uses this method, you're responsible for any PCI compliance * that it might require, and you must keep your secret API key safe. Unlike with * client-side tokenization, your customer's information isn't sent directly to * Stripe, so we can't determine how it's handled or stored. * * You can't store or use tokens more than once. To store card or bank account * information for later use, create Customer * objects or External accounts. * Radar, our integrated solution for automatic fraud protection, * performs best with integrations that use client-side tokenization. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\BankAccount $bank_account

These bank accounts are payment methods on Customer objects.

On the other hand External Accounts are transfer destinations on Account objects for connected accounts. They can be bank accounts or debit cards as well, and are documented in the links above.

Related guide: Bank debits and transfers

* @property null|\Stripe\Card $card

You can store multiple cards on a customer in order to charge the customer later. You can also store multiple debit cards on a recipient in order to transfer to those cards later.

Related guide: Card payments with Sources

* @property null|string $client_ip IP address of the client that generates the token. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $type Type of the token: account, bank_account, card, or pii. * @property bool $used Determines if you have already used this token (you can only use tokens once). */ class Token extends ApiResource { const OBJECT_NAME = 'token'; const TYPE_ACCOUNT = 'account'; const TYPE_BANK_ACCOUNT = 'bank_account'; const TYPE_CARD = 'card'; const TYPE_PII = 'pii'; /** * Creates a single-use token that represents a bank account’s details. You can use * this token with any API method in place of a bank account dictionary. You can * only use this token once. To do so, attach it to a connected * account where controller.requirement_collection * is application, which includes Custom accounts. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Token the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Retrieves the token with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Token */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/UsageRecord.php000064400000002161147206617610013753 0ustar00Metered billing * * This is our legacy usage-based billing API. See the updated usage-based billing docs. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property int $quantity The usage quantity for the specified date. * @property string $subscription_item The ID of the subscription item this usage record contains data for. * @property int $timestamp The timestamp when this usage occurred. */ class UsageRecord extends ApiResource { const OBJECT_NAME = 'usage_record'; } lib/stripe-gateway/lib/CreditNoteLineItem.php000064400000004501147206617610015237 0ustar00true if the object exists in live mode or the value false if the object exists in test mode. * @property null|int $quantity The number of units of product being credited. * @property \Stripe\StripeObject[] $tax_amounts The amount of tax calculated per tax rate for this line item * @property \Stripe\TaxRate[] $tax_rates The tax rates which apply to the line item. * @property string $type The type of the credit note line item, one of invoice_line_item or custom_line_item. When the type is invoice_line_item there is an additional invoice_line_item property on the resource the value of which is the id of the credited line item on the invoice. * @property null|int $unit_amount The cost of each unit of product being credited. * @property null|string $unit_amount_decimal Same as unit_amount, but contains a decimal value with at most 12 decimal places. * @property null|string $unit_amount_excluding_tax The amount in cents (or local equivalent) representing the unit amount being credited for this line item, excluding all tax and discounts. */ class CreditNoteLineItem extends ApiResource { const OBJECT_NAME = 'credit_note_line_item'; } lib/stripe-gateway/lib/BankAccount.php000064400000021774147206617610013753 0ustar00Customer objects. * * On the other hand External Accounts are transfer * destinations on Account objects for connected accounts. * They can be bank accounts or debit cards as well, and are documented in the links above. * * Related guide: Bank debits and transfers * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string|\Stripe\Account $account The ID of the account that the bank account is associated with. * @property null|string $account_holder_name The name of the person or business that owns the bank account. * @property null|string $account_holder_type The type of entity that holds the account. This can be either individual or company. * @property null|string $account_type The bank account type. This can only be checking or savings in most countries. In Japan, this can only be futsu or toza. * @property null|string[] $available_payout_methods A set of available payout methods for this bank account. Only values from this set should be passed as the method when creating a payout. * @property null|string $bank_name Name of the bank associated with the routing number (e.g., WELLS FARGO). * @property string $country Two-letter ISO code representing the country the bank account is located in. * @property string $currency Three-letter ISO code for the currency paid out to the bank account. * @property null|string|\Stripe\Customer $customer The ID of the customer that the bank account is associated with. * @property null|bool $default_for_currency Whether this bank account is the default external account for its currency. * @property null|string $fingerprint Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. * @property null|\Stripe\StripeObject $future_requirements Information about the upcoming new requirements for the bank account, including what information needs to be collected, and by when. * @property string $last4 The last four digits of the bank account number. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|\Stripe\StripeObject $requirements Information about the requirements for the bank account, including what information needs to be collected. * @property null|string $routing_number The routing transit number for the bank account. * @property string $status

For bank accounts, possible values are new, validated, verified, verification_failed, or errored. A bank account that hasn't had any activity or validation performed is new. If Stripe can determine that the bank account exists, its status will be validated. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be verified. If the verification failed for any reason, such as microdeposit failure, the status will be verification_failed. If a payout sent to this bank account fails, we'll set the status to errored and will not continue to send scheduled payouts until the bank details are updated.

For external accounts, possible values are new, errored and verification_failed. If a payout fails, the status is set to errored and scheduled payouts are stopped until account details are updated. In the US and India, if we can't verify the owner of the bank account, we'll set the status to verification_failed. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.

*/ class BankAccount extends ApiResource { const OBJECT_NAME = 'bank_account'; /** * Delete a specified external account for a given account. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BankAccount the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Possible string representations of the bank verification status. * * @see https://stripe.com/docs/api/external_account_bank_accounts/object#account_bank_account_object-status */ const STATUS_NEW = 'new'; const STATUS_VALIDATED = 'validated'; const STATUS_VERIFIED = 'verified'; const STATUS_VERIFICATION_FAILED = 'verification_failed'; const STATUS_ERRORED = 'errored'; /** * @return string The instance URL for this resource. It needs to be special * cased because it doesn't fit into the standard resource pattern. */ public function instanceUrl() { if ($this['customer']) { $base = Customer::classUrl(); $parent = $this['customer']; $path = 'sources'; } elseif ($this['account']) { $base = Account::classUrl(); $parent = $this['account']; $path = 'external_accounts'; } else { $msg = 'Bank accounts cannot be accessed without a customer ID or account ID.'; throw new Exception\UnexpectedValueException($msg, null); } $parentExtn = \urlencode(Util\Util::utf8($parent)); $extn = \urlencode(Util\Util::utf8($this['id'])); return "{$base}/{$parentExtn}/{$path}/{$extn}"; } /** * @param array|string $_id * @param null|array|string $_opts * * @throws \Stripe\Exception\BadMethodCallException */ public static function retrieve($_id, $_opts = null) { $msg = 'Bank accounts cannot be retrieved without a customer ID or ' . 'an account ID. Retrieve a bank account using ' . "`Customer::retrieveSource('customer_id', " . "'bank_account_id')` or `Account::retrieveExternalAccount(" . "'account_id', 'bank_account_id')`."; throw new Exception\BadMethodCallException($msg); } /** * @param string $_id * @param null|array $_params * @param null|array|string $_options * * @throws \Stripe\Exception\BadMethodCallException */ public static function update($_id, $_params = null, $_options = null) { $msg = 'Bank accounts cannot be updated without a customer ID or an ' . 'account ID. Update a bank account using ' . "`Customer::updateSource('customer_id', 'bank_account_id', " . '$updateParams)` or `Account::updateExternalAccount(' . "'account_id', 'bank_account_id', \$updateParams)`."; throw new Exception\BadMethodCallException($msg); } /** * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return static the saved resource * * @deprecated The `save` method is deprecated and will be removed in a * future major version of the library. Use the static method `update` * on the resource instead. */ public function save($opts = null) { $params = $this->serializeParameters(); if (\count($params) > 0) { $url = $this->instanceUrl(); list($response, $opts) = $this->_request('post', $url, $params, $opts, ['save']); $this->refreshFrom($response, $opts); } return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return BankAccount the verified bank account */ public function verify($params = null, $opts = null) { $url = $this->instanceUrl() . '/verify'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/Checkout/Session.php000064400000034636147206617610014754 0ustar00Checkout * or Payment Links. We recommend creating a * new Session each time your customer attempts to pay. * * Once payment is successful, the Checkout Session will contain a reference * to the Customer, and either the successful * PaymentIntent or an active * Subscription. * * You can create a Checkout Session on your server and redirect to its URL * to begin Checkout. * * Related guide: Checkout quickstart * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|\Stripe\StripeObject $after_expiration When set, provides configuration for actions to take if this Checkout Session expires. * @property null|bool $allow_promotion_codes Enables user redeemable promotion codes. * @property null|int $amount_subtotal Total of all items before discounts or taxes are applied. * @property null|int $amount_total Total of all items after discounts and taxes are applied. * @property \Stripe\StripeObject $automatic_tax * @property null|string $billing_address_collection Describes whether Checkout should collect the customer's billing address. Defaults to auto. * @property null|string $cancel_url If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. * @property null|string $client_reference_id A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the Session with your internal systems. * @property null|string $client_secret Client secret to be used when initializing Stripe.js embedded checkout. * @property null|\Stripe\StripeObject $consent Results of consent_collection for this session. * @property null|\Stripe\StripeObject $consent_collection When set, provides configuration for the Checkout Session to gather active consent from customers. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|\Stripe\StripeObject $currency_conversion Currency conversion details for automatic currency conversion sessions * @property \Stripe\StripeObject[] $custom_fields Collect additional information from your customer using custom fields. Up to 3 fields are supported. * @property \Stripe\StripeObject $custom_text * @property null|string|\Stripe\Customer $customer The ID of the customer for this Session. For Checkout Sessions in subscription mode or Checkout Sessions with customer_creation set as always in payment mode, Checkout will create a new customer object based on information provided during the payment flow unless an existing customer was provided when the Session was created. * @property null|string $customer_creation Configure whether a Checkout Session creates a Customer when the Checkout Session completes. * @property null|\Stripe\StripeObject $customer_details The customer details including the customer's tax exempt status and the customer's tax IDs. Customer's address details are not present on Sessions in setup mode. * @property null|string $customer_email If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once the payment flow is complete, use the customer attribute. * @property int $expires_at The timestamp at which the Checkout Session will expire. * @property null|string|\Stripe\Invoice $invoice ID of the invoice created by the Checkout Session, if it exists. * @property null|\Stripe\StripeObject $invoice_creation Details on the state of invoice creation for the Checkout Session. * @property null|\Stripe\Collection<\Stripe\LineItem> $line_items The line items purchased by the customer. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $locale The IETF language tag of the locale Checkout is displayed in. If blank or auto, the browser's locale is used. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $mode The mode of the Checkout Session. * @property null|string|\Stripe\PaymentIntent $payment_intent The ID of the PaymentIntent for Checkout Sessions in payment mode. You can't confirm or cancel the PaymentIntent for a Checkout Session. To cancel, expire the Checkout Session instead. * @property null|string|\Stripe\PaymentLink $payment_link The ID of the Payment Link that created this Session. * @property null|string $payment_method_collection Configure whether a Checkout Session should collect a payment method. Defaults to always. * @property null|\Stripe\StripeObject $payment_method_configuration_details Information about the payment method configuration used for this Checkout session if using dynamic payment methods. * @property null|\Stripe\StripeObject $payment_method_options Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession. * @property string[] $payment_method_types A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept. * @property string $payment_status The payment status of the Checkout Session, one of paid, unpaid, or no_payment_required. You can use this value to decide when to fulfill your customer's order. * @property null|\Stripe\StripeObject $phone_number_collection * @property null|string $recovered_from The ID of the original expired Checkout Session that triggered the recovery flow. * @property null|string $redirect_on_completion This parameter applies to ui_mode: embedded. Learn more about the redirect behavior of embedded sessions. Defaults to always. * @property null|string $return_url Applies to Checkout Sessions with ui_mode: embedded. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. * @property null|\Stripe\StripeObject $saved_payment_method_options Controls saved payment method settings for the session. Only available in payment and subscription mode. * @property null|string|\Stripe\SetupIntent $setup_intent The ID of the SetupIntent for Checkout Sessions in setup mode. You can't confirm or cancel the SetupIntent for a Checkout Session. To cancel, expire the Checkout Session instead. * @property null|\Stripe\StripeObject $shipping_address_collection When set, provides configuration for Checkout to collect a shipping address from a customer. * @property null|\Stripe\StripeObject $shipping_cost The details of the customer cost of shipping, including the customer chosen ShippingRate. * @property null|\Stripe\StripeObject $shipping_details Shipping information for this Checkout Session. * @property \Stripe\StripeObject[] $shipping_options The shipping rate options applied to this Session. * @property null|string $status The status of the Checkout Session, one of open, complete, or expired. * @property null|string $submit_type Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. submit_type can only be specified on Checkout Sessions in payment mode. If blank or auto, pay is used. * @property null|string|\Stripe\Subscription $subscription The ID of the subscription for Checkout Sessions in subscription mode. * @property null|string $success_url The URL the customer will be directed to after the payment or subscription creation is successful. * @property null|\Stripe\StripeObject $tax_id_collection * @property null|\Stripe\StripeObject $total_details Tax and discount details for the computed total amount. * @property null|string $ui_mode The UI mode of the Session. Defaults to hosted. * @property null|string $url The URL to the Checkout Session. Redirect customers to this URL to take them to Checkout. If you’re using Custom Domains, the URL will use your subdomain. Otherwise, it’ll use checkout.stripe.com. This value is only present when the session is active. */ class Session extends \Stripe\ApiResource { const OBJECT_NAME = 'checkout.session'; use \Stripe\ApiOperations\Update; const BILLING_ADDRESS_COLLECTION_AUTO = 'auto'; const BILLING_ADDRESS_COLLECTION_REQUIRED = 'required'; const CUSTOMER_CREATION_ALWAYS = 'always'; const CUSTOMER_CREATION_IF_REQUIRED = 'if_required'; const MODE_PAYMENT = 'payment'; const MODE_SETUP = 'setup'; const MODE_SUBSCRIPTION = 'subscription'; const PAYMENT_METHOD_COLLECTION_ALWAYS = 'always'; const PAYMENT_METHOD_COLLECTION_IF_REQUIRED = 'if_required'; const PAYMENT_STATUS_NO_PAYMENT_REQUIRED = 'no_payment_required'; const PAYMENT_STATUS_PAID = 'paid'; const PAYMENT_STATUS_UNPAID = 'unpaid'; const REDIRECT_ON_COMPLETION_ALWAYS = 'always'; const REDIRECT_ON_COMPLETION_IF_REQUIRED = 'if_required'; const REDIRECT_ON_COMPLETION_NEVER = 'never'; const STATUS_COMPLETE = 'complete'; const STATUS_EXPIRED = 'expired'; const STATUS_OPEN = 'open'; const SUBMIT_TYPE_AUTO = 'auto'; const SUBMIT_TYPE_BOOK = 'book'; const SUBMIT_TYPE_DONATE = 'donate'; const SUBMIT_TYPE_PAY = 'pay'; const UI_MODE_EMBEDDED = 'embedded'; const UI_MODE_HOSTED = 'hosted'; /** * Creates a Session object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Checkout\Session the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of Checkout Sessions. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Checkout\Session> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a Session object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Checkout\Session */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates a Session object. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Checkout\Session the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Checkout\Session the expired session */ public function expire($params = null, $opts = null) { $url = $this->instanceUrl() . '/expire'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\LineItem> list of line items */ public static function allLineItems($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/line_items'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/SubscriptionItem.php000064400000020200147206617610015045 0ustar00expand[]=discounts to expand each discount. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property \Stripe\Plan $plan

You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.

Plans define the base price, currency, and billing cycle for recurring purchases of products. Products help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.

For example, you might have a single "gold" product that has plans for $10/month, $100/year, €9/month, and €90/year.

Related guides: Set up a subscription and more about products and prices.

* @property \Stripe\Price $price

Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products. Products help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.

For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once.

Related guides: Set up a subscription, create an invoice, and more about products and prices.

* @property null|int $quantity The quantity of the plan to which the customer should be subscribed. * @property string $subscription The subscription this subscription_item belongs to. * @property null|\Stripe\TaxRate[] $tax_rates The tax rates which apply to this subscription_item. When set, the default_tax_rates on the subscription do not apply to this subscription_item. */ class SubscriptionItem extends ApiResource { const OBJECT_NAME = 'subscription_item'; use ApiOperations\NestedResource; use ApiOperations\Update; /** * Adds a new item to an existing subscription. No existing items will be changed * or replaced. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionItem the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Deletes an item from the subscription. Removing a subscription item from a * subscription will not cancel the subscription. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionItem the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Returns a list of your subscription items for a given subscription. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\SubscriptionItem> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the subscription item with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionItem */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the plan or quantity of an item on a current subscription. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SubscriptionItem the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } const PATH_USAGE_RECORDS = '/usage_records'; /** * @param string $id the ID of the subscription item on which to create the usage record * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\UsageRecord */ public static function createUsageRecord($id, $params = null, $opts = null) { return self::_createNestedResource($id, static::PATH_USAGE_RECORDS, $params, $opts); } const PATH_USAGE_RECORD_SUMMARIES = '/usage_record_summaries'; /** * @param string $id the ID of the subscription item on which to retrieve the usage record summaries * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\UsageRecordSummary> the list of usage record summaries */ public static function allUsageRecordSummaries($id, $params = null, $opts = null) { return self::_allNestedResources($id, static::PATH_USAGE_RECORD_SUMMARIES, $params, $opts); } } lib/stripe-gateway/lib/Forwarding/Request.php000064400000010173147206617610015304 0ustar00Forward card details to third-party API endpoints. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $payment_method The PaymentMethod to insert into the forwarded request. Forwarding previously consumed PaymentMethods is allowed. * @property string[] $replacements The field kinds to be replaced in the forwarded request. * @property null|\Stripe\StripeObject $request_context Context about the request from Stripe's servers to the destination endpoint. * @property null|\Stripe\StripeObject $request_details The request that was sent to the destination endpoint. We redact any sensitive fields. * @property null|\Stripe\StripeObject $response_details The response that the destination endpoint returned to us. We redact any sensitive fields. * @property null|string $url The destination URL for the forwarded request. Must be supported by the config. */ class Request extends \Stripe\ApiResource { const OBJECT_NAME = 'forwarding.request'; /** * Creates a ForwardingRequest object. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Forwarding\Request the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Lists all ForwardingRequest objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Forwarding\Request> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a ForwardingRequest object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Forwarding\Request */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/SearchResult.php000064400000014774147206617610014171 0ustar00Collection in that they both wrap * around a list of objects and provide pagination. However the * SearchResult object paginates by relying on a * next_page token included in the response rather than using * object IDs and a starting_before/ending_after * parameter. Thus, SearchResult only supports forwards pagination. * * The {@see $total_count} property is only available when * the `expand` parameter contains `total_count`. * * @template TStripeObject of StripeObject * @template-implements \IteratorAggregate * * @property string $object * @property string $url * @property string $next_page * @property int $total_count * @property bool $has_more * @property TStripeObject[] $data */ class SearchResult extends StripeObject implements \Countable, \IteratorAggregate { const OBJECT_NAME = 'search_result'; use ApiOperations\Request; /** @var array */ protected $filters = []; /** * @return string the base URL for the given class */ public static function baseUrl() { return Stripe::$apiBase; } /** * Returns the filters. * * @return array the filters */ public function getFilters() { return $this->filters; } /** * Sets the filters, removing paging options. * * @param array $filters the filters */ public function setFilters($filters) { $this->filters = $filters; } /** * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($k) { if (\is_string($k)) { return parent::offsetGet($k); } $msg = "You tried to access the {$k} index, but SearchResult " . 'types only support string keys. (HINT: Search calls ' . 'return an object with a `data` (which is the data ' . "array). You likely want to call ->data[{$k}])"; throw new Exception\InvalidArgumentException($msg); } /** * @param null|array $params * @param null|array|string $opts * * @throws Exception\ApiErrorException * * @return SearchResult */ public function all($params = null, $opts = null) { self::_validateParams($params); list($url, $params) = $this->extractPathAndUpdateParams($params); list($response, $opts) = $this->_request('get', $url, $params, $opts); $obj = Util\Util::convertToStripeObject($response, $opts); if (!($obj instanceof \Stripe\SearchResult)) { throw new \Stripe\Exception\UnexpectedValueException( 'Expected type ' . \Stripe\SearchResult::class . ', got "' . \get_class($obj) . '" instead.' ); } $obj->setFilters($params); return $obj; } /** * @return int the number of objects in the current page */ #[\ReturnTypeWillChange] public function count() { return \count($this->data); } /** * @return \ArrayIterator an iterator that can be used to iterate * across objects in the current page */ #[\ReturnTypeWillChange] public function getIterator() { return new \ArrayIterator($this->data); } /** * @throws Exception\ApiErrorException * * @return \Generator|TStripeObject[] A generator that can be used to * iterate across all objects across all pages. As page boundaries are * encountered, the next page will be fetched automatically for * continued iteration. */ public function autoPagingIterator() { $page = $this; while (true) { foreach ($page as $item) { yield $item; } $page = $page->nextPage(); if ($page->isEmpty()) { break; } } } /** * Returns an empty set of search results. This is returned from * {@see nextPage()} when we know that there isn't a next page in order to * replicate the behavior of the API when it attempts to return a page * beyond the last. * * @param null|array|string $opts * * @return SearchResult */ public static function emptySearchResult($opts = null) { return SearchResult::constructFrom(['data' => []], $opts); } /** * Returns true if the page object contains no element. * * @return bool */ public function isEmpty() { return empty($this->data); } /** * Fetches the next page in the resource list (if there is one). * * This method will try to respect the limit of the current page. If none * was given, the default limit will be fetched again. * * @param null|array $params * @param null|array|string $opts * * @throws Exception\ApiErrorException * * @return SearchResult */ public function nextPage($params = null, $opts = null) { if (!$this->has_more) { return static::emptySearchResult($opts); } $params = \array_merge( $this->filters ?: [], ['page' => $this->next_page], $params ?: [] ); return $this->all($params, $opts); } /** * Gets the first item from the current page. Returns `null` if the current page is empty. * * @return null|TStripeObject */ public function first() { return \count($this->data) > 0 ? $this->data[0] : null; } /** * Gets the last item from the current page. Returns `null` if the current page is empty. * * @return null|TStripeObject */ public function last() { return \count($this->data) > 0 ? $this->data[\count($this->data) - 1] : null; } private function extractPathAndUpdateParams($params) { $url = \parse_url($this->url); if (!isset($url['path'])) { throw new Exception\UnexpectedValueException("Could not parse list url into parts: {$url}"); } if (isset($url['query'])) { // If the URL contains a query param, parse it out into $params so they // don't interact weirdly with each other. $query = []; \parse_str($url['query'], $query); $params = \array_merge($params ?: [], $query); } return [$url['path'], $params]; } } lib/stripe-gateway/lib/Subscription.php000064400000052770147206617610014247 0ustar00Creating subscriptions * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string|\Stripe\Application $application ID of the Connect Application that created the subscription. * @property null|float $application_fee_percent A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. * @property \Stripe\StripeObject $automatic_tax * @property int $billing_cycle_anchor The reference point that aligns future billing cycle dates. It sets the day of week for week intervals, the day of month for month and year intervals, and the month of year for year intervals. The timestamp is in UTC format. * @property null|\Stripe\StripeObject $billing_cycle_anchor_config The fixed values used to calculate the billing_cycle_anchor. * @property null|\Stripe\StripeObject $billing_thresholds Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period * @property null|int $cancel_at A date in the future at which the subscription will automatically get canceled * @property bool $cancel_at_period_end If the subscription has been canceled with the at_period_end flag set to true, cancel_at_period_end on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period. * @property null|int $canceled_at If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with cancel_at_period_end, canceled_at will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state. * @property null|\Stripe\StripeObject $cancellation_details Details about why this subscription was cancelled * @property string $collection_method Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as active. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property int $current_period_end End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created. * @property int $current_period_start Start of the current period that the subscription has been invoiced for. * @property string|\Stripe\Customer $customer ID of the customer who owns the subscription. * @property null|int $days_until_due Number of days a customer has to pay invoices generated by this subscription. This value will be null for subscriptions where collection_method=charge_automatically. * @property null|string|\Stripe\PaymentMethod $default_payment_method ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over default_source. If neither are set, invoices will use the customer's invoice_settings.default_payment_method or default_source. * @property null|string|\Stripe\Account|\Stripe\BankAccount|\Stripe\Card|\Stripe\Source $default_source ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If default_payment_method is also set, default_payment_method will take precedence. If neither are set, invoices will use the customer's invoice_settings.default_payment_method or default_source. * @property null|\Stripe\TaxRate[] $default_tax_rates The tax rates that will apply to any subscription item that does not have tax_rates set. Invoices created will have their default_tax_rates populated from the subscription. * @property null|string $description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. * @property null|\Stripe\Discount $discount Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis. This field has been deprecated and will be removed in a future API version. Use discounts instead. * @property (string|\Stripe\Discount)[] $discounts The discounts applied to the subscription. Subscription item discounts are applied before subscription discounts. Use expand[]=discounts to expand each discount. * @property null|int $ended_at If the subscription has ended, the date the subscription ended. * @property \Stripe\StripeObject $invoice_settings * @property \Stripe\Collection<\Stripe\SubscriptionItem> $items List of subscription items, each with an attached price. * @property null|string|\Stripe\Invoice $latest_invoice The most recent invoice this subscription has generated. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|int $next_pending_invoice_item_invoice Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at pending_invoice_item_interval. * @property null|string|\Stripe\Account $on_behalf_of The account (if any) the charge was made on behalf of for charges associated with this subscription. See the Connect documentation for details. * @property null|\Stripe\StripeObject $pause_collection If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to paused. Learn more about pausing collection. * @property null|\Stripe\StripeObject $payment_settings Payment settings passed on to invoices created by the subscription. * @property null|\Stripe\StripeObject $pending_invoice_item_interval Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling Create an invoice for the given subscription at the specified interval. * @property null|string|\Stripe\SetupIntent $pending_setup_intent You can use this SetupIntent to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the SCA Migration Guide. * @property null|\Stripe\StripeObject $pending_update If specified, pending updates that will be applied to the subscription once the latest_invoice has been paid. * @property null|string|\Stripe\SubscriptionSchedule $schedule The schedule attached to the subscription * @property int $start_date Date when the subscription was first created. The date might differ from the created date due to backdating. * @property string $status

Possible values are incomplete, incomplete_expired, trialing, active, past_due, canceled, unpaid, or paused.

For collection_method=charge_automatically a subscription moves into incomplete if the initial payment attempt fails. A subscription in this status can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an active status. If the first invoice is not paid within 23 hours, the subscription transitions to incomplete_expired. This is a terminal status, the open invoice will be voided and no further invoices will be generated.

A subscription that is currently in a trial period is trialing and moves to active when the trial period is over.

A subscription can only enter a paused status when a trial ends without a payment method. A paused subscription doesn't generate invoices and can be resumed after your customer adds their payment method. The paused status is different from pausing collection, which still generates invoices and leaves the subscription's status unchanged.

If subscription collection_method=charge_automatically, it becomes past_due when payment is required but cannot be paid (due to failed payment or awaiting additional user actions). Once Stripe has exhausted all payment retry attempts, the subscription will become canceled or unpaid (depending on your subscriptions settings).

If subscription collection_method=send_invoice it becomes past_due when its invoice is not paid by the due date, and canceled or unpaid if it is still not paid by an additional deadline after that. Note that when a subscription has a status of unpaid, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices.

* @property null|string|\Stripe\TestHelpers\TestClock $test_clock ID of the test clock this subscription belongs to. * @property null|\Stripe\StripeObject $transfer_data The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. * @property null|int $trial_end If the subscription has a trial, the end of that trial. * @property null|\Stripe\StripeObject $trial_settings Settings related to subscription trials. * @property null|int $trial_start If the subscription has a trial, the beginning of that trial. */ class Subscription extends ApiResource { const OBJECT_NAME = 'subscription'; use ApiOperations\Update; const COLLECTION_METHOD_CHARGE_AUTOMATICALLY = 'charge_automatically'; const COLLECTION_METHOD_SEND_INVOICE = 'send_invoice'; const STATUS_ACTIVE = 'active'; const STATUS_CANCELED = 'canceled'; const STATUS_INCOMPLETE = 'incomplete'; const STATUS_INCOMPLETE_EXPIRED = 'incomplete_expired'; const STATUS_PAST_DUE = 'past_due'; const STATUS_PAUSED = 'paused'; const STATUS_TRIALING = 'trialing'; const STATUS_UNPAID = 'unpaid'; /** * Creates a new subscription on an existing customer. Each customer can have up to * 500 active or scheduled subscriptions. * * When you create a subscription with * collection_method=charge_automatically, the first invoice is * finalized as part of the request. The payment_behavior parameter * determines the exact behavior of the initial payment. * * To start subscriptions where the first invoice always begins in a * draft status, use subscription * schedules instead. Schedules provide the flexibility to model more complex * billing configurations that change over time. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * By default, returns a list of subscriptions that have not been canceled. In * order to list canceled subscriptions, specify status=canceled. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Subscription> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the subscription with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates an existing subscription to match the specified parameters. When * changing prices or quantities, we optionally prorate the price we charge next * month to make up for any price changes. To preview how the proration is * calculated, use the create * preview endpoint. * * By default, we prorate subscription changes. For example, if a customer signs up * on May 1 for a 100 price, they’ll be billed * 100 immediately. If on May 15 they switch to a * 200 price, then on June 1 they’ll be billed * 250 (200 for a renewal of her * subscription, plus a 50 prorating adjustment for half of * the previous month’s 100 difference). Similarly, a * downgrade generates a credit that is applied to the next invoice. We also * prorate when you make quantity changes. * * Switching prices does not normally change the billing date or generate an * immediate charge unless: * *
  • The billing interval is changed (for example, from monthly to * yearly).
  • The subscription moves from free to paid.
  • A trial * starts or ends.
* * In these cases, we apply a credit for the unused time on the previous price, * immediately charge the customer using the new price, and reset the billing date. * Learn about how Stripe * immediately attempts payment for subscription changes. * * If you want to charge for an upgrade immediately, pass * proration_behavior as always_invoice to create * prorations, automatically invoice the customer for those proration adjustments, * and attempt to collect payment. If you pass create_prorations, the * prorations are created but not automatically invoiced. If you want to bill the * customer for the prorations before the subscription’s renewal date, you need to * manually invoice the customer. * * If you don’t want to prorate, set the proration_behavior option to * none. With this option, the customer is billed * 100 on May 1 and 200 on June 1. * Similarly, if you set proration_behavior to none when * switching between different billing intervals (for example, from monthly to * yearly), we don’t generate any credits for the old subscription’s unused time. * We still reset the billing date and bill immediately for the new subscription. * * Updating the quantity on a subscription many times in an hour may result in rate limiting. If you need to bill for a frequently * changing quantity, consider integrating usage-based billing instead. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } use ApiOperations\Delete { delete as protected _delete; } public static function getSavedNestedResources() { static $savedNestedResources = null; if (null === $savedNestedResources) { $savedNestedResources = new Util\Set([ 'source', ]); } return $savedNestedResources; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription the updated subscription */ public function deleteDiscount($params = null, $opts = null) { $url = $this->instanceUrl() . '/discount'; list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom(['discount' => null], $opts, true); return $this; } const PAYMENT_BEHAVIOR_ALLOW_INCOMPLETE = 'allow_incomplete'; const PAYMENT_BEHAVIOR_DEFAULT_INCOMPLETE = 'default_incomplete'; const PAYMENT_BEHAVIOR_ERROR_IF_INCOMPLETE = 'error_if_incomplete'; const PAYMENT_BEHAVIOR_PENDING_IF_INCOMPLETE = 'pending_if_incomplete'; const PRORATION_BEHAVIOR_ALWAYS_INVOICE = 'always_invoice'; const PRORATION_BEHAVIOR_CREATE_PRORATIONS = 'create_prorations'; const PRORATION_BEHAVIOR_NONE = 'none'; /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription the canceled subscription */ public function cancel($params = null, $opts = null) { $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Subscription the resumed subscription */ public function resume($params = null, $opts = null) { $url = $this->instanceUrl() . '/resume'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Subscription> the subscription search results */ public static function search($params = null, $opts = null) { $url = '/v1/subscriptions/search'; return static::_requestPage($url, \Stripe\SearchResult::class, $params, $opts); } } lib/stripe-gateway/lib/FinancialConnections/Transaction.php000064400000005473147206617610020135 0ustar00ISO currency code, in lowercase. Must be a supported currency. * @property string $description The description of this transaction. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $status The status of the transaction. * @property \Stripe\StripeObject $status_transitions * @property int $transacted_at Time at which the transaction was transacted. Measured in seconds since the Unix epoch. * @property string $transaction_refresh The token of the transaction refresh that last updated or created this transaction. * @property int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch. */ class Transaction extends \Stripe\ApiResource { const OBJECT_NAME = 'financial_connections.transaction'; const STATUS_PENDING = 'pending'; const STATUS_POSTED = 'posted'; const STATUS_VOID = 'void'; /** * Returns a list of Financial Connections Transaction objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\FinancialConnections\Transaction> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a Financial Connections Transaction. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Transaction */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/FinancialConnections/Account.php000064400000016371147206617610017243 0ustar00subcategory. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $display_name A human-readable name that has been assigned to this account, either by the account holder or by the institution. * @property string $institution_name The name of the institution that holds this account. * @property null|string $last4 The last 4 digits of the account number. If present, this will be 4 numeric characters. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string|\Stripe\FinancialConnections\AccountOwnership $ownership The most recent information about the account's owners. * @property null|\Stripe\StripeObject $ownership_refresh The state of the most recent attempt to refresh the account owners. * @property null|string[] $permissions The list of permissions granted by this account. * @property string $status The status of the link to the account. * @property string $subcategory

If category is cash, one of:

- checking - savings - other

If category is credit, one of:

- mortgage - line_of_credit - credit_card - other

If category is investment or other, this will be other.

* @property null|string[] $subscriptions The list of data refresh subscriptions requested on this account. * @property string[] $supported_payment_method_types The PaymentMethod type(s) that can be created from this account. * @property null|\Stripe\StripeObject $transaction_refresh The state of the most recent attempt to refresh the account transactions. */ class Account extends \Stripe\ApiResource { const OBJECT_NAME = 'financial_connections.account'; const CATEGORY_CASH = 'cash'; const CATEGORY_CREDIT = 'credit'; const CATEGORY_INVESTMENT = 'investment'; const CATEGORY_OTHER = 'other'; const STATUS_ACTIVE = 'active'; const STATUS_DISCONNECTED = 'disconnected'; const STATUS_INACTIVE = 'inactive'; const SUBCATEGORY_CHECKING = 'checking'; const SUBCATEGORY_CREDIT_CARD = 'credit_card'; const SUBCATEGORY_LINE_OF_CREDIT = 'line_of_credit'; const SUBCATEGORY_MORTGAGE = 'mortgage'; const SUBCATEGORY_OTHER = 'other'; const SUBCATEGORY_SAVINGS = 'savings'; /** * Returns a list of Financial Connections Account objects. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\FinancialConnections\Account> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an Financial Connections Account. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account the disconnected account */ public function disconnect($params = null, $opts = null) { $url = $this->instanceUrl() . '/disconnect'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param string $id * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\FinancialConnections\AccountOwner> list of account owners */ public static function allOwners($id, $params = null, $opts = null) { $url = static::resourceUrl($id) . '/owners'; list($response, $opts) = static::_staticRequest('get', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account the refreshed account */ public function refreshAccount($params = null, $opts = null) { $url = $this->instanceUrl() . '/refresh'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account the subscribed account */ public function subscribe($params = null, $opts = null) { $url = $this->instanceUrl() . '/subscribe'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Account the unsubscribed account */ public function unsubscribe($params = null, $opts = null) { $url = $this->instanceUrl() . '/unsubscribe'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/lib/FinancialConnections/AccountOwner.php000064400000001526147206617610020252 0ustar00 $accounts The accounts that were collected as part of this Session. * @property string $client_secret A value that will be passed to the client to launch the authentication flow. * @property null|\Stripe\StripeObject $filters * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string[] $permissions Permissions requested for accounts collected during this session. * @property null|string[] $prefetch Data features requested to be retrieved upon account creation. * @property null|string $return_url For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ class Session extends \Stripe\ApiResource { const OBJECT_NAME = 'financial_connections.session'; /** * To launch the Financial Connections authorization flow, create a * Session. The session’s client_secret can be used to * launch the flow using Stripe.js. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Session the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Retrieves the details of a Financial Connections Session. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\FinancialConnections\Session */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/FinancialConnections/AccountOwnership.php000064400000001306147206617610021132 0ustar00 $owners A paginated list of owners for this account. */ class AccountOwnership extends \Stripe\ApiResource { const OBJECT_NAME = 'financial_connections.account_ownership'; } lib/stripe-gateway/lib/ExchangeRate.php000064400000006642147206617610014116 0ustar00ExchangeRate objects allow you to determine the rates that Stripe is currently * using to convert from one currency to another. Since this number is variable * throughout the day, there are various reasons why you might want to know the current * rate (for example, to dynamically price an item for a user with a default * payment in a foreign currency). * * Please refer to our Exchange Rates API guide for more details. * * [Note: this integration path is supported but no longer recommended] Additionally, * you can guarantee that a charge is made with an exchange rate that you expect is * current. To do so, you must pass in the exchange_rate to charges endpoints. If the * value is no longer up to date, the charge won't go through. Please refer to our * Using with charges guide for more details. * * ----- * * * * This Exchange Rates API is a Beta Service and is subject to Stripe's terms of service. You may use the API solely for the purpose of transacting on Stripe. For example, the API may be queried in order to: * * - localize prices for processing payments on Stripe * - reconcile Stripe transactions * - determine how much money to send to a connected account * - determine app fees to charge a connected account * * Using this Exchange Rates API beta for any purpose other than to transact on Stripe is strictly prohibited and constitutes a violation of Stripe's terms of service. * * @property string $id Unique identifier for the object. Represented as the three-letter ISO currency code in lowercase. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property \Stripe\StripeObject $rates Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency. */ class ExchangeRate extends ApiResource { const OBJECT_NAME = 'exchange_rate'; /** * Returns a list of objects that contain the rates at which foreign currencies are * converted to one another. Only shows the currencies for which Stripe supports. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\ExchangeRate> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the exchange rates from the given currency to every supported * currency. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\ExchangeRate */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/BalanceTransaction.php000064400000021011147206617610015276 0ustar00Balance transaction types * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount Gross amount of this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party. * @property int $available_on The date that the transaction's net funds become available in the Stripe balance. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property null|float $exchange_rate If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the amount in currency A, multipled by the exchange_rate, equals the amount in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's amount is 1000 and currency is eur. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's amount is 1234, its currency is usd, and the exchange_rate is 1.234. * @property int $fee Fees (in cents (or local equivalent)) paid for this transaction. Represented as a positive integer when assessed. * @property \Stripe\StripeObject[] $fee_details Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction. * @property int $net Net impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by amount - fee * @property string $reporting_category Learn more about how reporting categories can help you understand balance transactions from an accounting perspective. * @property null|string|\Stripe\ApplicationFee|\Stripe\ApplicationFeeRefund|\Stripe\Charge|\Stripe\ConnectCollectionTransfer|\Stripe\CustomerCashBalanceTransaction|\Stripe\Dispute|\Stripe\Issuing\Authorization|\Stripe\Issuing\Dispute|\Stripe\Issuing\Transaction|\Stripe\Payout|\Stripe\Refund|\Stripe\ReserveTransaction|\Stripe\TaxDeductedAtSource|\Stripe\Topup|\Stripe\Transfer|\Stripe\TransferReversal $source This transaction relates to the Stripe object. * @property string $status The transaction's net funds status in the Stripe balance, which are either available or pending. * @property string $type Transaction type: adjustment, advance, advance_funding, anticipation_repayment, application_fee, application_fee_refund, charge, climate_order_purchase, climate_order_refund, connect_collection_transfer, contribution, issuing_authorization_hold, issuing_authorization_release, issuing_dispute, issuing_transaction, obligation_outbound, obligation_reversal_inbound, payment, payment_failure_refund, payment_network_reserve_hold, payment_network_reserve_release, payment_refund, payment_reversal, payment_unreconciled, payout, payout_cancel, payout_failure, refund, refund_failure, reserve_transaction, reserved_funds, stripe_fee, stripe_fx_fee, tax_fee, topup, topup_reversal, transfer, transfer_cancel, transfer_failure, or transfer_refund. Learn more about balance transaction types and what they represent. To classify transactions for accounting purposes, consider reporting_category instead. */ class BalanceTransaction extends ApiResource { const OBJECT_NAME = 'balance_transaction'; const TYPE_ADJUSTMENT = 'adjustment'; const TYPE_ADVANCE = 'advance'; const TYPE_ADVANCE_FUNDING = 'advance_funding'; const TYPE_ANTICIPATION_REPAYMENT = 'anticipation_repayment'; const TYPE_APPLICATION_FEE = 'application_fee'; const TYPE_APPLICATION_FEE_REFUND = 'application_fee_refund'; const TYPE_CHARGE = 'charge'; const TYPE_CLIMATE_ORDER_PURCHASE = 'climate_order_purchase'; const TYPE_CLIMATE_ORDER_REFUND = 'climate_order_refund'; const TYPE_CONNECT_COLLECTION_TRANSFER = 'connect_collection_transfer'; const TYPE_CONTRIBUTION = 'contribution'; const TYPE_ISSUING_AUTHORIZATION_HOLD = 'issuing_authorization_hold'; const TYPE_ISSUING_AUTHORIZATION_RELEASE = 'issuing_authorization_release'; const TYPE_ISSUING_DISPUTE = 'issuing_dispute'; const TYPE_ISSUING_TRANSACTION = 'issuing_transaction'; const TYPE_OBLIGATION_OUTBOUND = 'obligation_outbound'; const TYPE_OBLIGATION_REVERSAL_INBOUND = 'obligation_reversal_inbound'; const TYPE_PAYMENT = 'payment'; const TYPE_PAYMENT_FAILURE_REFUND = 'payment_failure_refund'; const TYPE_PAYMENT_NETWORK_RESERVE_HOLD = 'payment_network_reserve_hold'; const TYPE_PAYMENT_NETWORK_RESERVE_RELEASE = 'payment_network_reserve_release'; const TYPE_PAYMENT_REFUND = 'payment_refund'; const TYPE_PAYMENT_REVERSAL = 'payment_reversal'; const TYPE_PAYMENT_UNRECONCILED = 'payment_unreconciled'; const TYPE_PAYOUT = 'payout'; const TYPE_PAYOUT_CANCEL = 'payout_cancel'; const TYPE_PAYOUT_FAILURE = 'payout_failure'; const TYPE_REFUND = 'refund'; const TYPE_REFUND_FAILURE = 'refund_failure'; const TYPE_RESERVED_FUNDS = 'reserved_funds'; const TYPE_RESERVE_TRANSACTION = 'reserve_transaction'; const TYPE_STRIPE_FEE = 'stripe_fee'; const TYPE_STRIPE_FX_FEE = 'stripe_fx_fee'; const TYPE_TAX_FEE = 'tax_fee'; const TYPE_TOPUP = 'topup'; const TYPE_TOPUP_REVERSAL = 'topup_reversal'; const TYPE_TRANSFER = 'transfer'; const TYPE_TRANSFER_CANCEL = 'transfer_cancel'; const TYPE_TRANSFER_FAILURE = 'transfer_failure'; const TYPE_TRANSFER_REFUND = 'transfer_refund'; /** * Returns a list of transactions that have contributed to the Stripe account * balance (e.g., charges, transfers, and so forth). The transactions are returned * in sorted order, with the most recent transactions appearing first. * * Note that this endpoint was previously called “Balance history” and used the * path /v1/balance/history. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\BalanceTransaction> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the balance transaction with the given ID. * * Note that this endpoint previously used the path * /v1/balance/history/:id. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\BalanceTransaction */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/AccountLink.php000064400000003122147206617610013760 0ustar00Connect Onboarding * * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property int $expires_at The timestamp at which this account link will expire. * @property string $url The URL for the account link. */ class AccountLink extends ApiResource { const OBJECT_NAME = 'account_link'; /** * Creates an AccountLink object that includes a single-use Stripe URL that the * platform can redirect their user to in order to take them through the Connect * Onboarding flow. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\AccountLink the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } } lib/stripe-gateway/lib/Reporting/ReportType.php000064400000006417147206617610015646 0ustar00API Access to Reports documentation * for those Report Type IDs, along with required and optional parameters. * * Note that certain report types can only be run based on your live-mode data (not test-mode * data), and will error when queried without a live-mode API key. * * @property string $id The ID of the Report Type, such as balance.summary.1. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $data_available_end Most recent time for which this Report Type is available. Measured in seconds since the Unix epoch. * @property int $data_available_start Earliest time for which this Report Type is available. Measured in seconds since the Unix epoch. * @property null|string[] $default_columns List of column names that are included by default when this Report Type gets run. (If the Report Type doesn't support the columns parameter, this will be null.) * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property string $name Human-readable name of the Report Type * @property int $updated When this Report Type was latest updated. Measured in seconds since the Unix epoch. * @property int $version Version of the Report Type. Different versions report with the same ID will have the same purpose, but may take different run parameters or have different result schemas. */ class ReportType extends \Stripe\ApiResource { const OBJECT_NAME = 'reporting.report_type'; /** * Returns a full list of Report Types. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Reporting\ReportType> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of a Report Type. (Certain report types require a live-mode API key.). * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Reporting\ReportType */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/Reporting/ReportRun.php000064400000010222147206617610015456 0ustar00API Access to Reports. * * Note that certain report types can only be run based on your live-mode data (not test-mode * data), and will error when queried without a live-mode API key. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $error If something should go wrong during the run, a message about the failure (populated when status=failed). * @property bool $livemode true if the report is run on live mode data and false if it is run on test mode data. * @property \Stripe\StripeObject $parameters * @property string $report_type The ID of the report type to run, such as "balance.summary.1". * @property null|\Stripe\File $result The file object representing the result of the report run (populated when status=succeeded). * @property string $status Status of this report run. This will be pending when the run is initially created. When the run finishes, this will be set to succeeded and the result field will be populated. Rarely, we may encounter an error, at which point this will be set to failed and the error field will be populated. * @property null|int $succeeded_at Timestamp at which this run successfully finished (populated when status=succeeded). Measured in seconds since the Unix epoch. */ class ReportRun extends \Stripe\ApiResource { const OBJECT_NAME = 'reporting.report_run'; /** * Creates a new object and begin running the report. (Certain report types require * a live-mode API key.). * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Reporting\ReportRun the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of Report Runs, with the most recent appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Reporting\ReportRun> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an existing Report Run. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Reporting\ReportRun */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } } lib/stripe-gateway/lib/CustomerBalanceTransaction.php000064400000012402147206617610017024 0ustar00Balance value, * which denotes a debit or credit that's automatically applied to their next invoice upon finalization. * You may modify the value directly by using the update customer API, * or by creating a Customer Balance Transaction, which increments or decrements the customer's balance by the specified amount. * * Related guide: Customer balance * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $amount The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's balance. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string|\Stripe\CreditNote $credit_note The ID of the credit note (if any) related to the transaction. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property string|\Stripe\Customer $customer The ID of the customer the transaction belongs to. * @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. * @property int $ending_balance The customer's balance after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice. * @property null|string|\Stripe\Invoice $invoice The ID of the invoice (if any) related to the transaction. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property string $type Transaction type: adjustment, applied_to_invoice, credit_note, initial, invoice_overpaid, invoice_too_large, invoice_too_small, unspent_receiver_credit, or unapplied_from_invoice. See the Customer Balance page to learn more about transaction types. */ class CustomerBalanceTransaction extends ApiResource { const OBJECT_NAME = 'customer_balance_transaction'; const TYPE_ADJUSTMENT = 'adjustment'; const TYPE_APPLIED_TO_INVOICE = 'applied_to_invoice'; const TYPE_CREDIT_NOTE = 'credit_note'; const TYPE_INITIAL = 'initial'; const TYPE_INVOICE_OVERPAID = 'invoice_overpaid'; const TYPE_INVOICE_TOO_LARGE = 'invoice_too_large'; const TYPE_INVOICE_TOO_SMALL = 'invoice_too_small'; const TYPE_UNSPENT_RECEIVER_CREDIT = 'unspent_receiver_credit'; const TYPE_ADJUSTEMENT = 'adjustment'; /** * @return string the API URL for this balance transaction */ public function instanceUrl() { $id = $this['id']; $customer = $this['customer']; if (!$id) { throw new Exception\UnexpectedValueException( "Could not determine which URL to request: class instance has invalid ID: {$id}", null ); } $id = Util\Util::utf8($id); $customer = Util\Util::utf8($customer); $base = Customer::classUrl(); $customerExtn = \urlencode($customer); $extn = \urlencode($id); return "{$base}/{$customerExtn}/balance_transactions/{$extn}"; } /** * @param array|string $_id * @param null|array|string $_opts * * @throws \Stripe\Exception\BadMethodCallException */ public static function retrieve($_id, $_opts = null) { $msg = 'Customer Balance Transactions cannot be retrieved without a ' . 'customer ID. Retrieve a Customer Balance Transaction using ' . "`Customer::retrieveBalanceTransaction('customer_id', " . "'balance_transaction_id')`."; throw new Exception\BadMethodCallException($msg); } /** * @param string $_id * @param null|array $_params * @param null|array|string $_options * * @throws \Stripe\Exception\BadMethodCallException */ public static function update($_id, $_params = null, $_options = null) { $msg = 'Customer Balance Transactions cannot be updated without a ' . 'customer ID. Update a Customer Balance Transaction using ' . "`Customer::updateBalanceTransaction('customer_id', " . "'balance_transaction_id', \$updateParams)`."; throw new Exception\BadMethodCallException($msg); } } lib/stripe-gateway/lib/Person.php000064400000015751147206617610013027 0ustar00account.controller.requirement_collection is stripe, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding. * * See the Standard onboarding or Express onboarding documentation for information about prefilling information and account onboarding steps. Learn more about handling identity verification with the API. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $account The account the person is associated with. * @property null|\Stripe\StripeObject $additional_tos_acceptances * @property null|\Stripe\StripeObject $address * @property null|\Stripe\StripeObject $address_kana The Kana variation of the person's address (Japan only). * @property null|\Stripe\StripeObject $address_kanji The Kanji variation of the person's address (Japan only). * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|\Stripe\StripeObject $dob * @property null|string $email The person's email address. * @property null|string $first_name The person's first name. * @property null|string $first_name_kana The Kana variation of the person's first name (Japan only). * @property null|string $first_name_kanji The Kanji variation of the person's first name (Japan only). * @property null|string[] $full_name_aliases A list of alternate names or aliases that the person is known by. * @property null|\Stripe\StripeObject $future_requirements Information about the upcoming new requirements for this person, including what information needs to be collected, and by when. * @property null|string $gender The person's gender (International regulations require either "male" or "female"). * @property null|bool $id_number_provided Whether the person's id_number was provided. True if either the full ID number was provided or if only the required part of the ID number was provided (ex. last four of an individual's SSN for the US indicated by ssn_last_4_provided). * @property null|bool $id_number_secondary_provided Whether the person's id_number_secondary was provided. * @property null|string $last_name The person's last name. * @property null|string $last_name_kana The Kana variation of the person's last name (Japan only). * @property null|string $last_name_kanji The Kanji variation of the person's last name (Japan only). * @property null|string $maiden_name The person's maiden name. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $nationality The country where the person is a national. * @property null|string $phone The person's phone number. * @property null|string $political_exposure Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. * @property null|\Stripe\StripeObject $registered_address * @property null|\Stripe\StripeObject $relationship * @property null|\Stripe\StripeObject $requirements Information about the requirements for this person, including what information needs to be collected, and by when. * @property null|bool $ssn_last_4_provided Whether the last four digits of the person's Social Security number have been provided (U.S. only). * @property null|\Stripe\StripeObject $verification */ class Person extends ApiResource { const OBJECT_NAME = 'person'; const GENDER_FEMALE = 'female'; const GENDER_MALE = 'male'; const POLITICAL_EXPOSURE_EXISTING = 'existing'; const POLITICAL_EXPOSURE_NONE = 'none'; const VERIFICATION_STATUS_PENDING = 'pending'; const VERIFICATION_STATUS_UNVERIFIED = 'unverified'; const VERIFICATION_STATUS_VERIFIED = 'verified'; use ApiOperations\Delete; /** * @return string the API URL for this Stripe account reversal */ public function instanceUrl() { $id = $this['id']; $account = $this['account']; if (!$id) { throw new Exception\UnexpectedValueException( 'Could not determine which URL to request: ' . "class instance has invalid ID: {$id}", null ); } $id = Util\Util::utf8($id); $account = Util\Util::utf8($account); $base = Account::classUrl(); $accountExtn = \urlencode($account); $extn = \urlencode($id); return "{$base}/{$accountExtn}/persons/{$extn}"; } /** * @param array|string $_id * @param null|array|string $_opts * * @throws \Stripe\Exception\BadMethodCallException */ public static function retrieve($_id, $_opts = null) { $msg = 'Persons cannot be retrieved without an account ID. Retrieve ' . "a person using `Account::retrievePerson('account_id', " . "'person_id')`."; throw new Exception\BadMethodCallException($msg); } /** * @param string $_id * @param null|array $_params * @param null|array|string $_options * * @throws \Stripe\Exception\BadMethodCallException */ public static function update($_id, $_params = null, $_options = null) { $msg = 'Persons cannot be updated without an account ID. Update ' . "a person using `Account::updatePerson('account_id', " . "'person_id', \$updateParams)`."; throw new Exception\BadMethodCallException($msg); } /** * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return static the saved resource * * @deprecated The `save` method is deprecated and will be removed in a * future major version of the library. Use the static method `update` * on the resource instead. */ public function save($opts = null) { $params = $this->serializeParameters(); if (\count($params) > 0) { $url = $this->instanceUrl(); list($response, $opts) = $this->_request('post', $url, $params, $opts, ['save']); $this->refreshFrom($response, $opts); } return $this; } } lib/stripe-gateway/lib/SourceTransaction.php000064400000004704147206617610015223 0ustar00ISO currency code, in lowercase. Must be a supported currency. * @property null|\Stripe\StripeObject $gbp_credit_transfer * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|\Stripe\StripeObject $paper_check * @property null|\Stripe\StripeObject $sepa_credit_transfer * @property string $source The ID of the source this transaction is attached to. * @property string $status The status of the transaction, one of succeeded, pending, or failed. * @property string $type The type of source this transaction is attached to. */ class SourceTransaction extends ApiResource { const OBJECT_NAME = 'source_transaction'; const TYPE_ACH_CREDIT_TRANSFER = 'ach_credit_transfer'; const TYPE_ACH_DEBIT = 'ach_debit'; const TYPE_ALIPAY = 'alipay'; const TYPE_BANCONTACT = 'bancontact'; const TYPE_CARD = 'card'; const TYPE_CARD_PRESENT = 'card_present'; const TYPE_EPS = 'eps'; const TYPE_GIROPAY = 'giropay'; const TYPE_IDEAL = 'ideal'; const TYPE_KLARNA = 'klarna'; const TYPE_MULTIBANCO = 'multibanco'; const TYPE_P24 = 'p24'; const TYPE_SEPA_DEBIT = 'sepa_debit'; const TYPE_SOFORT = 'sofort'; const TYPE_THREE_D_SECURE = 'three_d_secure'; const TYPE_WECHAT = 'wechat'; } lib/stripe-gateway/lib/Price.php000064400000021663147206617610012622 0ustar00Products help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme. * * For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once. * * Related guides: Set up a subscription, create an invoice, and more about products and prices. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property bool $active Whether the price can be used for new purchases. * @property string $billing_scheme Describes how to compute the price per period. Either per_unit or tiered. per_unit indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity (for prices with usage_type=licensed), or per unit of total usage (for prices with usage_type=metered). tiered indicates that the unit pricing will be computed using a tiering strategy as defined using the tiers and tiers_mode attributes. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property string $currency Three-letter ISO currency code, in lowercase. Must be a supported currency. * @property null|\Stripe\StripeObject $currency_options Prices defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency. * @property null|\Stripe\StripeObject $custom_unit_amount When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property null|string $lookup_key A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. * @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $nickname A brief description of the price, hidden from customers. * @property string|\Stripe\Product $product The ID of the product this price is associated with. * @property null|\Stripe\StripeObject $recurring The recurring components of a price such as interval and usage_type. * @property null|string $tax_behavior Only required if a default tax behavior was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed. * @property null|\Stripe\StripeObject[] $tiers Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme. * @property null|string $tiers_mode Defines if the tiering price should be graduated or volume based. In volume-based tiering, the maximum quantity within a period determines the per unit price. In graduated tiering, pricing can change as the quantity grows. * @property null|\Stripe\StripeObject $transform_quantity Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with tiers. * @property string $type One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. * @property null|int $unit_amount The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit. * @property null|string $unit_amount_decimal The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit. */ class Price extends ApiResource { const OBJECT_NAME = 'price'; use ApiOperations\Update; const BILLING_SCHEME_PER_UNIT = 'per_unit'; const BILLING_SCHEME_TIERED = 'tiered'; const TAX_BEHAVIOR_EXCLUSIVE = 'exclusive'; const TAX_BEHAVIOR_INCLUSIVE = 'inclusive'; const TAX_BEHAVIOR_UNSPECIFIED = 'unspecified'; const TIERS_MODE_GRADUATED = 'graduated'; const TIERS_MODE_VOLUME = 'volume'; const TYPE_ONE_TIME = 'one_time'; const TYPE_RECURRING = 'recurring'; /** * Creates a new price for an existing product. The price can be recurring or * one-time. * * @param null|array $params * @param null|array|string $options * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Price the created resource */ public static function create($params = null, $options = null) { self::_validateParams($params); $url = static::classUrl(); list($response, $opts) = static::_staticRequest('post', $url, $params, $options); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * Returns a list of your active prices, excluding inline prices. * For the list of inactive prices, set active to false. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Price> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the price with the given ID. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Price */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Updates the specified price by setting the values of the parameters passed. Any * parameters not provided are left unchanged. * * @param string $id the ID of the resource to update * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Price the updated resource */ public static function update($id, $params = null, $opts = null) { self::_validateParams($params); $url = static::resourceUrl($id); list($response, $opts) = static::_staticRequest('post', $url, $params, $opts); $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts); $obj->setLastResponse($response); return $obj; } /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\Price> the price search results */ public static function search($params = null, $opts = null) { $url = '/v1/prices/search'; return static::_requestPage($url, \Stripe\SearchResult::class, $params, $opts); } } lib/stripe-gateway/lib/Card.php000064400000024377147206617610012436 0ustar00Card payments with Sources * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string|\Stripe\Account $account The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead. This property is only available for accounts where controller.requirement_collection is application, which includes Custom accounts. * @property null|string $address_city City/District/Suburb/Town/Village. * @property null|string $address_country Billing address country, if provided when creating card. * @property null|string $address_line1 Address line 1 (Street address/PO Box/Company name). * @property null|string $address_line1_check If address_line1 was provided, results of the check: pass, fail, unavailable, or unchecked. * @property null|string $address_line2 Address line 2 (Apartment/Suite/Unit/Building). * @property null|string $address_state State/County/Province/Region. * @property null|string $address_zip ZIP or postal code. * @property null|string $address_zip_check If address_zip was provided, results of the check: pass, fail, unavailable, or unchecked. * @property null|string[] $available_payout_methods A set of available payout methods for this card. Only values from this set should be passed as the method when creating a payout. * @property string $brand Card brand. Can be American Express, Diners Club, Discover, Eftpos Australia, JCB, MasterCard, UnionPay, Visa, or Unknown. * @property null|string $country Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. * @property null|string $currency Three-letter ISO code for currency. Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available for accounts where controller.requirement_collection is application, which includes Custom accounts. * @property null|string|\Stripe\Customer $customer The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead. * @property null|string $cvc_check If a CVC was provided, results of the check: pass, fail, unavailable, or unchecked. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see Check if a card is valid without a charge. * @property null|bool $default_for_currency Whether this card is the default external account for its currency. This property is only available for accounts where controller.requirement_collection is application, which includes Custom accounts. * @property null|string $dynamic_last4 (For tokenized numbers only.) The last four digits of the device account number. * @property int $exp_month Two-digit number representing the card's expiration month. * @property int $exp_year Four-digit number representing the card's expiration year. * @property null|string $fingerprint

Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.

As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.

* @property string $funding Card funding type. Can be credit, debit, prepaid, or unknown. * @property string $last4 The last four digits of the card. * @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. * @property null|string $name Cardholder name. * @property null|\Stripe\StripeObject $networks * @property null|string $status For external accounts that are cards, possible values are new and errored. If a payout fails, the status is set to errored and scheduled payouts are stopped until account details are updated. * @property null|string $tokenization_method If the card number is tokenized, this is the method that was used. Can be android_pay (includes Google Pay), apple_pay, masterpass, visa_checkout, or null. */ class Card extends ApiResource { const OBJECT_NAME = 'card'; /** * Delete a specified external account for a given account. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Card the deleted resource */ public function delete($params = null, $opts = null) { self::_validateParams($params); $url = $this->instanceUrl(); list($response, $opts) = $this->_request('delete', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } /** * Possible string representations of the CVC check status. * * @see https://stripe.com/docs/api/cards/object#card_object-cvc_check */ const CVC_CHECK_FAIL = 'fail'; const CVC_CHECK_PASS = 'pass'; const CVC_CHECK_UNAVAILABLE = 'unavailable'; const CVC_CHECK_UNCHECKED = 'unchecked'; /** * Possible string representations of the funding of the card. * * @see https://stripe.com/docs/api/cards/object#card_object-funding */ const FUNDING_CREDIT = 'credit'; const FUNDING_DEBIT = 'debit'; const FUNDING_PREPAID = 'prepaid'; const FUNDING_UNKNOWN = 'unknown'; /** * Possible string representations of the tokenization method when using Apple Pay or Google Pay. * * @see https://stripe.com/docs/api/cards/object#card_object-tokenization_method */ const TOKENIZATION_METHOD_APPLE_PAY = 'apple_pay'; const TOKENIZATION_METHOD_GOOGLE_PAY = 'google_pay'; /** * @return string The instance URL for this resource. It needs to be special * cased because cards are nested resources that may belong to different * top-level resources. */ public function instanceUrl() { if ($this['customer']) { $base = Customer::classUrl(); $parent = $this['customer']; $path = 'sources'; } elseif ($this['account']) { $base = Account::classUrl(); $parent = $this['account']; $path = 'external_accounts'; } else { $msg = 'Cards cannot be accessed without a customer ID, or account ID.'; throw new Exception\UnexpectedValueException($msg); } $parentExtn = \urlencode(Util\Util::utf8($parent)); $extn = \urlencode(Util\Util::utf8($this['id'])); return "{$base}/{$parentExtn}/{$path}/{$extn}"; } /** * @param array|string $_id * @param null|array|string $_opts * * @throws \Stripe\Exception\BadMethodCallException */ public static function retrieve($_id, $_opts = null) { $msg = 'Cards cannot be retrieved without a customer ID or an ' . 'account ID. Retrieve a card using ' . "`Customer::retrieveSource('customer_id', 'card_id')` or " . "`Account::retrieveExternalAccount('account_id', 'card_id')`."; throw new Exception\BadMethodCallException($msg); } /** * @param string $_id * @param null|array $_params * @param null|array|string $_options * * @throws \Stripe\Exception\BadMethodCallException */ public static function update($_id, $_params = null, $_options = null) { $msg = 'Cards cannot be updated without a customer ID or an ' . 'account ID. Update a card using ' . "`Customer::updateSource('customer_id', 'card_id', " . '$updateParams)` or `Account::updateExternalAccount(' . "'account_id', 'card_id', \$updateParams)`."; throw new Exception\BadMethodCallException($msg); } /** * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return static the saved resource * * @deprecated The `save` method is deprecated and will be removed in a * future major version of the library. Use the static method `update` * on the resource instead. */ public function save($opts = null) { $params = $this->serializeParameters(); if (\count($params) > 0) { $url = $this->instanceUrl(); list($response, $opts) = $this->_request('post', $url, $params, $opts, ['save']); $this->refreshFrom($response, $opts); } return $this; } } lib/stripe-gateway/lib/Sigma/ScheduledQueryRun.php000064400000005367147206617610016236 0ustar00scheduled a Sigma query, you'll * receive a sigma.scheduled_query_run.created webhook each time the query * runs. The webhook contains a ScheduledQueryRun object, which you can use to * retrieve the query results. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property int $data_load_time When the query was run, Sigma contained a snapshot of your Stripe data at this time. * @property null|\Stripe\StripeObject $error * @property null|\Stripe\File $file The file object representing the results of the query. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property int $result_available_until Time at which the result expires and is no longer available for download. * @property string $sql SQL for the query. * @property string $status The query's execution status, which will be completed for successful runs, and canceled, failed, or timed_out otherwise. * @property string $title Title of the query. */ class ScheduledQueryRun extends \Stripe\ApiResource { const OBJECT_NAME = 'scheduled_query_run'; /** * Returns a list of scheduled query runs. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Sigma\ScheduledQueryRun> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves the details of an scheduled query run. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Sigma\ScheduledQueryRun */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } public static function classUrl() { return '/v1/sigma/scheduled_query_runs'; } } lib/stripe-gateway/lib/Capability.php000064400000007170147206617610013636 0ustar00Account capabilities * * @property string $id The identifier for the capability. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property string|\Stripe\Account $account The account for which the capability enables functionality. * @property null|\Stripe\StripeObject $future_requirements * @property bool $requested Whether the capability has been requested. * @property null|int $requested_at Time at which the capability was requested. Measured in seconds since the Unix epoch. * @property null|\Stripe\StripeObject $requirements * @property string $status The status of the capability. Can be active, inactive, pending, or unrequested. */ class Capability extends ApiResource { const OBJECT_NAME = 'capability'; const STATUS_ACTIVE = 'active'; const STATUS_INACTIVE = 'inactive'; const STATUS_PENDING = 'pending'; const STATUS_UNREQUESTED = 'unrequested'; /** * @return string the API URL for this Stripe account reversal */ public function instanceUrl() { $id = $this['id']; $account = $this['account']; if (!$id) { throw new Exception\UnexpectedValueException( 'Could not determine which URL to request: ' . "class instance has invalid ID: {$id}", null ); } $id = Util\Util::utf8($id); $account = Util\Util::utf8($account); $base = Account::classUrl(); $accountExtn = \urlencode($account); $extn = \urlencode($id); return "{$base}/{$accountExtn}/capabilities/{$extn}"; } /** * @param array|string $_id * @param null|array|string $_opts * * @throws \Stripe\Exception\BadMethodCallException */ public static function retrieve($_id, $_opts = null) { $msg = 'Capabilities cannot be retrieved without an account ID. ' . 'Retrieve a capability using `Account::retrieveCapability(' . "'account_id', 'capability_id')`."; throw new Exception\BadMethodCallException($msg); } /** * @param string $_id * @param null|array $_params * @param null|array|string $_options * * @throws \Stripe\Exception\BadMethodCallException */ public static function update($_id, $_params = null, $_options = null) { $msg = 'Capabilities cannot be updated without an account ID. ' . 'Update a capability using `Account::updateCapability(' . "'account_id', 'capability_id', \$updateParams)`."; throw new Exception\BadMethodCallException($msg); } /** * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return static the saved resource * * @deprecated The `save` method is deprecated and will be removed in a * future major version of the library. Use the static method `update` * on the resource instead. */ public function save($opts = null) { $params = $this->serializeParameters(); if (\count($params) > 0) { $url = $this->instanceUrl(); list($response, $opts) = $this->_request('post', $url, $params, $opts, ['save']); $this->refreshFrom($response, $opts); } return $this; } } lib/stripe-gateway/lib/index.html000064400000000000147206617610013022 0ustar00lib/stripe-gateway/lib/Review.php000064400000011525147206617610013015 0ustar00Radar and reviewing payments * here. * * @property string $id Unique identifier for the object. * @property string $object String representing the object's type. Objects of the same type share the same value. * @property null|string $billing_zip The ZIP or postal code of the card used, if applicable. * @property null|string|\Stripe\Charge $charge The charge associated with this review. * @property null|string $closed_reason The reason the review was closed, or null if it has not yet been closed. One of approved, refunded, refunded_as_fraud, disputed, or redacted. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. * @property null|string $ip_address The IP address where the payment originated. * @property null|\Stripe\StripeObject $ip_address_location Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address. * @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode. * @property bool $open If true, the review needs action. * @property string $opened_reason The reason the review was opened. One of rule or manual. * @property null|string|\Stripe\PaymentIntent $payment_intent The PaymentIntent ID associated with this review, if one exists. * @property string $reason The reason the review is currently open or closed. One of rule, manual, approved, refunded, refunded_as_fraud, disputed, or redacted. * @property null|\Stripe\StripeObject $session Information related to the browsing session of the user who initiated the payment. */ class Review extends ApiResource { const OBJECT_NAME = 'review'; const CLOSED_REASON_APPROVED = 'approved'; const CLOSED_REASON_DISPUTED = 'disputed'; const CLOSED_REASON_REDACTED = 'redacted'; const CLOSED_REASON_REFUNDED = 'refunded'; const CLOSED_REASON_REFUNDED_AS_FRAUD = 'refunded_as_fraud'; const OPENED_REASON_MANUAL = 'manual'; const OPENED_REASON_RULE = 'rule'; /** * Returns a list of Review objects that have open set to * true. The objects are sorted in descending order by creation date, * with the most recently created object appearing first. * * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Collection<\Stripe\Review> of ApiResources */ public static function all($params = null, $opts = null) { $url = static::classUrl(); return static::_requestPage($url, \Stripe\Collection::class, $params, $opts); } /** * Retrieves a Review object. * * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Review */ public static function retrieve($id, $opts = null) { $opts = \Stripe\Util\RequestOptions::parse($opts); $instance = new static($id, $opts); $instance->refresh(); return $instance; } /** * Possible string representations of the current, the opening or the closure reason of the review. * Not all of these enumeration apply to all of the ´reason´ fields. Please consult the Review object to * determine where these are apply. * * @see https://stripe.com/docs/api/radar/reviews/object */ const REASON_APPROVED = 'approved'; const REASON_DISPUTED = 'disputed'; const REASON_MANUAL = 'manual'; const REASON_REFUNDED = 'refunded'; const REASON_REFUNDED_AS_FRAUD = 'refunded_as_fraud'; const REASON_RULE = 'rule'; /** * @param null|array $params * @param null|array|string $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\Review the approved review */ public function approve($params = null, $opts = null) { $url = $this->instanceUrl() . '/approve'; list($response, $opts) = $this->_request('post', $url, $params, $opts); $this->refreshFrom($response, $opts); return $this; } } lib/stripe-gateway/LICENSE000064400000002140147206617610011273 0ustar00The MIT License Copyright (c) 2010-2019 Stripe, Inc. (https://stripe.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. lib/stripe-gateway/init.php000064400000044703147206617610011755 0ustar00getMessage(); } catch (Exception $e) { //that's probably invalid plan ID or some other error $stripe_err = $e->getMessage(); } if (empty($stripe_err)) { //we proceed with getting plan details only if no errors occurred $plan_data['name'] = isset($plan->nickname) ? $plan->nickname : ''; $plan_data['amount'] = $plan->amount; $plan_data['currency'] = $plan->currency; $plan_data['interval'] = $plan->interval; $plan_data['interval_count'] = $plan->interval_count; $plan_data['trial_period_days'] = $plan->trial_period_days; return array('success' => true, 'plan_data' => $plan_data); } else { return array('success' => false, 'error_msg' => $stripe_err); } } } lib/index.html000064400000000000147206617610007307 0ustar00images/prev.gif000064400000001127147206617610007467 0ustar00GIF89al"] Н=Ӗ@~"a aiiYֶ2Η Пbr v/ܿN8 !l,ljig lMX&4jd%1 h @Aj8 feG VWgliTe5HdJY`h SC_P kk'i9h+Ed[Df IO*:F.Qg!f6L",efU) $0N(/7]?(T4eB /H cM1;&`F- F,9ѢΤA(;images/addons/swpm-bbpress-integration.png000064400000005767147206617610014765 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp `PLTE95He~{GTjt^WzMczpQlTs[AG\mjbxJ\s>@Twhk5,>DNc`orv3(:pIDATxv*yMP|(ƴڻYG|獱ɰ 1 Āb@ 1 Āb@ 1 Āb@ ُ /!Z/q$GK -$GWם?ނ'0^e')twWl&>H6Y !_m,C7KxeJVlgi$a;€oLX*Adp7A rZ9(F!I$gԐ{tnFߤAw eDlB 9YN_ObWxM$B I|[GٽsAPDNXpSA)L7 ;&j),)B+K-vtTr'D(]9q~V+Ƽ#󪧀X.FC-vh< d1VK(I%4!n8(@? Rc__]?]$Y%EMO]VuXTd6 ү#a:&Y- 5Un3'}uOI{M$-{C -0_\*_-kKwDPoGG@TEʼү1%)O.<ĬB\}8))vkԖ'b/#!rw}uQ7Aru׺HJNf 1^#D >YIFtY3E8$@fpM!}Z.,GB~t.GB@[#^ wu" \צ,EWKE"v}yhʾu-!l_VE@oإPDɦre;ojͯGBPtxK#TDf=Q3bD]%MufS QQ }FT5V)v<`z߉N11[M '+;Y@b퍮X*Rȩk:%goX`5+@</29bHn3Y~ ġZ"m'{" %}[L{b6.AntꊥyzsHEDs}Zȃ*<};Ⱦ6TT̍ӃߣT҂앮:G$ R#TT J{٧`3풸ZT5E,vJs8~K\Ty6s; ȓWlMk]߳{+juVb.ւoc;ӝHUAgM?p^O,XuD.l5llJk%:g7MmѠ`lPV֮=ߓuIYEVT]dVm ky1ah?ǿБBΡ1YCU@(&cmxW/ra>0+ι9F+$-u~P6VtA&?Gg^Q5|dc*#g#Y{ș.B tv~_` |H=~d>ZqΟ11]sIENDB`images/addons/swpm-member-payments-addon.png000064400000004576147206617610015171 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp l `PLTEx/.-ڐfv6Qhp؁gl?GJ~DPTs\yƢJ]dbÂ}333`L$IDATx ÒfM̶]aLB>f| K )-ச )+"K-_AP1.^m- [=SùfDrfcPQęDE6C&]E1P^l R lf] A1"I"p䉴Dza35KZɿdUֺTL n>@rFIT2eY^}#/^s@=^.Q&r#AkO|y6? ҿRc4q>B1YsVk) /P0@,R|lIENDB`images/addons/swpm-partial-protection-addon.png000064400000004204147206617610015670 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp 1`PLTE6VnNtFf{]/EU<[ryVguZajth'=N~୻D_ro7Xq#9Kp6e*IDATxb0Дp)-.A/kAHf&wz:ۤ k_$AB !AB !ABbQlBi|1$w7H,qw ɜ@4)JXs& .È`&-l:\\CGeԂ2rH1Ng5u 6G&M,oq__r(atх dn||MQu] >,CkhAjUH93"z=P]&{ZVG,HnRV~(ڐD\Uf)HWCt RC:"&#$9"Moq%mJne޳Kϻ3,H,CpcA-` #/DqrYӡuZ[&9Ƙ"`Z>~!)?UMllqXYf!Ŕ0 亐ҝ3HI,^1E"n{a!)X ] *Hqg EiDQ\ y g.gfVBˢ RdBd`ŁH C =C+bAj-/x=1 m4k Ik?dzǀoLA&mΐRp =^ (W8<9ǁ.' Y C4B ɓ;:a>T1| Y*gV!Igu\ ~ 鶸8c1 f !AB !AB Yъ#"bgIENDB`images/addons/swpm-data-exporter-addon.png000064400000003241147206617610014627 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp `PLTE<@F]Uv6.CMd|X|^=@VOg_]b|2&:#GIDATxv0P1"w"e[tً@<災: q     /!nERqq*!¬uH!v]DGZ$j AtJ ͥ݁MD ,[hA&@j1vz$CL"Y"H z$- D%92<%9dn DٜBȼJȬRȜZȌ!#Yr\H,^$ͣuRĽ Dނ^  MuAc [& GXmR5*Q~T!zc )%cH-B_eW Gdq0E0g±B9^$У_&D@@@@@!-!?Ȩ ,7'{d8tǀ$WKrVߣ#wA& AJ* !Ri>(lCxff(0L@@@@@.BIENDB`images/addons/swpm-custom-messages.png000064400000003402147206617610014103 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp )Z`PLTEc9CZ{UvTz~\ytl;=QpDYq44JMe}J_v?H^ih4-ABNd2(Cng!LqC9d!QC: 1C b?q;$ 3:Cr{C;TT_?D$@@@@WwqT?)IENDB`images/addons/swpm-convertkit-integration-addon.png000064400000005153147206617610016565 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp / `PLTEel{~p84IFTk^W{tCMcIZr;;P>AWyQl@F]ZTsvb3)=Layh5.BǹrOg2&:tIDATxٚ(`[\Fˁ*kbJIU8 !AB !AB !AB !AB~8JU>GGy1XDfsm8㎀VT-'Je=GˬHiޖL oKfm! s\$>a!\L_J+!Br}a'R?JcaO|a-k}ca1 "27;셴\yk!y|ʑ} !wqqH/hV]+ }3R,Sb8v$B52Hdu3No%A6 7:Hu(I)WͶ2C%Jsz% PӕS[ ɼ IKj+!OLl0$Ar}9$ r1I ,:$bV-Y(϶#[ < ix$-T !o|ſADkD^8a^ezUW;c8 >:?L8-D#ѱuӧD@ l/ZfHC F>jw~m="_C/9aJDm9A`rDH7mx2<8t;d7v8OɅnurR! &MfHg,FO% quPyVmQU"B=TJ3 uV_uã{R6E PPdљ{ѻVҗnPוm: Dw+Hzh8 pO :QTYL+?{fIEANdtХsd4HdGJx5{0F͚TU ӝa wdk3y{` !fc? L\hB20ܔԋŸ7Rd 1D{ rw]ׂlH3mp= 5)F6Fgl! ('+\ @QT ";MX=_)^ gu̹cA^/[#H!еrG=$c( 2nAyC4F0Ns-iE杍ML33$Ǝ~yo{R=-/OU*L/Y 6Vu3~޷ʼ}x"mJq[Og׶%D`q?]E).M=~'N\(M"I ^B}]r胂n (a׵ !AB !AB !AB  0-M9MIENDB`images/addons/2fa-addon-icon.png000064400000011523147206617610012464 0ustar00PNG  IHDR!tEXtSoftwareAdobe ImageReadyqe<viTXtXML:com.adobe.xmp QPLTEE IDATx_Lբ2q8@QZk[[k[~_ Ěhɑwr}G yDPT* @PT* @PT* @Puư;t/,Dċ O!ڟ ^T{$0f}bF]ppUbSkuBmpF [9'wO@[% 3fxi=&<) m,0>κ )AW>ܾݓ}m@i;FKܩ*5朲20|9Jǖ4eGAɰhq 垩rfpPn*vu'Sw_ݔ)7k%W?׭L_;(I&df=5ЍTt^wR[}ucIb^VU&s>1 ~yR]?{F`Tf[}MyUG={4zĚ1-7tHo嬃za5nE.M&LJY+g .u]!.G|ͧPJn g#ݔ Shlm~U;H_'0TdKJ!viojnug&!-k*z"(/֥N>-aflg;֬[쟁YR+n?2Pws%POq/xLuR 1h{oQ<6\v-ɤ4hT#8,v_i>i*fgx-aaxN% {BbxJ$ i{V`,spwI F,2so|( 2ґf 5# э%e02;:A.{|%[p>je ]lPȌo"cx s`ɨslLăq4}*UXOgܘtr%-Ad *@A ^e`0Y^V7IQ.r7J@X3T&յxB$Q [Ÿ sQpV!6`|Qe!߅si?ootg׿Ϟ 9߾ᾸIG-,`zl}ѝ)iw/yK ~Τ)6Ml?p /zvkJfjMrG{.n]D@]V-8@4{i U_\D1i~ 鸈Q | N8s%3,S^k˥0C W-;>D )\ 0?Xk\ЯSyc} oY_>l"-N80![u?)[UB߁w3ZFSQG"G9*\LPdLN5f_#>mQXb~W](2rl5_4721]Әnk%FcF%oL&LǗvc+ȫYAX?)pv1}&]p5}S{ܬyWs2s㎓ݰx&Ǯ^#Oau2\KtHe>% K,rqR( uK]4kՄb6F"qvgLybh>{9`DeR"Q ~;F<#PW4=s-{ƅSG/u[E`'qF  ӽzQ8v+)g}}PzސP9^b=lb 3DbQJӎ8NlkWUߡ5,HE /ꨕ 7~W[yܹ{^AiU_rz OTD074[ҮU@;:@+aﲊĂE@6pb4iZ~Pݷn5DVCp=>XE^x UGw^!.,&3Ҝ@T$v{gЫp&;cp y RڦpW̝w _O*7$uI.rqV_MZ K)!]:d۾dw/Q&Mh]ڝeCBhL:JstלL?iL6 Or%1d`Ej/ZKup#D!Fi6yƟ*FB:?d8?vL3GS̈́(U^ARTF4@\08Xe* ?ӑNQ  f?Q0mN><dDGe4ZK)\j*@,PqkM blpH,.rY4b7 -!p"֚Ana?o/ގaWTషoP],~h 5E{` 7DN^Tp뼿3|Ǚw%צtd]%jEw;TF\CM#!@D>qg"9LdM Gܹ./Rx=Fc!8=lxo"i'gx:+7hF wwv-@ #@PJ<%UL<|lFd/@U[6ZR^Syo>z8yB_8n? no# Z ZɣH!x#@ȷ ߔ.#q 2~̻ɣ2/aOJ%7/h&1HY灰XM-y= Q{馿zi1!O!ᵭ&dg?vi&Hᙖ 0л1Ȳ'T* @PT* @PT* @PT*h 0Ø+-IENDB`images/addons/custom-post-type-protection-enhanced.png000064400000005431147206617610017207 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp t`PLTEk_ihhNNN3XkO?r,,,>>>(/'DS3> (-/&&& 233"""ʍIDATxq{(AFC:(j&iһ?66ݪ~2c;)`$d A2H $d A2H $%q1@>2H $d{ PD}+~" "<>kH A)0>+AՉo,BT֭\. `FrAvv4eB+;RJYc2A UTIRI%A$ Cki$ZȄRmU{R!CFpaNOiI5'aPLHL3aN=r+ML 3RBN hAHDN r|y+4ofXPRy^#Q1-%qMMP+!-^2OUd!=TL"DNi-JJ2n&p[xKXR8*KkewRvt3;م bw%a8uqܭP)o`8_$?g !/d 8d9 $Y/8Wq;0 !iMуw8 KQei:źj q:)[˾kV/{-.&**L鿧"4%*Ci7 mhQj!:`-Vy]=lUZjvV€ݚ~iWn?ՂHZ}Vl|b*W bY1eϡ8.wg[i@v B&l++Qj;WJLd@xC m) `Dezu>2Iӧ"IyrzKa-Vr8EaH.Xfj)4ף==ΦJ垵Nin<8DӑS8Ȓ2Io#a^;[?V4^.&9W?[ӿ5S?4A2H 6(mt$d A2H $d A2H $,:L1֗IENDB`images/addons/swpm-misc-shortcodes-addon.png000064400000004705147206617610015164 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp )`PLTE^e72G~{WyFSkK^vPktyqjMd}bSqCLcmZ<۰ vcsǻrA08 gAhre yH%\P E|Pd6 ޢw_Kwr,yc~a~-:Z!l5%x>Z$]D3z0&C!9 }]աszD3}B|#\.pGB& ORa d6  0'0YDG ɰ ijk @tBB+|a*kAъd1~u]\DPF{W9 :tIZYDwG cc_ s @t=C Pё=:W BOSe@#\p;OqzS_*^HWn{}p,':pzIZa~] J=S7N9~> U983oӟzeeA<ŹslmM-E+7MA^gFUy"/v6.SONE+ GcNkcӳ ĂX bA, ĂX bA, g?"2IENDB`images/addons/affiliates-manager-integration.png000064400000005160147206617610016043 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp nY`PLTE87Lrc0$7G\rRt?J_Kh~{FRiCKblW{Yyu^Ql]h\>BXbhkp`Ng2&:|wIDATx s(Qƨ/o$fIg5AW]j%M000000000W|L>}jh4A*eiЄY { idSG]/ ɲ@2 ̪0^K;m&EQ+[9OyӺ@ْ.<<=}*VH}/$=. HҎg/9Oj%A[p+:&2HN8IZaZ}%Z>骞82{H$n'~R0ϵc1/}Tme͇߬iXVk㟪Mu$zロGc_W'_[|q]mt=R\ BU.e\RW^yrnT\}>[8MI($>Tٿ$@fyah׆!sx}lDa'#qָSч]x}VOALg!0&!=^r1L=^\Ѥ9nāuKWndV,лyFVHia 6ԅ8}) 7^u6+QiJC#1c)q@rE4ֈ#Q5Rfp=A#*CЈц|y֧qq\Quhd?4dTB>^:yFAiFX#k55I*O e@kmޥ>\f»7;?-\G JAb_п7$FG-H,w7p֙BY#iW "8ݍ\?o/A؃DחgssD{ 2H6jXD.%zҢشб*mƒ@Hp2{Ώ ļ̛V$ O{{r}]q=]1D 0b:! >." ጁP L~wsP ԧ(3IGG^{\1qsT"5 IK bkIܕ DbِUr &}p="]"IDHY# ǁK]aaaaaaaaaaaaal 0v׎IENDB`images/addons/google-first-click-free-addon.png000064400000004523147206617610015473 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp i`PLTEk^e{}72GtWzFSjyLazZQlTrqIZrbAH^>BX<OGb8ge\kR~ Q6ۃWHQՁ R ~S2 k8KeDsՋ.g$VdS9WòձfO0]H6>Yo-ysb ۃ9RKRSR&%(edmS@8^n *8`\:#:=ⱊ3'S z-PKTTksGҸTKoD3VB",B]VrM1>~{ a(SS.^PQ=mai9Ui:geyE]}QNz@S9WŪCHHABԟaM)xnQq!e__E`BNĦ|0/~,+rSmcx hER&)],> $,&p5j;W-\ܴ[j;%iᐓrķ_m}/_*بF~S[Jcj/ "!Ww r?'p n W|׵_U7 hµl.HM;WNոC"LҰͅxrsKJX 鰙WW>Wu<\YU S!뵸Bֽmn*$6>%YrNu@mPk=ؚCAbrm$!.6 27sAE VQ|[C~W $%;\yRz !AB !ABb}ѭ%Fc*U7C'=d8 -~R0@_4XHn եx_g:i`rwΌ^ ' rw\3c~~Ψbo}?xs-v w˟$L9`<䒮e?]'T3Nɼ9g$ D Jޝ_[Sm B\;%W8.2!EtׄJ7Q4Kj޹K$v1?CxC !AB !AB`:SIENDB`images/addons/idevaffiliate-integration.png000064400000004473147206617610015126 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp _|`PLTEsTs8.B]81Ee{7)=H\sFTjmNe}kZ}j>CXvxhAF\AKb_aA;P99Nnqy/$7UXIDATxۂ(` $Hr E)cK킓;Cioo{nwTQDvWQ쭞shI¶w9^!&nCtr=V)5ʍ|2'HvDCcQj>uoՒ0QRs'P;&cbob?̊! 7"×c$Kmh8h?pt9<6Ms oQD5e3]YgagCfT-]DU#TE?È IM{ŝT:p_ N̡y,C8'U\t={DH ˆ ݓ9{'vZB89 )!i/)ۧ;"@x=p*k*8)5vVx^7/ZBBW4'| Mp7`| .SUOAB٢؜hJVnd\H;H01,Ckt.=C)d{aHIz# hC}#'Mh~),yX|D ۚX;X: EqOӤ# YglymZDžuJBlΥ$}͸k~ !VKHIꥸAL<7UUHv=voWC7%;DPN}x[99nC#09OIE  !b4ldyfNOZ쭥6#by"v7!kw74A^>1qIٴJok ˅ۓɩtSC}o6yJmR4AąIhÌC?\\g|?*{~ŽNѾoIqo.@+h[nLQl%bTI }ӌ⻆ө&mаi& -F5%ωaeE}[LO>)wPe' '`PLTESH^g.CP&1ˍYuhǺ[y6V.69gIDATx떣*Qc[^5dg]{W9'up ā8@q ā8]@0!AHb j3!'9 q G5AL!>@Ы°B*4H ց()PxpC `&-PjsxAGʼnE pR#-{Is^ŋy/e!|Q m̖ UAZ4ޞTab|HSA fR (E_qr5 o5D`@O BP˾DZ4p3DH I!b-]0!,H9єZS7GX!b<Ș$̡8^]HRXc;71J`0p-j_Q4 ݠ]K@2Hh~ሣ;cǶh}$]ۢ lc=lnQ/VځLjr!vE쨏݉?D?ݩo '"vC|Գe 0kۢ cc #-Aľ HN !a\;Bz3r<g ]j-~rPuy&rlAgM |[ͅ !a?o$r3$goT$iO!2$ú;%ȩ.E@4i(L97i ̔Ms.$x`Df$Iw:yv\O ~,>6 V up|eZYVUWaZ=C6W/04EYZk]Sw o5N2C}Oo7@( qӉ5Ck8OQXT7'@tb&EyͬObqQw(?R.U|lj.h֮J>qڕ(r#\o ~%v'jsl14DW$I>jw] zRC4L4 [Z:g6IK>IR<~vǜq@q ā8@q ā8@^N}IENDB`images/addons/swpm-woocommerce-addon.png000064400000005761147206617610014400 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp H{`PLTEYlb^B}ɨÙwL;xzг˖TFֽ݊P\hIDATx떣(F Ia`"X785mVAjZm*asnD@$DA"H $DA"H $DA"H $Dyoiq;?Àn$#}(r{wR 䜩3 g ף`ɸo$O 9LSLQȇG<Q>-$hgE0EPdG Q/&h;~]Gnϧ}>2͍$;~$ &oZh `ؤ1F!o%C A.eѮ49eiq JF2#J %$$H{ (*J1 !lHs8 gU6F:sn=/f Dk*7;> -Sݿf &.+<}}Pyv\yHU ʹ|?.~ٞ.\ 8& $OܢacI[Ng ̲H3/ֱ4CzijZguzi5%99: u-.uI8å_b}I`x]6 t*Ii)`X-':DcBg?|3Aښ ,d8Y~gٸsV" Hr"`$t]`Ro Z`V/̉M }$Yd:ƙ Us-D_O{+ztAtXm6q\QZhN?w'l!FL…SSQq  dg}%; }1 I`Um56iLX1`mr<[d6`  :G\$mڐg.P`C0O援XχFn; erK95wY]{Ν3b[@,VZZP2Ra \~̈́:6,t(Pg@eef԰6eW:B%y0nVŭ >T:0VwV%D 4N԰6C:€ URP`Y`4ǜZmga۾: FYlٛ> %`^$KAU@ 2zRwiq; c[W^n(nc>뜄*H'wk2[-rg*,b&j+155u~i0EP'J.{ VG4!fۤWV'/7Ӷ?^9Oԍfszl\,kIcT`ȡ ri[4f9}wK`;T%p;͵0F0w/<\k 1ڻʺ)t)u̽3oA~=>C=q^AoX/=|޻obᅧMnO : 4 yylv?^8 +`PLTEO8kׁ8eozH禾ɌBt7[c=n˽9bǢ@dYÃ{*&IDATx܋r `A^(rQ(-fiδ~9C@ @ @D+o(!Dh-DR|?\UěZ̤S[=Ãhh EBP̄虤H 3K 2P Z&rH 9ԶL;|ҕH3of,*q:{Af8ER.e&= 3U:cFu[AZL9[B 3{2qw!D.$RJB(n-5;w Ry HC߆T˲_$'P-&ih)k>Ǧ$!h!Q7؆:Qn7M!,G-y؆MW!XD;*2λ~"t%!́5ax0ː.؅њm2 !xH^ hVY[$͝{gv<GYcydھĽaD~)ߦ!HW- H<.ĩƖFO3i<ԃk?*~AeJ"EZHycX$/#s,<ίČ9jaLҜS3J Q>OdA3875^h/Y,t/(?n9A,N ./ݯ4^4dZzc#Gt ^^44xro5=HBG1 f#Mߋ*JU5 bGX,_"dWYUd9޿ZW\°ŹZEَ/xHMUa5_mK @ @  \ާp4sIENDB`images/addons/swpm-older-posts-protection.png000064400000004401147206617610015423 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp '`PLTElg9.CuIWp{]Xy:4JOd|a~UpqbELcAD[QjxGQi=:Qwz\ip?@Wsv6+AIDATxm{ `5D%3&bjU,>r;jHA@ @ @ !R|v |ᮐ{,H"*=WfAR^{b 9S:KH\ 7Y$/NV{jxA¯|^'݃j'H[)HWhs vHS }i49ˆVW , qv|[ l還7b ˁ.H-5I7R亵Q=_naH=Z ; @!i]!:!n]_f1٥$k%ZhƧ ڧ%2╶mW'Y_keLϐ85Z:xΐt:w- ixC-xxh+dFABpqzwb\%b >| YzX=ܶ}X_? Ǹfc(ěABOOVvJ,^ %):*/ ? j,a{lTU%dHEUt_ri-\M "!d\9 Aţ4^ezd>$Y41}1bTp »N(v׊)WzVYLfb7xO@qe8bO temp vX d9˺,62p|c8$ғ I='ǻ罽xNhY{[! $.T0?&x8x2IM] rA+^브PtDipc@]SaAV]t&bd k5Otj˙+#!_Bwjdi(U jWLmnUP;-4f5A\&b'2,+D\e"zQ&\stak&|zmuBDtZE]+JGM9T!7+rҴ~H7]qJu @ @ @5IENDB`images/addons/swpm-mailerlite-integration.png000064400000004436147206617610015444 0ustar00PNG  IHDR7+PLTEe4CJ4̖qbu tjܥifGhvSk=Xc.167IR][RHyݬyKutU՗kڤlq4̈́%(-BЌgz*}tdU048Ean*.21Dp _ waie_YH##xpKco-=\bMƦì6]p:Eݴ")7P5Sg"*s(olxY502ؙ#"'DGrS^>|;YeKdq*E2Ȁn½Ͳ4u=/`J-QWcG#2PA6 W^uL p&jZn~D`VD" 7gKN}XE #Yk*cx${E#'h9y1M/"9z/W,HwYz&{C\x^| 1Y*m͝ ߁ lKT\c!f IPL>PD܈(]ZsNgt$4É/D& ,O,XX'Kd54 ^NYxΎt,1H _Eja>Aa8g9k\!蜃$p֗ŗYj>]ӡe1oWT(AE̸iA~e6˥™WHr!Pc&2 ȑv.?̉"1]ŬUD Mڮz[H"ۻ]B&W{WDck/$l0dRE Gd t5z'}|? @M nX?zl+bY?Zo;yQ}D,cu٧|׳ƩX$q$Nȑ,np5}l(yxEaC8j5`1f"B6"j#9kDa#{UU Tע7ST7Ҫ+`xoD0fZ+xX;["Uju51Yu?"YVfaǡbnc쭍 WTd֜s2&6ijwJ9?wG lYjbs(7r"  T4iPҠ"AEH! *BT4iPҠ"AEH! *BT4iPҠ"AEH! *BT4iPҠ"AEHog=KtEXtSoftwareAdobe ImageReadyqe<tEXtEXIF:Orientation1XIENDB`images/addons/swpm-member-directory-listing-addon.png000064400000001126147206617610016770 0ustar00PNG  IHDRe.sBITOPLTE2&:Ngoe<Mny5Kg^D8| z-qD/vC_8{;Ρ/_^ }ыЗA>Aގs[ `PLTE76Js0$7c{Vy>BXLh\RuK_wYFSjluALbyQlhb]oAG^^h_lF[p2&:2IDATx܋ `DL-N[f:3a2p@e  @ @{_ mJ~ >DjPЎ”8 P),e `S/g!A$x9"bz輕&] ay[|$C aזqyVƁO$N!I-H/!M'o3hr:10$;@A^|H& &^Ǽ]Wjɰ'{ fh-Y'sؙGNdh%rK?*W1sH7ͯѮ=/A.BGb"r $ZHw D{Q[ #TybB6n2 ! 5+C8bI 4:Ô'dieҖ$a>$]o!he}H5 ќFν!#yWhĦwу'K:,rtjzK &kШ뜏Cȡ.dB]]v͢bcf(Sw4>($ \ALK!o\DZ*JI [ _sr!!; .̆o]\wG &R|G{~oD'Hs1"K(|c-iZLx7A̭Wޛ[o~^țRmB 6TrNCH;fğ/ٛ B:i6ovsL- ]ǻ{Y3e%'A/ i]M>C+9dԌRHgC#ȘCӠazLܻVt(KtT}M> 2p'z>\t8DtBog1ui͵ i!w۳COPB!1!/개~kGP!cvg9$9Z7}~'H€ozG][(>E@ @~bUEGBp3oBWy~7߀XnH=NCk$|X)cs\R?UGץK3N*@:I`{Ŵg e8 A'n {@EՏ282Ǹy?d^BzA1PqԆ) -ߤBL*7!?)H&믟ja@n)r"}}SShYY',ǁ]J[ m#[[Ahq,vmeX H~1F\o/qѥPC98V:4O ~cE 51Aжm܉l"CHjvK! 4CBE$$ f6KŶ_P'tm]$$QwCKL 9鄖 Q˿w|Lh򺝦y7B EcwAm{d/jqUgIӠ Ѧ߸;DvH%4ү~NUud ~IF }0DiNK $Wfe w. p> @ @ @W?'Օ+xPIENDB`images/addons/wp-express-checkout-integration.png000064400000004322147206617610016243 0ustar00PNG  IHDR!gAMA asRGBvPLTEN~s!S2eMA|9pN/a~:q#U3c@o{Od?y&W_;jA{'UIwFt Q7nn6l^ -^%Vno=l@z0`0aP.`B~}#Tiru"S JxKDlHvfV5eQ9ov3g *ZP:qTw (YY*Z2ft[x>w)Wy'TM&TZI>xr9h(W *[sKrXrC[!;2 ngQPg#E@Mp QI]e0^-Qg&PR_/ 7E<˥ N]^2esFN&,$CO! l.I薭}Q*!v W LFL<(LP /K|&#-h Npeoh)!86WCth/X X 6hYU•*[=WA2M2_D:+#|Ld'*,%. : Iv]yML;$+%;GD-JÙY?_ /;%1Xm# D,AS ( K@%nm»3r'Cic_A!| ?%5qOʃC?i^dZV7mØҒyf_(K/ Zwt~>Ҳ(T vv P4Gy_}Ukzs<o >e"dC}՚Ua\ie~H:5pOnz{)9IENDB`images/addons/swpm-login-redirection.png000064400000004071147206617610014404 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<viTXtXML:com.adobe.xmp \`PLTE85I~{eWz]FTkLayu=AVqmZ3*=PkaSqBLbyI\sivhl@G\n`rOg1%8BIDATxI*`)8 _`BH{ρ*JDI0! aC0! aC0!Cl*#"Q 9 􈪐KTEŵ| _.YI^$kQR誥*tFCOGWH=$b BI`wAy0-!w `z,nLORN!.El\ '+j-ȴnQbneAH&Q!5*d3mΨ'FTSH KIPzl"@nlc!Q -? 4 { 3&WLw@ydO2>c;}q' 5abD $XQHC#A >4dj5h-D^s:xsa* :C/$#":@ M7'Ā_'EټIɌ"8kT\X kMc4VLv]J*@vӟ.z_YS(X l*4C0! aC0! aC'/h$IENDB`images/addons/show-member-info.png000064400000004264147206617610013165 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp R`PLTE{Vye~^t84IFTlI[rqjmQmTrCLcLbzZ;;P5.BAG]y>BX3(=bvlhoOg2&:~`ZIDATxr0 ` w$$r7ۙ.i:Iز#`$|@"D @"D @"myӧC$q5~T_ǟoŏ,~AyQݤA!*J58j!(u#vAZ&ƼȔ蝑&>@Ip {m"n!ʌcd'DMz8HCH FuIWTQ;8ㅔT @* il̘Ӏ H 7ې GO2&Qܢ D6FB$(G8ГJx7L9$3Y ц;Ұ@/PN,,s1R0C?:vpFukB3|3j̶lhO  wzET,ԇD"lQ4n;0%`NZ0nߞfҚH|"Z-hx5}˓9(#B !`h)GD!Չ N-Ih&9ʁ &_^`AoGRYR}Bvm0yB6DBEu_E$H u)4y {]a/YN;Ψ;@!oM-{vL:. Gw? Gnhꪳ @ƤcA dҷ+z٘\]BS5{كadkn ks_jbW#]˧3#۾Z;:3W`jKFcL/ȺƔ,_yzMV! 0m`PLTE{kÓ;:PCDX_cVwtPkJ]uZ~Mb{CLcGUl5-ASp=?Ugois\Ua2&:_ IDATx疪0 TPR,Huw| iV~I0 !AB !ABp/NHv[]!&~'䤦 "+JJ -Y荊$@)7? )Z'C$@M](ATaDH *JP!\򐰕C%I4HtH@HH4,ATiT1;&ROJ@j e8,Y_)Q[>?3bC\L2qCB;m՝.q\1DtT'`너_+VIWV]6߼XK? qZ00W; †w cV[f  &owH|-!1كrA σ# ̄X3H8j'$ IF;! DԒO!-: _Uz%:Si@6ؐYv+@[sQ9{ޮ} Cwj^Mv]Unʴe{Tiz#ϋf?+,*ky y.}7sдZYj7[!M;U47Pe%KjdrvudV3z!Vtz[ƽmzBbGD ( GPw1uE9-wDzk-!N<\e}7$ZsXZAJ͙/ 17npwasf 1hA.<|dfL{x@"}2//RA溮!"s%"bfćZym֣^ @vzAB !AB !AQ̀ReIENDB`images/addons/swpm-form-builder.png000064400000002727147206617610013364 0ustar00PNG  IHDRe.tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp "OsPLTE.//[tM`mhooox3KZԄ4E 8Hۗڑu->4L[w+BR.?n~ct1Bpw0A.?&=M6,=9~IDATxn@EQH?+QAzKHrnoˡ Ri%T8*kkh+c6ozgIæO&x}D0^hf^{:V?^hOwDV٧_o_NS}v?S =z~J, ttttttttttttDk/ pEtttttttttt4鍕kA/&\yi腤)ElY'3RnJһs"}|(8}z5P:L>LRg[huc.IENDB`images/addons/swpm-aweber-integration-addon.png000064400000006373147206617610015647 0ustar00PNG  IHDR7+tEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp }`PLTE,PExye 8vl~\ |f~#q. Dob]wuuT! IDATx\r*KƊ*xe%`aY;wn2sϴM9?yTHR HR HR HR HR HR OvPUmGSrmfh-zo0_etև]{xl m~i_H; [Q%jal~ ^[DvӐ67F9/YR c(0bi sR]c.'wes%Hw"+0k CS. zOܳQ(+߫\@{~̳$Vf-{9*W gXx"? ZLҾa\$8(au*Bdȯ Kě@NJ"໒ u;`P$I]cq^ۉabD~e.Ӂ 22<G|6zc=HKb"yS=d+΅;^- uM h#{DBQcu䴵)D{/i[Jrε>gA==c3K> mTO$k1nsm!̎gekVUitzikAɚ`_mCz}v1VL$ȜYaCמ R ouHG}G4p1<ϵT| 8Qu8ghtn'$4j.ЭK(4'2dϜHWP HQLȮk .bRYv$30+)V=@b"vEbuVf:vdV&9 @1H >X qi(/&{y̾cv=`RWܜfP "]>{lH֫l7M뼍0`i D0,G9~iʑ#FxH-AM^edS|0=NM [V٨,'Xhw2dhhR,8W+)Z 8aAC" i# OB751tb=_>ih)fx}:QS,^C6K9}Ѽ<F`N{ABmOhHUl[T l`?]v;u$X@ m ֒/^O};gOS*?M @|g&`gf;HfILZ ~ AuWL˰$\Νiwҡ>=Ns{h\)9S{y~{B#18K1G\7{ꅯ NBgyw;:]$ą#g`~b|-\><;joAH@F O#ҵ=<{<[f ӏBܰcjzf (t*ÑBEw>,1h{ݮXXm㸰Uk_?9pE)@ )@ )@ )@ )@ )@ _> 05݃IENDB`images/addons/full-page-protection-addon.png000064400000005012147206617610015122 0ustar00PNG  IHDR!tEXtSoftwareAdobe ImageReadyqe<viTXtXML:com.adobe.xmp 4PPLTE֞bbb6T^GbktQjslllmqYYYUox666A]g=YcaxJJJ===ߘ:W`|>cpdRRRłUUU^v~Cm|333nuzzz:::_R¦MgpYrzqqq@gtѨFqAjwWpy󎎎AAAų܈qٲiښjO1114R\8IDATxS1Z[Z 9"X,!""7r)ވ&lha~p'o泻I`94<<Qn\+2q|?S(zfQoהqieB.@AD]R\I?gDaBq~tU؋3M":cT0vE"5˒j9b)Wnjy+ ÇtHMKJD46P=D:kJf=3b`{zNX4Pr &pE9v 2b(pͶ./VXhaV 4JLeXW0 iN 0~CxcPᅔ~b"@H;fTWT qij'_0t-SB23:4;fSCaCsf΄3b z*/p`qF$]q9BC'KPo~ca"glR"rsKPmmP&R JPg.oԞkP.jsi5m~|e '`PLTERltxr{֌4R\w˹ŧdz>Zdд[T_G>M̾0$7yIDATx܁n0R* puPoys^,Y)Ob ٖ탿CMn      B8(7rA:sH٧>3?_>>Bx|׵y|=fBIWwL.~uQQANwH'DG+F,᥆飏_=-vbG9~X#H[!+mp ɬMc{ȯQC_sUޑqV#5wrg:tv@@@jp"XuȸJ;DKHK;(j^ J-JHԣj& 4(`PLTE:KT0$7lKhybRwE[osv5zuYg6;I%]^qHf\Wwo333yޅ{IDATxi* V=b;=Eխs$AG      <$<#BԵ )F{uWW&}F<zBdà_rݠzp Wχ z) 5k&zz$ ] ֵH tȪj 7jP擝@n]Ոݚ7P u Fk\$8ۭ{w:bpHU|M!S54-@@z2{G".^H~+z I^- …#OXV-=lk;H(MF-__@NH<d(oBfvv`(@YV]@3@ł>޾d8AJ HMaFl 2b\ 2p5`YW6Q5~NT Ž:u#K*7gXP'ĥaB D,E_Fwy^xƗe|w`[5+ȟl&V~$D}αÙֺhWre| qY=;xG#Hy&@y~ <9#f/yBϣB"ͭi@?u,xYxYF?_o    / >آ-=]K|eoq]/D |i9oUJjdKն)bR;Y+^GND[>q]m$3ej*21*Q eC'eK\YTsT7pbvؘdkR|7">E7DbbFdFD뱤- ΰ8S="PntiZM27A"01@]7ПxiINR]& "/epo{@vH>8ot7 g|!t~F '}UȊy#мMM_(ȩqi)AԵ.m9uʗ.a1H]5B9162aFQGlɴ'DS,텺 v[xz T_&6yLٝ FgoAM J:- Ap_`PLTEѣ nvIkNeOD()bDHK]E:̯l|P3%bkn579#)QZ_Ľ}ZB-,IDATx s* U[P6_sv&jfdOTv%e A2H $d A2H $d A2H $i4Meӆײ-@yElR\mʲ4Kcر@tۚˢ=r5ӑ@>x}Uqs8 >$eU i4( "AoÀ\1^̍8V9n/^{ 1@+B߂v<P皠0pZ8PMXU@NGsܢY&a4MZ%T]'SBVQ@.l.,T*qrs8( IIYYUCraηi(m7`P WxR4jo1$_\ɴ0Z##C嗌 Ahz s5 _CvQ3.2UV}s~;>]q9+o?H$3> cBos+۝r51^7?DRh4ofڙtLhCn8v!O#Pxd 8*L-~{P"$?Q1<:Bju ,aB} @0b1QcwhCb3cN%#G1)aDr6Ņ`# h?01n%W|8P 2{7Ft b0o?gRWkt򟛖% _qƲwv^hdֻ1AdvP:|F֥Ƥճd ]QiO#^el[u^yfZ?d w6lbI T |d9xt349p{F-tU㤣@4dLDcT tKJP\&K{  5_Jf:n((ӔxSek  3FJ1;PEzܺ/UvamVbTvI J)` 2~{+uߝ-L@Rs0yk g~4'úsQBQR@9IUsE-e ֍TX&(/v[nSDZpMGEf ɵB9SWP#>-(]dY4XoX z@cŌBNm"1 OհsrAc)|bSuXٷL]_NMS1:"dvxCYF+oϞGHm'9̨*/nS|d|Bۛ ; $99휊RtEi~vcuXm} /⟯ l|++#<3 wQi/}݂@Vd @.v~ v> $d A2H $d A2H $d A=`aфIENDB`images/restricted-icon.png000064400000024236147206617610011636 0ustar00PNG  IHDR6tEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp NEH%IDATxieuto晄$H%DeDgQCCW]Uk.TT H` I<ﳏ\!5sysr }w?{?Xpp$1)i Ѯΐ^W>55ص׵'^]ͮu\χ ?= 064&nzy|G9 ~Xoh2Ϻ]v^p^oCs ^0\ \GfT0fPа>"2Y]Orm s:˘rakNƼ0qҴSW;@Qэv=phB xRKDk(:LJě\㺥WDH59z~hBԜQ>QKf5F-UeiCۀ|R@ManKk=^ c<#Ѣ͜ ꁢ MG|Ica J-<ξ9%)߸>y@ؿsR.D P0Iз#@PUh]k)>Z8-oijˆ@6Y軇S@9hJ-د<`x]NeZ1K[ @ζ`kENKِD/%8c*ZEvĩ |d- dZϱ@%wrJ0Rj׹R,u}*-( |(4#ai V?tuHNdnk-$.fYS4JqPmɿO:`~2RKV e)akSU̬o֖Qߏ̏gBP$LaU% Xlȃ=ǚ{ 9F2@h<רE5am~SK[\O[(TxaDT!Nwn? =a2?Y|?0=1r GrFEZe?!@S;2=鮴XP7 keB42i>15V73űR.$Ǿf*DQA()M y`F34" 6H7nh4ń=}d Taa 0 _` EkA +dQN]CI:TeYfTn*$'$z/{ST-й:*wI:*LF` : 0wKݰXj[)L0FG2\g^:! )*jr҆Yq=z^WČ=E0&3& C:5^'E1!inZ<qmtp-s=>N#.:õ55t9OΉi9K[Nk+ߥvmgquKy A3@Yh陡4nq]RB0> е04'((n5Ҕma$F0CO"s4h$opk)O#@zs*@/t_mZ[\8-(.suC!SFSOPuUO[8LJd&ʝ(G- ʕ=T )纮 {G oγԪHnv)M[]xw0bLhd9RT9╶#,V읖f8fi5;RgEr\0&nKSYpЃjp|D+ٕTvKM1ܤxØG>oP5{,%o4AGi]sRƢT.HXih!ji,"|Ю6ИRWON@Abch#zU_f,HEъPm3k**?PW!@^z2W{ꤴdaf"hfDK;R D}Ώjh+K3R D{8fpZ P]?tzW!)#ZIlٮ^oLk-zʵKדv4n${}O~Z9i ` ywnuZق߫$\ -M! ` Fy][]/3 y_`hRꈨ[r϶ iLIuK\3` A6TMoTЛ]'2deK몢$g-H>&3@\Ⱦ N-JT묽Slb,U[mskȍ֥`"#q]\1]_~~%ֵ*ƶ3#$!G~kSq[<ĝðq {,8P10J#kIAB] /` Z>j /` ZxǷ$oC @sRc݅o,Me=P\y,T["<`$ԢDCig*0܀4ajbXpA6XESu+v@(yȵa (yW4]) 퀁 8a 7șK8f1#x9VWe rj"@Zo"p]g?)KSW@тBCciL>zz3ĢA@Qv]7um0 J*,(֦k#~7u4d:j@}UX` ` ` ` ` ` ` ` ` GBOwC5akkxW\@ukl~G1 Qm4` `WG $DN=` yH`kh~ΎW  c L4 WBכ\#[Nw]e UC]:KQK\c8P:C8Pf>{~旻.t@9.e;Np}ص @Y*וMg[:R0@-` tuz*r] s@ Eε.D w=ÿZZF׻] @TT?umD$_wZozkCk"i"` 5aPDpsmrmpmq'ƅ̊hN%` v*׳ݮ){V` @SQ\džtat` DS[]a0@  0@@ ` G. `WYv]{XݶLٚ@^{\< ʶ כpn WvŽl3H{"nAȔ=q˖\ dk~D +H[Q` HPط2)61"%ѷ` gk d@Z}\)\c gK)\!Bْ*n.q:kiEq2@TyGU_-s@r6YZ{\Ob @ $;v P"gK8Zﴔ2Z⟭%L Wd#]/b i/({]?@S۬yE(u}( DQDR D otu d뻮%T)"w_k*o]7[r@*ʃ[ (,Q4Ya" * ڨZ6S1\>JyPUtڈE2cR, :5kZy(ڸ#f[*tcli:@Pݛ<{HfX\B L:K)-:c/ Fv0zi-p$eJt?FOJ?\}@-OK;֒:]YJv)uk 8 4\7XڅuT+oUh Ƀ-MY8HpyO̐Cu%ֵ]#0e ,5Eu[hc T --yd)I\"e\ic+y 4HpR]^[g _*TwOwt]Z)(<`&{AhDSZτ,s]dEdK+ @2Tv6Za9MH"F[swd)~tN@vf^yw늘8HSRfik#U+:="T55҆VTuj&aGD{*.ׄY"8ȩ@:zE%' :eW'`./Ql-a0e`%cBEIENDB`images/logo2.png000064400000007146147206617610007563 0ustar00PNG  IHDRazTXtRaw profile type exifxu 0D"% )g%vX>; h{ p  L LS( Oc1]lnN;9-͢jEd]?,e iTXtXML:com.adobe.xmp (0sBIT|dIDAT8}]L[evk;JOˀ'-il( c..KHW沸8&s84^6!Q8*0h ]9=c$O޻!9Q>pn^_ϲlJ}~/ !!F'\؜ N42}v h<PF:UhUHSْ{#]]xS^VprY 1,]rz_j0- ^|o.6pΤE%Cܾ轢]i8R9tf=W_N{+&tt8%^oYU$'ə{z~WX`\zC(b&y,X djnZSyz؉H$b_y-FrgHи7}bKRny+]gd1+mdmWfc5j5y}^ssG;/q:SenirWci5M-ss. ~@$ |Q8xM7vYtƷZc#LB\9ҡe,K !)jtPC6CtlB 1P;sL]~}sii)?J`0@lB4/VF5D^vkμz*~ߟ'ckL&ȹ_%Vw{FV3n ǓY'JxOY׺o2JrB (C)e|ةIz&Aypᦳݻ  (ݪn_CC ٻKU!+zvwdYl%l_ްWk IENDB`images/simple-membership-content-protection-usage.png000064400000015723147206617610017121 0ustar00PNG  IHDRtEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp EPLTEzDD{lDDҵgk$F{gaD#gܱ{DFbwDpϘaEDEW%#"&VI`ϒ͏Nگzפr|'#%ʳИa`CSˇRDEF^~%A]RGFʼa{tI.괷ʜl|sJ^ywdc^E`ɇ5}cPIGPha}`MWZZD"HЏb_{[ߚT#@TݾKޟI"ޠ|4.ސslIDATx읏[ҀqaDLTS!i5MQZ[kM׿9{`1ISk<>._;ΜaYX\x aa;ջ$ӡ͏kd5y0oqõ2(ycrXN"dsO6m߽,xfE3;=ҎHuj8GiAF/ۤU <{?/s۽o5"k!#e84 W@רw0Rot)l\ojCc~ÈdžOahOL󖟶=oF2ֱ0_|{|YWjz?5\ΐ$ShS^z7+mfW1/9X [hxTn` Z#߽[ k` }՟,AO6tV#2JƳ-JϛmI$g=bUUher.K[C?_#pA\u1xd٣y&w7rZ.lg8 Vdȯ~5G[o"n ϯۡF !tnMFn@UtoBvy4F" D?Dn\#k hs' ?Őxň8YCjx^j@;j&cE##r1.*tW@ N &ͼ{ BR`neN$E'fy8Гx"7Uv@6<*?Z48 ^d1 5uJRCwĞNա 4Ecu*tV٤rnt9 +PYn'F-C-7yXxnW8[# F7GN78*L]IGOhqQdAh [JmX}ȁQOOzy7S6)fa=NBh!3X(fg=փ3{(24flnd;sL˃X{ѬK߁7GGSTQs'p$Op_}cap=I=8dWބM{n.|L-G_;W중sxOL⩩g2eh9gᓈL6 iQ}f>/ <3+G2r&DFrJDnw uvLtn`L硧a@ZL1C?0ks,,Y|8n٩fT( 5hcߏ9˘gC]J] e:"`V /'Gp&DZuomo)XJC< dž a=6<2|u ;q >12918:xA#[s|V!Gz 9O<|ϭ0xXal>ZlNf%ߋG@̖ܲ^_s bįڮO4 X,"[t'~KZ`[w8?_BP!A7<]@~Au eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/-G8 cHRMz&u0`:pQ<PLTE,./p‘֑{{0<=I J/V0W?c@dOpPq_}oÀÐˏʟүٿ{¨456TUV{֑{ u ?_o؋򑗛y0@OP`p܀ݐ{9;dWaWC,,,,,,,,ʲythQO$~64aure$^?

J7χdwNἬkD%( ),* kS.qYˀ (F kJX;(aOg-0 _Ǖm4N@bwY桡QAW ˮG:S=뎲*{0eU?jZ*XaY `=PVTrj˲ȵ|`YViⵚFrZVjX8^peLw ý 1h,ÓK<bEJr`N+6Jڋ*3n Xk cm˪1XbFY}-# k/M׬w s<`TXbxM7Ažy5-<5-vIqY{=(L־K+BϑbX}A쁊VXGr`x:%4@A7@wᴬJ0wYvazacqo+xc_dLr,+lPjiH,(o]Нx .VJ+ZS+@wR±N+e0AKKI{@NO .e1N6t>kh[E@\N<^කF"dB{$c:]lzkJJ%:`}]P 8,l{)P|6U|Gs)T4#\ ͥP>,1[8'jJj 8\wfrjj[ =qA@YFeYFcnYteK:v*0ղ5KnӟtcO,ɉ{kg݅6r<ȉss^z:[#⇬?7dͿP9]eQ֬6/kgE\>q㰩b ,,,,,,œ]b#o~O3t#y}B?aP-K-K-K-K-K-K-K-K-K-K-K-K7M'N:ٵ,*,W֪Ƣ_Ov% _uJL\BcGR@R@R@R@R@R@R`Э?3RʂMDeבRF{4eWrKhۿߢsMF):DG+':$b.8 ܸޣ1Y$gI!6RJ@"@x‰}>?*(z~=?A}H)DXNJ)`c41~v P' @c]pi &ʞND ÖA&n;BFBD^7I&i a!"uMbS>!.Ml J!? mFxj pɍQ?#x[Ӄ@8! m[z"$6 Yt]"Q Mɍ4h6;Gna%p15YR8џÑR MNߏJM'O{8ɚ,7a !Hf[GQ_f6 ! Æ|${Wɚ[dƅ})K %&Akp{)a•ɖ|uKS? Q|Q ?gFDBP7d@M :y/i׮% |RJ)RMH&} _".EDؙ3~Cp7I"M#RLV7 ] hY hY LtH)1 PbH)þo3ߢQ@R@R@R@R@R@RX45>,2 ' ӇBHw1H}ΘXTXӏWQ@ hY hY hY hY hY hY hY hY hY hY 8+tq/0i/\KygFSXVUqCf Cx6MgXx2^Ljzw4 zs< p'獷05efCGhu/?6?9,,Ƹo˙ޥ&6^ٗYY#`Qﮚ[~ -wWͭ%s?lomVx\3nz0P?'@觀޻r]4X5'M ̎XxP̀CV_UZuC|qkmyp ħ7-`^*7^XPx1;o[y`;pO ɰ,㮪Xԅo™O^:햕'Ut!=g'|yYwa#Xͽט}S<} ,+~7xLx=M!sV3$W[] N53zZ$Dٺ. AƓ`Mb$,<f]&7璅lr Կl[S37xDdV3w.Gt6&خ\\/w b?{;S<W%7|C]bL}& R2^#X';E<2ºcrZNZS# w^~U;~^r̼OYSOV•A"#>t# L9Yqr2?dM6S驇i>IENDB`images/next.gif000064400000001131147206617610007464 0ustar00GIF89al"] Н=Ӗ@~"a aiiYֶ2Η Пbr v/ܿN8 !l,lliggiK# Zdj;b klj=?]7/(N0$ )Ufe,"L6f!kkQ.F:*OIkfD[dE+h9i' P_CS h`YJdH5eTil\#e(qA\XFAd RSF49q8&@;images/join-now-button-image.gif000064400000020014147206617610012640 0ustar00GIF89aR+9Ukuwx|΍fg٩HSiDѫiµ37D^xi͙ꌌIM蚛tnnnژQӸԻֳѷCj˳p22!,B9Z)3HQQ罽s|[f{˨CC==ϱ>VdyWUȉ˃Xauθ*{wphsԠ^թ[ӋBOgJ!\h}ݵ[Q]s.,,MYp܂栫&cmSу>fp܍ཱྀ=֒`k~pz5AWĠ7TbwɾߪK1;OEx *>YZKD-:Vuմ෷kt(5Oit`٦0=Y*8S\5w/:PŦtgwlvhwϛ>I`ޭU_mNXkaԜGٯ12!,RH*\ȰÇ#JHŋ3jȱǏ C,(BĀyp Xɲ˗0cʜI͛8sIyJJBTX!թiPJJիXjʵWM;JQBeh+ĺĐ@ݻx˷߿ LXB 7VtBNе]WK3AKj̹ϠCMӨSTM9@p` Nȓ+_μ nxZI6mېẸBjOËO|N,!EeuDaO(CDifx\3w%"|r ,44@v ($h(,HS(t %(FD#A󤱂w-&L6&1OB& p%I#1$ApX p)tix| .p <IP /l-g T)rCæv)|騤jꩨꪬꫣ5rRAbM'8:?P))dƴZm @ږ-+z A5@B' @!4 9RC1l4x3- ц$E$`lp; ,$l({PtD+96 (/x;^CI ܀"L (t(0- 8q 'l8mZh*;2٢F6D&-ܽ x04 p)D)#L) Lۆ0p9(3ꬷ.n{n\@7Co,+36@/z)܄@Sy l@)#PlEܮBݼ6L,0Z \5D8ILhPlHnpA6Ӣ: IBt>p  #E^ @`eD$qDKyې$9B pCfIYf iYyc (̖jf:Ќ4IjZC q?/D+8INq7#S<"xD#7o6I,>Hxf|bZPhXDžZ sx ^jᡚ3_a6юz{i!ub Li9xoRW4"*iɥ@7jP-ϐ,4T bZ+Vծz` XJֲU=rp\J׹< RSxi]KX&Z7ASp٘2kТ{l3zYryjWֺlgKm=&&1Y :,8bح-$lHЮgc@ φ7BE1 ;"A Kͯ~_^ 5KڈBa %<'L K%GL?@ ƈ/(h*q /8Bc\k ;q &LvwX)XI1L(9N~Dc0 eC&2 eǀ ,e,`p V`}p JLh ۀKV> =q- hAsIE NA @|\իN5qS/k] C]jSwNBk_;֙5$N8=:FFn@(ds0" 0ηo|hq b w3NOXD .pXLD!.N$6xBU&$!WWrM#2~Nh8qCaEoBwsMh|HB |09#qlTAlpͳ #/Gم; 0.` ^̢,<:Fcbw+/1D\ ]p6 NPAMxhBW*a19xo&5#N;=8>м2"a x!?}%w~DE?҅?K܂J@OPzK D`]Ѐ耼{{I`{]|'{wz@  uy§Uw,wI' ]X0{`]0os V! ~` ` B~'/@ [h~w  wRLcxy7yw (w|{@z|臧栈rG M+w rW1pȇ=XwA|$pn%ܱG~}:!B0~W} P(ax5̸wt! 5P~(=y(yhp| m'r` {g٧.8xz Ͱ, H70wo;iPP(K@&294@a4ٓ rj( #i=fPPQ)xz Ѓŀ|و_yWP N R T {(pɀ|98rQ47r iYf3&P~`p @Ai K 3 Аq )W i%/ V@甅nP yPu{0 \or(pérfٛy`w1` y 蕌pz Pً!+ Jp 71`$p ia Y2+0S Gt8fzZr 0`uh@ W% {9+ {pj(- {Y7V*{0p3j9?3!_ ZzCn]p䫧ȝ]~zO>P YD.FѝG[N \[☐C 50 jGpw}`3"!88)0苎 %0̀P^SnW\^^ՠN(0%. n)0 Q  qw+ q wn ѓ.{@` >\ ڳ~[;=侵n䡝L^a^v jT.~*$) %^Cg@ʀ np([]{\N-p{}-PApojG@tpERpHD =kC4_3` ׮1*_C-J^CC0N >k`Fj0H/KVRQ  UOOϷc'?^^a` . ?&_q=֞O@Ylu( oU O` t@ ׊3-% 6_!nA $H@ XP`Ͱ3^HhfF(2h($A\ U"aB̤Yf?Ԩ!CGІ[+@eMIR _ L%3(I 1#ׯ<kdiNfduH+ Q+Ő(@ V,Y)2$H1N͘*XL] 8 e̬4+ೳgzO*Ybб `e+Cq!E%39#lf0&ma|}W\0FƑkjQfn1k cF9p Sfh[a`%()BX! 8DD#B8 %jp0|/9: 2:7N.&G8 +;лˑ.*)[k;?в$H!~5RE`%E @-rXc= @ϐ 7h!%\c1Jpt*R)`a ]BP3a mxCP/4#J@D` a c@:hD$ְ+ah/ [bE0Qc$cxF4ыFDΠ<CgBarEĄ#xŎ@.EkWd" FVmo}[`A06hJ>A @ӥnu{]fWnw]WE2Vk Pj- a.HmGp_Wo_X&p |@2XjV`Bؤ@sA=aX#&qM|bX+fqe0]D V]]#5@C&r|d$'YKfrd(GY2v5(:6)V"@|f4Ykfsf8Ys3aqc e8P X%ZыfthHGZғt-}KCKXA'@8:V`RtB`u]jXZֳum}k\Z׻;A +}"3J @lhG[Ӧv}mlg[v P86v}nt[fwnx[ޅ ;images/index.html000064400000000000147206617610010006 0ustar00index.html000064400000000243147206617610006552 0ustar00