Example #1
0
            file_put_contents($filePath, $data);
        }
    }
    $instance->done($outputPath);
    umask($oldMask);
    //delete the api services xml schema file
    if ($fromXml && file_exists($tmpXmlFileName)) {
        unlink($tmpXmlFileName);
    }
    if (count($files) == 0) {
        //something went wrong in this generator?
        KalturaLog::info("No output files created [{$name}]");
    } else {
        //tar gzip the client library
        if (!$shouldNotPackage) {
            createPackage($outputPath, $name, $generatedDate, $schemaGenDateOverride);
        }
    }
    KalturaLog::info("{$name} generated successfully");
}
//write the summary file (will be used by the generator UI)
file_put_contents($outputPathBase . "/" . $summaryFileName, serialize($generatedClients));
exit(0);
/**
 * Build a packaged tarball for the client library.
 * @param $outputPath 		The path the client library files are located at.
 * @param $generatorName	The name of the client library.
 */
function createPackage($outputPath, $generatorName, $generatedDate, $overrideGenDate = null)
{
    KalturaLog::info("Trying to package");
<?php

if (isset($_GET['detail']) && $_GET['detail'] == 'create') {
    if (isset($_POST['package_name'], $_POST['package_price'], $_POST['package_discount'], $_POST['package_size'], $_POST['package_description'], $_POST['package_lifetime']) && !empty($_POST['package_name']) && !empty($_POST['package_price']) && !empty($_POST['package_discount']) && !empty($_POST['package_size']) && !empty($_POST['package_description']) && !empty($_POST['package_lifetime'])) {
        $msg = createPackage($_POST['package_name'], $_POST['package_price'], $_POST['package_discount'], $_POST['package_size'], $_POST['package_description'], $_POST['package_lifetime'], $db);
        if ($msg) {
            $response[] = 'Paket erfolgreich angelegt';
        } else {
            $response[] = 'Paket konnte nicht angelegt werden!';
        }
    } elseif (empty($_POST['package_name'])) {
        $response[] = 'Paketname!';
    } elseif (empty($_POST['package_price'])) {
        $response[] = 'Paketpreis!';
    } elseif (empty($_POST['package_discount'])) {
        $response[] = 'Paketrabatt!';
    } elseif (empty($_POST['package_size'])) {
        $response[] = 'Paketgröße!';
    } elseif (empty($_POST['package_description'])) {
        $response[] = 'Paketbeschreibung!';
    }
}
if (isset($_GET['detail']) && $_GET['detail'] == 'edit') {
    $msg = updatePackages($_POST, $db);
    if ($msg) {
        header('Location:/dashboard/packages');
    } else {
    }
}
// Paket als bezahlt markieren (einzeln)
$isPaid = filter_input(INPUT_POST, 'isPaid', FILTER_SANITIZE_STRING);
Example #3
0
function processProviderAssets($assets, $packageBasePath, $provider, $providerId, $config)
{
    global $verbose;
    $metadataPath = $config['metadata'];
    if (empty($metadataPath)) {
        $metadataPath = 'metadata.desktop';
    }
    $recreateCategoriesFile = false;
    $categories = array();
    $db = db_connection('write');
    foreach ($assets as $asset => $path) {
        if ($verbose) {
            print "Processing {$providerId} {$asset} at {$path}\n";
        }
        if (!is_file("{$path}/{$metadataPath}")) {
            if ($verbose) {
                print "No such thing as {$path}/{$metadataPath}, perhaps it was deleted?\n";
            }
            deleteAsset($providerId, $asset);
            continue;
        }
        $metadata = new INIFile("{$path}/{$metadataPath}");
        $plugin = $metadata->getValue('X-KDE-PluginInfo-Name', 'Desktop Entry');
        if (empty($plugin)) {
            print "No X-KDE-PluginInfo-Name entry in {$path}/{$metadataPath}\n";
            continue;
        }
        $packageFile = $metadata->getValue('X-Synchrotron-ContentUrl', 'Desktop Entry');
        $externalPackage = !empty($packageFile);
        if (!$externalPackage) {
            $packageFile = createPackage($plugin, $path, $packageBasePath, $config);
        }
        if (!$packageFile) {
            deleteAsset($providerId, $asset);
            continue;
        }
        $category = $metadata->getValue('X-KDE-PluginInfo-Category', 'Desktop Entry');
        if (empty($category)) {
            $category = 'Miscelaneous';
        }
        if (isset($categories[$category])) {
            $categoryId = $categories[$category];
        } else {
            unset($where);
            sql_addToWhereClause($where, '', 'provider', '=', $providerId);
            global $db_type;
            if ($db_type == 'postgres') {
                sql_addToWhereClause($where, 'and', 'name', 'ILIKE', $category);
            } else {
                sql_addToWhereClause($where, 'and', 'name', 'LIKE', $category);
            }
            $query = db_query($db, "SELECT id FROM categories WHERE {$where}");
            if (db_numRows($query) < 1) {
                unset($fields, $values);
                sql_addIntToInsert($fields, $values, 'provider', $providerId);
                sql_addScalarToInsert($fields, $values, 'name', $category);
                db_insert($db, 'categories', $fields, $values);
                $query = db_query($db, "SELECT id FROM categories WHERE {$where}");
                $recreateCategoriesFile = true;
            }
            list($categoryId) = db_row($query, 0);
            $categories[$category] = $categoryId;
        }
        unset($where);
        sql_addToWhereClause($where, '', 'provider', '=', $providerId);
        sql_addToWhereClause($where, 'and', 'id', '=', $plugin);
        $query = db_query($db, "select * from content where {$where};");
        if (db_numRows($query) > 0) {
            // just update the field
            unset($fields);
            sql_addScalarToUpdate($fields, 'version', $metadata->getValue('X-KDE-PluginInfo-Version', 'Desktop Entry'));
            sql_addScalarToUpdate($fields, 'author', $metadata->getValue('X-KDE-PluginInfo-Author', 'Desktop Entry'));
            sql_addScalarToUpdate($fields, 'homepage', $metadata->getValue('X-KDE-PluginInfo-Website', 'Desktop Entry'));
            //FIXME: get preview image from asset dir! sql_addScalarToUpdate($fields, 'preview', <image path>);
            sql_addScalarToUpdate($fields, 'name', $metadata->getValue('Name', 'Desktop Entry'));
            // FIXME: i18n
            sql_addScalarToUpdate($fields, 'description', $metadata->getValue('Comment', 'Desktop Entry'));
            sql_addIntToUpdate($fields, 'category', $categoryId);
            sql_addRawToUpdate($fields, 'updated', 'current_timestamp');
            sql_addScalarToUpdate($fields, 'package', $packageFile);
            sql_addBoolToUpdate($fields, 'externalPackage', $externalPackage);
            db_update($db, 'content', $fields, $where);
        } else {
            // new asset!
            unset($fields, $values);
            sql_addIntToInsert($fields, $values, 'provider', $providerId);
            sql_addScalarToInsert($fields, $values, 'id', $plugin);
            sql_addScalarToInsert($fields, $values, 'version', $metadata->getValue('X-KDE-PluginInfo-Version', 'Desktop Entry'));
            sql_addScalarToInsert($fields, $values, 'author', $metadata->getValue('X-KDE-PluginInfo-Author', 'Desktop Entry'));
            sql_addScalarToInsert($fields, $values, 'homepage', $metadata->getValue('X-KDE-PluginInfo-Website', 'Desktop Entry'));
            //FIXME: get preview image from asset dir! sql_addScalarToInsert($fields, $values, 'preview', <image path>);
            sql_addScalarToInsert($fields, $values, 'name', $metadata->getValue('Name', 'Desktop Entry'));
            // FIXME: i18n
            sql_addScalarToInsert($fields, $values, 'description', $metadata->getValue('Comment', 'Desktop Entry'));
            sql_addIntToInsert($fields, $values, 'category', $categoryId);
            sql_addScalarToInsert($fields, $values, 'package', $packageFile);
            sql_addBoolToInsert($fields, $values, 'externalPackage', $externalPackage);
            db_insert($db, 'content', $fields, $values);
        }
    }
    if ($recreateCategoriesFile) {
        createCategoriesFile($provider);
    }
}