-
Notifications
You must be signed in to change notification settings - Fork 0
/
focal-point-picker.php
71 lines (58 loc) · 1.78 KB
/
focal-point-picker.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/**
* Plugin Name: focal-point-picker
* Description: Set a custom focal point for your images, directly in the WP media grid
* Version: 1.3.1
* Author: Rasso Hilber
* Author URI: https://rassohilber.com/
* Tested up to: 6.7
* Requires PHP: 8.2
* License: GPL-3.0-or-later
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* GitHub Plugin URI: hirasso/focal-point-picker
*/
use Hirasso\FocalPointPicker\FocalPointPicker;
use Hirasso\FocalPointPicker\FocalPoint;
if (!defined('ABSPATH')) {
exit;
} // Exit if accessed directly
define('WPFP_PLUGIN_URI', untrailingslashit(plugin_dir_url(__FILE__)));
define('WPFP_PLUGIN_DIR', untrailingslashit(__DIR__));
/**
* Get all files in a directory, recoursively
*/
function fcpGetAllFiles(
string $directory,
?string $extension = null
): array {
$results = [];
// Loop through the items, recoursively
foreach (glob(untrailingslashit($directory) . '/*') as $dirOrFile) {
if (is_dir($dirOrFile)) {
$results = array_merge($results, fcpGetAllFiles($dirOrFile, $extension));
} elseif (!$extension || pathinfo($dirOrFile, PATHINFO_EXTENSION) === $extension) {
$results[] = $dirOrFile;
}
}
return $results;
}
/**
* Require all files in ./src
* Using this instead of composer so that the plugin can also be installed without composer
*/
foreach (fcpGetAllFiles(__DIR__ . '/src') as $file) {
require_once $file;
}
// if (is_readable(__DIR__ . '/vendor/autoload.php')) {
// require_once __DIR__ . '/vendor/autoload.php';
// }
FocalPointPicker::init();
/**
* Helper function to retrieve a focal point for an image
*/
if (!function_exists('fcp_get_focalpoint')) {
function fcp_get_focalpoint(WP_Post|int $post)
{
return new FocalPoint($post);
}
}