Changeset 2981988
- Timestamp:
- 10/21/2023 10:59:44 AM (2 years ago)
- Location:
- ctrify
- Files:
-
- 28 added
- 2 edited
-
tags/2.0.3/js/ctrify-script.js (modified) (3 diffs)
-
tags/2.0.4 (added)
-
tags/2.0.4/css (added)
-
tags/2.0.4/css/ctrify-style.css (added)
-
tags/2.0.4/css/index.php (added)
-
tags/2.0.4/css/sweetalert2.min.css (added)
-
tags/2.0.4/ctrify.php (added)
-
tags/2.0.4/img (added)
-
tags/2.0.4/img/alberto.png (added)
-
tags/2.0.4/img/alejandra.png (added)
-
tags/2.0.4/img/ctrify_icon16.png (added)
-
tags/2.0.4/img/ctrify_icon19.png (added)
-
tags/2.0.4/img/ctrify_icon21.png (added)
-
tags/2.0.4/img/ctrify_icon24.png (added)
-
tags/2.0.4/img/ctrify_icon32.png (added)
-
tags/2.0.4/img/ctrify_icon84.png (added)
-
tags/2.0.4/img/icon.png (added)
-
tags/2.0.4/img/icon19.png (added)
-
tags/2.0.4/img/iconw17.png (added)
-
tags/2.0.4/img/index.php (added)
-
tags/2.0.4/img/loading-icon.png (added)
-
tags/2.0.4/img/nathalie.png (added)
-
tags/2.0.4/index.php (added)
-
tags/2.0.4/js (added)
-
tags/2.0.4/js/ctrify-script.js (added)
-
tags/2.0.4/js/index.php (added)
-
tags/2.0.4/js/sweetalert2.min.js (added)
-
tags/2.0.4/license.txt (added)
-
tags/2.0.4/readme.txt (added)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ctrify/tags/2.0.3/js/ctrify-script.js
r2981902 r2981988 40 40 v(b(this).val()))});1==b("#ctrify_featured_images").prop("checked")?(b("#ctrify_cloudinary_options").html(z()),b("#cloudimage").attr("src",v(ctrify.cloudinaryeffect))):b("#ctrify_cloudinary_options").html("");b(document.body).on("change","#ctrify_featured_images",function(a){"no"==ctrify.cloudinaryON?(b(".ctrify_cloud_key").addClass("error"),swal({heightAuto:!1,type:"error",title:"You need to add your Cloudinary API params first."}),b("html, body").animate({scrollTop:b("#ctrify_cloudinary_key").offset().top- 41 41 170},2E3),b("#ctrify_featured_images").prop("checked",!1)):1==b("#ctrify_featured_images").prop("checked")?b("#ctrify_cloudinary_options").html(z()):b("#ctrify_cloudinary_options").html("")});b(document.body).on("click","#ctrify_newclustercampaign",function(a){a.preventDefault();w();if(b(this).hasClass("ctrify_buycredits"))return u(),!1;if(b(this).hasClass("ctrify_limited"))return swal({heightAuto:!1,type:"warning",title:ctrify.limited}),!1;var c=!1,g=!1,e="off",k=!1,m=!1,l=!1;a=["1"];var p=!1,n= 42 [{title:"Content Regionalization and language",html:"<br>You will be able to translate this content to any language at the moment of creating the post if you have the <strong>DeepL API option active</strong>. Different countries and languages may output different localized texts.",input:"select",inputPlaceholder:"Select a Language and Country",inputOptions:{en_US:"English",es_ES:"Spanish"},inputValidator:function(d,f){return new Promise(function(h){if(""!=d){var q=d.split("_");k=q[0];p="es"==q[0]?43 "Spanish":"English";h()}else h("You need to select one language")})}}];n.push({title:"Main Title Keyword",html:'<div style="text-align:justify;"><br>Write the main title, question or long tail keyword. Our AI will learn all about it and will generate related content.<br><br> On the next step you will provide a set of subtitles or cluster keywords. It will generate a full post including all of them </div><br><br><label><strong>Main Title Keyword</strong></label>',inputValidator:function(d){return!d&& 44 "You need to provide one main keyword in "+p}});a.push(a.length+1);n.push({title:"Cluster keywords",input:"textarea",html:'<div style="text-align:justify;">Please add one by line and up to 6 maxium. Write subtitles, related questions, or clustered long-tail keywords. The AI will generate content for them and will be included in the final post following the same order.</div>',inputValidator:function(d){return new Promise(function(f){var h=d.split(/\r?\n/);0<h.length&&7>h.length&&""!=h[0]?f():""==h[0]? 45 f("You need to provide at least one subtitle, question or cluster long-tail keyword"):f("Youcan write a maxium of 6 lines with subtitles, questions or cluster long-tail keywords")})}});a.push(a.length+1);n.push({title:"Negative keywords",input:"textarea",html:'<div style="text-align:justify;">Some keywords may have more than one meaning and you may want to discard posts creation for not desired meanings. Ej "Will Smith" can be the actor or well the baseball pitcher. So if you like that posts to be related to the baseball player you would like to add as negative keywords "movies, Netflix" etc<br><br> Add them here if you like, <b>one keyword by line</b>, and post that include those keywords won\u00b4t be included in your campaign. <br><br>You can leave it blank now and add them later if you found some not desired keywords on your campaign. But adding them now may save you some credits.</div>',42 [{title:"Content Regionalization and language",html:"<br>You will be able to translate this content to any language at the moment of creating the post if you have the <strong>DeepL API option active</strong>. Different countries and languages may output different localized texts.",input:"select",inputPlaceholder:"Select a Language",inputOptions:{en_US:"English",es_ES:"Spanish"},inputValidator:function(d,f){return new Promise(function(h){if(""!=d){var q=d.split("_");k=q[0];p="es"==q[0]?"Spanish":"English"; 43 h()}else h("You need to select one language")})}}];n.push({title:"Main Title Keyword",html:'<div style="text-align:justify;"><br>Write the main title, question or long tail keyword. Our AI will learn all about it and will generate related content.<br><br> On the next step you will provide a set of subtitles or cluster keywords. It will generate a full post including all of them </div><br><br><label><strong>Main Title Keyword</strong></label>',inputValidator:function(d){return!d&&"You need to provide one main keyword in "+ 44 p}});a.push(a.length+1);n.push({title:"Cluster keywords",input:"textarea",html:'<div style="text-align:justify;">Please add one by line and up to 6 maxium. Write subtitles, related questions, or clustered long-tail keywords. The AI will generate content for them and will be included in the final post following the same order.</div>',inputValidator:function(d){return new Promise(function(f){var h=d.split(/\r?\n/);0<h.length&&7>h.length&&""!=h[0]?f():""==h[0]?f("You need to provide at least one subtitle, question or cluster long-tail keyword"): 45 f("You can write a maxium of 6 lines with subtitles, questions or cluster long-tail keywords")})}});a.push(a.length+1);n.push({title:"Negative keywords",input:"textarea",html:'<div style="text-align:justify;">Some keywords may have more than one meaning and you may want to discard posts creation for not desired meanings. Ej "Will Smith" can be the actor or well the baseball pitcher. So if you like that posts to be related to the baseball player you would like to add as negative keywords "movies, Netflix" etc<br><br> Add them here if you like, <b>one keyword by line</b>, and post that include those keywords won\u00b4t be included in your campaign. <br><br>You can leave it blank now and add them later if you found some not desired keywords on your campaign. But adding them now may save you some credits.</div>', 46 46 inputValidator:function(d){}});a.push(a.length+1);"yes"==ctrify.isPost&&(n.push({title:"Select the Category",html:"<br>Select a the category where new posts will be asigned.",input:"select",inputPlaceholder:"Select a Category",inputOptions:ctrify.categories,inputValidator:function(d,f){return new Promise(function(h){""!=d?(m=d,l=f,h()):h("You need to select one category, or uncategorized")})}}),a.push(a.length+1));"yes"==ctrify.openaiON&&(n.push({title:"Use OpenAI Language models for improved content generation?", 47 47 html:"<br>Just Select if you want to use it or not for this campaign. We take care of selecting the best language models.",input:"select",inputPlaceholder:"Use OpenAI to generate the content?",inputOptions:{on:"Yes use OpenAI",off:"No, don\u00b4t use OpenAI"},inputValidator:function(d,f){return new Promise(function(h){""!=d?(e=d,h()):h("You need to select one option")})}}),a.push(a.length+1));"yes"==ctrify.deeplON?n.push({title:"Translate with DeepL?",html:"<br>Select a language to translate the final post to, or click next without select a language to create the post on the localized language selected on the previous step.", … … 50 50 d.value[1]+" </strong> "+(""!=d.value[1]?"<br><br><b>And aditional texts for the following keywords:</b><br><ul>":"")+" "+(""!=d.value[2]?d.value[2].split("\n").map(function(f){return"<li>"+f+"</li>"}).join(""):"")+"</ul><br>\n ",confirmButtonText:"Create Campaign!",confirmButtonColor:"#6eb78a",showCancelButton:!0,cancelButtonColor:"rgb(230, 141, 83)",reverseButtons:!0}).then(function(f){f.value&&(f={type:"cluster",country:c[0],keyword:c[1],clusters:""!=c[2]?c[2].split(/\r?\n/):"",negatives:""!= 51 51 c[3]?c[3].split(/\r?\n/):"",limit:c[4],is:ctrify.is,translateTo:g,useOpenAI:e,catID:m,catName:l},r("createCampaign",btoa(unescape(encodeURIComponent(JSON.stringify(f)))),!0,"ctrify_processnewCampaign"))}))})});b(document.body).on("click","#ctrify_newgeneralcampaign",function(a){a.preventDefault();w();if(b(this).hasClass("ctrify_buycredits"))return u(),!1;if(b(this).hasClass("ctrify_limited"))return swal({heightAuto:!1,type:"warning",title:ctrify.limited}),!1;var c=!1,g=!1,e="off",k=!1,m=!1,l=!1,p= 52 !1;a=["1"];var n=[{title:"Content Regionalization and language",html:"<br>You will be able to translate this content to any language at the moment of creating the post if you have the <strong>DeepL API option active</strong>. Different countries and languages may output different localized texts.",input:"select",inputPlaceholder:"Select a Language and Country",inputOptions:{en_US:"English",es_ES:"Spanish"},inputValidator:function(d,f){return new Promise(function(h){""!=d?(p=d.split("_")[0],h()):h("You need to select one language")})}}];52 !1;a=["1"];var n=[{title:"Content Regionalization and language",html:"<br>You will be able to translate this content to any language at the moment of creating the post if you have the <strong>DeepL API option active</strong>. Different countries and languages may output different localized texts.",input:"select",inputPlaceholder:"Select a Language",inputOptions:{en_US:"English",es_ES:"Spanish"},inputValidator:function(d,f){return new Promise(function(h){""!=d?(p=d.split("_")[0],h()):h("You need to select one language")})}}]; 53 53 n.push({title:"Posts keywords",input:"textarea",html:'<div style="text-align:justify;">Write one keyword or question per line. Our AI will generate a new post based on each given keyword, or will answer each question.</div>',inputValidator:function(d){return new Promise(function(f){var h=d.split(/\r?\n/);0<h.length&&""!=h[0]?f():f("You need to provide at least one keyword or question")})}});a.push(a.length+1);n.push({title:"Negative keywords",input:"textarea",html:'<div style="text-align:justify;">Some keywords may have more than one meaning and you may want to discard posts creation for not desired meanings. Ej "Will Smith" can be the actor or well the baseball pitcher. So if you like that posts to be related to the baseball player you would like to add as negative keywords "movies, Netflix" etc<br><br> Add them here if you like, <b>one keyword by line</b>, and post that include those keywords won\u00b4t be included in your campaign. <br><br>You can leave it blank now and add them later if you found some not desired keywords on your campaign. But adding them now may save you some credits.</div>', 54 54 inputValidator:function(d){}});a.push(a.length+1);n.push({title:"Words limit",input:"number",inputValue:250,html:"This is an approximate maximum value. Posts lengths may vary from keyword to keyword based on the subject and information available. We can\u00b4t control the m\u00ednimum, but you can control the approximate maximum number of words per post. Article length can be a bit less or a bit more depending on the subject and the end of paragraphs to avoid cuts.",inputValidator:function(d){if(250> … … 59 59 (""!=d.value[1]?d.value[1].split("\n").map(function(f){return"<li>"+f+"</li>"}).join(""):"")+"</ul><br> You understand that "+ctrify.credits_per_word+" credits per word will be expended for each generated post<br>.\n ",confirmButtonText:"Create Campaign!",confirmButtonColor:"#6eb78a",showCancelButton:!0,cancelButtonColor:"rgb(230, 141, 83)",reverseButtons:!0}).then(function(f){f.value&&(t(ctrify.saving),f={type:"keyword",country:c[0],keywords:""!=c[1]?c[1].split(/\r?\n/):"",negatives:""!= 60 60 c[2]?c[2].split(/\r?\n/):"",translateTo:g,useOpenAI:e,wordslimit:l,is:ctrify.is,catID:k,catName:m},r("createCampaign",btoa(unescape(encodeURIComponent(JSON.stringify(f)))),!0,"ctrify_processnewCampaign"))}))})});b(document.body).on("click","#ctrify_newcampaign",function(a){a.preventDefault();w();if(b(this).hasClass("ctrify_buycredits"))return u(),!1;if(b(this).hasClass("ctrify_limited"))return swal({heightAuto:!1,type:"warning",title:ctrify.limited}),!1;var c=!1,g=!1,e="off",k=!1,m=!1,l=!1;a=["1"]; 61 var p=!1,n=!1,d=[{title:"Content Regionalization and language",html:"<br>You will be able to translate this content to any language at the moment of creating the post if you have the <strong>DeepL API option active</strong>. Different countries and languages may output different localized texts.",input:"select",inputPlaceholder:"Select a Language and Country",inputOptions:{en_US:"English",es_ES:"Spanish"},inputValidator:function(f,h){return new Promise(function(q){if(""!=f){var A=f.split("_");n=A[0];62 p="es"==A[0]?"Spanish":"English";q()}else q("You need to select one language")})}}];d.push({title:"Write the main keyword",html:'<div style="text-align:justify;"><br>Our AI will learn all about the given keyword and will generate all possible questions people ask around it, and their respective answers.<br><br> You can generate a post with the question and answer automatically if "Auto Answer Questions" is ON, or well select later on the campaigns menu what questions you like to be answered and converted into a post.</div><br><br><label><strong>Main Keyword</strong></label>',61 var p=!1,n=!1,d=[{title:"Content Regionalization and language",html:"<br>You will be able to translate this content to any language at the moment of creating the post if you have the <strong>DeepL API option active</strong>. Different countries and languages may output different localized texts.",input:"select",inputPlaceholder:"Select a Language",inputOptions:{en_US:"English",es_ES:"Spanish"},inputValidator:function(f,h){return new Promise(function(q){if(""!=f){var A=f.split("_");n=A[0];p="es"== 62 A[0]?"Spanish":"English";q()}else q("You need to select one language")})}}];d.push({title:"Write the main keyword",html:'<div style="text-align:justify;"><br>Our AI will learn all about the given keyword and will generate all possible questions people ask around it, and their respective answers.<br><br> You can generate a post with the question and answer automatically if "Auto Answer Questions" is ON, or well select later on the campaigns menu what questions you like to be answered and converted into a post.</div><br><br><label><strong>Main Keyword</strong></label>', 63 63 inputValidator:function(f){return!f&&"You need to provide one keyword in "+p}});a.push(a.length+1);d.push({title:"Negative keywords",input:"textarea",html:'<div style="text-align:justify;">Some questions may include not desired keywords. Add them here if you like, <b>one keyword by line</b>, and questions that include those keywords won\u00b4t be included in your campaign. <br><br>You can leave it blank now and add them later if you found some not desired keywords on your campaign questions. But adding them now may save you some credits.</div>', 64 64 inputValidator:function(f){}});a.push(a.length+1);d.push({title:"Questions process limit",input:"number",inputValue:ctrify.min_questions,html:"How many questions do you like to gather to start? You will be able to increase that limit later.",inputValidator:function(f){if(f<ctrify.min_questions)return"The minimun quantity are "+ctrify.min_questions+" questions."}});a.push(a.length+1);"yes"==ctrify.isPost&&(d.push({title:"Select the Category",html:"<br>Select a the category where new posts will be asigned.", -
ctrify/trunk/readme.txt
r2981902 r2981988 6 6 Tested up to: 6.3 7 7 Requires PHP: 5.2 8 Stable Tag: 2.0. 38 Stable Tag: 2.0.4 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 202 202 - 2023/10/20 203 203 - Minor bug fix. 204 205 = v2.0.4 = 206 - 2023/10/21 207 - Minor bug fix.
Note: See TracChangeset
for help on using the changeset viewer.