{"id":11475,"date":"2025-05-09T06:15:18","date_gmt":"2025-05-09T06:15:18","guid":{"rendered":"https:\/\/www.lemaiyansuites.com\/?page_id=11475"},"modified":"2025-05-14T12:57:53","modified_gmt":"2025-05-14T12:57:53","slug":"create-content","status":"publish","type":"page","link":"https:\/\/www.lemaiyansuites.com\/create-content\/","title":{"rendered":"Earn from content"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11475\" class=\"elementor elementor-11475\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a9a0d65 e-flex e-con-boxed e-con e-parent\" data-id=\"a9a0d65\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0298b1c elementor-widget elementor-widget-lemcrm-create-content\" data-id=\"0298b1c\" data-element_type=\"widget\" data-widget_type=\"lemcrm-create-content.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n        <style>\r\n            .dz-remove {\r\n                outline: inherit;\r\n                box-shadow: 0 0 0 3px #FFFFFF, 0 2px 3px 0 #cd5928 !important;\r\n                cursor: pointer;\r\n                border: none;\r\n                display: inline-flex;\r\n                align-items: center;\r\n                justify-content: center;\r\n                border-radius: 50px;\r\n                padding: 10px;\r\n                color: #FFFFFF;\r\n                background-color: #cd5928;\r\n                transition: 0.4s ease-in-out;\r\n            }\r\n            .custom-upload-modal {\r\n                border: 2px dashed #d3dbe3;\r\n                background: #f5f7fa;\r\n                border-radius: 8px;\r\n                padding: 32px 16px 24px 16px;\r\n                text-align: center;\r\n                position: relative;\r\n                margin-bottom: 16px;\r\n                max-width: 100%;\r\n            }\r\n            .custom-upload-area {\r\n                cursor: pointer;\r\n                padding: 24px 0;\r\n            }\r\n            .custom-upload-icon {\r\n                margin-bottom: 12px;\r\n            }\r\n            .custom-upload-text strong {\r\n                font-size: 1.5em;\r\n                color: #6c7680;\r\n            }\r\n            .custom-upload-subtext {\r\n                color: #8a97a6;\r\n                font-size: 1em;\r\n                margin-top: 4px;\r\n            }\r\n            .custom-upload-or-link {\r\n                margin-top: 18px;\r\n                color: #6c7680;\r\n                font-size: 1em;\r\n            }\r\n            .custom-upload-or-link a {\r\n                color: #3498db;\r\n                text-decoration: underline;\r\n                cursor: pointer;\r\n            }\r\n            .custom-upload-link-input {\r\n                margin-top: 10px;\r\n            }\r\n            .custom-upload-preview {\r\n                margin-top: 18px;\r\n            }\r\n            .close-upload {\r\n                position: absolute;\r\n                top: 8px;\r\n                right: 12px;\r\n                background: none;\r\n                border: none;\r\n                font-size: 1.5em;\r\n                color: #b0b8c1;\r\n                cursor: pointer;\r\n            }\r\n            .custom-upload-area.dragover {\r\n                background: #e9ecef;\r\n                border-color: #3498db;\r\n            }\r\n            .custom-upload-preview img {\r\n                max-width: 200px;\r\n                max-height: 120px;\r\n                border-radius: 6px;\r\n                margin: 0 auto;\r\n                display: block;\r\n            }\r\n            .custom-upload-error {\r\n                color: #dc3545;\r\n                margin-top: 10px;\r\n            }\r\n            .lemcrm-dropzone {\r\n                border: 2px dashed #d3dbe3;\r\n                background: #f5f7fa;\r\n                border-radius: 8px;\r\n                padding: 32px 16px 24px 16px;\r\n                text-align: center;\r\n                margin-bottom: 16px;\r\n                min-height: 180px;\r\n            }\r\n            .lemcrm-dropzone .dz-message {\r\n                color: #6c7680;\r\n                font-size: 1.1em;\r\n            }\r\n        <\/style>\r\n\r\n        <style>\r\n            .dropzone .dz-preview .dz-image {\r\n                width: 100px;\r\n                display: flex;\r\n                align-items: center;\r\n                justify-content: center;\r\n            }\r\n            .dropzone .dz-preview .dz-image img {\r\n                object-fit: cover;\r\n            }\r\n            .summernote {\r\n                height: 600px;\r\n            }\r\n            .note-tooltip {\r\n                display: none;\r\n            }\r\n            .note-popover {\r\n                display: none;\r\n            }\r\n        <\/style>\r\n        <div class=\"lemcrm-content-form-wrapper\">\r\n            <h2>Earn from posting content<\/h2>\r\n            \r\n            <form id=\"lemcrm-content-form\" class=\"lemcrm-form\" method=\"post\" enctype=\"multipart\/form-data\">\r\n                <input type=\"hidden\" id=\"_ajax_nonce\" name=\"_ajax_nonce\" value=\"c9d7fb3631\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/api\/wp\/v2\/pages\/11475\" \/>                <input type=\"hidden\" name=\"action\" value=\"lemcrm_save_content\">\r\n                \r\n                <div class=\"form-group\">\r\n                    <label for=\"content-title\">Title<\/label>\r\n                    <input type=\"text\" id=\"content-title\" name=\"title\" required class=\"form-control\">\r\n                <\/div>\r\n\r\n                <div class=\"form-group\">\r\n                    <label for=\"content-type\">Content Type<\/label>\r\n                    <select id=\"content-type\" name=\"content_type\" required class=\"form-control\">\r\n                        <option value=\"\">Select Type<\/option>\r\n                        <option value=\"article\">Article<\/option>\r\n                        <option value=\"video\">Video<\/option>\r\n                        <option value=\"gallery\">Gallery<\/option>\r\n                        <option value=\"document\">Document<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <!-- Thumbnail Upload Zone -->\r\n                <div class=\"form-group\">\r\n                    <label>Thumbnail<\/label>\r\n                    <div id=\"lemcrm-dropzone-thumbnail\" class=\"dropzone\">\r\n                        <div class=\"dz-message needsclick\">\r\n                            <i class=\"fas fa-cloud-upload-alt\"><\/i>\r\n                            <h4>Drop thumbnail here or click to upload<\/h4>\r\n                            <span class=\"note\">(Only images allowed)<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <input type=\"hidden\" name=\"thumbnail\" id=\"thumbnail\" value=\"\">  \r\n                <\/div>\r\n\r\n                <!-- Content Type Specific Upload Zones -->\r\n                <div id=\"video-upload\" class=\"form-group upload-zone\" style=\"display: none;\">\r\n                    <label>Video Upload<\/label>\r\n                    <div id=\"lemcrm-dropzone-video\" class=\"dropzone\">\r\n                        <div class=\"dz-message needsclick\">\r\n                            <i class=\"fas fa-video\"><\/i>\r\n                            <h4>Drop video here or click to upload<\/h4>\r\n                            <span class=\"note\">(MP4, WebM formats allowed)<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <input type=\"hidden\" name=\"video\" id=\"video\" value=\"\">\r\n                <\/div>\r\n\r\n                <div id=\"gallery-upload\" class=\"form-group upload-zone\" style=\"display: none;\">\r\n                    <label>Gallery Images<\/label>\r\n                    <div id=\"lemcrm-dropzone-gallery\" class=\"dropzone\">\r\n                        <div class=\"dz-message needsclick\">\r\n                            <i class=\"fas fa-images\"><\/i>\r\n                            <h4>Drop images here or click to upload<\/h4>\r\n                            <span class=\"note\">(Multiple images allowed)<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <input type=\"hidden\" name=\"gallery_ids\" id=\"gallery_ids\" value=\"\">\r\n                <\/div>\r\n\r\n                <div id=\"document-upload\" class=\"form-group upload-zone\" style=\"display: none;\">\r\n                    <label>Document Upload<\/label>\r\n                    <div id=\"lemcrm-dropzone-document\" class=\"dropzone\">\r\n                        <div class=\"dz-message needsclick\">\r\n                            <i class=\"fas fa-file-alt\"><\/i>\r\n                            <h4>Drop document here or click to upload<\/h4>\r\n                            <span class=\"note\">(PDF, DOC, DOCX formats allowed)<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <input type=\"hidden\" name=\"document\" id=\"document\" value=\"\">\r\n                <\/div>\r\n\r\n                <div class=\"form-group\">\r\n                    <label for=\"content-description\">Description<\/label>\r\n                    <textarea id=\"content-description\" name=\"description\" class=\"summernote\" style=\"height: 600px;\"><\/textarea>\r\n                <\/div>\r\n\r\n                <div class=\"form-actions d-flex justify-content-between\">\r\n                    <button type=\"button\" class=\"knsl-btn knsl-btn-light cancel-btn\">Cancel <\/button>\r\n                    <button type=\"button\" class=\"knsl-btn\" id=\"lemcrm-submit-btn\">Submit Content<\/button>\r\n                <\/div>\r\n        <\/div>\r\n\r\n        <style>\r\n        .toast-success {\r\n            background-color: #51a351;\r\n            color: #fff;\r\n        }\r\n\r\n        .toast-error {\r\n            background-color: #bd362f;\r\n            color: #fff;\r\n        }\r\n\r\n        .toast-info {\r\n            background-color: #2f96b4;\r\n            color: #fff;\r\n        }\r\n\r\n        .toast-warning {\r\n            background-color: #f89406;\r\n            color: #fff;\r\n        }\r\n\r\n        .toast {\r\n            padding: 15px;\r\n            border-radius: 3px;\r\n            box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);\r\n            font-size: 14px;\r\n            line-height: 1.5;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        <\/style>\r\n\r\n        <script>\r\n        jQuery(document).ready(function($) {\r\n            \/\/ Common Dropzone configuration\r\n            const commonConfig = {\r\n                url: lemcrmPublic.ajaxurl,\r\n                headers: {\r\n                    'X-WP-Nonce': lemcrmPublic.nonce\r\n                },\r\n                maxFilesize: 50, \/\/ MB\r\n                timeout: 180000,\r\n                parallelUploads: 1,\r\n                createImageThumbnails: true,\r\n                init: function() {\r\n                    this.on('sending', function(file, xhr, formData) {\r\n                        formData.append('action', 'lemcrm_upload_file');\r\n                        formData.append('_ajax_nonce', lemcrmPublic.nonce);\r\n                        formData.append('upload_type', this.element.id.replace('lemcrm-dropzone-', ''));\r\n                    });\r\n                    \r\n                    this.on('success', function(file, response) {\r\n                        if (response.success) {\r\n                            file.serverFileName = response.data.filename;\r\n                            file.mediaId = response.data.media_id;\r\n                            toastr.success('File uploaded successfully');\r\n                        } else {\r\n                            this.removeFile(file);\r\n                            toastr.error(response.data.message || 'Upload failed');\r\n                        }\r\n                    });\r\n\r\n                    this.on('removedfile', function(file) {\r\n                        if (file.mediaId) {\r\n                            $.ajax({\r\n                                url: lemcrmPublic.ajaxurl,\r\n                                type: 'POST',\r\n                                data: {\r\n                                    action: 'lemcrm_delete_media',\r\n                                    media_id: file.mediaId,\r\n                                    _ajax_nonce: lemcrmPublic.nonce\r\n                                },\r\n                                success: function(response) {\r\n                                    if (!response.success) {\r\n                                        toastr.error('Failed to delete media record:', response.data.message);\r\n                                    }\r\n                                }\r\n                            });\r\n                        }\r\n                    });\r\n\r\n                    this.on('error', function(file, errorMessage) {\r\n                        this.removeFile(file);\r\n                        toastr.error(typeof errorMessage === 'string' ? errorMessage : 'Upload failed');\r\n                    });\r\n                }\r\n            };\r\n\r\n            \/\/ Initialize Dropzones\r\n            const thumbnailDropzone = new Dropzone('#lemcrm-dropzone-thumbnail', {\r\n                ...commonConfig,\r\n                acceptedFiles: '.jpg,.jpeg,.png,.gif,.webp,.svg,.JPEG,.PNG,.GIF,.WEBP,.SVG',\r\n                maxFiles: 1,\r\n                addRemoveLinks: true,\r\n                dictDefaultMessage: 'Drop thumbnail here or click to upload',\r\n                dictFileTooBig: 'File is too big ({{filesize}}MB). Max filesize: {{maxFilesize}}MB.',\r\n                dictInvalidFileType: 'You cannot upload files of this type. Allowed types: JPG, JPEG, PNG, GIF, WEBP, SVG',\r\n                success: function(file, response) {\r\n                    $('#thumbnail').val(response.data.id);\r\n                }\r\n            });\r\n\r\n            const videoDropzone = new Dropzone('#lemcrm-dropzone-video', {\r\n                ...commonConfig,\r\n                acceptedFiles: 'video\/mp4,video\/webm',\r\n                maxFiles: 1,\r\n                success: function(file, response) {\r\n                    $('#video').val(response.data.id);\r\n                }\r\n            });\r\n\r\n            const galleryDropzone = new Dropzone('#lemcrm-dropzone-gallery', {\r\n                ...commonConfig,\r\n                acceptedFiles: '.jpg,.jpeg,.png,.gif,.webp,.svg,.JPEG,.PNG,.GIF,.WEBP,.SVG',\r\n                maxFiles: 10,\r\n                addRemoveLinks: true,\r\n                dictDefaultMessage: 'Drop images here or click to upload',\r\n                dictFileTooBig: 'File is too big ({{filesize}}MB). Max filesize: {{maxFilesize}}MB.',\r\n                dictInvalidFileType: 'You cannot upload files of this type. Allowed types: JPG, JPEG, PNG, GIF, WEBP,SVG',\r\n                success: function(file, response) {\r\n                    let galleryIds = $('#gallery_ids').val() ? $('#gallery_ids').val().split(',') : [];\r\n                    galleryIds.push(response.data.id);\r\n                    $('#gallery_ids').val(galleryIds.join(','));\r\n                }\r\n            });\r\n\r\n            const documentDropzone = new Dropzone('#lemcrm-dropzone-document', {\r\n                ...commonConfig,\r\n                acceptedFiles: '.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.PDF,.DOC,.DOCX,.XLS,.XLSX,.PPT,.PPTX',\r\n                maxFiles: 1,\r\n                success: function(file, response) {\r\n                    $('#document').val(response.data.id);\r\n                }\r\n            });\r\n\r\n            \/\/ Handle content type changes\r\n            $('#content-type').on('change', function() {\r\n                $('.upload-zone').hide();\r\n                const contentType = $(this).val();\r\n                \r\n                switch(contentType) {\r\n                    case 'video':\r\n                        $('#video-upload').show();\r\n                        break;\r\n                    case 'gallery':\r\n                        $('#gallery-upload').show();\r\n                        break;\r\n                    case 'document':\r\n                        $('#document-upload').show();\r\n                        break;\r\n                }\r\n            });\r\n\r\n            jQuery('#lemcrm-submit-btn').on('click', function() {\r\n                jQuery.ajax({\r\n                    url: lemcrmPublic.ajaxurl,\r\n                    type: 'POST',\r\n                    data: jQuery('#lemcrm-content-form').serialize(),\r\n                    beforeSend: function() {\r\n                        jQuery('#lemcrm-submit-btn').prop('disabled', true);\r\n                        jQuery('#lemcrm-submit-btn').html('Saving...');\r\n                        Swal.fire({\r\n                            title: 'Saving...',\r\n                            text: 'Please wait while we save your content',\r\n                            icon: 'info',\r\n                            allowOutsideClick: false\r\n                        });\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            Swal.fire({\r\n                                title: 'Content saved successfully',\r\n                                text: response.data.message,\r\n                                icon: 'success',\r\n                                showConfirmButton: true,\r\n                            } ).then(function() {\r\n                                window.location.href = \"\/earn\";\r\n                            });\r\n\r\n                        } else {\r\n                            Swal.fire({\r\n                                title: 'An Error Occured',\r\n                                html: response.data.message || 'Failed to save content',\r\n                                icon: 'error'\r\n                            });\r\n                        }\r\n                    },\r\n                    complete: function() {\r\n                        jQuery('#lemcrm-submit-btn').prop('disabled', false);\r\n                        jQuery('#lemcrm-submit-btn').html('Submit Content');\r\n                    }\r\n                });\r\n            });\r\n        });\r\n        <\/script>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Earn from posting content Title Content Type Select TypeArticleVideoGalleryDocument Thumbnail Drop thumbnail here or click to upload (Only images allowed)&#8230; <span class=\"knsl-el-more\"><a href=\"https:\/\/www.lemaiyansuites.com\/create-content\/\" class=\"knsl-btn\">Read more<span class=\"screen-reader-text\">Read more&nbsp;Earn from content<\/span><\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-11475","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.lemaiyansuites.com\/api\/wp\/v2\/pages\/11475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lemaiyansuites.com\/api\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lemaiyansuites.com\/api\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lemaiyansuites.com\/api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lemaiyansuites.com\/api\/wp\/v2\/comments?post=11475"}],"version-history":[{"count":0,"href":"https:\/\/www.lemaiyansuites.com\/api\/wp\/v2\/pages\/11475\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lemaiyansuites.com\/api\/wp\/v2\/media?parent=11475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}