PluginProbe
Code Engine – PHP Snippets, AI Functions & Automation for WordPress / 0.4.0
Code Engine – PHP Snippets, AI Functions & Automation for WordPress v0.4.0
0.5.7 0.5.6 0.5.5 0.5.4 0.5.3 0.5.2 0.5.1 0.5.0 0.4.9 0.4.8 0.4.7 0.4.6 trunk 0.0.1 0.0.2 0.2.8 0.2.9 0.3.0 0.3.1 0.3.2 0.3.3 0.3.4 0.3.5 0.3.6 0.3.7 All 33 releases
← All changes | classes/modules/snippet.php +28 -7 0.2.80.4.0 View file →
@@ -142,15 +142,15 @@
142 142 foreach ( $functions_snippet as $function_snippet ) {
143 143 if ( $function_snippet['snippetId'] == $snippetId ) {
144 144
145 145 $snippet['functionName'] = $function_snippet['name'];
146 - if ( !isset( $snippet['functionBehavior'] ) || empty( $snippet['functionBehavior'] ) ) {
146 + if ( !isset( $function_snippet['behavior'] ) || empty( $function_snippet['behavior'] ) ) {
147 147 $snippet['functionBehavior'] = 'dynamic';
148 148 }
149 149 else {
150 150 $snippet['functionBehavior'] = $function_snippet['behavior'];
151 151 }
152 - if ( !isset( $snippet['functionTarget'] ) || empty( $snippet['functionTarget'] ) ) {
152 + if ( !isset( $function_snippet['target'] ) || empty( $function_snippet['target'] ) ) {
153 153 $snippet['functionTarget'] = 'PHP';
154 154 }
155 155 else {
156 156 $snippet['functionTarget'] = $function_snippet['target'];
@@ -223,9 +223,9 @@
223 223 if ( !empty( $argName ) ) {
224 224 $argData = $params['functionArgsDict'][$argName];
225 225 $snippet['args'][] = [
226 226 'name' => $argName,
227 - 'desc' => $argData['desc'],
227 + 'desc' => $argData['description'] ?? $argData['desc'] ?? '', // Support both 'description' and 'desc'
228 228 'default' => $argData['default'],
229 229 'required' => empty( $argData['default'] ),
230 230 'type' => $argData['type'],
231 231 ];
@@ -332,8 +332,29 @@
332 332 }
333 333 return null;
334 334 }
335 335
336 + public function get_function_by_name( $name, $options = [] )
337 + {
338 + $functions = $this->get_functions( );
339 +
340 + foreach ( $functions as $function ) {
341 + if ( $function['name'] == $name ) {
342 +
343 + if ( array_key_exists( 'php_ready_args', $options ) && $options['php_ready_args'] === false ) {
344 + $function['args'] = array_map( function ( $arg ) {
345 + $arg['name'] = ltrim( $arg['name'], '$' );
346 + return $arg;
347 + }, $function['args'] );
348 + }
349 +
350 + return $function;
351 + }
352 + }
353 +
354 + return null;
355 + }
356 +
336 357 #endregion
337 358
338 359 #region Utilities
339 360
@@ -346,9 +367,9 @@
346 367 * @throws Exception
347 368 */
348 369 public function validate( $params )
349 370 {
350 - $valide_scopes = ['backend', 'frontend', 'function', 'persistent', 'scheduled'];
371 + $valide_scopes = ['backend', 'frontend', 'function', 'persistent', 'scheduled', 'content_php', 'content_js'];
351 372 $errors = [];
352 373 if ( isset( $params['endpoint'] ) && !empty( $params['endpoint'] ) ) {
353 374 $query = $this->wpdb->prepare(
354 375 "SELECT * FROM $this->table_name where endpoint = %s",
@@ -528,9 +549,9 @@
528 549 */
529 550 private function formatParamsForFront( $params )
530 551 {
531 552 // Separate the scope tags from the tags
532 - $scopes = ['backend', 'frontend', 'function', 'persistent', 'scheduled'];
553 + $scopes = ['backend', 'frontend', 'function', 'persistent', 'scheduled', 'content_php', 'content_js'];
533 554
534 555 if ( isset( $params['tags'] ) && !empty( $params['tags'] ) ) {
535 556
536 557 $tags = array_map( function ( $tag ) use ( $scopes ) {
@@ -547,9 +568,9 @@
547 568 }
548 569
549 570 public function stats()
550 571 {
551 - $scopes = ['function', 'scheduled', 'global'];
572 + $scopes = ['function', 'scheduled', 'global', 'content_php', 'content_js'];
552 573 $globalScopes = ['backend', 'frontend', 'persistent'];
553 574
554 575 $stats = [
555 576 'all' => 0,
@@ -666,9 +687,9 @@
666 687 $scopes = array_map( function( $scope ) {
667 688 return esc_sql( $scope );
668 689 }, $filter['value'] );
669 690 $where[] = "scope IN ('" . implode( "', '", $scopes ) . "')";
670 - } else {
691 + } else if ( !empty( $filter['value'] ) ) {
671 692 $value = esc_sql( $filter['value'] );
672 693 $where[] = $this->wpdb->prepare( "scope = %s", $value );
673 694 }
674 695 }