Exemple #1
0
function getCollectionRecord($exist, $thePath, &$collectionRecord, $filter = array())
{
    $collectionRecord = array();
    $collectionRecord['ref'] = '';
    $collectionRecord['desc'] = '';
    $collectionRecord['path'] = '';
    $collectionRecord['id'] = '';
    $collectionRecord['short'] = '';
    $collectionRecord['full'] = '';
    $collectionRecord['packages'] = array();
    $collection_id = basename($thePath);
    $thePath .= DB_PATH_SEP;
    $xml_resource = $thePath . $collection_id . DCTL_RESERVED_INFIX . DCTL_RESERVED_PREFIX . $collection_id . '.xml';
    $xquery = DCTL_XQUERY_BASE;
    $xquery .= ' let $node := doc("' . $xml_resource . '")/tei:TEI ';
    $xquery .= ' return ';
    $xquery .= ' <node';
    $xquery .= ' id="{$node/tei:teiHeader/tei:encodingDesc/tei:projectDesc/tei:p[@n=\'id\']}"';
    $xquery .= ' short="{$node/tei:teiHeader/tei:encodingDesc/tei:projectDesc/tei:p[@n=\'short\']}"';
    $xquery .= ' ref="{$node/@xml:id}"';
    $xquery .= ' desc="{$node/@n}"';
    $xquery .= '> ';
    $xquery .= ' </node> ';
    $result = $exist->xquery($xquery) or dump($exist->getError());
    $resultXML = (array) $result["XML"];
    foreach ($resultXML as $node) {
        $xml_node = $node;
        $xml_node = simplexml_load_string($xml_node, 'SimpleXMLElement', DCTL_XML_LOADER);
        $namespaces = $xml_node->getDocNamespaces();
        foreach ($namespaces as $nsk => $ns) {
            if ($nsk == '') {
                $nsk = 'tei';
            }
            $xml_node->registerXPathNamespace($nsk, $ns);
        }
        $collectionRecord['path'] = $xml_resource;
        $collectionRecord['ref'] = (string) $xml_node['ref'];
        $collectionRecord['desc'] = (string) $xml_node['desc'];
        $collectionRecord['id'] = (string) $xml_node['id'];
        $collectionRecord['short'] = (string) $xml_node['short'];
        $collectionRecord['full'] = cleanWebString($collectionRecord['id'] . ': ' . $collectionRecord['short'], FIELD_STRING_LENGTH) . SYS_DBL_SPACE;
        getPackageList($exist, $thePath, &$collectionRecord['packages'], $filter);
    }
}
Exemple #2
0
         $returnText .= $package_short;
     }
     $returnText .= '" />';
     $returnText .= SYS_DBL_SPACE;
     $returnText .= '<input type="submit" name="createPack" value="crea" />';
     $returnText .= '<input type="hidden" name="collection_id" value="' . $collection_id . '" />';
     $returnText .= '<input type="hidden" name="posx" value="' . $fDiv0 . '" />';
     $returnText .= '</fieldset>';
     $returnText .= '</form>';
     $returnText .= '<br /></div>';
 }
 //
 // SELEZIONA PACKAGE
 $fDiv0 = 'divSelectPackage';
 $packagePath = $collectionPath . $package_id . SYS_PATH_SEP;
 getPackageList($collectionPath, &$packageList, true);
 $returnText .= putOpenCloseLevel($fDiv0, $loc4msg, $package_id != '', 'Seleziona un Package di "' . $collection_short . '" (' . (count($packageList['path']) - 1) . ')', &$resultMsg);
 $returnText .= '<form id="form' . $fDiv0 . '" action="' . $_SERVER['PHP_SELF'] . '" method="' . DCTL_FORM_METHOD . '" enctype="' . DCTL_FORM_ENCTYPE . '">';
 $returnText .= '<fieldset>';
 $returnText .= '<label>Scegli:</label>';
 $returnText .= SYS_DBL_SPACE;
 $returnText .= '<select name="package_id" onchange="javascript:submitform(\'form' . $fDiv0 . '\')">';
 foreach ($packageList['path'] as $key => $fPath) {
     $returnText .= '<option value="' . $fPath . '"';
     if ($fPath == $packagePath) {
         $returnText .= ' selected="selected"';
     }
     $returnText .= '>';
     if ($fPath != '') {
         getPackageRecord($fPath, &$packageRecord);
         $returnText .= $packageRecord['package_full'];
Exemple #3
0
function ajax_loadFullTree($upToLevel = 0, $collection_id = '', $media_id = '', $package_id = '', $part_id = '')
{
    $resultText = '';
    // BEGIN
    $basePath = DCTL_PROJECT_PATH;
    $collectionPath = $basePath . $collection_id;
    if ($collection_id == '' || $upToLevel == 1) {
        // ALL COLLECTIONS
        $resultText .= '<ul>';
        getCollectionList($basePath, &$collectionList);
        foreach ($collectionList['path'] as $key => $fPath) {
            getCollectionRecord($fPath, &$collectionRecord);
            $selected = $collection_id == $collectionRecord['collection_id'];
            $resultText .= '<li' . ($selected ? ' class="open"' : '') . '>';
            $resultText .= '<span class="text"><span class="collection ' . ($selected ? ' selected' : '') . '">' . $collectionRecord['collection_full'] . '</span></span>';
            if ($selected) {
                $resultText .= ajax_loadTree(2, $collection_id, $media_id, $package_id, $part_id, $what);
            } else {
                $resultText .= '<ul' . ($selected ? '' : ' class="ajax"') . '>';
                $resultText .= '<li>{url:indexAjax.php?action=ajax_loadFullTree&amp;collection_id=' . $collectionRecord['collection_id'] . '}</li>';
                $resultText .= '</ul>';
            }
            $resultText .= '</li>';
        }
        $resultText .= '<li class="add"><span class="text">aggiungi Collection...</span></li>';
        $resultText .= '</ul>';
    } else {
        // ONE COLLECTION
        if ($package_id == '' && $media_id == '' || $upToLevel == 2) {
            $resultText .= '<ul>';
            $resultText .= '<li class="edit"><span class="text">edit Collection...</span></li>';
            $resultText .= '<li class="publish"><span class="text">Pubblicazione Web</span>';
            $resultText .= '<a href="#" title="Pubblica" class="publish"><span class="hidden">Pubblica</span></a>';
            $resultText .= '<a href="#" title="Ritira" class="unpublish"><span class="hidden">Ritira</span></a>';
            $resultText .= '</li>';
            // LOAD PACKAGES
            $resultText .= '<li' . ($package_id != '' ? ' class="open"' : '') . '>';
            $resultText .= '<span class="text">Gestione Package</span>';
            if ($package_id != '') {
                $resultText .= ajax_loadTree(3, $collection_id, '', $package_id, $part_id, $what);
            } else {
                $resultText .= '<ul' . ($package_id == '' ? ' class="ajax"' : '') . '>';
                $resultText .= '<li>{url:indexAjax.php?action=ajax_loadFullTree&amp;collection_id=' . $collection_id . '&amp;package_id=*}</li>';
                $resultText .= '</ul>';
            }
            $resultText .= '</li>';
            // LOAD MEDIA
            $resultText .= '<li' . ($media_id != '' ? ' class="open"' : '') . '>';
            $resultText .= '<span class="text">Gestione Media</span>';
            if ($media_id != '') {
                $resultText .= ajax_loadTree(3, $collection_id, $media_id, '', $part_id, $what);
            } else {
                $resultText .= '<ul' . ($media_id == '' ? ' class="ajax"' : '') . '>';
                $resultText .= '<li>{url:indexAjax.php?action=ajax_loadFullTree&amp;collection_id=' . $collection_id . '&amp;media_id=*}</li>';
                $resultText .= '</ul>';
            }
            $resultText .= '</li>';
            $resultText .= '</ul>';
        } else {
            if ($package_id != '') {
                if ($package_id == '*' || $upToLevel == 3) {
                    // ALL PACKAGES
                    $basePath = $collectionPath;
                    $packagePath = $basePath . $package_id;
                    $resultText .= '<ul>';
                    getPackageList($basePath, &$packageList);
                    foreach ($packageList['path'] as $key => $fPath) {
                        getPackageRecord($fPath, &$packageRecord);
                        $selected = $package_id == $packageRecord['package_id'];
                        $resultText .= '<li' . ($selected ? ' class="open"' : '') . '>';
                        $resultText .= '<span class="text"><span class="package' . ($selected ? ' selected' : '') . '">' . $packageRecord['package_full'] . '</span></span>';
                        if ($selected) {
                            $resultText .= ajax_loadTree(4, $collection_id, '', $package_id, $part_id, $what);
                        } else {
                            $resultText .= '<ul' . ($selected ? '' : ' class="ajax"') . '>';
                            $resultText .= '<li>{url:indexAjax.php?action=ajax_loadFullTree&amp;collection_id=' . $collection_id . '&amp;package_id=' . $packageRecord['package_id'] . '}</li>';
                            $resultText .= '</ul>';
                        }
                        $resultText .= '</li>';
                    }
                    $resultText .= '<li class="add"><span class="text">aggiungi Package...</span></li>';
                    $resultText .= '</ul>';
                } else {
                    if ($part_id == '' || $upToLevel == 4) {
                        $resultText .= '<ul>';
                        $resultText .= '<li class="edit"><span class="text">edit Package...</span></li>';
                        $resultText .= '<li class="publish"><span class="text">Pubblicazione Web</span>';
                        $resultText .= '<a href="#" title="Pubblica" class="publish"><span class="hidden">Pubblica</span></a>';
                        $resultText .= '<a href="#" title="Ritira" class="unpublish"><span class="hidden">Ritira</span></a>';
                        $resultText .= '</li>';
                        // LOAD PARTS
                        $resultText .= '<li' . ($part_id != '' ? ' class="open"' : '') . '>';
                        $resultText .= '<span class="text">Gestione Part</span>';
                        if ($part_id != '') {
                            $resultText .= ajax_loadTree(5, $collection_id, '', $package_id, $part_id, $what);
                        } else {
                            $resultText .= '<ul' . ($part_id == '' ? ' class="ajax"' : '') . '>';
                            $resultText .= '<li>{url:indexAjax.php?action=ajax_loadFullTree&amp;collection_id=' . $collection_id . '&amp;package_id=' . $package_id . '&amp;part_id=*}</li>';
                            $resultText .= '</ul>';
                        }
                        $resultText .= '</li>';
                        $resultText .= '</ul>';
                    } else {
                        // ALL PARTS
                        $basePath = $collectionPath . $package_id . SYS_PATH_SEP;
                        $partPath = $basePath . $part_id;
                        $resultText .= '<ul>';
                        getPartList($basePath, &$partList);
                        foreach ($partList['path'] as $key => $fPath) {
                            getPartRecord($fPath, &$partRecord);
                            $selected = $part_id == $partRecord['part_id'];
                            $resultText .= '<li' . ($selected ? ' class="open"' : '') . '>';
                            $resultText .= '<span class="text"><span class="part' . ($selected ? ' selected' : '') . '">' . cleanWebString($partRecord['part_short'] . ' - ' . $partRecord['part_work'], FIELD_STRING_LENGTH) . SYS_DBL_SPACE . '</span></span>';
                            $resultText .= '<a href="#" title="Scarica" class="dnload"><span class="hidden">Scarica</span></a>';
                            $resultText .= '<a href="#" title="Ricarica" class="upload"><span class="hidden">Ricarica</span></a>';
                            $resultText .= '</li>';
                        }
                        $resultText .= '<li class="add"><span class="text">aggiungi Part...</span></li>';
                        $resultText .= '</ul>';
                    }
                }
            }
            if ($media_id != '') {
                // ALL MEDIA
                $basePath = $collectionPath . DCTL_MEDIA_BIG;
                $mediaPath = $basePath . $media_id;
                $resultText .= '<ul>';
                getMediaList($basePath, &$mediaList);
                foreach ($mediaList['path'] as $key => $fPath) {
                    getMediaRecord($fPath, &$mediaRecord);
                    $selected = $media_id == $mediaRecord['media_id'];
                    $resultText .= '<li' . ($selected ? ' class="open"' : '') . '>';
                    $resultText .= '<span class="text"><span class="media' . ($selected ? ' selected' : '') . '">' . cleanWebString($mediaRecord['media_short'] . ' - ' . $mediaRecord['media_work'], FIELD_STRING_LENGTH) . SYS_DBL_SPACE . '</span></span>';
                    $resultText .= '<a href="#" title="Aggiorna" class="update"><span class="hidden">Aggiorna</span></a>';
                    $resultText .= '<a href="#" title="Elimina" class="delete"><span class="hidden">Elimina</span></a>';
                    $resultText .= '</li>';
                }
                $resultText .= '<li class="add"><span class="text">aggiungi Media...</span></li>';
                $resultText .= '</ul>';
            }
        }
    }
    return $resultText;
}