Resolved gh-463 to insure data types that require length is enforced by default in the GUI.

This commit is contained in:
2019-09-12 22:06:52 +02:00
parent bb798abe8c
commit 773a753323
25 changed files with 1392 additions and 1205 deletions

View File

@ -7317,8 +7317,8 @@ class Get
$code = $this->reversePlaceholders($code, $placeholders, $target, $query[2], $query[1], $query[0]);
// update the GUI/Tables/Database
$object = new stdClass();
$object->id = (int) $target[2];
$object->{$target[1]} = base64_encode($code); // (TODO) this may not always work...
$object->id = (int) $query[2];
$object->{$query[1]} = base64_encode($code); // (TODO) this may not always work...
// update the value in GUI
$this->db->updateObject('#__componentbuilder_' . (string) $query[0], $object, 'id');
}

View File

@ -2459,8 +2459,9 @@ abstract class ComponentbuilderHelper
if (($repoData = self::getFileContents($_url)) !== false && self::checkJson($repoData))
{
$github_returned = json_decode($repoData);
if (self::checkString($target) && self::checkObject($github_returned) &&
isset($github_returned->{$target}) && self::checkArray($github_returned->{$target}) )
if (self::checkString($target) &&
( (self::checkObject($github_returned) && isset($github_returned->{$target}) && self::checkArray($github_returned->{$target})) ||
(self::checkArray($github_returned) && isset($github_returned[$target]) && self::checkArray($github_returned[$target])) ))
{
if ('nomemory' !== $type)
{
@ -2468,7 +2469,7 @@ abstract class ComponentbuilderHelper
self::set($type, $repoData);
}
}
elseif (!self::checkString($target) && self::checkObject($github_returned) && !isset($github_returned->message))
elseif (!self::checkString($target) && (self::checkArray($github_returned) || (self::checkObject($github_returned) && !isset($github_returned->message))))
{
if ('nomemory' !== $type)
{