示例#1
0
 protected function _getTwigParameters()
 {
     $local = new Model_LocalConfig();
     $session = new Model_Session();
     $user = $session->getUser();
     return array('session' => $session, 'base_url' => $local->getBaseUrl(), 'user' => $user);
 }
示例#2
0
 public function get()
 {
     $session = new Model_Session();
     $session->logout();
     $local = new Model_LocalConfig();
     $baseRoute = $local->getBaseRoute();
     header("location: /{$baseRoute}");
 }
示例#3
0
 public function get()
 {
     $local = new Model_LocalConfig();
     if ($local->useHttpsOnly() && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "")) {
         $redirect = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
         header("HTTP/1.1 301 Moved Permanently");
         header("Location: {$redirect}");
     }
     echo $this->_getTwig()->render('index.html.twig', array('local_config' => 'test', 'base_url' => $local->getBaseUrl()));
 }
示例#4
0
 public function create()
 {
     foreach ($this->_getColumns() as $column) {
         $data[$column] = $this->get($column);
     }
     $data['created_at'] = \Carbon\Carbon::now()->toDateTimeString();
     $data['updated_at'] = \Carbon\Carbon::now()->toDateTimeString();
     $this->_localConfig->database()->insert($this->_getTable(), $data);
     // This is probably going to cause horrible bugs.  #rollingyourownormproblems
     $recordId = $this->_localConfig->database()->lastInsertId();
     $this->set($this->_getTableIdFieldname(), $recordId);
     return $this;
 }
示例#5
0
文件: Post.php 项目: navarr/magehero
 public function isNew()
 {
     $createdAtDate = $this->getCreatedAtDate();
     if (!$createdAtDate) {
         return false;
     }
     return $createdAtDate->diffInHours() < $this->_localConfig->getNumberOfHoursForNew();
 }
示例#6
0
 /**
  * @param Model_User $to
  * @param Model_User $from
  * @param string $message
  * @return bool|string
  */
 public function send($to, $from = "", $message = "")
 {
     if ($message == "") {
         // Construct Tweet
         $message = "@" . $to->getTwitterUsername() . " you were upvoted by @" . $from->getTwitterUsername() . " on magehero.com/" . $to->getGithubUsername();
     }
     $settings = array('oauth_access_token' => $this->_localConfig->get('twitter_oauth_access_token'), 'oauth_access_token_secret' => $this->_localConfig->get('twitter_oauth_access_token_secret'), 'consumer_key' => $this->_localConfig->get('twitter_consumer_api_key'), 'consumer_secret' => $this->_localConfig->get('twitter_consumer_api_secret'));
     $url = 'https://api.twitter.com/1.1/statuses/update.json';
     $requestMethod = 'POST';
     $postfields = array("status" => $message);
     try {
         $twitter = new TwitterAPIExchange($settings);
         $response = $twitter->buildOauth($url, $requestMethod)->setPostfields($postfields)->performRequest();
         // Error handling for tweet failurs , is not required. I am pretty sure that the voters are not interested
         // in knowing if the tweet was posted or now.
         return $response;
     } catch (Exception $e) {
         return false;
     }
     //var_dump(json_decode($response));die;
 }
示例#7
0
文件: User.php 项目: navarr/magehero
 /**
  * Search users by name and username.
  * 
  * @param $term
  *
  * @return array
  */
 public function search($term)
 {
     $terms = explode(" ", $term);
     $searchQuery = array();
     foreach ($terms as $term) {
         $term = $this->_localConfig->database()->quote("[[:<:]]" . $term . "[[:>:]]");
         $searchQuery[] = "(users.name regexp {$term}) * 5 + (users.username regexp {$term})";
     }
     $searchQuery = implode(" + ", $searchQuery);
     $query = $this->selectAll();
     $query->columns(new Zend_Db_Expr("({$searchQuery}) as hits"));
     $query->having('hits > 0');
     // We need to reset the ordering that was put on in selectAll()
     $query->reset(Zend_Db_Select::ORDER);
     $query->order("hits DESC");
     $rows = $this->_localConfig->database()->fetchAll($query);
     $models = array();
     foreach ($rows as $row) {
         $model = $this->_getContainer()->User()->setData($row);
         $models[] = $model;
     }
     return $models;
 }
