/** * Saves an asset * * @param JTableAsset $asset * @param string $name * @param int $parentId * @param string $title * @param array $rules * * @return int|boolean */ protected static function saveAsset($asset, $name, $parentId, $title, $rules) { $asset->parent_id = $parentId; $asset->name = $name; $asset->title = $title; $error = $asset->getError(); if ($error) { return false; } else { if (empty($asset->id) || $asset->parent_id != $parentId) { $asset->setLocation($parentId, 'last-child'); } $temp = array(); foreach ($rules as $ruleName => $rules) { $temp[$ruleName] = array(); foreach ($rules as $userGroup => $permission) { if ($permission !== "") { $temp[$ruleName][(int) $userGroup] = (int) $permission; } } } $asset->rules = json_encode($temp); if (!$asset->check() || !$asset->store()) { return false; } else { return $asset->id; } } }