本文整理汇总了PHP中Services::get_services方法的典型用法代码示例。如果您正苦于以下问题:PHP Services::get_services方法的具体用法?PHP Services::get_services怎么用?PHP Services::get_services使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Services
的用法示例。
在下文中一共展示了Services::get_services方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: load_intercom_script
/**
* Load Intercom and send across user information and server info. Only loaded if the user has opted in.
*
* @param $hook
*/
public function load_intercom_script()
{
if (!get_option('hmbkp_enable_support')) {
return;
}
$info = array();
foreach (Requirements::get_requirement_groups() as $group) {
foreach (Requirements::get_requirements($group) as $requirement) {
$info[$requirement->name()] = $requirement->result();
}
}
foreach (Services::get_services() as $file => $service) {
array_merge($info, call_user_func(array($service, 'intercom_data')));
}
$current_user = wp_get_current_user();
$info['user_hash'] = hash_hmac('sha256', $current_user->user_email, 'fcUEt7Vi4ym5PXdcr2UNpGdgZTEvxX9NJl8YBTxK');
$info['email'] = $current_user->user_email;
$info['created_at'] = strtotime($current_user->user_registered);
$info['app_id'] = '7f1l4qyq';
$info['name'] = $current_user->display_name;
$info['widget'] = array('activator' => '#intercom');
?>
<script id="IntercomSettingsScriptTag">
window.intercomSettings = <?php
echo json_encode($info);
?>
;
</script>
<script>!function(){function e(){var a=c.createElement("script");a.type="text/javascript",a.async=!0,a.src="https://static.intercomcdn.com/intercom.v1.js";var b=c.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b)}var a=window,b=a.Intercom;if("function"==typeof b)b("reattach_activator"),b("update",intercomSettings);else{var c=document,d=function(){d.c(arguments)};d.q=[],d.c=function(a){d.q.push(a)},a.Intercom=d,a.attachEvent?a.attachEvent("onload",e):a.addEventListener("load",e,!1)}}();</script>
<?php
}
示例2: Site_Size
?>
<?php
$site_size = new Site_Size($schedule->get_type(), $schedule->get_excludes());
if ($site_size->is_site_size_cached()) {
printf(__('This schedule will store a maximum of %s of backups.', 'backupwordpress'), '<code>' . esc_html(size_format($site_size->get_site_size() * $schedule->get_max_backups())) . '</code>');
}
?>
</p>
</td>
</tr>
<?php
foreach (Services::get_services($schedule) as $service) {
$service->field();
}
?>
</tbody>
</table>
<?php
submit_button(__('Done', 'backupwordpress'));
?>
</form>
<?php
示例3: printf
?>
<p><?php
printf(__('You\'ve set it to: %s', 'backupwordpress'), '<code>' . esc_html(HMBKP_SCHEDULE_TIME) . '</code>');
?>
</p>
<?php
}
?>
<p><?php
printf(__('The time that your schedules should run. Defaults to %s.', 'backupwordpress'), '<code>23:00</code>');
?>
<?php
_e('e.g.', 'backupwordpress');
?>
<code>define( 'HMBKP_SCHEDULE_TIME', '07:30' );</code></p>
</td>
</tr>
<?php
foreach (Services::get_services() as $file => $service) {
echo wp_kses_post(call_user_func(array($service, 'constant')));
}
?>
</table>
</div>
<?php
示例4: edit_schedule_submit
/**
* Catch the schedule settings form submission
*
* Validate and either return errors or update the schedule
*/
function edit_schedule_submit()
{
check_admin_referer('hmbkp-edit-schedule', 'hmbkp-edit-schedule-nonce');
if (empty($_POST['hmbkp_schedule_id'])) {
die;
}
$schedule = new Scheduled_Backup(sanitize_text_field($_POST['hmbkp_schedule_id']));
$site_size = new Site_Size($schedule->get_type(), $schedule->get_excludes());
$errors = array();
$settings = array();
if (isset($_POST['hmbkp_schedule_type'])) {
$schedule_type = sanitize_text_field($_POST['hmbkp_schedule_type']);
if (!trim($schedule_type)) {
$errors['hmbkp_schedule_type'] = __('Backup type cannot be empty', 'backupwordpress');
} elseif (!in_array($schedule_type, array('complete', 'file', 'database'))) {
$errors['hmbkp_schedule_type'] = __('Invalid backup type', 'backupwordpress');
} else {
$settings['type'] = $schedule_type;
}
}
if (isset($_POST['hmbkp_schedule_recurrence']['hmbkp_type'])) {
$schedule_recurrence_type = sanitize_text_field($_POST['hmbkp_schedule_recurrence']['hmbkp_type']);
if (empty($schedule_recurrence_type)) {
$errors['hmbkp_schedule_recurrence']['hmbkp_type'] = __('Schedule cannot be empty', 'backupwordpress');
} elseif (!in_array($schedule_recurrence_type, array_keys(cron_schedules())) && 'manually' !== $schedule_recurrence_type) {
$errors['hmbkp_schedule_recurrence']['hmbkp_type'] = __('Invalid schedule', 'backupwordpress');
} else {
$settings['recurrence'] = $schedule_recurrence_type;
}
}
if (isset($_POST['hmbkp_schedule_recurrence']['hmbkp_schedule_start_day_of_week'])) {
$day_of_week = sanitize_text_field($_POST['hmbkp_schedule_recurrence']['hmbkp_schedule_start_day_of_week']);
if (!in_array($day_of_week, array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'))) {
$errors['hmbkp_schedule_start_day_of_week'] = __('Day of the week must be a valid, lowercase day name', 'backupwordpress');
} else {
$settings['start_time']['day_of_week'] = $day_of_week;
}
}
if ('monthly' === $schedule_recurrence_type && isset($_POST['hmbkp_schedule_recurrence']['hmbkp_schedule_start_day_of_month'])) {
$day_of_month = absint($_POST['hmbkp_schedule_recurrence']['hmbkp_schedule_start_day_of_month']);
$options = array('min_range' => 1, 'max_range' => 31);
if (false === filter_var($day_of_month, FILTER_VALIDATE_INT, array('options' => $options))) {
$errors['hmbkp_schedule_start_day_of_month'] = __('Day of month must be between 1 and 31', 'backupwordpress');
} else {
$settings['start_time']['day_of_month'] = $day_of_month;
}
}
if (isset($_POST['hmbkp_schedule_recurrence']['hmbkp_schedule_start_hours'])) {
$hours = absint($_POST['hmbkp_schedule_recurrence']['hmbkp_schedule_start_hours']);
$options = array('min_range' => 0, 'max_range' => 23);
if (false === filter_var($hours, FILTER_VALIDATE_INT, array('options' => $options))) {
$errors['hmbkp_schedule_start_hours'] = __('Hours must be between 0 and 23', 'backupwordpress');
} else {
$settings['start_time']['hours'] = $hours;
}
}
if (isset($_POST['hmbkp_schedule_recurrence']['hmbkp_schedule_start_minutes'])) {
$minutes = absint($_POST['hmbkp_schedule_recurrence']['hmbkp_schedule_start_minutes']);
$options = array('min_range' => 0, 'max_range' => 59);
if (false === filter_var($minutes, FILTER_VALIDATE_INT, array('options' => $options))) {
$errors['hmbkp_schedule_start_minutes'] = __('Minutes must be between 0 and 59', 'backupwordpress');
} else {
$settings['start_time']['minutes'] = $minutes;
}
}
if (isset($_POST['hmbkp_schedule_max_backups'])) {
$max_backups = sanitize_text_field($_POST['hmbkp_schedule_max_backups']);
if (empty($max_backups)) {
$errors['hmbkp_schedule_max_backups'] = __('Max backups can\'t be empty', 'backupwordpress');
} elseif (!is_numeric($max_backups)) {
$errors['hmbkp_schedule_max_backups'] = __('Max backups must be a number', 'backupwordpress');
} elseif (!($max_backups >= 1)) {
$errors['hmbkp_schedule_max_backups'] = __('Max backups must be greater than 0', 'backupwordpress');
} elseif ($site_size->is_site_size_cached() && disk_space_low($site_size->get_site_size() * $max_backups)) {
$errors['hmbkp_schedule_max_backups'] = sprintf(__('Storing %s backups would use %s of disk space but your server only has %s free.', 'backupwordpress'), '<code>' . number_format_i18n($max_backups) . '</code>', '<code>' . size_format($max_backups * $site_size->get_site_size()) . '</code>', '<code>' . size_format(disk_free_space(Path::get_path())) . '</code>');
} else {
$settings['max_backups'] = absint($max_backups);
}
}
// Save the service options
foreach (Services::get_services($schedule) as $service) {
$errors = array_merge($errors, $service->save());
}
if (!empty($settings['recurrence']) && !empty($settings['start_time'])) {
// Calculate the start time depending on the recurrence
$start_time = determine_start_time($settings['recurrence'], $settings['start_time']);
if ($start_time) {
$schedule->set_schedule_start_time($start_time);
}
}
if (!empty($settings['recurrence'])) {
$schedule->set_reoccurrence($settings['recurrence']);
}
if (!empty($settings['type'])) {
$schedule->set_type($settings['type']);
//.........这里部分代码省略.........
示例5: do_action
/**
* Hook into the actions fired in the Backup class and set the status
*
* @param $action
*/
public function do_action($action, Backup $backup)
{
// Pass the actions to all the services
// Todo should be decoupled into the service class
foreach (Services::get_services($this) as $service) {
if (is_wp_error($service)) {
return $service;
}
$service->action($action, $backup);
}
}