Example #1
0
function makeMetaData($class, $json)
{
    $classObject = array();
    foreach ($json as $key => $object) {
        $propery = new stdClass();
        $propery->name = $key;
        $propery->is_collection = false;
        //$propery->debug = $object;
        if (is_array($object)) {
            $propery->type = className($key);
            $propery->is_collection = true;
            makeMetaData($key, $object[0]);
        } elseif (is_numeric($object)) {
            $propery->type = "NSNumber";
        } elseif (is_bool($object)) {
            $propery->type = "BOOL";
        } elseif (is_string($object)) {
            $propery->type = "NSString";
        } else {
            $propery->type = "NSString";
        }
        $classObject[] = $propery;
    }
    addClassToMetaData($class, $classObject);
}
Example #2
0
            function createItemList($itemlist, $depth = 0) {
                global $blocking;
                $out = "";
                $ident = "";
                for ($i = 0; $i < $depth; $i++) {
                    $ident .= "    ";
                }
                foreach ($itemlist as $item) {
                    $identifier = "I_" . $item['ID'];
                    $out .= $ident . '<item identifier="' . $identifier . '" isvisible="true" ';
                    if ($item['contentType'] != 'LABEL') {
                        $out .= 'identifierref="R_' . $item['ID'] . '" ';
                    }
                    $out .= '>' . "\n";
                    $out .= $ident . '    <title>' . htmlspecialchars($item['name']) . '</title>' . "\n";

                    // Check if previous was blocking
                    // not valid for scorm 2004
                    /* if (!empty($blocking) && ($item['contentType'] != 'LABEL'))
                      {
                      $out .= '        <adlcp:prerequisites type="aicc_script"><![CDATA[I_'.$blocking.']]></adlcp:prerequisites>'."\n";
                      } */

                    // Add metadata, except for LABELS
                    if ($item['contentType'] != 'LABEL') {
                        $out .= makeMetaData($item['name'], $item['itemComment'], $identifier);
                    }

                    if (!isset($item['children'])) {
                        // change only if we do not recurse.
                        $blocking = ($item['lock'] == 'CLOSE') ? $item['ID'] : '';
                    } else {
                        $out .= createItemList($item['children'], $depth + 1);
                    }
                    $out .= $ident . '</item>' . "\n";
                }
                return $out;
            }