Esempio n. 1
0
if (!isset($_REQUEST['brand'])) {
    $product_list = file2json('http://repo.provisioner.net/endpoint/' . $_REQUEST['id'] . '/brand_data.json');
    $product_list = $product_list['data']['brands']['family_list'];
    $out[0]['optionValue'] = "";
    $out[0]['optionDisplay'] = "";
    $i = 1;
    foreach ($product_list as $list) {
        $family_list = file2json('http://repo.provisioner.net/endpoint/' . $_REQUEST['id'] . '/' . $list['directory'] . '/family_data.json');
        $family_list = $family_list['data']['model_list'];
        foreach ($family_list as $model_l) {
            $out[$i]['optionValue'] = $list['directory'] . '+' . $model_l['model'];
            $out[$i]['optionDisplay'] = $model_l['model'];
            $i++;
        }
        $out[$i]['optionValue'] = "--";
        $out[$i]['optionDisplay'] = "--";
        $i++;
    }
} else {
    $list = explode('+', $_REQUEST['prodmod']);
    $model = $list[1];
    $product = $list[0];
    $family_list = file2json('http://repo.provisioner.net/endpoint/' . $_REQUEST['id'] . '/' . $product . '/family_data.json');
    $key = arraysearchrecursive($model, $family_list['data']['model_list'], 'model');
    $count = isset($family_list['data']['model_list'][$key[0]]['lines']) ? $family_list['data']['model_list'][$key[0]]['lines'] : '1';
    for ($i = 0; $i <= $count; $i++) {
        $out[$i]['optionValue'] = $i + 1;
        $out[$i]['optionDisplay'] = $i + 1;
    }
}
echo json_encode($out);
Esempio n. 2
0
 $data = array();
 $temp = file2json(PROVISIONER_PATH . "endpoint/" . $brand . "/" . $product . "/family_data.json");
 $test = arraysearchrecursive($model, $temp, 'model');
 if (!$test) {
     jsondie('cant find model');
 }
 $data['phone_data']['brand'] = $brand;
 $data['phone_data']['product'] = $product;
 $data['phone_data']['model'] = $model;
 $data['admin'] = TRUE;
 $data['lines'] = $temp['data']['model_list'][$test[2]]['lines'];
 $files = $temp['data']['model_list'][$test[2]]['template_data'];
 array_unshift($files, PROVISIONER_PATH . "../../global_template_data.json");
 foreach ($files as $files_data) {
     if ($files_data != 'line_options_22.json' and file_exists(PROVISIONER_PATH . "endpoint/" . $brand . "/" . $product . "/" . $files_data)) {
         $temp_files_data = file2json(PROVISIONER_PATH . "endpoint/" . $brand . "/" . $product . "/" . $files_data);
         foreach ($temp_files_data['template_data']['category'] as $category) {
             $category_name = $category['name'];
             foreach ($category['subcategory'] as $subcategory) {
                 $subcategory_name = $subcategory['name'];
                 $items_fin = array();
                 $items_loop = array();
                 foreach ($subcategory['item'] as $item) {
                     switch ($item['type']) {
                         case 'loop_line_options':
                             for ($i = 1; $i <= $data['lines']; $i++) {
                                 $var_nam = "lineloop|line_" . $i;
                                 foreach ($item['data']['item'] as $item_loop) {
                                     if ($item_loop['type'] != 'break') {
                                         $z = str_replace("\$", "", $item_loop['variable']);
                                         $items_loop[$var_nam][$z] = $item_loop;
Esempio n. 3
0
function create_brand_pkg($rawname, $version, $brand_name, $old_brand_timestamp, $c_message)
{
    global $brands_html, $supported_phones, $force;
    $pkg_name = $rawname;
    if (!file_exists(RELEASE_DIR . "/" . $rawname)) {
        mkdir(RELEASE_DIR . "/" . $rawname);
    }
    $family_max_array = array();
    //Clear family array
    $z = 0;
    foreach (glob(MODULES_DIR . "/" . $rawname . "/*", GLOB_ONLYDIR) as $family_folders) {
        flush_buffers();
        if (file_exists($family_folders . "/family_data.json")) {
            $family_xml = file2json($family_folders . "/family_data.json");
            $old_firmware_ver = $family_xml['data']['firmware_ver'];
            echo "\n\t==========" . $family_xml['data']['name'] . "==========\n";
            echo "\tFound family_data.json in " . $family_folders . "\n";
            $b = 0;
            foreach ($family_xml['data']['model_list'] as $data) {
                $supported_phones[$brand_name][$z][$b] = $data['model'];
                $b++;
            }
            $i = 0;
            $dir_iterator = new RecursiveDirectoryIterator($family_folders . "/");
            $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);
            foreach ($iterator as $family_files) {
                if (!is_dir($family_files) && dirname($family_files) != $family_folders . "/firmware" && dirname($family_files) != $family_folders . "/json") {
                    $path_parts = pathinfo($family_files);
                    if (basename($family_files) != "family_data.json") {
                        $files_array[$i] = filemtime($family_files);
                        echo "\t\tParsing File: " . basename($family_files) . "|" . $files_array[$i] . "\n";
                        $i++;
                    }
                }
            }
            $family_max = max($files_array);
            $family_max_array[$z] = $family_max;
            echo "\t\t\tTotal Family Timestamp: " . $family_max . "\n";
            if (file_exists(FIRMWARE_DIR . "/" . $rawname . "/" . $family_xml['data']['directory'] . "/firmware")) {
                echo "\t\tFound Firmware Folder in " . $family_xml['data']['directory'] . "\n";
                $firmware_files_array = array();
                //Clear firmware array
                flush_buffers();
                $x = 0;
                foreach (glob(FIRMWARE_DIR . "/" . $rawname . "/" . $family_xml['data']['directory'] . "/firmware/*") as $firmware_files) {
                    flush_buffers();
                    if (!is_dir($firmware_files)) {
                        $firmware_files_array[$x] = filemtime($firmware_files);
                        echo "\t\t\t\tParsing File: " . basename($firmware_files) . "|" . $firmware_files_array[$x] . "\n";
                        $x++;
                    }
                }
                $firmware_max = max($firmware_files_array);
                echo "\t\t\t\t\tTotal Firmware Timestamp: " . $firmware_max . "\n";
                if ($force or $firmware_max != $old_firmware_ver) {
                    echo "\t\t\tFirmware package has changed...\n";
                    echo "\t\t\tCreating Firmware Package\n";
                    exec("tar zcf " . RELEASE_DIR . "/" . $rawname . "/" . $family_xml['data']['directory'] . "_firmware.tgz --exclude .svn -C " . FIRMWARE_DIR . "/" . $rawname . "/" . $family_xml['data']['directory'] . " firmware");
                    $firmware_md5 = md5_file(RELEASE_DIR . "/" . $rawname . "/" . $family_xml['data']['directory'] . "_firmware.tgz");
                    echo "\t\t\tPackage MD5 SUM: " . $firmware_md5 . "\n";
                    echo "\t\t\tAdding Firmware Package Information to family_data.json File\n";
                    if ($firmware_max > $family_max) {
                        echo "\t\t\tFirmware Timestamp is newer than Family Timestamp, updating Family Timestamp to match\n";
                        $family_max = $firmware_max;
                        $family_max_array[$z] = $family_max;
                    }
                    $family_array = file2json($family_folders . "/family_data.json");
                    $family_array['data']['firmware_ver'] = $firmware_max;
                    $family_array['data']['firmware_md5sum'] = $firmware_md5;
                    $family_array['data']['firmware_pkg'] = $family_xml['data']['directory'] . "_firmware.tgz";
                    file_put_contents($family_folders . "/family_data.json", json_format(json_encode($family_array)));
                } else {
                    echo "\t\t\tFirmware has not changed, not updating package\n";
                }
            }
            $z++;
            echo "\tComplete..Continuing..\n";
            $family_list[] = array('id' => $family_xml['data']['id'], 'name' => $family_xml['data']['name'], 'directory' => $family_xml['data']['directory'], 'description' => $family_xml['data']['description'], 'changelog' => $family_xml['data']['changelog'], 'last_modified' => $family_xml['data']['last_modified']);
        }
    }
    echo "\n\t==========" . $brand_name . "==========\n";
    echo "\tCreating Completed Package\n";
    $fp = fopen(MODULES_DIR . "/" . $rawname . "/brand_data.json", 'r');
    $contents = fread($fp, filesize(MODULES_DIR . "/" . $rawname . "/brand_data.json"));
    fclose($fp);
    $brand_array = file2json(MODULES_DIR . "/" . $rawname . "/brand_data.json");
    $brand_array['data']['brands']['family_list'] = array();
    $brand_array['data']['brands']['family_list'] = $family_list;
    $brand_array['data']['brands']['package'] = $pkg_name;
    $i = 0;
    foreach (glob(MODULES_DIR . "/" . $rawname . "/*") as $brand_files) {
        if (!is_dir($brand_files) and basename($brand_files) != "brand_data.json" and basename($brand_files) != "brand_data.json") {
            $brand_files_array[$i] = filemtime($brand_files);
            echo "\t\tParsing File: " . basename($brand_files) . "|" . $brand_files_array[$i] . "\n";
            $i++;
        }
    }
    $brand_max = max($brand_files_array);
    $temp = max($family_max_array);
    $brand_max = max($brand_max, $temp);
    echo "\t\t\tTotal Brand Timestamp: " . $brand_max . "\n";
    if ($force or $brand_max != $old_brand_timestamp) {
        $brand_array['data']['brands']['last_modified'] = $brand_max;
        $brand_array['data']['brands']['changelog'] = $c_message;
        $brand_array['data']['brands']['package'] = $pkg_name . ".tgz";
        file_put_contents(MODULES_DIR . "/" . $rawname . "/brand_data.json", json_format(json_encode($brand_array)));
        copy(MODULES_DIR . "/" . $rawname . "/brand_data.json", RELEASE_DIR . "/" . $rawname . "/" . $rawname . ".json");
        mkdir(RELEASE_DIR . "/" . $rawname . "/");
        exec("tar zcf " . RELEASE_DIR . "/" . $rawname . "/" . $pkg_name . ".tgz --exclude .svn --exclude firmware -C " . MODULES_DIR . " " . $rawname);
        $brand_md5 = md5_file(RELEASE_DIR . "/" . $rawname . "/" . $pkg_name . ".tgz");
        echo "\t\tPackage MD5 SUM: " . $brand_md5 . "\n";
        $brand_array['data']['brands']['md5sum'] = $brand_md5;
        file_put_contents(MODULES_DIR . "/" . $rawname . "/brand_data.json", json_format(json_encode($brand_array)));
        copy(MODULES_DIR . "/" . $rawname . "/brand_data.json", RELEASE_DIR . "/" . $rawname . "/" . $rawname . ".json");
        $brands_html .= "==== " . $rawname . " (Last Modified: " . date('m/d/Y', $brand_max) . " at " . date("G:i", $brand_max) . ") ====\n";
        $brands_html .= "XML File: [http://www.provisioner.net/release/v3/" . $rawname . "/" . $rawname . ".json " . $rawname . ".json]\n\n";
        $brands_html .= "Package File: [http://www.provisioner.net/release/v3/" . $rawname . "/" . $pkg_name . ".tgz " . $pkg_name . ".tgz]\n";
        echo "\tComplete..Continuing..\n";
    } else {
        $brands_html .= "==== " . $rawname . " (Last Modified: " . date('m/d/Y', $brand_max) . " at " . date("G:i", $brand_max) . ") ====\n";
        $brands_html .= "XML File: [http://www.provisioner.net/release/v3/" . $rawname . "/" . $rawname . ".json " . $rawname . ".json]\n\n";
        $brands_html .= "Package File: [http://www.provisioner.net/release/v3/" . $rawname . "/" . $pkg_name . ".tgz " . $pkg_name . ".tgz]\n";
        echo "\tNothing changed! Aborting Package Creation!\n";
    }
}
Esempio n. 4
0
<?php

$brands_list = file2json('http://repo.provisioner.net/endpoint/master.json');
$brands_list = $brands_list['data']['brands'];
require_once '../includes/json.php';
if (!class_exists("DateTimeZone")) {
    require_once '../includes/timezone.php';
}
$zones = DateTimeZone::listIdentifiers();
?>
<html>
<head>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
	<script type="text/javascript" charset="utf-8">
	$(function(){
		$("select#brand").change(function(){
            $.ajaxSetup({ cache: false });
			$.getJSON("ajax.php?atype=model",{id: $(this).val()}, function(j){
				var options = '';
				for (var i = 0; i < j.length; i++) {
					options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
				}
				$("#model_demo").html(options);
				$('#model_demo option:first').attr('selected', 'selected');
			})
		})
	})
	$(function(){
		$("select#model_demo").change(function(){
            $.ajaxSetup({ cache: false });
			var brand = '';