Permalink
Browse files

Updated to 0.4.9 codebase

  • Loading branch information...
1 parent 9015158 commit 104979dd46fe626e3562a82ecbc6b682f4f7670c @mikeho mikeho committed Dec 8, 2009
@@ -4,5 +4,5 @@
<p>
<?php $_CONTROL->btnUpload->Render(); ?>
<?php $_CONTROL->btnCancel->Render(); ?>
- <img src="<?php _p(__IMAGE_ASSETS__) ?>/spacer.png" width="150" height="1" alt=""/><?php $_CONTROL->objSpinner->Render(); ?>
+ <img src="<?php _p(__VIRTUAL_DIRECTORY__ . __IMAGE_ASSETS__) ?>/spacer.png" width="150" height="1" alt=""/><?php $_CONTROL->objSpinner->Render(); ?>
</p>
@@ -74,19 +74,22 @@ function ToggleHidden(strDiv) { var obj = document.getElementById(strDiv); var s
</div><br />
<?php
- if (isset(QErrorHandler::$ErrorAttributeArray))
- foreach (QErrorHandler::$ErrorAttributeArray as QErrorHandler::$ErrorAttribute) {
- printf("<b>%s:</b>&nbsp;&nbsp;", QErrorHandler::$ErrorAttribute->Label);
- QErrorHandler::$JavascriptLabel = str_replace(" ", "", QErrorHandler::$ErrorAttribute->Label);
- if (QErrorHandler::$ErrorAttribute->MultiLine) {
+ if (isset(QErrorHandler::$ErrorAttributeArray)) {
+ foreach (QErrorHandler::$ErrorAttributeArray as $__exc_ObjErrorAttribute) {
+ printf("<b>%s:</b>&nbsp;&nbsp;", $__exc_ObjErrorAttribute->Label);
+ $__exc_StrJavascriptLabel = str_replace(" ", "", $__exc_ObjErrorAttribute->Label);
+ if ($__exc_ObjErrorAttribute->MultiLine) {
printf("\n<a href=\"javascript:ToggleHidden('%s')\">Show/Hide</a>",
- QErrorHandler::$JavascriptLabel);
+ $__exc_StrJavascriptLabel);
printf('<br /><br /><div id="%s" class="code" style="Display: none;"><pre>%s</pre></div><br />',
- QErrorHandler::$JavascriptLabel,
- htmlentities(QErrorHandler::$ErrorAttribute->Contents));
+ $__exc_StrJavascriptLabel,
+ htmlentities($__exc_ObjErrorAttribute->Contents));
} else
- printf("%s\n<br /><br />\n", htmlentities(QErrorHandler::$ErrorAttribute->Contents));
+ printf("%s\n<br /><br />\n", htmlentities($__exc_ObjErrorAttribute->Contents));
}
+ unset($__exc_StrJavascriptLabel);
+ unset($__exc_ObjErrorAttribute);
+ }
?>
<b>Call Stack:</b>
@@ -21,7 +21,8 @@ function QcodoHandleCodeGenParseError($__exc_errno, $__exc_errstr, $__exc_errfil
// PHP Reserved Words. They make up:
// Invalid Type names -- these are reserved words which cannot be Type names in any user type table
// Invalid Table names -- these are reserved words which cannot be used as any table name
- const PhpReservedWords = 'new, null, break, return, switch, self, case, const, clone, continue, declare, default, echo, else, elseif, empty, exit, eval, if, try, throw, catch, public, private, protected, function, extends, foreach, for, while, do, var, class, static, abstract, isset, unset, implements, interface, instanceof, include, include_once, require, require_once, abstract, and, or, xor, array, list, false, true, global, parent, print, exception, namespace, goto, final, endif, endswitch, enddeclare, endwhile, use, as, endfor, endforeach, this';
+ // Please refer to http://php.net/manual/en/reserved.php for more info
+ const PhpReservedWords = 'new, null, break, return, switch, self, case, const, clone, continue, declare, default, echo, else, elseif, empty, exit, eval, if, try, throw, catch, public, private, protected, function, extends, foreach, for, while, do, var, class, static, abstract, isset, unset, implements, interface, instanceof, include, include_once, require, require_once, abstract, and, or, xor, array, list, false, true, global, parent, print, exception, namespace, goto, final, endif, endswitch, enddeclare, endwhile, use, as, endfor, endforeach, this';
// Relative Paths (from __QCODO_CORE__) to the CORE Template and Subtemplate Directories
const TemplatesPath = '/codegen/templates/';
@@ -87,6 +88,12 @@ function QcodoHandleCodeGenParseError($__exc_errno, $__exc_errstr, $__exc_errfil
public static $RootErrors = '';
+ /**
+ * @var string[] array of directories to be excluded in codegen
+ * @access protected
+ */
+ protected static $DirectoriesToExcludeArray = array('.','..','.svn','cvs','.git');
+
public static function GetSettingsXml() {
$strCrLf = "\r\n";
@@ -256,8 +263,7 @@ public function GenerateFiles($strTemplatePrefix, $mixArgumentArray) {
// Go through standard templates first
$objDirectory = opendir($strTemplatePath);
while ($strModuleName = readdir($objDirectory))
- if (($strModuleName != '.') && ($strModuleName != '..') &&
- ($strModuleName != 'SVN') && ($strModuleName != 'CVS') &&
+ if ((!in_array(strtolower($strModuleName), array_map('strtolower', QCodeGen::$DirectoriesToExcludeArray))) &&
is_dir($strTemplatePath . '/' . $strModuleName)) {
// We're in a valid Module -- look for any _*.tpl template files
@@ -272,8 +278,7 @@ public function GenerateFiles($strTemplatePrefix, $mixArgumentArray) {
if (is_dir($strTemplatePathCustom)) {
$objDirectory = opendir($strTemplatePathCustom);
while ($strModuleName = readdir($objDirectory))
- if (($strModuleName != '.') && ($strModuleName != '..') &&
- ($strModuleName != 'SVN') && ($strModuleName != 'CVS') &&
+ if ((!in_array(strtolower($strModuleName), array_map('strtolower', QCodeGen::$DirectoriesToExcludeArray))) &&
is_dir($strTemplatePathCustom . '/' . $strModuleName)) {
$objModuleDirectory = opendir($strTemplatePathCustom . '/' . $strModuleName);
while ($strFilename = readdir($objModuleDirectory))
@@ -1157,3 +1162,4 @@ public function __set($strName, $mixValue) {
}
}
?>
+
@@ -508,9 +508,6 @@ public function Difference(QDateTime $dttDateTime) {
public function Add($dtsSpan){
if ($dtsSpan instanceof QDateTimeSpan) {
- // Get this DateTime timestamp
- $intTimestamp = $this->Timestamp;
-
// And add the Span Second count to it
$this->Timestamp = $this->Timestamp + $dtsSpan->Seconds;
return $this;
@@ -18,7 +18,7 @@
const Pdf = 'application/pdf';
const PlainText = 'text/plain';
const Png = 'image/png';
- const RichText = 'text/richtext';
+ const RichText = 'text/rtf';
const Quicktime = 'video/quicktime';
const WavAudio = 'audio/x-wav';
const Xml = 'text/xml';
@@ -1214,8 +1214,35 @@ public function UpdateQueryBuilder(QQueryBuilder $objBuilder) {
public function __toString() {
return 'QQLimitInfo Clause';
}
+ public function __get($strName) {
+ switch ($strName) {
+ case 'MaxRowCount': return $this->intMaxRowCount;
+ case 'Offset': return $this->intOffset;
+
+ default:
+ try {
+ return parent::__get($strName);
+ } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; }
+ }
+ }
+ public function __set($strName, $mixValue) {
+ switch ($strName) {
+ case 'MaxRowCount':
+ try {
+ return ($this->intMaxRowCount = QType::Cast($mixValue, QType::Integer));
+ } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; }
+ case 'Offset':
+ try {
+ return ($this->intOffset = QType::Cast($mixValue, QType::Integer));
+ } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; }
+ default:
+ try {
+ return (parent::__set($strName, $mixValue));
+ } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; }
+ }
+ }
}
-
+
class QQExpandVirtualNode extends QQClause {
protected $objNode;
public function __construct(QQVirtualNode $objNode) {
@@ -2,11 +2,11 @@
<!-- Generated by the Qcodo Build Maker and Qcodo Updater Utility -->
<!-- Do NOT delete or modify ANYTHING in this file. Doing so will break the Qcodo Updater service. -->
<manifest>
-<version>0.4.8</version>
+<version>0.4.9</version>
<major>0</major>
<minor>4</minor>
-<build>8</build>
-<type>Stable</type>
+<build>9</build>
+<type>Development</type>
<files>
<file directoryToken="__DOCROOT__" path="sample.php" md5="e3716074284c4c744818434daed4ad88"/>
<file directoryToken="__DOCROOT__" path="sample.tpl.php" md5="a33b0998253c2c5262e4a18126ad0743"/>
@@ -35,27 +35,27 @@
<file directoryToken="__IMAGE_ASSETS__" path="_core/move_drop.cur" md5="aed0aed62742536fb49330b618ee48a0"/>
<file directoryToken="__JS_ASSETS__" path="_README.txt" md5="f92c375a442551620ba09e3c4402595c"/>
<file directoryToken="__JS_ASSETS__" path="_core/calendar_popup.js" md5="3b10715a44eeea005ae2292571086571"/>
-<file directoryToken="__JS_ASSETS__" path="_core/event.js" md5="d9bb47094f7a9deefc545f01c76814cb"/>
+<file directoryToken="__JS_ASSETS__" path="_core/event.js" md5="9776a5949335aeeb00af121aa4274c64"/>
<file directoryToken="__JS_ASSETS__" path="_core/_form.js" md5="f39f04be2757377e723b1febbff9175a"/>
<file directoryToken="__JS_ASSETS__" path="_core/date_time_picker.js" md5="9b7fb368d9bae232643ad1bd9e6d14b0"/>
-<file directoryToken="__JS_ASSETS__" path="_core/_qc_packed.js" md5="d6219ac68890c57f332595f16ff3b4cc"/>
+<file directoryToken="__JS_ASSETS__" path="_core/_qc_packed.js" md5="9af790b9186458ccf3df8ff46b0187c2"/>
<file directoryToken="__JS_ASSETS__" path="_core/control_dialog.js" md5="9551bf4f732d2d776f0967cbb7fb40ae"/>
<file directoryToken="__JS_ASSETS__" path="_core/treenav.js" md5="24541bc513d12a9782de6c01ebcb3a84"/>
<file directoryToken="__JS_ASSETS__" path="_core/control_rollover.js" md5="7474007aa50156a3c02197ace08ea7a2"/>
<file directoryToken="__JS_ASSETS__" path="_core/logger.js" md5="e23388afca9a0848762814bd70e85fbd"/>
-<file directoryToken="__JS_ASSETS__" path="_core/post.js" md5="f4840688afb208903143a16335ef0fe8"/>
-<file directoryToken="__JS_ASSETS__" path="_core/control_resize.js" md5="0d23f2d9dbd398d14fa0e4385ddb6c53"/>
+<file directoryToken="__JS_ASSETS__" path="_core/post.js" md5="6a5605eb419c1fee9c2e369c381b5b6f"/>
+<file directoryToken="__JS_ASSETS__" path="_core/control_resize.js" md5="430c0b2d0f54eeaa7588a81d9a4fcc6d"/>
<file directoryToken="__JS_ASSETS__" path="_core/qcodo.js" md5="5d5baad00afca11153d64b98bac3bc4f"/>
<file directoryToken="__JS_ASSETS__" path="_core/control_move.js" md5="8842b0f7a874e84e84dd3e3024b23b70"/>
<file directoryToken="__JS_ASSETS__" path="_core/control_handle.js" md5="2e1b1c1dfc4d0adab4f7d7a69893602b"/>
<file directoryToken="__JS_ASSETS__" path="_core/calendar.js" md5="3a8e1da6baf32eca605135242b053c19"/>
-<file directoryToken="__JS_ASSETS__" path="_core/control.js" md5="ca48deffb0ddc7957fe6e54969d9033d"/>
+<file directoryToken="__JS_ASSETS__" path="_core/control.js" md5="5f050b3b1836fd95e0db5aef85924c5b"/>
<file directoryToken="__JS_ASSETS__" path="_core/listbox.js" md5="da8a05674b8ac18d7e8cc5d961897fea"/>
<file directoryToken="__PHP_ASSETS__" path="_require_prepend.inc.php" md5="caa307fcc45bd444f4b0afc5309320d0"/>
<file directoryToken="__PHP_ASSETS__" path="_README.txt" md5="f92c375a442551620ba09e3c4402595c"/>
<file directoryToken="__PHP_ASSETS__" path="_core/image.php" md5="e352cf607b5125ca5e2d1b4be48858bf"/>
<file directoryToken="__PHP_ASSETS__" path="_core/image_base.php" md5="4586ca6c2cdb0247612c929d78fc2a9b"/>
-<file directoryToken="__PHP_ASSETS__" path="_core/profile.php" md5="22a4fe163b9edc5d94bb075d9440d0f5"/>
+<file directoryToken="__PHP_ASSETS__" path="_core/profile.php" md5="7348be837c806cbb55ebda70de52055e"/>
<file directoryToken="__PHP_ASSETS__" path="_core/image_label.php" md5="8fb19df5bef88a02a8064bb1e4e7eb9a"/>
<file directoryToken="__PHP_ASSETS__" path="_core/error_already_rendered_page.php" md5="d48e38dcc72a115c3e6fa0a605148383"/>
<file directoryToken="__PHP_ASSETS__" path="_core/calendar.php" md5="ac5aae1a35250d4f70d960b34162e4ac"/>
@@ -114,10 +114,10 @@
<file directoryToken="__QCODO_CORE__" path="configuration.inc.php-full" md5="3493a4515bf4f5324a0da1afe2fd139d"/>
<file directoryToken="__QCODO_CORE__" path="QApplication.class.php-dist" md5="1ac1821c535e0be3cd24a2e282497566"/>
<file directoryToken="__QCODO_CORE__" path="configuration.inc.php-dist" md5="88bdace7a2448f917b87f4cd0f371283"/>
-<file directoryToken="__QCODO_CORE__" path="qcodo.inc.php" md5="2605ddaa46dde93ada3f9ab051a5e827"/>
+<file directoryToken="__QCODO_CORE__" path="qcodo.inc.php" md5="c9cb8b134df8dedf8d2e0f831f7672bd"/>
<file directoryToken="__QCODO_CORE__" path="assets/qcodo_info.inc.php" md5="2213dd7108236607513d2db35f48a524"/>
-<file directoryToken="__QCODO_CORE__" path="assets/error_dump.inc.php" md5="36915bdc7015781e019e615486474267"/>
-<file directoryToken="__QCODO_CORE__" path="assets/QFileAssetDialog.tpl.php" md5="609d59136b2efd29a4570547854e71f2"/>
+<file directoryToken="__QCODO_CORE__" path="assets/error_dump.inc.php" md5="cb665dc41b7f4778e37d43dff63cb2c3"/>
+<file directoryToken="__QCODO_CORE__" path="assets/QFileAssetDialog.tpl.php" md5="688ce325d722c871d9348758434930a6"/>
<file directoryToken="__QCODO_CORE__" path="assets/QFileAsset.tpl.php" md5="ff00d4fde9b2182e1a6a0410b9c932d8"/>
<file directoryToken="__QCODO_CORE__" path="qform_state_handlers/QSessionFormStateHandler.class.php" md5="864bcdbc8ca1aff97fec165b9af13998"/>
<file directoryToken="__QCODO_CORE__" path="qform_state_handlers/QFileFormStateHandler.class.php" md5="507f0b7bd62be88a27fff555dd6035fc"/>
@@ -134,7 +134,7 @@
<file directoryToken="__QCODO_CORE__" path="framework/QBaseClass.class.php" md5="fe6693e080ff9c5c1dcc3bfcb653cff1"/>
<file directoryToken="__QCODO_CORE__" path="framework/QType.class.php" md5="bf027338e0adf55a71e27147d510004b"/>
<file directoryToken="__QCODO_CORE__" path="framework/QQueryExpansion.class.php" md5="f06bc1a4891fa8aeb12bba9216b8d7cc"/>
-<file directoryToken="__QCODO_CORE__" path="framework/QMimeType.class.php" md5="2039c69a56aeb7ba97534fa9fa675cfd"/>
+<file directoryToken="__QCODO_CORE__" path="framework/QMimeType.class.php" md5="68b9b4e0dfd527dcef54da2c9059844d"/>
<file directoryToken="__QCODO_CORE__" path="framework/QI18n.class.php" md5="580021a998c38dc86687ca1a3b56e828"/>
<file directoryToken="__QCODO_CORE__" path="framework/QCliParameterProcessor.class.php" md5="6f0488f833a92325e3918037c736adc2"/>
<file directoryToken="__QCODO_CORE__" path="framework/QCryptography.class.php" md5="ecaa0da5e9cccb345a704308e446a792"/>
@@ -155,8 +155,8 @@
<file directoryToken="__QCODO_CORE__" path="framework/QDateTimeSpan.class.php" md5="471eac950708dcadd8fe1d13853bf6cc"/>
<file directoryToken="__QCODO_CORE__" path="framework/QDatabaseBase.class.php" md5="64518a71526483e6bdc8ab3b613f496d"/>
<file directoryToken="__QCODO_CORE__" path="framework/QString.class.php" md5="54984a0ebb033f9960e3d917c9d32150"/>
-<file directoryToken="__QCODO_CORE__" path="framework/QQuery.class.php" md5="54da82df0a4066cb35e03ac5352e44ca"/>
-<file directoryToken="__QCODO_CORE__" path="framework/QDateTime.class.php" md5="146178dd4d025e0d170e88e488794d24"/>
+<file directoryToken="__QCODO_CORE__" path="framework/QQuery.class.php" md5="a993b5634598d3808864580d50f4fc8f"/>
+<file directoryToken="__QCODO_CORE__" path="framework/QDateTime.class.php" md5="ef81b8fb67a4712ffd28612b05599d05"/>
<file directoryToken="__QCODO_CORE__" path="qform/QFontFamily.class.php" md5="783bf39b63187df9ca354b02275a2ffe"/>
<file directoryToken="__QCODO_CORE__" path="qform/QDataGridBase.class.php" md5="f26029d6c4f9674f70cfd1ea7c1887aa"/>
<file directoryToken="__QCODO_CORE__" path="qform/_actions.inc.php" md5="92d377f27c71c9d81ba6f0fab1af93b6"/>
@@ -182,7 +182,7 @@
<file directoryToken="__QCODO_CORE__" path="qform/QActionControl.class.php" md5="f167a5b841599c62afd2d99caac22a09"/>
<file directoryToken="__QCODO_CORE__" path="qform/QListBoxBase.class.php" md5="54200fa00f25f86aeb52ab3188388bb0"/>
<file directoryToken="__QCODO_CORE__" path="qform/QListControl.class.php" md5="c5e6ee8f42511dc45d57c1829bf379e7"/>
-<file directoryToken="__QCODO_CORE__" path="qform/QListItemStyle.class.php" md5="c9ac9db6d2a431cf075e2b12d124c724"/>
+<file directoryToken="__QCODO_CORE__" path="qform/QListItemStyle.class.php" md5="8e6821ca77e7c280dfa47078a09eec5a"/>
<file directoryToken="__QCODO_CORE__" path="qform/QTextBoxBase.class.php" md5="136aac65bf9747d2cf56a87c438628ee"/>
<file directoryToken="__QCODO_CORE__" path="qform/QDateTimeTextBox.class.php" md5="7a01a260a6e644fb9b33792e3567cb94"/>
<file directoryToken="__QCODO_CORE__" path="qform/QDialogBox.class.php" md5="1ca3440b1bf36024496c448b94ddea0b"/>
@@ -191,7 +191,7 @@
<file directoryToken="__QCODO_CORE__" path="qform/QPanel.class.php" md5="5d41c86a6c0ac2d36088d341ed867a20"/>
<file directoryToken="__QCODO_CORE__" path="qform/QImageButton.class.php" md5="e1bc1a85596721f185b67ca73109d302"/>
<file directoryToken="__QCODO_CORE__" path="qform/QBlockControl.class.php" md5="bf705605aa14402fdb40391465c95070"/>
-<file directoryToken="__QCODO_CORE__" path="qform/QFileAssetBase.class.php" md5="a9f29e183fb4cf5e79334028e90602a0"/>
+<file directoryToken="__QCODO_CORE__" path="qform/QFileAssetBase.class.php" md5="effa66fa3636b6f5b6f14e0e9943daf8"/>
<file directoryToken="__QCODO_CORE__" path="qform/QPaginatorBase.class.php" md5="34ae74f3e14ed5c834d0826950eb7cd1"/>
<file directoryToken="__QCODO_CORE__" path="qform/QFileAssetDialog.class.php" md5="838537e9d69999fadd5c8332c88616a5"/>
<file directoryToken="__QCODO_CORE__" path="qform/_enumerations.inc.php" md5="9713280406e52b0d0c29b45f8cfb2c1a"/>
@@ -213,7 +213,7 @@
<file directoryToken="__QCODO_CORE__" path="codegen/library.inc.php" md5="59be4de9995e2a200893643196dab095"/>
<file directoryToken="__QCODO_CORE__" path="codegen/QTable.class.php" md5="9b3c646fb42f39b3ffb897388c7dab90"/>
<file directoryToken="__QCODO_CORE__" path="codegen/QReverseReference.class.php" md5="2ef902f6413470ad6a63c1776ea3ada7"/>
-<file directoryToken="__QCODO_CORE__" path="codegen/QCodeGenBase.class.php" md5="b6e71d2a710a529fc8131ccafaea8183"/>
+<file directoryToken="__QCODO_CORE__" path="codegen/QCodeGenBase.class.php" md5="ba20378154e95d2b4fed8e4f227397de"/>
<file directoryToken="__QCODO_CORE__" path="codegen/QTypeTable.class.php" md5="901250e8e1ec6fd38acf1c3becc4f99f"/>
<file directoryToken="__QCODO_CORE__" path="codegen/QManyToManyReference.class.php" md5="ae21a58080c504dfaa74f523c2e7d9d0"/>
<file directoryToken="__QCODO_CORE__" path="codegen/QReference.class.php" md5="50ad4a0a84f2284bb9dd92558ef4df53"/>
@@ -31,7 +31,7 @@
*/
// Versioning Information
- define('QCODO_VERSION', '0.4.8');
+ define('QCODO_VERSION', '0.4.9');
// Preload Required Framework Classes
require(__QCODO_CORE__ . '/framework/QBaseClass.class.php');
@@ -123,9 +123,6 @@ public function btnDelete_Click() {
// Create a new shell FileAsset for this panel
$this->File = null;
$this->Refresh();
-
- // Temporary fix for Double DBox Render issue after Delete/Reupload
- QApplication::ExecuteJavaScript('document.getElementById(document.getElementById("Qform__FormId").value).removeChild(document.getElementById("' . $this->dlgFileAsset->ControlId . '_ctl"));');
}
public function __get($strName) {
@@ -133,7 +133,7 @@ public function GetAttributes($blnIncludeCustom = true, $blnIncludeAction = true
}
if ($strStyle)
- $strToReturn .= sprintf('style="%s" ', $strStyle);
+ $strToReturn .= sprintf(' style="%s" ', $strStyle);
return $strToReturn;
}

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -24,7 +24,7 @@
// Register Control - General
/////////////////////////////
- qcodo.controlModifications = new Array();
+ qcodo.controlModifications = {};
qcodo.javascriptStyleToQcodo = new Array();
qcodo.javascriptStyleToQcodo["backgroundColor"] = "BackColor";
qcodo.javascriptStyleToQcodo["borderColor"] = "BorderColor";
@@ -41,7 +41,7 @@
qcodo.recordControlModification = function(strControlId, strProperty, strNewValue) {
if (!qcodo.controlModifications[strControlId])
- qcodo.controlModifications[strControlId] = new Array();
+ qcodo.controlModifications[strControlId] = {};
qcodo.controlModifications[strControlId][strProperty] = strNewValue;
};
@@ -12,7 +12,7 @@
objWrapper.resizeLowerControls = new Array();
if (!objWrapper.handle) {
- if (qcodo.isBrowser(qcodo.SAFARI))
+ if (qcodo.isBrowser(qcodo.SAFARI) || qcodo.isBrowser(qcodo.CHROME))
qcodo.registerControlHandle(objControl, 'move');
else if (qcodo.isBrowser(qcodo.IE)) {
if (objWrapper.resizeDirectionVertical)
Oops, something went wrong.

0 comments on commit 104979d

Please sign in to comment.