/** * Add an asset * @since Version 3.9.1 * @param string $namespace * @param int $id * @param array $data * @return void */ public static function addAsset($namespace, $id, $data) { if (!is_array($data)) { throw new Exception("Cannot add asset - \$data must be an array"); return false; } $Database = (new AppCore())->getDatabaseConnection(); $data = array_merge($data, array("date" => new Zend_Db_Expr("NOW()"), "namespace" => $namespace, "namespace_key" => $id)); $meta = json_encode($data['meta']); /** * Handle UTF8 errors */ if (!$meta && json_last_error() === JSON_ERROR_UTF8) { $data['meta'] = ContentUtility::FixJSONEncode_UTF8($data['meta']); } else { $data['meta'] = $meta; } $Database->insert("asset", $data); return true; }