function konzilo_auth_settings() { $state = get_option('konzilo_oauth_state', ''); if (empty($state)) { $state = wp_generate_password(20, false); update_option('konzilo_oauth_state', $state); } $client_id = get_option('konzilo_client_id'); $client_key = get_option('konzilo_client_key'); $url = KONZILO_URL; $redirect_uri = admin_url('options-general.php?page=konzilo_auth_settings'); try { if (konzilo_get_token($url, $client_id, $client_key, $redirect_uri, $state, true)) { $message = __('Authorization complete', 'konzilo'); } } catch (Exception $e) { $error = $e->getMessage(); } $args = array('client_id' => $client_id, 'client_key' => $client_key, 'authorized' => get_option('konzilo_refresh_token', false), 'error' => !empty($error) ? $error : false, 'message' => !empty($message) ? $message : false); if (isset($_GET['client_id']) && isset($_GET['client_secret']) && empty($_GET['settings-updated'])) { $args['client_id'] = $_GET['client_id']; $args['client_key'] = $_GET['client_secret']; $args['from_konzilo'] = TRUE; } if (!empty($client_id)) { $args['link'] = $url . '/oauth2/authorize?response_type=code&client_id=' . urlencode($client_id) . '&redirect_uri=' . urlencode($redirect_uri) . '&scope=users&state=' . $state; } $base_dir = plugin_dir_path(__FILE__); echo konzilo_twig($base_dir)->render('templates/auth_form.html', $args); }
function konzilo_submit_actions() { if (!konzilo_has_client()) { return; } global $post; global $action; try { $queues = konzilo_get_queues(); $konzilo_id = get_post_meta($post->ID, 'konzilo_id', true); $update = konzilo_get_post_update($post->ID); if ($post->post_status == 'publish' || empty($update) && $post->post_status == 'future' || !empty($update) && (!empty($update->sent) || $update->type == 'now')) { return; } if (empty($update)) { $update = new stdClass(); $update->type = 'stored'; $konzilo_status = __('Parked', 'konzilo'); } else { switch ($update->type) { case 'now': $konzilo_status = __('Publish now', 'konzilo'); break; case 'stored': $konzilo_status = __('Parked', 'konzilo'); break; case 'date': $default = date_default_timezone_get(); $timezone = get_option('timezone_string'); if (!empty($timezone)) { date_default_timezone_set(get_option('timezone_string')); } $konzilo_status = __('Scheduled at:', 'konzilo') . ' ' . date('Y-m-d H:i', strtotime($update->scheduled_at)); date_default_timezone_set($default); break; default: $queue_map = array(); foreach ($queues as $queue) { $queue_map[$queue->id] = $queue; } if (empty($update->queue)) { $konzilo_status = __('Parked', 'konzilo'); } else { $konzilo_status = __('In', 'konzilo') . ' ' . $queue_map[$update->queue]->name; } break; } } $args = array('queues' => $queues, 'has_queues' => !empty($queues), 'post' => $update, 'konzilo_status' => $konzilo_status, 'action' => $action, 'change_status' => empty($update->id) || $update->type != 'queue_last' && $update->type != 'queue_first'); $base_dir = plugin_dir_path(__FILE__); $twig = konzilo_twig($base_dir); $twig->addExtension(new KonziloTwigExtension()); echo $twig->render('templates/publish_form.html', $args); } catch (Exception $e) { // Still not sure how to display these errors. } }