示例#8
0
文件: Tag.php 项目: navarr/magehero
 public function getUrl()
 {
     $url = implode("/", array($this->_localConfig->get('base_url'), "tag", $this->getId(), $this->getSlug()));
     return $url;
 }
示例#9
0
<?php

ini_set('display_errors', 1);
require_once dirname(__FILE__) . '/vendor/autoload.php';
$local = new Model_LocalConfig();
$local->configureDatabase();
$cron = new Model_Cron();
if (isset($argv[1]) && $argv[1]) {
    $cron->setUsername($argv[1]);
}
if (isset($argv[2]) && $argv[2]) {
    $cron->setTagToProcess($argv[2]);
}
$cron->run();
示例#10
0
文件: index.php 项目: navarr/magehero
<?php

require_once dirname(__FILE__) . '/vendor/autoload.php';
$ok = @session_start();
if (!$ok) {
    session_regenerate_id(true);
    session_start();
}
$local = new Model_LocalConfig();
if ($local->getHideExceptions()) {
    ini_set('display_errors', 'Off');
} else {
    error_reporting(-1);
    ini_set('display_errors', 'On');
}
try {
    Toro::serve(array("/" => "Controller_PostList", "/available" => "Controller_Available", "/tag/:number/:alpha" => "Controller_Tag", "/login" => "Controller_Login", "/logout" => "Controller_Logout", "/posts" => "Controller_PostList", "/posts/new" => "Controller_PostNew", "/posts/:number/edit" => "Controller_PostEdit", "/posts/:number/notify-comment" => "Controller_PostCommentNotify", "/posts/:number" => "Controller_Post", "/posts/:number/upvote" => "Controller_PostUpvote", "/posts/:number/:alpha" => "Controller_Post", "/profile" => "Controller_Profile", "/users" => "Controller_UserList", "/users-fragment/:number" => "Controller_UserListFragment", "/user/:number/upvote" => "Controller_UserUpvote", "/:string/posts" => "Controller_UserPosts", "/(.*)" => "Controller_UserProfile", "/map" => "Controller_Map", "/map/users" => "Controller_MapUsers", "/search" => "Controller_Search", "/feed" => "Controller_Feed"));
} catch (Exception $e) {
    if ($local->getHideExceptions()) {
        mail("*****@*****.**", "MageHero Exception: " . $e->getMessage(), $e->getTraceAsString());
        die("Uh-oh.  Something's not right.  Heroes have been deployed to fix it.");
    } else {
        throw $e;
    }
}
示例#11
0
<?php

require_once dirname(__FILE__) . '/vendor/autoload.php';
$ok = @session_start();
if (!$ok) {
    session_regenerate_id(true);
    session_start();
}
$local = new Model_LocalConfig();
$local->configureDatabase();
if ($local->getHideExceptions()) {
    ini_set('display_errors', 'Off');
} else {
    error_reporting(-1);
    ini_set('display_errors', 'On');
}
$base = $local->getBaseRoute();
try {
    Toro::serve(array("{$base}/" => "Controller_Index", "{$base}/manage" => "Controller_Manage_Tags", "{$base}/manage/account" => "Controller_Manage_Account", "{$base}/manage/logout" => "Controller_Manage_LogOut", "{$base}/manage/check-mandrill-key" => "Controller_Manage_CheckMandrillKey", "{$base}/manage/fetch-tags" => "Controller_Manage_FetchTags", "{$base}/manage/tag/(.*)/process" => "Controller_Manage_ProcessTag", "{$base}/manage/toggle-tag/(.*)" => "Controller_Manage_ToggleTag", "{$base}/manage/import-tags" => "Controller_Manage_ImportTags"));
} catch (Exception $e) {
    if ($local->getHideExceptions()) {
        mail("*****@*****.**", "MageHero Exception: " . $e->getMessage(), $e->getTraceAsString());
        die("Uh-oh.  Something's not right.  Heroes have been deployed to fix it.");
    } else {
        throw $e;
    }
}