PluginProbe
Assistant – Every Day Productivity Apps / 1.0
Assistant – Every Day Productivity Apps v1.0
1.5.5 trunk 0.1.0 0.2.0 0.2.1 0.2.2 0.3.0 0.3.1 0.4 0.4.1 0.4.2 0.5.0 0.5.1 0.6.0 0.7.0 0.7.0.2 0.7.0.3 0.7.0.4 0.7.0.5 0.7.0.6 0.7.0.7 0.7.0.8 0.7.0.9 0.7.1 1.0 All 71 releases
assistant / backend / src / Clients / Cloud / CloudLibraries.php

CloudLibraries.php in Assistant – Every Day Productivity Apps 1.0, at backend/src/Clients/Cloud/CloudLibraries.php

67 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FL\Assistant\Clients\Cloud;
4
5 class CloudLibraries {
6
7 /**
8 * @var CloudClient
9 */
10 protected $client;
11
12 /**
13 * @param CloudClient $client
14 * @return void
15 */
16 public function __construct( CloudClient $client ) {
17 $this->client = $client;
18 }
19
20 /**
21 * @return object
22 */
23 public function create_item( $library_id, $data ) {
24 $data = $this->normalize_media( $data );
25 return $this->client->post( "/libraries/$library_id/library-items", $data );
26 }
27
28 /**
29 * @return object
30 */
31 public function update_item( $item_id, $data ) {
32 $data = $this->normalize_media( $data );
33 $data['_method'] = 'PUT';
34 return $this->client->post( "/library-items/$item_id", $data );
35 }
36
37 /**
38 * @return object
39 */
40 public function get_item( $item_id ) {
41 return $this->client->get( "/library-items/$item_id" );
42 }
43
44 /**
45 * @return array
46 */
47 protected function normalize_media( $data ) {
48 if ( isset( $data['media'] ) ) {
49 foreach ( $data['media'] as $key => $media ) {
50 if ( ! $media ) {
51 continue;
52 } elseif ( is_array( $media ) ) {
53 foreach ( $media as $i => $path ) {
54 if ( $path && file_exists( $path ) ) {
55 $data[ "media[$key][$i]" ] = curl_file_create( $path );
56 }
57 }
58 } elseif ( file_exists( $media ) ) {
59 $data[ "media[$key]" ] = curl_file_create( $media );
60 }
61 }
62 unset( $data['media'] );
63 }
64 return $data;
65 }
66 }
67