PluginProbe ʕ •ᴥ•ʔ
Kubio AI Page Builder / 2.8.3
Kubio AI Page Builder v2.8.3
2.8.4 2.8.3 2.8.2 2.8.1 trunk 1.0.0 1.0.1 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.9.0 2.0.0 2.1.1 2.1.2 2.1.3 2.2.0 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.4.3 2.4.5 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.6.1 2.6.2 2.6.3 2.6.5 2.6.6 2.6.7 2.7.0 2.7.1 2.7.2 2.7.3 2.8.0
kubio / lib / AI / SDApi / KubioImageSearch.php
kubio / lib / AI / SDApi Last commit date
KubioCloudSDApi.php 1 year ago KubioImageGenerate.php 1 year ago KubioImageManager.php 1 year ago KubioImagePrompts.php 2 years ago KubioImageSearch.php 1 year ago sd-endpoints.php 1 year ago
KubioImageSearch.php
75 lines
1 <?php
2 namespace Kubio\Ai;
3 use IlluminateAgnostic\Arr\Support\Arr;
4 use Kubio\Core\Importer;
5
6 class KubioImageSearch {
7 public function search( $request, $settings = array() ) {
8 $dimensions = $this->get_image_dimensions( $request );
9 $api_url = 'v1/search-media';
10 $ai_prompt = Arr::get( $request, 'aiPrompt', '' );
11 $search = Arr::get( $request, 'search', '' );
12
13 if ( $ai_prompt === '' ) {
14 $api_url = 'v1/prompt-search-media';
15 } else {
16 $search = $ai_prompt;
17 }
18
19 $response = kubio_ai_call_api(
20 $api_url,
21 array_merge(
22 $dimensions,
23 array(
24 'type' => 'image',
25 'prompt' => $search,
26 'search' => $search,
27 'per_page' => Arr::get( $request, 'perPage', 10 ),
28 'page' => Arr::get( $request, 'page', 1 ),
29 'size' => Arr::get( $request, 'imageSize', 'medium' ),
30 'orientation' => Arr::get( $request, 'imageOrientation', 'portrait' ),
31 'media_attrs' => array(
32 'src.medium',
33 ),
34 )
35 )
36 );
37
38 return $response;
39 }
40
41 public function save( $request ) {
42 $image = Arr::get( $request, 'selectedImage', 10 );
43 $file = Importer::importRemoteFile( $image );
44
45 return array( 'content' => $file );
46 }
47
48 public function get_image_dimensions( $request ) {
49 $dimensions = array();
50
51 if ( Arr::get( $request, 'initialImage', '' ) ) {
52 // original
53 $dimensions = kubio_ai_get_original_image_dimensions( Arr::get( $request, 'initialImage', '' ) );
54 } else {
55 $width = Arr::get( $request, 'width', null );
56 $height = Arr::get( $request, 'height', null );
57
58 if ( $width ) {
59 $dimensions['width'] = $width;
60 }
61
62 if ( $height ) {
63 $dimensions['height'] = $height;
64 }
65 }
66
67 $orientation = Arr::get( $request, 'orientation', null );
68 if ( $orientation ) {
69 $dimensions['orientation'] = $orientation;
70 }
71
72 return $dimensions;
73 }
74 }
75