本文整理汇总了PHP中TBGContext::reinitializeI18n方法的典型用法代码示例。如果您正苦于以下问题:PHP TBGContext::reinitializeI18n方法的具体用法?PHP TBGContext::reinitializeI18n怎么用?PHP TBGContext::reinitializeI18n使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TBGContext
的用法示例。
在下文中一共展示了TBGContext::reinitializeI18n方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send
public function send(TBGMimemail $email)
{
try {
TBGContext::getI18n();
} catch (Exception $e) {
TBGContext::reinitializeI18n(null);
}
if (!$email->hasRecipients()) {
throw new Exception(TBGContext::getI18n()->__('You need to add at least one recipient'));
}
if (!$email->hasSender()) {
throw new Exception(TBGContext::getI18n()->__('You need to add a sender name and address'));
}
try {
if ($this->type == self::MAIL_TYPE_PHP) {
$retval = $this->_mail($email);
} else {
require_once THEBUGGENIE_CORE_PATH . 'lib' . DS . 'swift' . DS . 'lib' . DS . 'swift_required.php';
$retval = $this->_mail2($email);
}
} catch (Exception $e) {
throw $e;
}
return $retval;
}
示例2: do_execute
//.........这里部分代码省略.........
$this->cliEcho("The Bug Genie will not function properly until the .htaccess file is properly set up!\n");
} else {
$this->cliEcho("The .htaccess file was successfully set up...\n", 'green', 'bold');
}
}
} else {
$this->cliEcho("Skipping .htaccess auto-setup.");
}
if ($this->getProvidedArgument('setup_htaccess') != 'yes') {
$this->cliEcho("Press ENTER to continue ... ");
$this->pressEnterToContinue();
$this->cliEcho("\n");
}
$enable_modules = array();
if ($this->getProvidedArgument('enable_all_modules') != 'yes') {
$this->cliEcho("You will now get a list of available modules.\nTo enable the module after installation, just press ENTER.\nIf you don't want to enable the module, type \"no\".\nRemember that all these modules can be disabled/uninstalled after installation.\n\n");
}
$this->cliEcho("Enable incoming and outgoing email? ", 'white', 'bold') . $this->cliEcho('(yes): ');
$enable_modules['mailing'] = $this->getProvidedArgument('enable_all_modules') == 'yes' ? true : $this->askToDecline();
if ($this->getProvidedArgument('enable_all_modules') == 'yes') {
$this->cliEcho("Yes\n", 'yellow', 'bold');
}
$this->cliEcho("Enable communication with version control systems (i.e. svn)? ", 'white', 'bold') . $this->cliEcho('(yes): ');
$enable_modules['vcs_integration'] = $this->getProvidedArgument('enable_all_modules') == 'yes' ? true : $this->askToDecline();
if ($this->getProvidedArgument('enable_all_modules') == 'yes') {
$this->cliEcho("Yes\n", 'yellow', 'bold');
}
$enable_modules['publish'] = true;
$this->cliEcho("\n");
$this->cliEcho("Creating tables ...\n", 'white', 'bold');
$tables_path = THEBUGGENIE_CORE_PATH . 'classes' . DIRECTORY_SEPARATOR . 'B2DB' . DIRECTORY_SEPARATOR;
TBGContext::addClasspath($tables_path);
$tables_path_handle = opendir($tables_path);
$tables_created = array();
while ($table_class_file = readdir($tables_path_handle)) {
if (($tablename = substr($table_class_file, 0, strpos($table_class_file, '.'))) != '') {
B2DB::getTable($tablename)->create();
$this->cliEcho("Creating table {$tablename}\n", 'white', 'bold');
}
}
$this->cliEcho("\n");
$this->cliEcho("All tables successfully created...\n\n", 'green', 'bold');
$this->cliEcho("Setting up initial scope... \n", 'white', 'bold');
TBGContext::reinitializeI18n('en_US');
$scope = new TBGScope();
$scope->setName('The default scope');
$scope->addHostname('*');
$scope->setEnabled();
TBGContext::setScope($scope);
$scope->save();
TBGSettings::saveSetting('language', 'en_US');
$this->cliEcho("Initial scope setup successfully... \n\n", 'green', 'bold');
$this->cliEcho("Setting up modules... \n", 'white', 'bold');
try {
foreach ($enable_modules as $module => $install) {
if ((bool) $install && file_exists(THEBUGGENIE_MODULES_PATH . $module . DS . 'module')) {
$this->cliEcho("Installing {$module}... \n");
TBGModule::installModule($module);
$this->cliEcho("Module {$module} installed successfully...\n", 'green');
}
}
$this->cliEcho("\n");
$this->cliEcho("All modules installed successfully...\n", 'green', 'bold');
$this->cliEcho("\n");
$this->cliEcho("Finishing installation... \n", 'white', 'bold');
if (!is_writable(THEBUGGENIE_PATH . 'installed')) {
$this->cliEcho("\n");
$this->cliEcho("Could not create the 'installed' file.\n", 'red', 'bold');
$this->cliEcho("Please create the file ");
$this->cliEcho(THEBUGGENIE_PATH . "installed\n", 'white', 'bold');
$this->cliEcho("with the following line inside:\n");
$this->cliEcho('3.0, installed ' . date('d.m.Y H:i'), 'blue', 'bold');
$this->cliEcho("\n");
$this->cliEcho("This can be done by running the following command when installation has finished:\n");
$this->cliEcho('echo "3.0, installed ' . date('d.m.Y H:i') . '" > ' . THEBUGGENIE_PATH . 'installed', 'white', 'bold');
$this->cliEcho("\n");
$this->cliEcho("Press ENTER to continue ... ");
$this->pressEnterToContinue();
$this->cliEcho("\n");
$this->cliEcho("\n");
} else {
file_put_contents(THEBUGGENIE_PATH . 'installed', '3.0, installed ' . date('d.m.Y H:i'));
}
$this->cliEcho("The installation was completed successfully!\n", 'green', 'bold');
$this->cliEcho("\nTo use The Bug Genie, access http://example.com" . $url_subdir . "index.php with a web-browser.\n");
$this->cliEcho("The default username is ") . $this->cliEcho('Administrator') . $this->cliEcho(' and the password is ') . $this->cliEcho('admin');
$this->cliEcho("\n\nFor support, please visit ") . $this->cliEcho('http://www.thebuggenie.com/', 'blue', 'underline');
$this->cliEcho("\n");
} catch (Exception $e) {
throw new Exception("Could not install the {$module} module:\n" . $e->getMessage());
}
}
} catch (Exception $e) {
$this->cliEcho("\n\nThe installation was interrupted\n", 'red');
$this->cliEcho($e->getMessage() . "\n");
var_dump($e->getTraceAsString());
die;
}
$this->cliEcho("\n");
}
示例3: runInstallStep4
/**
* Runs the action for the fourth step of the installation
* where it loads fixtures and saves settings for url
*
* @param TBGRequest $request The request object
*
* @return null
*/
public function runInstallStep4(TBGRequest $request)
{
try {
TBGLogging::log('Initializing language support');
TBGContext::reinitializeI18n('en_US');
TBGLogging::log('Loading fixtures for default scope');
$scope = new TBGScope();
$scope->addHostname('*');
$scope->setName('The default scope');
$scope->setEnabled(true);
TBGContext::setScope($scope);
$scope->save();
TBGLogging::log('Setting up default users and groups');
TBGSettings::saveSetting('language', 'en_US', 'core', 1);
$this->htaccess_error = false;
$this->htaccess_ok = (bool) $request->getParameter('apache_autosetup');
if ($request->getParameter('apache_autosetup')) {
if (!is_writable(THEBUGGENIE_PATH . THEBUGGENIE_PUBLIC_FOLDER_NAME . '/') || file_exists(THEBUGGENIE_PATH . THEBUGGENIE_PUBLIC_FOLDER_NAME . '/.htaccess') && !is_writable(THEBUGGENIE_PATH . THEBUGGENIE_PUBLIC_FOLDER_NAME . '/.htaccess')) {
$this->htaccess_error = 'Permission denied when trying to save the [main folder]/' . THEBUGGENIE_PUBLIC_FOLDER_NAME . '/.htaccess';
} else {
$content = str_replace('###PUT URL SUBDIRECTORY HERE###', $request->getParameter('url_subdir'), file_get_contents(THEBUGGENIE_CORE_PATH . '/templates/htaccess.template'));
file_put_contents(THEBUGGENIE_PATH . THEBUGGENIE_PUBLIC_FOLDER_NAME . '/.htaccess', $content);
if (file_get_contents(THEBUGGENIE_PATH . THEBUGGENIE_PUBLIC_FOLDER_NAME . '/.htaccess') != $content) {
$this->htaccess_error = true;
}
}
}
} catch (Exception $e) {
$this->error = $e->getMessage();
throw $e;
}
}
示例4: processCommit
public static function processCommit(TBGProject $project, $commit_msg, $old_rev, $new_rev, $date = null, $changed, $author, $branch = null)
{
$output = '';
TBGContext::setCurrentProject($project);
if ($project->isArchived()) {
return;
}
try {
TBGContext::getI18n();
} catch (Exception $e) {
TBGContext::reinitializeI18n(null);
}
// Is VCS Integration enabled?
if (TBGSettings::get('vcs_mode_' . $project->getID(), 'vcs_integration') == TBGVCSIntegration::MODE_DISABLED) {
$output .= '[VCS ' . $project->getKey() . '] This project does not use VCS Integration' . "\n";
return $output;
}
// Parse the commit message, and obtain the issues and transitions for issues.
$parsed_commit = TBGIssue::getIssuesFromTextByRegex($commit_msg);
$issues = $parsed_commit["issues"];
$transitions = $parsed_commit["transitions"];
// If no issues exist, we may not be able to continue
// if (count($issues) == 0)
// {
// $output .= '[VCS '.$project->getKey().'] This project only accepts commits which affect issues' . "\n";
// return $output;
// }
// Build list of affected files
$file_lines = preg_split('/[\\n\\r]+/', $changed);
$files = array();
foreach ($file_lines as $aline) {
$action = mb_substr($aline, 0, 1);
if ($action == "A" || $action == "U" || $action == "D" || $action == "M") {
$theline = trim(mb_substr($aline, 1));
$files[] = array($action, $theline);
}
}
// Find author of commit, fallback is guest
/*
* Some VCSes use a different format of storing the committer's name. Systems like bzr, git and hg use the format
* Joe Bloggs <me@example.com>, instead of a classic username. Therefore a user will be found via 4 queries:
* a) First we extract the email if there is one, and find a user with that email
* b) If one is not found - or if no email was specified, then instead test against the real name (using the name part if there was an email)
* c) the username or full name is checked against the friendly name field
* d) and if we still havent found one, then we check against the username
* e) and if we STILL havent found one, we use the guest user
*/
if (preg_match("/(?<=<)(.*)(?=>)/", $author, $matches)) {
$email = $matches[0];
// a)
$user = TBGUsersTable::getTable()->getByEmail($email);
if (!$user instanceof TBGUser) {
// Not found by email
preg_match("/(?<=^)(.*)(?= <)/", $author, $matches);
$author = $matches[0];
}
}
// b)
if (!$user instanceof TBGUser) {
$user = TBGUsersTable::getTable()->getByRealname($author);
}
// c)
if (!$user instanceof TBGUser) {
$user = TBGUsersTable::getTable()->getByBuddyname($author);
}
// d)
if (!$user instanceof TBGUser) {
$user = TBGUsersTable::getTable()->getByUsername($author);
}
// e)
if (!$user instanceof TBGUser) {
$user = TBGSettings::getDefaultUser();
}
TBGContext::setUser($user);
TBGSettings::forceSettingsReload();
TBGContext::cacheAllPermissions();
$output .= '[VCS ' . $project->getKey() . '] Commit to be logged by user ' . $user->getName() . "\n";
if ($date == null) {
$date = NOW;
}
// Create the commit data
$commit = new TBGVCSIntegrationCommit();
$commit->setAuthor($user);
$commit->setDate($date);
$commit->setLog($commit_msg);
$commit->setPreviousRevision($old_rev);
$commit->setRevision($new_rev);
$commit->setProject($project);
if ($branch !== null) {
$data = 'branch:' . $branch;
$commit->setMiscData($data);
}
$commit->save();
$output .= '[VCS ' . $project->getKey() . '] Commit logged with revision ' . $commit->getRevision() . "\n";
// Iterate over affected issues and update them.
foreach ($issues as $issue) {
$inst = new TBGVCSIntegrationIssueLink();
$inst->setIssue($issue);
$inst->setCommit($commit);
$inst->save();
//.........这里部分代码省略.........