PluginProbe
Page Builder: Pagelayer – Drag and Drop website builder / 2.2.1
Page Builder: Pagelayer – Drag and Drop website builder v2.2.1
2.2.1 2.2.0 2.1.9 2.1.8 2.1.7 2.1.6 2.1.5 2.1.4 2.1.3 trunk 0.9.0 0.9.1 0.9.2 0.9.3 0.9.4 0.9.5 0.9.6 0.9.7 0.9.8 0.9.9 1.0.0 1.0.2 1.0.3 1.0.4 1.0.5 All 129 releases
← All changes | main/ajax.php +82 -0 2.1.92.2.1 View file →
@@ -583,8 +583,90 @@
583 583 pagelayer_json_output($ret);
584 584
585 585 }
586 586
587 +// Build with AI — wrappers; generation/settings logic lives in Pagelayer_AI_Controller
588 +add_action('wp_ajax_pagelayer_ai_generate', 'pagelayer_ai_generate');
589 +function pagelayer_ai_generate(){
590 +
591 + check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce');
592 +
593 + $done = [];
594 +
595 + if(!current_user_can('edit_posts')){
596 + $done['error'][] = __pl('no_permission');
597 + pagelayer_json_output($done);
598 + }
599 +
600 + $ctrl = Pagelayer_AI_Controller::get_instance();
601 + $res = $ctrl->process_generate();
602 +
603 + if(is_wp_error($res)){
604 + $done['error'] = $res->get_error_message();
605 + pagelayer_json_output($done);
606 + }
607 +
608 + $done = is_array($res) ? $res : [];
609 + if(!isset($done['success'])){
610 + $done['success'] = true;
611 + }
612 + pagelayer_json_output($done);
613 +}
614 +
615 +add_action('wp_ajax_pagelayer_ai_settings', 'pagelayer_ai_settings');
616 +function pagelayer_ai_settings(){
617 +
618 + check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce');
619 +
620 + $done = [];
621 +
622 + if(!current_user_can('edit_posts')){
623 + $done['error'][] = __pl('no_permission');
624 + pagelayer_json_output($done);
625 + }
626 +
627 + $ctrl = Pagelayer_AI_Controller::get_instance();
628 + $res = $ctrl->process_get_settings();
629 +
630 + if(is_wp_error($res)){
631 + $done['error'] = $res->get_error_message();
632 + pagelayer_json_output($done);
633 + }
634 +
635 + $done = is_array($res) ? $res : [];
636 + if(!isset($done['success'])){
637 + $done['success'] = true;
638 + }
639 + pagelayer_json_output($done);
640 +}
641 +
642 +add_action('wp_ajax_pagelayer_ai_save_settings', 'pagelayer_ai_save_settings');
643 +function pagelayer_ai_save_settings(){
644 +
645 + check_ajax_referer('pagelayer_ajax', 'pagelayer_nonce');
646 +
647 + $done = [];
648 +
649 + if(!current_user_can('edit_posts')){
650 + $done['error'][] = __pl('no_permission');
651 + pagelayer_json_output($done);
652 + }
653 +
654 + $ctrl = Pagelayer_AI_Controller::get_instance();
655 + $res = $ctrl->process_save_settings();
656 +
657 + if(is_wp_error($res)){
658 + $done['error'] = $res->get_error_message();
659 + pagelayer_json_output($done);
660 + }
661 +
662 + $done = is_array($res) ? $res : [];
663 + if(!isset($done['success'])){
664 + $done['success'] = true;
665 + }
666 + pagelayer_json_output($done);
667 +}
668 +
587 669 // Update Post content
588 670 add_action('wp_ajax_pagelayer_save_content', 'pagelayer_save_content');
589 671 function pagelayer_save_content(){
590 672