Esempio n. 1
0
 private static function addLoginCommands()
 {
     Workflow::removeConfig('access_token');
     $token = null;
     if (count(self::$parts) > 1 && self::$parts[0] == '>' && self::$parts[1] == 'login' && isset(self::$parts[2])) {
         $token = self::$parts[2];
     }
     if (!$token) {
         Workflow::addItem(Item::create()->prefix('gh ')->title('> login')->subtitle('Generate OAuth access token')->arg('> login')->randomUid(), false);
     }
     Workflow::addItem(Item::create()->prefix('gh ')->title('> login ' . $token)->subtitle('Save OAuth access token')->arg('> login ' . $token)->valid((bool) $token, '<access_token>')->randomUid(), false);
 }
Esempio n. 2
0
<?php

require 'workflow.php';
$query = ltrim($argv[1]);
$parts = explode(' ', $query);
Workflow::init($query);
if (Workflow::checkUpdate()) {
    $cmds = array('update' => 'There is an update for this Alfred workflow', 'deactivate autoupdate' => 'Deactivate auto updating this Alfred Workflow');
    foreach ($cmds as $cmd => $desc) {
        Workflow::addItem(Item::create()->prefix('gh ')->title('> ' . $cmd)->subtitle($desc)->arg('> ' . str_replace(' ', '-', $cmd))->randomUid(), false);
    }
    print Workflow::getItemsAsXml();
    exit;
}
if (!Workflow::getConfig('user') || !($users = Workflow::requestCacheJson('https://github.com/command_bar/users', 'results')) && !Workflow::requestCache('https://github.com/settings/profile')) {
    Workflow::removeConfig('user');
    $user = null;
    if (count($parts) > 1 && $parts[0] == '>' && $parts[1] == 'login' && isset($parts[2])) {
        $user = $parts[2];
    }
    Workflow::addItem(Item::create()->prefix('gh ')->title('> login ' . $user)->subtitle('Log in to GitHub')->arg('> login ' . $user)->valid((bool) $user, '<user>'));
    print Workflow::getItemsAsXml();
    return;
}
$isSystem = isset($query[0]) && $query[0] == '>';
$isMy = 'my' == $parts[0] && isset($parts[1]);
$isUser = isset($query[0]) && $query[0] == '@';
$isRepo = false;
$queryUser = null;
if ($isUser) {
    $queryUser = ltrim($parts[0], '@');
Esempio n. 3
0
    return;
}
$enterprise = 0 === strpos($query, 'e ');
if ($enterprise) {
    $query = substr($query, 2);
}
$parts = explode(' ', $query);
Workflow::init($enterprise);
switch ($parts[1]) {
    case 'enterprise-url':
        Workflow::setConfig('enterprise_url', rtrim($parts[2], '/'));
        exec('osascript -e "tell application \\"Alfred 2\\" to search \\"ghe \\""');
        break;
    case 'enterprise-reset':
        Workflow::removeConfig('enterprise_url');
        Workflow::removeConfig('enterprise_access_token');
        Workflow::deleteCache();
        break;
    case 'login':
        if (isset($parts[2]) && $parts[2]) {
            Workflow::setAccessToken($parts[2]);
            echo 'Successfully logged in';
        } elseif (!$enterprise) {
            Workflow::startServer();
            $state = version_compare(PHP_VERSION, '5.4', '<') ? 'm' : '';
            $url = Workflow::getBaseUrl() . '/login/oauth/authorize?client_id=2d4f43826cb68e11c17c&scope=repo&state=' . $state;
            exec('open ' . escapeshellarg($url));
        }
        break;
    case 'logout':
        Workflow::removeAccessToken();
Esempio n. 4
0
$query = trim($argv[1]);
$parts = explode(' ', $query);
switch ($parts[0]) {
    case '>':
        switch ($parts[1]) {
            case 'login':
                if (isset($parts[2]) && $parts[2]) {
                    Workflow::setConfig('access_token', $parts[2]);
                    echo 'Successfully logged in';
                } else {
                    Workflow::startServer();
                    exec('open "https://github.com/login/oauth/authorize?client_id=2d4f43826cb68e11c17c&scope=repo&state=' . version_compare(PHP_VERSION, '5.4', '<') . '"');
                }
                break;
            case 'logout':
                Workflow::removeConfig('access_token');
                Workflow::deleteCache();
                echo 'Successfully logged out';
                break;
            case 'delete-cache':
                Workflow::deleteCache();
                echo 'Successfully deleted cache';
                break;
            case 'refresh-cache':
                $curl = new Curl();
                foreach (explode(',', $parts[2]) as $url) {
                    Workflow::requestCache($url, $curl, null, 0, false);
                }
                $curl->execute();
                Workflow::cleanCache();
                break;