Merge branch 'saas' into cc-5709-airtime-analyzer-cloud-storage-saas
Conflicts: airtime_mvc/application/modules/rest/controllers/MediaController.php
This commit is contained in:
commit
4d8b32556b
122 changed files with 33988 additions and 22602 deletions
|
@ -11,6 +11,7 @@ require_once __DIR__."/configs/constants.php";
|
||||||
require_once 'Preference.php';
|
require_once 'Preference.php';
|
||||||
require_once 'Locale.php';
|
require_once 'Locale.php';
|
||||||
require_once "DateHelper.php";
|
require_once "DateHelper.php";
|
||||||
|
require_once "LocaleHelper.php";
|
||||||
require_once "OsPath.php";
|
require_once "OsPath.php";
|
||||||
require_once "Database.php";
|
require_once "Database.php";
|
||||||
require_once "Timezone.php";
|
require_once "Timezone.php";
|
||||||
|
@ -53,7 +54,8 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
||||||
$view = $this->getResource('view');
|
$view = $this->getResource('view');
|
||||||
$baseUrl = Application_Common_OsPath::getBaseDir();
|
$baseUrl = Application_Common_OsPath::getBaseDir();
|
||||||
|
|
||||||
$view->headScript()->appendScript("var baseUrl = '$baseUrl'");
|
$view->headScript()->appendScript("var baseUrl = '$baseUrl';");
|
||||||
|
$this->_initTranslationGlobals($view);
|
||||||
|
|
||||||
$user = Application_Model_User::GetCurrentUser();
|
$user = Application_Model_User::GetCurrentUser();
|
||||||
if (!is_null($user)){
|
if (!is_null($user)){
|
||||||
|
@ -62,7 +64,17 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
||||||
$userType = "";
|
$userType = "";
|
||||||
}
|
}
|
||||||
$view->headScript()->appendScript("var userType = '$userType';");
|
$view->headScript()->appendScript("var userType = '$userType';");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ideally, globals should be written to a single js file once
|
||||||
|
* from a php init function. This will save us from having to
|
||||||
|
* reinitialize them every request
|
||||||
|
*/
|
||||||
|
private function _initTranslationGlobals($view) {
|
||||||
|
$view->headScript()->appendScript("var PRODUCT_NAME = '" . PRODUCT_NAME . "';");
|
||||||
|
$view->headScript()->appendScript("var USER_MANUAL_URL = '" . USER_MANUAL_URL . "';");
|
||||||
|
$view->headScript()->appendScript("var COMPANY_NAME = '" . COMPANY_NAME . "';");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function _initHeadLink()
|
protected function _initHeadLink()
|
||||||
|
|
7
airtime_mvc/application/common/LocaleHelper.php
Normal file
7
airtime_mvc/application/common/LocaleHelper.php
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// Global functions for translating domain-specific strings
|
||||||
|
|
||||||
|
function _pro($str) {
|
||||||
|
return dgettext("pro", $str);
|
||||||
|
}
|
|
@ -1,5 +1,21 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
define('PRODUCT_NAME' , 'Airtime');
|
||||||
|
define('PRODUCT_SITE_URL' , 'http://airtime.sourcefabric.org');
|
||||||
|
|
||||||
|
define('COMPANY_NAME' , 'Sourcefabric');
|
||||||
|
define('COMPANY_SUFFIX' , 'z.ú.');
|
||||||
|
define('COMPANY_SITE' , 'Sourcefabric.org');
|
||||||
|
define('COMPANY_SITE_URL' , 'http://sourcefabric.org/');
|
||||||
|
|
||||||
|
define('WHOS_USING_URL' , 'http://sourcefabric.org/en/airtime/whosusing');
|
||||||
|
define('TERMS_AND_CONDITIONS_URL' , 'http://www.sourcefabric.org/en/about/policy/');
|
||||||
|
define('PRIVACY_POLICY_URL' , 'http://www.sourcefabric.org/en/about/policy/');
|
||||||
|
define('USER_MANUAL_URL' , 'http://www.sourcefabric.org/en/airtime/manuals/');
|
||||||
|
|
||||||
|
define('LICENSE_VERSION' , 'GNU AGPL v.3');
|
||||||
|
define('LICENSE_URL' , 'http://www.gnu.org/licenses/agpl-3.0-standalone.html');
|
||||||
|
|
||||||
define('AIRTIME_COPYRIGHT_DATE' , '2010-2012');
|
define('AIRTIME_COPYRIGHT_DATE' , '2010-2012');
|
||||||
define('AIRTIME_REST_VERSION' , '1.1');
|
define('AIRTIME_REST_VERSION' , '1.1');
|
||||||
define('AIRTIME_API_VERSION' , '1.1');
|
define('AIRTIME_API_VERSION' , '1.1');
|
||||||
|
|
|
@ -833,7 +833,7 @@ class ApiController extends Zend_Controller_Action
|
||||||
|
|
||||||
//File is not in database anymore.
|
//File is not in database anymore.
|
||||||
if (is_null($file)) {
|
if (is_null($file)) {
|
||||||
$return_hash['error'] = _("File does not exist in Airtime.");
|
$return_hash['error'] = sprintf(_("File does not exist in %s"), PRODUCT_NAME);
|
||||||
}
|
}
|
||||||
//Updating a metadata change.
|
//Updating a metadata change.
|
||||||
else {
|
else {
|
||||||
|
@ -853,7 +853,7 @@ class ApiController extends Zend_Controller_Action
|
||||||
$md['MDATA_KEY_ORIGINAL_PATH'], $con);
|
$md['MDATA_KEY_ORIGINAL_PATH'], $con);
|
||||||
|
|
||||||
if (is_null($file)) {
|
if (is_null($file)) {
|
||||||
$return_hash['error'] = _('File does not exist in Airtime');
|
$return_hash['error'] = sprintf(_('File does not exist in %s'), PRODUCT_NAME);
|
||||||
} else {
|
} else {
|
||||||
$filepath = $md['MDATA_KEY_FILEPATH'];
|
$filepath = $md['MDATA_KEY_FILEPATH'];
|
||||||
//$filepath = str_replace("\\", "", $filepath);
|
//$filepath = str_replace("\\", "", $filepath);
|
||||||
|
@ -865,7 +865,7 @@ class ApiController extends Zend_Controller_Action
|
||||||
$file = Application_Model_StoredFile::RecallByFilepath($filepath, $con);
|
$file = Application_Model_StoredFile::RecallByFilepath($filepath, $con);
|
||||||
|
|
||||||
if (is_null($file)) {
|
if (is_null($file)) {
|
||||||
$return_hash['error'] = _("File doesn't exist in Airtime.");
|
$return_hash['error'] = sprintf(_('File does not exist in %s'), PRODUCT_NAME);
|
||||||
Logging::warn("Attempt to delete file that doesn't exist.
|
Logging::warn("Attempt to delete file that doesn't exist.
|
||||||
Path: '$filepath'");
|
Path: '$filepath'");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
class LocaleController extends Zend_Controller_Action
|
class LocaleController extends Zend_Controller_Action
|
||||||
{
|
{
|
||||||
|
|
||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,15 +16,16 @@ class LoginController extends Zend_Controller_Action
|
||||||
|
|
||||||
$request = $this->getRequest();
|
$request = $this->getRequest();
|
||||||
$response = $this->getResponse();
|
$response = $this->getResponse();
|
||||||
|
$stationLocale = Application_Model_Preference::GetDefaultLocale();
|
||||||
|
|
||||||
//Enable AJAX requests from www.airtime.pro for the sign-in process.
|
//Enable AJAX requests from www.airtime.pro for the sign-in process.
|
||||||
CORSHelper::enableATProCrossOriginRequests($request, $response);
|
CORSHelper::enableATProCrossOriginRequests($request, $response);
|
||||||
|
|
||||||
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', 'en_CA'));
|
|
||||||
|
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', $stationLocale));
|
||||||
$auth = Zend_Auth::getInstance();
|
$auth = Zend_Auth::getInstance();
|
||||||
|
|
||||||
if ($auth->hasIdentity())
|
if ($auth->hasIdentity()) {
|
||||||
{
|
|
||||||
$this->_redirect('Showbuilder');
|
$this->_redirect('Showbuilder');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +131,9 @@ class LoginController extends Zend_Controller_Action
|
||||||
$this->view->headScript()->appendFile($baseUrl.'js/airtime/login/password-restore.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'js/airtime/login/password-restore.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
|
||||||
|
|
||||||
$request = $this->getRequest();
|
$request = $this->getRequest();
|
||||||
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', 'en_CA'));
|
$stationLocale = Application_Model_Preference::GetDefaultLocale();
|
||||||
|
|
||||||
|
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', $stationLocale));
|
||||||
|
|
||||||
if (!Application_Model_Preference::GetEnableSystemEmail()) {
|
if (!Application_Model_Preference::GetEnableSystemEmail()) {
|
||||||
$this->_redirect('login');
|
$this->_redirect('login');
|
||||||
|
@ -174,7 +177,9 @@ class LoginController extends Zend_Controller_Action
|
||||||
public function passwordRestoreAfterAction()
|
public function passwordRestoreAfterAction()
|
||||||
{
|
{
|
||||||
$request = $this->getRequest();
|
$request = $this->getRequest();
|
||||||
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', 'en_CA'));
|
$stationLocale = Application_Model_Preference::GetDefaultLocale();
|
||||||
|
|
||||||
|
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', $stationLocale));
|
||||||
|
|
||||||
//uses separate layout without a navigation.
|
//uses separate layout without a navigation.
|
||||||
$this->_helper->layout->setLayout('login');
|
$this->_helper->layout->setLayout('login');
|
||||||
|
@ -193,7 +198,9 @@ class LoginController extends Zend_Controller_Action
|
||||||
$auth = new Application_Model_Auth();
|
$auth = new Application_Model_Auth();
|
||||||
$user = CcSubjsQuery::create()->findPK($user_id);
|
$user = CcSubjsQuery::create()->findPK($user_id);
|
||||||
|
|
||||||
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', 'en_CA'));
|
$stationLocale = Application_Model_Preference::GetDefaultLocale();
|
||||||
|
|
||||||
|
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', $stationLocale));
|
||||||
|
|
||||||
//check validity of token
|
//check validity of token
|
||||||
if (!$auth->checkToken($user_id, $token, 'password.restore')) {
|
if (!$auth->checkToken($user_id, $token, 'password.restore')) {
|
||||||
|
|
|
@ -73,12 +73,6 @@ class UserController extends Zend_Controller_Action
|
||||||
$user->setJabber($formData['jabber']);
|
$user->setJabber($formData['jabber']);
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
// Language and timezone settings are saved on a per-user basis
|
|
||||||
// By default, the default language, and timezone setting on
|
|
||||||
// preferences page is what gets assigned.
|
|
||||||
Application_Model_Preference::SetUserLocale();
|
|
||||||
Application_Model_Preference::SetUserTimezone();
|
|
||||||
|
|
||||||
$form->reset();
|
$form->reset();
|
||||||
$this->view->form = $form;
|
$this->view->form = $form;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ class Application_Form_AddShowLiveStream extends Zend_Form_SubForm
|
||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
$cb_airtime_auth = new Zend_Form_Element_Checkbox("cb_airtime_auth");
|
$cb_airtime_auth = new Zend_Form_Element_Checkbox("cb_airtime_auth");
|
||||||
$cb_airtime_auth->setLabel(_("Use Airtime Authentication:"))
|
$cb_airtime_auth->setLabel(sprintf(_("Use %s Authentication:"), PRODUCT_NAME))
|
||||||
->setRequired(false)
|
->setRequired(false)
|
||||||
->setDecorators(array('ViewHelper'));
|
->setDecorators(array('ViewHelper'));
|
||||||
$this->addElement($cb_airtime_auth);
|
$this->addElement($cb_airtime_auth);
|
||||||
|
|
|
@ -53,13 +53,11 @@ class Application_Form_Login extends Zend_Form
|
||||||
$locale->setMultiOptions(Application_Model_Locale::getLocales());
|
$locale->setMultiOptions(Application_Model_Locale::getLocales());
|
||||||
$locale->setDecorators(array('ViewHelper'));
|
$locale->setDecorators(array('ViewHelper'));
|
||||||
$this->addElement($locale);
|
$this->addElement($locale);
|
||||||
|
$this->setDefaults(array(
|
||||||
|
"locale" => Application_Model_Locale::getUserLocale()
|
||||||
|
));
|
||||||
|
|
||||||
$recaptchaNeeded = false;
|
|
||||||
if (Application_Model_LoginAttempts::getAttempts($_SERVER['REMOTE_ADDR']) >= 3) {
|
if (Application_Model_LoginAttempts::getAttempts($_SERVER['REMOTE_ADDR']) >= 3) {
|
||||||
$recaptchaNeeded = true;
|
|
||||||
}
|
|
||||||
if ($recaptchaNeeded) {
|
|
||||||
// recaptcha
|
|
||||||
$this->addRecaptcha();
|
$this->addRecaptcha();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -123,7 +123,7 @@ class Application_Form_RegisterAirtime extends Zend_Form
|
||||||
|
|
||||||
// checkbox for publicise
|
// checkbox for publicise
|
||||||
$checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise");
|
$checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise");
|
||||||
$checkboxPublicise->setLabel(_('Promote my station on Sourcefabric.org'))
|
$checkboxPublicise->setLabel(sprintf(_('Promote my station on %s'), COMPANY_SITE))
|
||||||
->setRequired(false)
|
->setRequired(false)
|
||||||
->setDecorators(array('ViewHelper'))
|
->setDecorators(array('ViewHelper'))
|
||||||
->setValue(Application_Model_Preference::GetPublicise());
|
->setValue(Application_Model_Preference::GetPublicise());
|
||||||
|
@ -143,11 +143,14 @@ class Application_Form_RegisterAirtime extends Zend_Form
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
$privacyPolicyAnchorOpen = "<a id='link_to_privacy' href='" . PRIVACY_POLICY_URL
|
||||||
|
. "' onclick='window.open(this.href); return false;'>";
|
||||||
// checkbox for privacy policy
|
// checkbox for privacy policy
|
||||||
$checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy");
|
$checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy");
|
||||||
$checkboxPrivacy->setLabel(
|
$checkboxPrivacy->setLabel(
|
||||||
sprintf(_("By checking this box, I agree to Sourcefabric's %sprivacy policy%s."),
|
sprintf(_('By checking this box, I agree to %s\'s %sprivacy policy%s.'),
|
||||||
"<a id='link_to_privacy' href='http://www.sourcefabric.org/en/about/policy/' onclick='window.open(this.href); return false;'>",
|
COMPANY_NAME,
|
||||||
|
$privacyPolicyAnchorOpen,
|
||||||
"</a>"))
|
"</a>"))
|
||||||
->setDecorators(array('ViewHelper'));
|
->setDecorators(array('ViewHelper'));
|
||||||
$this->addElement($checkboxPrivacy);
|
$this->addElement($checkboxPrivacy);
|
||||||
|
|
|
@ -118,7 +118,7 @@ class Application_Form_SupportSettings extends Zend_Form
|
||||||
|
|
||||||
// checkbox for publicise
|
// checkbox for publicise
|
||||||
$checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise");
|
$checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise");
|
||||||
$checkboxPublicise->setLabel(_('Promote my station on Sourcefabric.org'))
|
$checkboxPublicise->setLabel(sprintf(_('Promote my station on %s'), COMPANY_SITE))
|
||||||
->setRequired(false)
|
->setRequired(false)
|
||||||
->setDecorators(array('ViewHelper'))
|
->setDecorators(array('ViewHelper'))
|
||||||
->setValue(Application_Model_Preference::GetPublicise());
|
->setValue(Application_Model_Preference::GetPublicise());
|
||||||
|
@ -130,8 +130,9 @@ class Application_Form_SupportSettings extends Zend_Form
|
||||||
// checkbox for privacy policy
|
// checkbox for privacy policy
|
||||||
$checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy");
|
$checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy");
|
||||||
$checkboxPrivacy->setLabel(
|
$checkboxPrivacy->setLabel(
|
||||||
sprintf(_("By checking this box, I agree to Sourcefabric's %sprivacy policy%s."),
|
sprintf(_('By checking this box, I agree to %s\'s %sprivacy policy%s.'),
|
||||||
"<a id='link_to_privacy' href='http://www.sourcefabric.org/en/about/policy/' onclick='window.open(this.href); return false;'>",
|
COMPANY_NAME,
|
||||||
|
$privacyPolicyAnchorOpen,
|
||||||
"</a>"))
|
"</a>"))
|
||||||
->setDecorators(array('ViewHelper'));
|
->setDecorators(array('ViewHelper'));
|
||||||
$this->addElement($checkboxPrivacy);
|
$this->addElement($checkboxPrivacy);
|
||||||
|
|
|
@ -13,9 +13,20 @@
|
||||||
<?php echo $this->layout()->content ?>
|
<?php echo $this->layout()->content ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<?php echo sprintf(_("Airtime copyright © Sourcefabric z.ú. All rights reserved.%s"
|
<?php
|
||||||
."Maintained and distributed under the GNU GPL v.3 by %sSourcefabric z.ú.%s"),
|
$company = COMPANY_NAME . " " . COMPANY_SUFFIX;
|
||||||
"<br>", "<a href='http://www.sourcefabric.org'>" ,"</a>");?>
|
$licenseSiteAnchor = "<a href='" . LICENSE_URL . "'>"
|
||||||
|
. LICENSE_VERSION
|
||||||
|
. "</a>";
|
||||||
|
$companySiteAnchor = "<a href='" . COMPANY_SITE_URL . "'>"
|
||||||
|
. $company
|
||||||
|
. "</a>";
|
||||||
|
echo sprintf(_('%1$s copyright © %2$s All rights reserved.%3$s'
|
||||||
|
. 'Maintained and distributed under the %4$s by %5$s'),
|
||||||
|
PRODUCT_NAME, $company, "<br>",
|
||||||
|
$licenseSiteAnchor,
|
||||||
|
$companySiteAnchor);
|
||||||
|
?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -33,7 +33,8 @@ class Application_Model_Auth
|
||||||
$message = sprintf(_("Hi %s, \n\nClick this link to reset your password: "), $user->getDbLogin());
|
$message = sprintf(_("Hi %s, \n\nClick this link to reset your password: "), $user->getDbLogin());
|
||||||
$message .= "{$e_link_protocol}://{$e_link_base}:{$e_link_port}{$e_link_path}";
|
$message .= "{$e_link_protocol}://{$e_link_base}:{$e_link_port}{$e_link_path}";
|
||||||
|
|
||||||
$success = Application_Model_Email::send(_('Airtime Password Reset'), $message, $user->getDbEmail());
|
$str = sprintf(_('%s Password Reset'), PRODUCT_NAME);
|
||||||
|
$success = Application_Model_Email::send($str, $message, $user->getDbEmail());
|
||||||
|
|
||||||
return $success;
|
return $success;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,11 @@
|
||||||
|
|
||||||
class Application_Model_Locale
|
class Application_Model_Locale
|
||||||
{
|
{
|
||||||
|
private static $domains = array(
|
||||||
|
'airtime',
|
||||||
|
'pro',
|
||||||
|
);
|
||||||
|
|
||||||
public static $locales = array(
|
public static $locales = array(
|
||||||
"en_CA" => "English (Canada)",
|
"en_CA" => "English (Canada)",
|
||||||
"en_GB" => "English (Britain)",
|
"en_GB" => "English (Britain)",
|
||||||
|
@ -48,10 +53,31 @@ class Application_Model_Locale
|
||||||
Logging::warn("Your system does not have the " . $lang . " locale installed. Run: sudo locale-gen " . $lang);
|
Logging::warn("Your system does not have the " . $lang . " locale installed. Run: sudo locale-gen " . $lang);
|
||||||
}
|
}
|
||||||
|
|
||||||
$domain = 'airtime';
|
// We need to run bindtextdomain and bind_textdomain_codeset for each domain we're using.
|
||||||
|
foreach (self::$domains as $domain) {
|
||||||
bindtextdomain($domain, '../locale');
|
bindtextdomain($domain, '../locale');
|
||||||
textdomain($domain);
|
|
||||||
bind_textdomain_codeset($domain, $codeset);
|
bind_textdomain_codeset($domain, $codeset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
textdomain('airtime');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* We need this function for the case where a user has logged out, but
|
||||||
|
* has an airtime_locale cookie containing their locale setting.
|
||||||
|
*
|
||||||
|
* If the user does not have an airtime_locale cookie set, we default
|
||||||
|
* to the station locale.
|
||||||
|
*
|
||||||
|
* When the user logs in, the value set in the login form will be passed
|
||||||
|
* into the airtime_locale cookie. This cookie is also updated when
|
||||||
|
* a user updates their user settings.
|
||||||
|
*/
|
||||||
|
public static function getUserLocale() {
|
||||||
|
$request = Zend_Controller_Front::getInstance()->getRequest();
|
||||||
|
$locale = $request->getCookie('airtime_locale', Application_Model_Preference::GetLocale());
|
||||||
|
return $locale;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,7 @@ class Application_Model_Preference
|
||||||
//we need this check because saas calls this function from outside Zend
|
//we need this check because saas calls this function from outside Zend
|
||||||
if (!class_exists("Zend_Auth", true) || !Zend_Auth::getInstance()->hasIdentity()) {
|
if (!class_exists("Zend_Auth", true) || !Zend_Auth::getInstance()->hasIdentity()) {
|
||||||
$userId = null;
|
$userId = null;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$auth = Zend_Auth::getInstance();
|
$auth = Zend_Auth::getInstance();
|
||||||
$userId = $auth->getIdentity()->id;
|
$userId = $auth->getIdentity()->id;
|
||||||
}
|
}
|
||||||
|
@ -29,14 +28,14 @@ class Application_Model_Preference
|
||||||
$cache = new Cache();
|
$cache = new Cache();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$con = Propel::getConnection(CcPrefPeer::DATABASE_NAME);
|
$con = Propel::getConnection(CcPrefPeer::DATABASE_NAME);
|
||||||
$con->beginTransaction();
|
$con->beginTransaction();
|
||||||
|
|
||||||
$userId = self::getUserId();
|
$userId = self::getUserId();
|
||||||
|
|
||||||
if ($isUserValue && is_null($userId)) {
|
if ($isUserValue && is_null($userId))
|
||||||
throw new Exception("User id can't be null for a user preference {$key}.");
|
throw new Exception("User id can't be null for a user preference {$key}.");
|
||||||
}
|
|
||||||
|
|
||||||
Application_Common_Database::prepareAndExecute("LOCK TABLE cc_pref");
|
Application_Common_Database::prepareAndExecute("LOCK TABLE cc_pref");
|
||||||
|
|
||||||
|
@ -64,8 +63,7 @@ class Application_Model_Preference
|
||||||
//this case should not happen.
|
//this case should not happen.
|
||||||
throw new Exception("Invalid number of results returned. Should be ".
|
throw new Exception("Invalid number of results returned. Should be ".
|
||||||
"0 or 1, but is '$result' instead");
|
"0 or 1, but is '$result' instead");
|
||||||
}
|
} else if ($result == 1) {
|
||||||
elseif ($result == 1) {
|
|
||||||
|
|
||||||
// result found
|
// result found
|
||||||
if (!$isUserValue) {
|
if (!$isUserValue) {
|
||||||
|
@ -73,8 +71,7 @@ class Application_Model_Preference
|
||||||
$sql = "UPDATE cc_pref"
|
$sql = "UPDATE cc_pref"
|
||||||
." SET subjid = NULL, valstr = :value"
|
." SET subjid = NULL, valstr = :value"
|
||||||
." WHERE keystr = :key";
|
." WHERE keystr = :key";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// user pref
|
// user pref
|
||||||
$sql = "UPDATE cc_pref"
|
$sql = "UPDATE cc_pref"
|
||||||
. " SET valstr = :value"
|
. " SET valstr = :value"
|
||||||
|
@ -82,16 +79,14 @@ class Application_Model_Preference
|
||||||
|
|
||||||
$paramMap[':id'] = $userId;
|
$paramMap[':id'] = $userId;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
|
|
||||||
// result not found
|
// result not found
|
||||||
if (!$isUserValue) {
|
if (!$isUserValue) {
|
||||||
// system pref
|
// system pref
|
||||||
$sql = "INSERT INTO cc_pref (keystr, valstr)"
|
$sql = "INSERT INTO cc_pref (keystr, valstr)"
|
||||||
." VALUES (:key, :value)";
|
." VALUES (:key, :value)";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// user pref
|
// user pref
|
||||||
$sql = "INSERT INTO cc_pref (subjid, keystr, valstr)"
|
$sql = "INSERT INTO cc_pref (subjid, keystr, valstr)"
|
||||||
." VALUES (:id, :key, :value)";
|
." VALUES (:id, :key, :value)";
|
||||||
|
@ -109,8 +104,7 @@ class Application_Model_Preference
|
||||||
$con);
|
$con);
|
||||||
|
|
||||||
$con->commit();
|
$con->commit();
|
||||||
}
|
} catch (Exception $e) {
|
||||||
catch (Exception $e) {
|
|
||||||
$con->rollback();
|
$con->rollback();
|
||||||
header('HTTP/1.0 503 Service Unavailable');
|
header('HTTP/1.0 503 Service Unavailable');
|
||||||
Logging::info("Database error: ".$e->getMessage());
|
Logging::info("Database error: ".$e->getMessage());
|
||||||
|
@ -118,7 +112,6 @@ class Application_Model_Preference
|
||||||
}
|
}
|
||||||
|
|
||||||
$cache->store($key, $value, $isUserValue, $userId);
|
$cache->store($key, $value, $isUserValue, $userId);
|
||||||
//Logging::info("SAVING {$key} {$userId} into cache. = {$value}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function getValue($key, $isUserValue = false)
|
private static function getValue($key, $isUserValue = false)
|
||||||
|
@ -129,15 +122,12 @@ class Application_Model_Preference
|
||||||
|
|
||||||
$userId = self::getUserId();
|
$userId = self::getUserId();
|
||||||
|
|
||||||
if ($isUserValue && is_null($userId)) {
|
if ($isUserValue && is_null($userId))
|
||||||
throw new Exception("User id can't be null for a user preference.");
|
throw new Exception("User id can't be null for a user preference.");
|
||||||
}
|
|
||||||
|
|
||||||
|
// If the value is already cached, return it
|
||||||
$res = $cache->fetch($key, $isUserValue, $userId);
|
$res = $cache->fetch($key, $isUserValue, $userId);
|
||||||
if ($res !== false) {
|
if ($res !== false) return $res;
|
||||||
//Logging::info("returning {$key} {$userId} from cache. = {$res}");
|
|
||||||
return $res;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Check if key already exists
|
//Check if key already exists
|
||||||
$sql = "SELECT COUNT(*) FROM cc_pref"
|
$sql = "SELECT COUNT(*) FROM cc_pref"
|
||||||
|
@ -157,8 +147,7 @@ class Application_Model_Preference
|
||||||
//return an empty string if the result doesn't exist.
|
//return an empty string if the result doesn't exist.
|
||||||
if ($result == 0) {
|
if ($result == 0) {
|
||||||
$res = "";
|
$res = "";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$sql = "SELECT valstr FROM cc_pref"
|
$sql = "SELECT valstr FROM cc_pref"
|
||||||
." WHERE keystr = :key";
|
." WHERE keystr = :key";
|
||||||
|
|
||||||
|
@ -556,9 +545,8 @@ class Application_Model_Preference
|
||||||
{
|
{
|
||||||
// When a new user is created they will get the default timezone
|
// When a new user is created they will get the default timezone
|
||||||
// setting which the admin sets on preferences page
|
// setting which the admin sets on preferences page
|
||||||
if (is_null($timezone)) {
|
if (is_null($timezone))
|
||||||
$timezone = self::GetDefaultTimezone();
|
$timezone = self::GetDefaultTimezone();
|
||||||
}
|
|
||||||
self::setValue("user_timezone", $timezone, true);
|
self::setValue("user_timezone", $timezone, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,8 +555,7 @@ class Application_Model_Preference
|
||||||
$timezone = self::getValue("user_timezone", true);
|
$timezone = self::getValue("user_timezone", true);
|
||||||
if (!$timezone) {
|
if (!$timezone) {
|
||||||
return self::GetDefaultTimezone();
|
return self::GetDefaultTimezone();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return $timezone;
|
return $timezone;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -580,8 +567,7 @@ class Application_Model_Preference
|
||||||
|
|
||||||
if (!is_null($userId)) {
|
if (!is_null($userId)) {
|
||||||
return self::GetUserTimezone();
|
return self::GetUserTimezone();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return self::GetDefaultTimezone();
|
return self::GetDefaultTimezone();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -612,9 +598,8 @@ class Application_Model_Preference
|
||||||
{
|
{
|
||||||
// When a new user is created they will get the default locale
|
// When a new user is created they will get the default locale
|
||||||
// setting which the admin sets on preferences page
|
// setting which the admin sets on preferences page
|
||||||
if (is_null($locale)) {
|
if (is_null($locale))
|
||||||
$locale = self::GetDefaultLocale();
|
$locale = self::GetDefaultLocale();
|
||||||
}
|
|
||||||
self::setValue("user_locale", $locale, true);
|
self::setValue("user_locale", $locale, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -624,8 +609,7 @@ class Application_Model_Preference
|
||||||
|
|
||||||
if (!is_null($userId)) {
|
if (!is_null($userId)) {
|
||||||
return self::GetUserLocale();
|
return self::GetUserLocale();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return self::GetDefaultLocale();
|
return self::GetDefaultLocale();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1419,9 +1403,8 @@ class Application_Model_Preference
|
||||||
public static function getReplayGainModifier() {
|
public static function getReplayGainModifier() {
|
||||||
$rg_modifier = self::getValue("replay_gain_modifier");
|
$rg_modifier = self::getValue("replay_gain_modifier");
|
||||||
|
|
||||||
if ($rg_modifier === "") {
|
if ($rg_modifier === "")
|
||||||
return "0";
|
return "0";
|
||||||
}
|
|
||||||
|
|
||||||
return $rg_modifier;
|
return $rg_modifier;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1137,7 +1137,6 @@ SELECT s.name,
|
||||||
s.genre,
|
s.genre,
|
||||||
s.id,
|
s.id,
|
||||||
si.id AS instance_id,
|
si.id AS instance_id,
|
||||||
si.description AS instance_description,
|
|
||||||
si.record,
|
si.record,
|
||||||
s.url,
|
s.url,
|
||||||
s.image_path,
|
s.image_path,
|
||||||
|
@ -1226,7 +1225,6 @@ SELECT si.starts AS start_timestamp,
|
||||||
s.description,
|
s.description,
|
||||||
s.id,
|
s.id,
|
||||||
si.id AS instance_id,
|
si.id AS instance_id,
|
||||||
si.description AS instance_description,
|
|
||||||
si.record,
|
si.record,
|
||||||
s.url,
|
s.url,
|
||||||
s.image_path,
|
s.image_path,
|
||||||
|
@ -1273,7 +1271,6 @@ SQL;
|
||||||
$results['previousShow'][0] = array(
|
$results['previousShow'][0] = array(
|
||||||
"id" => $rows[$i-1]['id'],
|
"id" => $rows[$i-1]['id'],
|
||||||
"instance_id" => $rows[$i-1]['instance_id'],
|
"instance_id" => $rows[$i-1]['instance_id'],
|
||||||
"instance_description" => $rows[$i-1]['instance_description'],
|
|
||||||
"name" => $rows[$i-1]['name'],
|
"name" => $rows[$i-1]['name'],
|
||||||
"description" => $rows[$i-1]['description'],
|
"description" => $rows[$i-1]['description'],
|
||||||
"url" => $rows[$i-1]['url'],
|
"url" => $rows[$i-1]['url'],
|
||||||
|
@ -1292,7 +1289,6 @@ SQL;
|
||||||
$results['nextShow'][0] = array(
|
$results['nextShow'][0] = array(
|
||||||
"id" => $rows[$i+1]['id'],
|
"id" => $rows[$i+1]['id'],
|
||||||
"instance_id" => $rows[$i+1]['instance_id'],
|
"instance_id" => $rows[$i+1]['instance_id'],
|
||||||
"instance_description" => $rows[$i+1]['instance_description'],
|
|
||||||
"name" => $rows[$i+1]['name'],
|
"name" => $rows[$i+1]['name'],
|
||||||
"description" => $rows[$i+1]['description'],
|
"description" => $rows[$i+1]['description'],
|
||||||
"url" => $rows[$i+1]['url'],
|
"url" => $rows[$i+1]['url'],
|
||||||
|
@ -1335,7 +1331,6 @@ SQL;
|
||||||
$results['previousShow'][0] = array(
|
$results['previousShow'][0] = array(
|
||||||
"id" => $rows[$previousShowIndex]['id'],
|
"id" => $rows[$previousShowIndex]['id'],
|
||||||
"instance_id" => $rows[$previousShowIndex]['instance_id'],
|
"instance_id" => $rows[$previousShowIndex]['instance_id'],
|
||||||
"instance_description" => $rows[$previousShowIndex]['instance_description'],
|
|
||||||
"name" => $rows[$previousShowIndex]['name'],
|
"name" => $rows[$previousShowIndex]['name'],
|
||||||
"description" => $rows[$previousShowIndex]['description'],
|
"description" => $rows[$previousShowIndex]['description'],
|
||||||
"start_timestamp" => $rows[$previousShowIndex]['start_timestamp'],
|
"start_timestamp" => $rows[$previousShowIndex]['start_timestamp'],
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
class Rest_MediaController extends Zend_Rest_Controller
|
class Rest_MediaController extends Zend_Rest_Controller
|
||||||
{
|
{
|
||||||
|
const MUSIC_DIRS_STOR_PK = 1;
|
||||||
|
|
||||||
|
const IMPORT_STATUS_SUCCESS = 0;
|
||||||
|
const IMPORT_STATUS_PENDING = 1;
|
||||||
|
const IMPORT_STATUS_FAILED = 2;
|
||||||
|
|
||||||
//fields that are not modifiable via our RESTful API
|
//fields that are not modifiable via our RESTful API
|
||||||
private static $blackList = array(
|
private static $blackList = array(
|
||||||
'id',
|
'id',
|
||||||
|
@ -215,6 +220,8 @@ class Rest_MediaController extends Zend_Rest_Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
$file = CcFilesQuery::create()->findPk($id);
|
$file = CcFilesQuery::create()->findPk($id);
|
||||||
|
// Since we check for this value when deleting files, set it first
|
||||||
|
$file->setDbDirectory(self::MUSIC_DIRS_STOR_PK);
|
||||||
|
|
||||||
$requestData = json_decode($this->getRequest()->getRawBody(), true);
|
$requestData = json_decode($this->getRequest()->getRawBody(), true);
|
||||||
$whiteList = $this->removeBlacklistedFieldsFromRequestData($requestData);
|
$whiteList = $this->removeBlacklistedFieldsFromRequestData($requestData);
|
||||||
|
@ -251,7 +258,7 @@ class Rest_MediaController extends Zend_Rest_Controller
|
||||||
->setHttpResponseCode(200)
|
->setHttpResponseCode(200)
|
||||||
->appendBody(json_encode(CcFiles::sanitizeResponse($file)));
|
->appendBody(json_encode(CcFiles::sanitizeResponse($file)));
|
||||||
} else {
|
} else {
|
||||||
$file->setDbImportStatus(2)->save();
|
$file->setDbImportStatus(self::IMPORT_STATUS_FAILED)->save();
|
||||||
$this->fileNotFoundResponse();
|
$this->fileNotFoundResponse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -263,6 +270,7 @@ class Rest_MediaController extends Zend_Rest_Controller
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$id = $this->getId();
|
$id = $this->getId();
|
||||||
if (!$id) {
|
if (!$id) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -390,33 +390,22 @@ class Application_Service_ShowFormService
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Before we send the form data in for validation, there
|
* Before we send the form data in for validation, there
|
||||||
* are a few fields we may need to adjust first
|
* are a few fields we may need to adjust first
|
||||||
|
*
|
||||||
* @param $formData
|
* @param $formData
|
||||||
*/
|
*/
|
||||||
public function preEditShowValidationCheck($formData)
|
public function preEditShowValidationCheck($formData)
|
||||||
{
|
{
|
||||||
$validateStartDate = true;
|
// If the start date or time were disabled, don't validate them
|
||||||
$validateStartTime = true;
|
$validateStartDate = $formData['start_date_disabled'] === "false";
|
||||||
|
$validateStartTime = $formData['start_time_disabled'] === "false";
|
||||||
|
|
||||||
//CcShowDays object of the show currently being edited
|
//CcShowDays object of the show currently being edited
|
||||||
$currentShowDay = $this->ccShow->getFirstCcShowDay();
|
$currentShowDay = $this->ccShow->getFirstCcShowDay();
|
||||||
|
|
||||||
//DateTime object
|
//DateTime object
|
||||||
$dt = $currentShowDay->getLocalStartDateAndTime();
|
$dt = $currentShowDay->getLocalStartDateAndTime();
|
||||||
|
|
||||||
if (!array_key_exists('add_show_start_date', $formData)) {
|
|
||||||
//Changing the start date was disabled, since the
|
|
||||||
//array key does not exist. We need to repopulate this entry from the db.
|
|
||||||
$formData['add_show_start_date'] = $dt->format("Y-m-d");
|
|
||||||
|
|
||||||
if (!array_key_exists('add_show_start_time', $formData)) {
|
|
||||||
$formData['add_show_start_time'] = $dt->format("H:i");
|
|
||||||
$validateStartTime = false;
|
|
||||||
}
|
|
||||||
$validateStartDate = false;
|
|
||||||
}
|
|
||||||
$formData['add_show_record'] = $currentShowDay->getDbRecord();
|
$formData['add_show_record'] = $currentShowDay->getDbRecord();
|
||||||
|
|
||||||
//if the show is repeating, set the start date to the next
|
//if the show is repeating, set the start date to the next
|
||||||
|
@ -440,9 +429,7 @@ class Application_Service_ShowFormService
|
||||||
$ccShowInstance = CcShowInstancesQuery::create()
|
$ccShowInstance = CcShowInstancesQuery::create()
|
||||||
->filterByDbShowId($this->ccShow->getDbId())
|
->filterByDbShowId($this->ccShow->getDbId())
|
||||||
->filterByDbModifiedInstance(false)
|
->filterByDbModifiedInstance(false)
|
||||||
->filterByDbEnds(gmdate("Y-m-d H:i:s"), Criteria::GREATER_THAN)
|
->filterByDbStarts(gmdate("Y-m-d H:i:s"), Criteria::GREATER_THAN)
|
||||||
->orderByDbStarts()
|
|
||||||
->limit(1)
|
|
||||||
->findOne();
|
->findOne();
|
||||||
|
|
||||||
$starts = new DateTime($ccShowInstance->getDbStarts(), new DateTimeZone("UTC"));
|
$starts = new DateTime($ccShowInstance->getDbStarts(), new DateTimeZone("UTC"));
|
||||||
|
@ -455,6 +442,7 @@ class Application_Service_ShowFormService
|
||||||
return array($starts, $ends);
|
return array($starts, $ends);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Validates show forms
|
* Validates show forms
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
$topTextClass = "";
|
$topTextClass = "";
|
||||||
if (array_key_exists("planupdated", $_GET))
|
if (array_key_exists("planupdated", $_GET))
|
||||||
{
|
{
|
||||||
$topText = _("<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle.");
|
$topText = _pro("<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle.");
|
||||||
$topTextClass = "status-good";
|
$topTextClass = "status-good";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$topText = _("Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button.");
|
$topText = _pro("Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button.");
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -2,19 +2,25 @@
|
||||||
<h2><?php echo _("About") ?></h2>
|
<h2><?php echo _("About") ?></h2>
|
||||||
<p>
|
<p>
|
||||||
<?php
|
<?php
|
||||||
echo sprintf(_("%sAirtime%s %s, the open radio software for scheduling and remote station management. %s"),
|
|
||||||
"<a href='http://airtime.sourcefabric.org' target='_blank'>",
|
$productSiteAnchor = "<a href='" . PRODUCT_SITE_URL . "' target='_blank'>"
|
||||||
"</a>",
|
. PRODUCT_NAME
|
||||||
$this->airtime_version,
|
. "</a>";
|
||||||
"<br />")
|
echo sprintf(_('%1$s %2$s, the open radio software for scheduling and remote station management.'),
|
||||||
|
$productSiteAnchor,
|
||||||
|
$this->airtime_version)
|
||||||
?>
|
?>
|
||||||
<br>© 2013
|
<br />
|
||||||
|
<br />© 2013
|
||||||
<?php
|
<?php
|
||||||
echo sprintf(_("%sSourcefabric%s z.ú Airtime is distributed under the %sGNU GPL v.3%s"),
|
$companySiteAnchor = "<a href='" . COMPANY_SITE_URL . "' target='_blank'>"
|
||||||
"<a href='http://www.sourcefabric.org' target='_blank'>",
|
. COMPANY_NAME . " " . COMPANY_SUFFIX
|
||||||
"</a>",
|
. "</a>";
|
||||||
"<a href='http://www.gnu.org/licenses/gpl-3.0-standalone.html' target='_blank'>",
|
$licenseAnchor = "<a href='" . LICENSE_URL . "' target='_blank'>"
|
||||||
"</a>")
|
. LICENSE_VERSION
|
||||||
|
. "</a>";
|
||||||
|
echo sprintf(_('%1$s %2$s is distributed under the %3$s'),
|
||||||
|
$companySiteAnchor, PRODUCT_NAME, $licenseAnchor)
|
||||||
?>
|
?>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<div class="gray-logo"></div>
|
<div class="gray-logo"></div>
|
||||||
<div class="text-content">
|
<div class="text-content">
|
||||||
<h2><?php echo _("Welcome to Airtime!") ?></h2>
|
<h2><?php echo sprintf(_("Welcome to %s!"), PRODUCT_NAME) ?></h2>
|
||||||
<p><?php echo _("Here's how you can get started using Airtime to automate your broadcasts: ")?></p>
|
<p><?php echo sprintf(_("Here's how you can get started using %s to automate your broadcasts: "), PRODUCT_NAME)?></p>
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li><?php echo _("Begin by adding your files to the library using the 'Add Media' menu button. You can drag and drop your files to this window too.")?></li>
|
<li><?php echo _("Begin by adding your files to the library using the 'Add Media' menu button. You can drag and drop your files to this window too.")?></li>
|
||||||
|
@ -10,8 +10,12 @@
|
||||||
<li><?php echo _("Select your media from the left pane and drag them to your show in the right pane."); ?></li>
|
<li><?php echo _("Select your media from the left pane and drag them to your show in the right pane."); ?></li>
|
||||||
</ol>
|
</ol>
|
||||||
<p><strong><?php echo _("Then you're good to go!")?></strong><br />
|
<p><strong><?php echo _("Then you're good to go!")?></strong><br />
|
||||||
<?php echo sprintf(_("For more detailed help, read the %suser manual%s."),
|
<?php
|
||||||
"<a href='http://www.sourcefabric.org/en/airtime/manuals/' target='_blank'>",
|
$userManualAnchorOpen = "<a href='" . USER_MANUAL_URL . "' target='_blank'>";
|
||||||
"</a>") ?></p>
|
echo sprintf(_("For more detailed help, read the %suser manual%s."),
|
||||||
|
$userManualAnchorOpen, "</a>")
|
||||||
|
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -40,9 +40,8 @@
|
||||||
<?php foreach($watched_dirs as $watched_dir): ?>
|
<?php foreach($watched_dirs as $watched_dir): ?>
|
||||||
<dd class="block-display selected-item">
|
<dd class="block-display selected-item">
|
||||||
<?php echo ($watched_dir->getExistsFlag())?"":"<span class='ui-icon-alert'><img src='/css/images/warning-icon.png'></span>"?><span id="folderPath" style="display:block; width:350px"><?php echo htmlspecialchars($watched_dir->getDirectory());?></span></span>
|
<?php echo ($watched_dir->getExistsFlag())?"":"<span class='ui-icon-alert'><img src='/css/images/warning-icon.png'></span>"?><span id="folderPath" style="display:block; width:350px"><?php echo htmlspecialchars($watched_dir->getDirectory());?></span></span>
|
||||||
<span title="<?php echo _("Rescan watched directory (This is useful if it is network mount and may be out of sync with Airtime)")?>" class="ui-icon ui-icon-refresh"></span>
|
<span title="<?php echo sprintf(_("Rescan watched directory (This is useful if it is network mount and may be out of sync with %s)"), PRODUCT_NAME)?>" class="ui-icon ui-icon-refresh"></span>
|
||||||
<span title="<?php echo _("Remove watched directory")?>" class="ui-icon ui-icon-close"></span>
|
<span title="<?php echo _("Remove watched directory")?>" class="ui-icon ui-icon-close"></span>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<dl class="zend_form">
|
<dl class="zend_form">
|
||||||
<dt class="block-display info-text">
|
<dt class="block-display info-text">
|
||||||
<?php echo sprintf(_("Help Airtime improve by letting us know how you are using it. This info "
|
<?php echo sprintf(_('Help %1$s improve by letting us know how you are using it. This info '
|
||||||
."will be collected regularly in order to enhance your user experience.%s"
|
.'will be collected regularly in order to enhance your user experience.%2$s'
|
||||||
."Click 'Yes, help Airtime' and we'll make sure the features you use are "
|
.'Click \'Yes, help %1$s\' and we\'ll make sure the features you use are '
|
||||||
."constantly improving."), "<br /><br />") ?>
|
.'constantly improving.'), PRODUCT_NAME, "<br /><br />") ?>
|
||||||
</dt>
|
</dt>
|
||||||
<dd id="SupportFeedback-element" class="block-display">
|
<dd id="SupportFeedback-element" class="block-display">
|
||||||
<label class="optional" for="SupportFeedback">
|
<label class="optional" for="SupportFeedback">
|
||||||
|
@ -22,10 +22,12 @@
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</dd>
|
</dd>
|
||||||
<dt class="block-display info-text">
|
<dt class="block-display info-text">
|
||||||
<?php echo sprintf(_("Click the box below to advertise your station on %sSourcefabric.org%s."
|
<?php
|
||||||
." In order to promote your station, 'Send support feedback' must be enabled. This data will be collected in addition to the support feedback."),
|
$whosUsingAnchor = "<a id='link_to_whos_using' href='" . WHOS_USING_URL . "' onclick='window.open(this.href); return false'>"
|
||||||
"<a id='link_to_whos_using' href='http://sourcefabric.org/en/airtime/whosusing' onclick='window.open(this.href); return false'>",
|
. COMPANY_SITE
|
||||||
"</a>")?>
|
. "</a>";
|
||||||
|
echo sprintf(_("Click the box below to promote your station on %s."), $whosUsingAnchor)
|
||||||
|
?>
|
||||||
</dt>
|
</dt>
|
||||||
<dd id="publicize-element" class="block-display">
|
<dd id="publicize-element" class="block-display">
|
||||||
<label class="optional" for="Publicise">
|
<label class="optional" for="Publicise">
|
||||||
|
@ -175,7 +177,7 @@
|
||||||
<?php echo $this->element->getElement('Privacy')->getLabel() ?>
|
<?php echo $this->element->getElement('Privacy')->getLabel() ?>
|
||||||
</label>
|
</label>
|
||||||
<?php }else{?>
|
<?php }else{?>
|
||||||
<a id="link_to_terms_and_condition" href="http://www.sourcefabric.org/en/about/policy/" onclick="window.open(this.href); return false;"><?php echo _("Terms and Conditions") ?></a>
|
<a id="link_to_terms_and_condition" href="<?php echo TERMS_AND_CONDITIONS_URL ?>" onclick="window.open(this.href); return false;"><?php echo _("Terms and Conditions") ?></a>
|
||||||
<?php }?>
|
<?php }?>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<div id="login" class="login-content clearfix">
|
<div id="login" class="login-content clearfix">
|
||||||
<?php if(isset($this->demo) && $this->demo == 1){?>
|
<?php if(isset($this->demo) && $this->demo == 1){?>
|
||||||
<p style="font-weight:bold">
|
<p style="font-weight:bold">
|
||||||
<?php echo _("Welcome to the Airtime demo! You can log in using the username 'admin' and the password 'admin'.")?>
|
<?php echo sprintf(_("Welcome to the %s demo! You can log in using the username 'admin' and the password 'admin'."), PRODUCT_NAME)?>
|
||||||
</p>
|
</p>
|
||||||
<?php }?>
|
<?php }?>
|
||||||
<p class="light" style='<?php echo $this->error?"color:#902d2d;font-size:11px;padding:2px 4px;background:#c6b4b4;margin-bottom:2px;border:1px solid #c83f3f;":""?>'><?php echo $this->message; ?></p>
|
<p class="light" style='<?php echo $this->error?"color:#902d2d;font-size:11px;padding:2px 4px;background:#c6b4b4;margin-bottom:2px;border:1px solid #c83f3f;":""?>'><?php echo $this->message; ?></p>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<div class="trial-box-calendar-gray"><?php echo _("days") ?></div>
|
<div class="trial-box-calendar-gray"><?php echo _("days") ?></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="trial-box-button">
|
<div class="trial-box-button">
|
||||||
<a title="<?php echo _("Purchase an Airtime Pro plan!")?>" href="/billing/upgrade"><?php echo _("My Account") ?></a>
|
<a title="<?php echo sprintf(_("Purchase an %s Pro plan!"), PRODUCT_NAME)?>" href="/billing/upgrade"><?php echo _("My Account") ?></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php }?>
|
<?php }?>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<!--
|
<!--
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td><?php echo _("Airtime Version") ?></td>
|
<td><?php echo sprintf(_("%s Version"), PRODUCT_NAME) ?></td>
|
||||||
<td>1.9.3</td>
|
<td>1.9.3</td>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/az/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/az/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/cs_CZ/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/cs_CZ/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/de_AT/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/de_AT/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/de_DE/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/de_DE/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/el_GR/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/el_GR/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/en_CA/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/en_CA/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/en_GB/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/en_GB/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/en_US/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/en_US/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/es_ES/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/es_ES/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/fr_FR/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/fr_FR/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/hr_HR/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/hr_HR/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/hu_HU/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/hu_HU/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/hy/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/hy/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/hy_AM/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/hy_AM/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/it_IT/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/it_IT/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/ja/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/ja/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/ja_JP/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/ja_JP/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/ka/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/ka/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/ko_KR/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/ko_KR/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/nl_NL/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/nl_NL/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/pl_PL/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/pl_PL/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/pt_BR/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/pt_BR/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/ru_RU/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/ru_RU/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/si/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/si/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
7
airtime_mvc/locale/sr_RS/LC_MESSAGES/pro.po
Normal file
7
airtime_mvc/locale/sr_RS/LC_MESSAGES/pro.po
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:7
|
||||||
|
msgid "<b>Thank you!</b> Your plan has been updated and you will be invoiced during your next billing cycle."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: airtime_mvc/application/views/scripts/billing/invoices.phtml:11
|
||||||
|
msgid "Tip: To pay an invoice, click \"View Invoice\"<br> and look for the \"Checkout\" button."
|
||||||
|
msgstr ""
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue