Example #1
0
 /**
  * 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;
         }
     }
 }