Esempio n. 1
0
function getManagementOfXML($fSelectorX, $fDivX, $labelX, $collection_id, $package_id, $itemName, $errorInDownload, $loc4msg, &$fCount, $resultMsg)
{
    $resultText = '';
    $isMultiPart = stripos($fSelectorX, '$') !== FALSE;
    $basename = DCTL_PROJECT_PATH . $collection_id;
    if ($package_id != '') {
        $basename .= SYS_PATH_SEP . $package_id;
    }
    $dPath = $basename;
    $regexp = str_ireplace(DCTL_PACKAGE_BODY_REGEXP1, DCTL_PACKAGE_BODY_REGEXP2, $fSelectorX);
    $variants = array();
    $handle = opendir($dPath);
    while ($entry = readdir($handle)) {
        if (substr($entry, 0, 1) != '.') {
            if ($entry == DCTL_PACKAGE_FRONT || $entry == DCTL_PACKAGE_BACK || $isMultiPart) {
                $variants[] = $entry;
            }
        }
    }
    $variants = array_values(preg_grep('/^' . $regexp . '/', $variants));
    $idx = count($variants);
    sort($variants);
    $fDiv0 = str_ireplace('$', '', $fDivX);
    $label0 = str_ireplace('$', '', $labelX);
    $resultText .= putOpenCloseLevel($fDiv0, $loc4msg, false, 'Gestione ' . $label0 . ' di "' . $itemName . '" (' . $idx . ')', &$resultMsg);
    if ($errorInDownload && $loc4msg == $fDiv0) {
        $resultText .= '<span class="error">ATTENZIONE: il file "' . $_REQUEST['file'] . '" di "' . $itemName . '" è già stato bloccato... download annullato!</span><br />';
    }
    $resultText .= '<table>';
    $resultText .= '<thead>';
    $resultText .= '<tr>';
    $resultText .= '<th class="label">nome</th>';
    $resultText .= '<th>ult. modifica</th>';
    $resultText .= '<th>operazioni</th>';
    $resultText .= '<th>utente</th>';
    $resultText .= '</tr>';
    $resultText .= '</thead>';
    $resultText .= '<tbody>';
    foreach ($variants as $vKey => $fSelector) {
        switch ($vKey) {
            case 0:
                $label = str_ireplace('$', 'iniziale <em>(front)</em>', $labelX);
                break;
            case count($variants) - 1:
                $vKey = 999;
                $label = str_ireplace('$', 'finale <em>(back)</em>', $labelX);
                break;
            default:
                $idx = sprintf("%03d", $vKey);
                $label = str_ireplace('$', $idx . ' <em>(body)</em>', $labelX);
                break;
        }
        $idx = sprintf("%03d", $vKey);
        $fDiv = str_ireplace('$', $vKey, $fDivX);
        $fSelector = str_ireplace('$', $idx, $fSelectorX);
        $fPath = $basename . SYS_PATH_SEP . $fSelector;
        $who = '';
        $content = array();
        $label .= '<br/><span class="morelink">';
        getPartRecord($fPath, &$packageRecord);
        if ($packageRecord['part_work'] != '') {
            $label .= $packageRecord['part_work'];
        } else {
            $label .= '???';
        }
        $label .= '</span>';
        $isLocked = checkIfLocked($fPath, &$who, &$content);
        $resultText .= '<tr>';
        $resultText .= '<td>' . $label . '</td>';
        if (is_file($fPath)) {
            $resultText .= '<td>' . date("d-m-y H:i", filemtime($fPath)) . '</td>';
            if ($isLocked) {
                if ($who == DCTL_USER_ID) {
                    $fCount++;
                    $resultText .= '<td>';
                    $resultText .= '<form id="form' . $fDiv0 . '" action="' . $_SERVER['SCRIPT_NAME'] . '" method="' . DCTL_FORM_METHOD_POST . '" enctype="' . DCTL_FORM_ENCTYPE_POST . '">';
                    $resultText .= '<fieldset>';
                    $resultText .= '<span class="dctl_ok"><img src="' . DCTL_IMAGES . 'file_alert.gif" alt="(alert icon)" />&#160;' . 'Ricarica file</span><br />';
                    $resultText .= '<input type="file" name="FILE' . $fCount . '" value="' . $fPath . '" />';
                    $resultText .= '<input type="hidden" name="PATH" value="' . $fPath . '" />';
                    $resultText .= '<input type="hidden" name="ext" value="txt" />';
                    $resultText .= SYS_DBL_SPACE . '<input type="submit" name="upload" value="invia" />';
                    $resultText .= '</fieldset>';
                    $resultText .= '<br />';
                    $resultText .= '<fieldset>';
                    $resultText .= '<span class="dctl_ko"><img src="' . DCTL_IMAGES . 'file_alert.gif" alt="(alert icon)" />&#160;' . 'Sblocca il file senza ricaricare</span>';
                    $resultText .= '<input type="hidden" name="PATH" value="' . $fPath . '" />';
                    $resultText .= '<input type="hidden" name="ext" value="txt" />';
                    $resultText .= SYS_DBL_SPACE . '<input type="submit" name="reset" value="sblocca" />';
                    $resultText .= '</fieldset>';
                    $resultText .= '<fieldset>';
                    $resultText .= '<input type="hidden" name="posx" value="' . $fDiv0 . '" />';
                    $resultText .= '<input type="hidden" name="collection_id" value="' . $collection_id . '" />';
                    $resultText .= '<input type="hidden" name="package_id" value="' . $package_id . '" />';
                    $resultText .= '</fieldset>';
                    $resultText .= '</form>';
                    $resultText .= '</td>';
                    $resultText .= '<td><span class="dctl_ok">' . $who . '</span></td>';
                } else {
                    $resultText .= '<td><span class="dctl_ko"><img src="' . DCTL_IMAGES . 'page_lock.gif" alt="(locked file icon)" />&#160;&#160;' . 'File bloccato</span></td>';
                    $resultText .= '<td><span class="dctl_ko">' . $who . '</span></td>';
                }
            } else {
                $resultText .= '<td id="xml-' . $fDiv . '">';
                $resultText .= '<a href="indexDownload.php?';
                $resultText .= 'file=' . $fPath . '&amp;';
                $resultText .= 'lock=yes&amp;';
                $resultText .= 'user='******'&amp;';
                $resultText .= 'error=yes&amp;';
                $resultText .= 'posx=' . $fDiv0 . '&amp;';
                $resultText .= 'collection_id=' . $collection_id . '&amp;';
                $resultText .= 'package_id=' . $package_id . '&amp;';
                $resultText .= '" onclick="javascript:document.getElementById(\'xml-' . $fDiv . '\').innerHTML=\'';
                $resultText .= '(bloccato)';
                $resultText .= '\'';
                $resultText .= '" title="scarica il file e blocca">';
                $resultText .= '<img src="' . DCTL_IMAGES . 'page_down.gif" alt="(download file icon)" />' . SYS_DBL_SPACE;
                $resultText .= 'Scarica e blocca</a>';
                $resultText .= '</td>';
                $resultText .= '<td>' . '-' . '</td>';
            }
        } else {
            $resultText .= '<td>' . '<span class="error">(missing)</span>' . '</td>';
            $resultText .= '<td>' . '-' . '</td>';
            $resultText .= '<td>' . '-' . '</td>';
        }
        $resultText .= '</tr>';
    }
    if ($isMultiPart) {
        if (DCTL_USER_IS_EDITOR) {
            $resultText .= '<tr>';
            $resultText .= '<td>&#160;</td>';
            $resultText .= '<td>&#160;</td>';
            $resultText .= '<td>';
            $resultText .= '<form id="form' . $fDiv0 . '" action="' . $_SERVER['SCRIPT_NAME'] . '" method="' . DCTL_FORM_METHOD . '" enctype="' . DCTL_FORM_ENCTYPE . '">';
            $resultText .= '<fieldset>';
            $resultText .= '<input name="createPart" type="submit" value="Crea nuova Parte..." />';
            $resultText .= '<input type="hidden" name="posx" value="' . $fDiv0 . '" />';
            $resultText .= '<input type="hidden" name="collection_id" value="' . $collection_id . '" />';
            $resultText .= '<input type="hidden" name="package_id" value="' . $package_id . '" />';
            $resultText .= '</fieldset>';
            $resultText .= '</form>';
            $resultText .= '</td>';
            $resultText .= '<td>&#160;</td>';
            $resultText .= '</tr>';
        }
    }
    $resultText .= '</tbody>';
    $resultText .= '</table>';
    $resultText .= '<br /></div>';
    return $resultText;
}
Esempio n. 2
0
 getPackageRecord($packagePath, &$packageRecord);
 $package_short = $packageRecord['package_short'];
 $returnText .= '<h2>Package "' . $packageRecord['package_short'] . ' - ' . $packageRecord['package_work'] . '"</h2>';
 $package_ext = explode('_', $package_id);
 $package_ext = strtolower('_' . $package_ext[count($package_ext) - 1]);
 if (!in_array($package_ext, $EXTENSION_PACKAGE)) {
     $returnText .= '<span class="error">ERRORE: correggere il package "' . $packageRecord['package_short'] . '" ... estensione non riconosciuta!</span><br />';
 } else {
     $header = $packagePath . DCTL_FILE_HEADER;
     $contents = cleanUpIndentation(file_get_contents($header));
     $select = $PACKAGE_FIELDS['label'];
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     //
     // EDIT PACKAGE
     $fDiv0 = 'divEditPackage';
     $returnText .= putOpenCloseLevel($fDiv0, $loc4msg, $isEditPackage, 'Frontespizio Elettronico di "' . $package_short . '"', &$resultMsg);
     $returnText .= putEdit('editPack');
     if ($isEditPackage) {
         $returnText .= '<form action="' . $_SERVER['PHP_SELF'] . '" method="' . DCTL_FORM_METHOD . '" enctype="' . DCTL_FORM_ENCTYPE . '">';
         $returnText .= '<fieldset>';
     }
     $returnText .= '<table>';
     $returnText .= '<thead>';
     $returnText .= '<tr>';
     $returnText .= '<th class="label">nome</th>';
     $returnText .= '<th>contenuto</th>';
     $returnText .= '</tr>';
     $returnText .= '</thead>';
     $returnText .= '<tbody>';
     $lines = explode('<!ENTITY ', $contents);
     foreach ($select as $field => $label) {
Esempio n. 3
0
 $returnText .= '</fieldset>';
 $returnText .= '</form>';
 $prosecute = in_array($packagePath, $packageList['path']);
 if ($prosecute) {
     getPackageRecord($packagePath, &$packageRecord);
     $package_short = $packageRecord['package_short'];
     $returnText .= '<h2>Package "' . $packageRecord['package_short'] . ' - ' . $packageRecord['package_work'] . '"</h2>';
     $header = $packagePath . DCTL_FILE_HEADER;
     $contents = cleanUpIndentation(file_get_contents($header));
     $select = $PACKAGE_FIELDS['label'];
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     //
     // PUBBLICA
     $isPublished_pub = false;
     $fDiv0 = 'divPublishPackage';
     $returnText .= putOpenCloseLevel($fDiv0, $loc4msg, $package_id != '', 'Procedure di Pubblicazione di "' . $packageRecord['package_short'] . '"', &$resultMsg);
     $packageState = '';
     $packageState .= '<img src="' . DCTL_IMAGES . 'published_no.png" alt="(unpublished icon)" />';
     $packageState .= '&#160;non pubblicato';
     $path2load = XMLDB_DBCTL_PUB . $collection_id . DB_PATH_SEP . $collection_id . DCTL_RESERVED_INFIX . $package_id . '.xml';
     $xquery = '';
     $xquery .= ' declare namespace xmldb="http://exist-db.org/xquery/xmldb"; ';
     $xquery .= ' if (fn:doc-available("' . $path2load . '")) then ';
     $xquery .= ' let $date := fn:adjust-dateTime-to-timezone(xmldb:last-modified("' . dirname($path2load) . '","' . basename($path2load) . '")) ';
     $xquery .= ' return ';
     $xquery .= ' <span>{fn:day-from-dateTime($date)}-{fn:month-from-dateTime($date)}-{fn:year-from-dateTime($date)}&#160;@&#160;{fn:hours-from-dateTime($date)}:{fn:minutes-from-dateTime($date)}</span> ';
     $xquery .= ' else fn:string("") ';
     $result = $existQuery->xquery($xquery) or dump($existQuery->getError());
     $resource = (array) $result;
     if (isset($resource['XML']) ? $resource['XML'] : false) {
         $isPublished_pub = true;