| 1 |
<?php |
| 2 |
/** |
| 3 |
* License Page Template |
| 4 |
* |
| 5 |
* Shows license information and activation form |
| 6 |
* |
| 7 |
* @package EasyInvoice |
| 8 |
* @since 1.0.0 |
| 9 |
*/ |
| 10 |
|
| 11 |
// Get current page |
| 12 |
$current_page = $_GET['page'] ?? ''; |
| 13 |
|
| 14 |
// Check if Pro plugin wants to override the content |
| 15 |
$pro_content = apply_filters('easy_invoice_license_page_content', ''); |
| 16 |
?> |
| 17 |
|
| 18 |
<div class="wrap easy-invoice-admin"> |
| 19 |
<div class="easy-invoice-content"> |
| 20 |
<?php if (!empty($pro_content)): ?> |
| 21 |
<!-- Pro plugin has provided content --> |
| 22 |
<?php echo $pro_content; ?> |
| 23 |
<?php else: ?> |
| 24 |
<!-- Free Version Message --> |
| 25 |
<div class="free-version-card"> |
| 26 |
<div class="card-header"> |
| 27 |
<h2><?php _e('You\'re Using the Free Version', 'easy-invoice'); ?></h2> |
| 28 |
<p><?php _e('No license activation required. You can continue using all free features.', 'easy-invoice'); ?></p> |
| 29 |
</div> |
| 30 |
|
| 31 |
<div class="card-content"> |
| 32 |
<!-- Premium Features List --> |
| 33 |
<div class="premium-features"> |
| 34 |
<h3><?php _e('Upgrade to Pro and Unlock These Premium Features:', 'easy-invoice'); ?></h3> |
| 35 |
<div class="features-grid"> |
| 36 |
<div class="feature-item"> |
| 37 |
<div class="feature-icon"> |
| 38 |
<svg class="w-6 h-6" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 39 |
<path d="M12 1V23" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 40 |
<path d="M17 5H9.5C8.57174 5 7.6815 5.36875 7.02513 6.02513C6.36875 6.6815 6 7.57174 6 8.5C6 9.42826 6.36875 10.3185 7.02513 10.9749C7.6815 11.6313 8.57174 12 9.5 12H14.5C15.4283 12 16.3185 12.3687 16.9749 13.0251C17.6313 13.6815 18 14.5717 18 15.5C18 16.4283 17.6313 17.3185 16.9749 17.9749C16.3185 18.6313 15.4283 19 14.5 19H6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 41 |
</svg> |
| 42 |
</div> |
| 43 |
<div class="feature-content"> |
| 44 |
<h4><?php _e('Recurring Invoices', 'easy-invoice'); ?></h4> |
| 45 |
<p><?php _e('Automatically generate and send recurring invoices on schedule.', 'easy-invoice'); ?></p> |
| 46 |
</div> |
| 47 |
</div> |
| 48 |
|
| 49 |
<div class="feature-item"> |
| 50 |
<div class="feature-icon"> |
| 51 |
<svg class="w-6 h-6" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 52 |
<path d="M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 53 |
<path d="M14 2V8H20" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 54 |
</svg> |
| 55 |
</div> |
| 56 |
<div class="feature-content"> |
| 57 |
<h4><?php _e('Advanced PDF Customization', 'easy-invoice'); ?></h4> |
| 58 |
<p><?php _e('Customize PDF templates with your branding, colors, and layout preferences.', 'easy-invoice'); ?></p> |
| 59 |
</div> |
| 60 |
</div> |
| 61 |
|
| 62 |
<div class="feature-item"> |
| 63 |
<div class="feature-icon"> |
| 64 |
<svg class="w-6 h-6" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 65 |
<path d="M17 21V19C17 17.9391 16.5786 16.9217 15.8284 16.1716C15.0783 15.4214 14.0609 15 13 15H5C3.93913 15 2.92172 15.4214 2.17157 16.1716C1.42143 16.9217 1 17.9391 1 19V21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 66 |
<circle cx="9" cy="7" r="4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 67 |
</svg> |
| 68 |
</div> |
| 69 |
<div class="feature-content"> |
| 70 |
<h4><?php _e('Multiple Payment Gateways', 'easy-invoice'); ?></h4> |
| 71 |
<p><?php _e('Accept payments via PayPal, Stripe, Square, Authorize.Net, and more.', 'easy-invoice'); ?></p> |
| 72 |
</div> |
| 73 |
</div> |
| 74 |
|
| 75 |
<div class="feature-item"> |
| 76 |
<div class="feature-icon"> |
| 77 |
<svg class="w-6 h-6" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 78 |
<rect x="3" y="4" width="18" height="18" rx="2" ry="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 79 |
<line x1="16" y1="2" x2="16" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 80 |
<line x1="8" y1="2" x2="8" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 81 |
<line x1="3" y1="10" x2="21" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 82 |
</svg> |
| 83 |
</div> |
| 84 |
<div class="feature-content"> |
| 85 |
<h4><?php _e('Partial Payments', 'easy-invoice'); ?></h4> |
| 86 |
<p><?php _e('Allow customers to pay invoices in installments with flexible payment options.', 'easy-invoice'); ?></p> |
| 87 |
</div> |
| 88 |
</div> |
| 89 |
|
| 90 |
<div class="feature-item"> |
| 91 |
<div class="feature-icon"> |
| 92 |
<svg class="w-6 h-6" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 93 |
<path d="M17 21V19C17 17.9391 16.5786 16.9217 15.8284 16.1716C15.0783 15.4214 14.0609 15 13 15H5C3.93913 15 2.92172 15.4214 2.17157 16.1716C1.42143 16.9217 1 17.9391 1 19V21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 94 |
<circle cx="9" cy="7" r="4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 95 |
<path d="M23 21V19C23 18.1137 22.6485 17.2628 22.0237 16.6425C21.3989 16.0221 20.5471 15.6722 19.66 15.6722C18.7729 15.6722 17.9211 16.0221 17.2963 16.6425C16.6715 17.2628 16.32 18.1137 16.32 19V21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 96 |
</svg> |
| 97 |
</div> |
| 98 |
<div class="feature-content"> |
| 99 |
<h4><?php _e('Client Portal', 'easy-invoice'); ?></h4> |
| 100 |
<p><?php _e('Give clients access to view invoices, make payments, and manage their account.', 'easy-invoice'); ?></p> |
| 101 |
</div> |
| 102 |
</div> |
| 103 |
|
| 104 |
<div class="feature-item"> |
| 105 |
<div class="feature-icon"> |
| 106 |
<svg class="w-6 h-6" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 107 |
<path d="M18 20V10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 108 |
<path d="M12 20V4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 109 |
<path d="M6 20V14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| 110 |
</svg> |
| 111 |
</div> |
| 112 |
<div class="feature-content"> |
| 113 |
<h4><?php _e('Advanced Reports', 'easy-invoice'); ?></h4> |
| 114 |
<p><?php _e('Detailed analytics, revenue reports, and business insights.', 'easy-invoice'); ?></p> |
| 115 |
</div> |
| 116 |
</div> |
| 117 |
</div> |
| 118 |
</div> |
| 119 |
|
| 120 |
<div class="upgrade-actions"> |
| 121 |
<a href="https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro" target="_blank" class="upgrade-button"> |
| 122 |
<?php _e('Upgrade to Pro', 'easy-invoice'); ?> |
| 123 |
</a> |
| 124 |
</div> |
| 125 |
</div> |
| 126 |
</div> |
| 127 |
<?php endif; ?> |
| 128 |
</div> |
| 129 |
</div> |
| 130 |
|
| 131 |
<style> |
| 132 |
/* License Page Styles */ |
| 133 |
.easy-invoice-admin { |
| 134 |
max-width: 1000px; |
| 135 |
margin: 0 auto; |
| 136 |
padding: 20px; |
| 137 |
} |
| 138 |
|
| 139 |
.easy-invoice-content { |
| 140 |
display: flex; |
| 141 |
flex-direction: column; |
| 142 |
gap: 30px; |
| 143 |
} |
| 144 |
|
| 145 |
/* Free Version Styles */ |
| 146 |
.free-version-card { |
| 147 |
background: #fff; |
| 148 |
border-radius: 12px; |
| 149 |
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); |
| 150 |
overflow: hidden; |
| 151 |
border: 1px solid #e5e7eb; |
| 152 |
} |
| 153 |
|
| 154 |
.free-version-card .card-header { |
| 155 |
background: linear-gradient(135deg, #10b981 0%, #059669 100%); |
| 156 |
color: #fff; |
| 157 |
padding: 40px 30px; |
| 158 |
text-align: center; |
| 159 |
} |
| 160 |
|
| 161 |
.free-version-card .card-header .header-icon { |
| 162 |
font-size: 48px; |
| 163 |
margin-bottom: 20px; |
| 164 |
opacity: 0.9; |
| 165 |
} |
| 166 |
|
| 167 |
.free-version-card .card-header h2 { |
| 168 |
margin: 0 0 15px 0; |
| 169 |
font-size: 28px; |
| 170 |
font-weight: 600; |
| 171 |
} |
| 172 |
|
| 173 |
.free-version-card .card-header p { |
| 174 |
margin: 0; |
| 175 |
font-size: 16px; |
| 176 |
opacity: 0.9; |
| 177 |
} |
| 178 |
|
| 179 |
.free-version-card .card-content { |
| 180 |
padding: 40px 30px; |
| 181 |
} |
| 182 |
|
| 183 |
/* Premium Features */ |
| 184 |
.premium-features { |
| 185 |
margin-bottom: 40px; |
| 186 |
} |
| 187 |
|
| 188 |
.premium-features h3 { |
| 189 |
margin: 0 0 30px 0; |
| 190 |
color: #1d2327; |
| 191 |
font-size: 22px; |
| 192 |
font-weight: 600; |
| 193 |
text-align: center; |
| 194 |
} |
| 195 |
|
| 196 |
.features-grid { |
| 197 |
display: grid; |
| 198 |
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); |
| 199 |
gap: 20px; |
| 200 |
} |
| 201 |
|
| 202 |
.feature-item { |
| 203 |
display: flex; |
| 204 |
align-items: flex-start; |
| 205 |
gap: 15px; |
| 206 |
padding: 20px; |
| 207 |
background: #f8f9fa; |
| 208 |
border-radius: 8px; |
| 209 |
border-left: 4px solid #8b5cf6; |
| 210 |
transition: all 0.2s ease; |
| 211 |
} |
| 212 |
|
| 213 |
.feature-item:hover { |
| 214 |
background: #f0f0ff; |
| 215 |
transform: translateY(-2px); |
| 216 |
box-shadow: 0 4px 12px rgba(139, 92, 246, 0.1); |
| 217 |
} |
| 218 |
|
| 219 |
.feature-icon { |
| 220 |
color: #8b5cf6; |
| 221 |
margin-top: 2px; |
| 222 |
} |
| 223 |
|
| 224 |
.feature-content h4 { |
| 225 |
margin: 0 0 8px 0; |
| 226 |
color: #1d2327; |
| 227 |
font-size: 16px; |
| 228 |
font-weight: 600; |
| 229 |
} |
| 230 |
|
| 231 |
.feature-content p { |
| 232 |
margin: 0; |
| 233 |
color: #646970; |
| 234 |
font-size: 14px; |
| 235 |
line-height: 1.5; |
| 236 |
} |
| 237 |
|
| 238 |
.upgrade-actions { |
| 239 |
text-align: center; |
| 240 |
padding: 30px 0; |
| 241 |
border-top: 1px solid #e5e7eb; |
| 242 |
} |
| 243 |
|
| 244 |
.upgrade-button { |
| 245 |
display: inline-block; |
| 246 |
padding: 12px 24px; |
| 247 |
background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%); |
| 248 |
color: #fff; |
| 249 |
text-decoration: none; |
| 250 |
border-radius: 8px; |
| 251 |
font-weight: 600; |
| 252 |
font-size: 16px; |
| 253 |
transition: all 0.3s ease; |
| 254 |
box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3); |
| 255 |
} |
| 256 |
|
| 257 |
.upgrade-button:hover { |
| 258 |
transform: translateY(-1px); |
| 259 |
box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4); |
| 260 |
color: #fff; |
| 261 |
} |
| 262 |
|
| 263 |
/* Responsive Design */ |
| 264 |
@media (max-width: 768px) { |
| 265 |
.features-grid { |
| 266 |
grid-template-columns: 1fr; |
| 267 |
} |
| 268 |
|
| 269 |
.upgrade-card .card-header, |
| 270 |
.free-version-card .card-header { |
| 271 |
padding: 30px 20px; |
| 272 |
} |
| 273 |
|
| 274 |
.upgrade-card .card-content, |
| 275 |
.free-version-card .card-content { |
| 276 |
padding: 30px 20px; |
| 277 |
} |
| 278 |
|
| 279 |
.upgrade-button { |
| 280 |
padding: 10px 20px; |
| 281 |
font-size: 14px; |
| 282 |
} |
| 283 |
} |
| 284 |
</style> |