-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgraph-widget.php
More file actions
117 lines (104 loc) · 3.22 KB
/
graph-widget.php
File metadata and controls
117 lines (104 loc) · 3.22 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
/**
* Plugin Name: Graph Widget
* Plugin URI: https://github.com/hasinur1997/
* Description: A simple plugin for dashboard widget
* Version: 1.0
* Requires at least: 5.2
* Requires PHP: 7.2
* Author: Hasinur Rahman
* Author URI: https://github.com/hasinur1997/
* License: GPL v2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Update URI: https://github.com/hasinur1997/
* Text Domain: graph-widget
* Domain Path: /languages
*
* @package Hasinur\GraphWidget
*/
/*
* Copyright (c) 2022 Hasinur Rahman (email: hasinurrahman3@gmail.com). All rights reserved.
*
* Released under the GPL license
* http://www.opensource.org/licenses/gpl-license.php
*
* This is an add-on for WordPress
* http://wordpress.org/
*
* **********************************************************************
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* **********************************************************************
*/
defined( 'ABSPATH' ) || exit;
require __DIR__ . '/vendor/autoload.php';
/**
* DashboardWidget class
*/
final class GraphWidget {
/**
* Plugin version
*
* @var string
*/
private $version = '1.0.0';
/**
* DashboardWidget Constructor
*/
public function __construct() {
// Define constant.
$this->define_constants();
// Setup plugin.
new \Hasinur\GraphWidget\Setup();
}
/**
* Define plugin constants
*
* @return void
*/
public function define_constants() {
define( 'GRAPH_WIDGET_VERSION', $this->version );
define( 'GRAPH_WIDGET_FILE', __FILE__ );
define( 'GRAPH_WIDGET_URL', plugins_url( '', GRAPH_WIDGET_FILE ) );
define( 'GRAPH_WIDGET_ASSET', GRAPH_WIDGET_URL . '/assets' );
define( 'GRAPH_WIDGET_TEXT_DOMAIN_DIR', dirname( plugin_basename( __FILE__ ) ) . '/languages' );
define( 'GRAPH_WIDGET_TEXT_INCLUDES', plugins_url( 'includes', GRAPH_WIDGET_FILE ) );
}
/**
* Initializes the GraphWidget class
*
* Checks for an existing GraphWidget instance
*
* and if it doesn't find one, creates it.
*
* @return GraphWidget
*/
public static function instance() {
static $instance = false;
if ( ! $instance ) {
$instance = new self();
}
return $instance;
}
}
/**
* Return the instance
*
* @return GraphWidget
*/
function graph_widget() {
return GraphWidget::instance();
}
// Kick off the plugin.
graph_widget();