Example #1
0
?>

        <?php 
if ($ERROR) {
    print $ERROR;
} else {
    ?>

            <h1><?php 
    echo hsc(tpl_img_getTag('IPTC.Headline', $IMG));
    ?>
</h1>

            <div class="content">
                <?php 
    tpl_img(900, 700);
    /* parameters: maximum width, maximum height (and more) */
    ?>

                <div class="img_detail">
                    <h2><?php 
    print nl2br(hsc(tpl_img_getTag('simple.title')));
    ?>
</h2>

                    <dl>
                        <?php 
    $config_files = getConfigFiles('mediameta');
    foreach ($config_files as $config_file) {
        if (@file_exists($config_file)) {
            include $config_file;
Example #2
0
function tpl_draw_cell($task, $colname, $format = "<td class='%s'>%s</td>")
{
    global $fs, $proj, $page;
    $indexes = array('id' => 'task_id', 'project' => 'project_title', 'tasktype' => 'task_type', 'category' => 'category_name', 'severity' => '', 'priority' => '', 'summary' => 'item_summary', 'dateopened' => 'date_opened', 'status' => 'status_name', 'openedby' => 'opened_by_name', 'assignedto' => 'assigned_to_name', 'lastedit' => 'max_date', 'reportedin' => 'product_version', 'dueversion' => 'closedby_version', 'duedate' => 'due_date', 'comments' => 'num_comments', 'votes' => 'num_votes', 'attachments' => 'num_attachments', 'dateclosed' => 'date_closed', 'progress' => '', 'os' => 'os_name', 'private' => 'mark_private', 'supertask' => 'supertask_id');
    //must be an array , must contain elements and be alphanumeric (permitted  "_")
    if (!is_array($task) || empty($task) || preg_match('![^A-Za-z0-9_]!', $colname)) {
        //run away..
        return '';
    }
    switch ($colname) {
        case 'id':
            $value = tpl_tasklink($task, $task['task_id']);
            break;
        case 'summary':
            $value = tpl_tasklink($task, utf8_substr($task['item_summary'], 0, 55));
            if (utf8_strlen($task['item_summary']) > 55) {
                $value .= '...';
            }
            break;
        case 'severity':
            $value = $fs->severities[$task['task_severity']];
            break;
        case 'priority':
            $value = $fs->priorities[$task['task_priority']];
            break;
        case 'lastedit':
        case 'duedate':
        case 'dateopened':
        case 'dateclosed':
            $value = formatDate($task[$indexes[$colname]]);
            break;
        case 'status':
            if ($task['is_closed']) {
                $value = eL('closed');
            } else {
                $value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            }
            break;
        case 'progress':
            $value = tpl_img($page->get_image('percent-' . $task['percent_complete'], false), $task['percent_complete'] . '%');
            break;
        case 'assignedto':
            $value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            if ($task['num_assigned'] > 1) {
                $value .= ', +' . ($task['num_assigned'] - 1);
            }
            break;
        case 'private':
            $value = $task[$indexes[$colname]] ? L('yes') : L('no');
            break;
        case 'supertask':
            $value = tpl_tasklink($task, $task['supertask_id']);
            break;
        default:
            $value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            break;
    }
    return sprintf($format, 'task_' . $colname, $value);
}
Example #3
0
function tpl_draw_cell($task, $colname, $format = "<td class='%s'>%s</td>")
{
    global $fs, $proj, $page, $user;
    $indexes = array('id' => 'task_id', 'project' => 'project_title', 'tasktype' => 'task_type', 'tasktypename' => 'tasktype_name', 'category' => 'category_name', 'severity' => '', 'priority' => '', 'summary' => 'item_summary', 'dateopened' => 'date_opened', 'status' => 'status_name', 'openedby' => 'opened_by_name', 'assignedto' => 'assigned_to_name', 'lastedit' => 'max_date', 'reportedin' => 'product_version_name', 'dueversion' => 'closedby_version_name', 'duedate' => 'due_date', 'comments' => 'num_comments', 'votes' => 'num_votes', 'attachments' => 'num_attachments', 'dateclosed' => 'date_closed', 'progress' => '', 'os' => 'os_name', 'private' => 'mark_private', 'parent' => 'supertask_id', 'estimatedeffort' => 'estimated_effort');
    //must be an array , must contain elements and be alphanumeric (permitted  "_")
    if (!is_array($task) || empty($task) || preg_match('![^A-Za-z0-9_]!', $colname)) {
        //run away..
        return '';
    }
    $class = 'task_' . $colname;
    switch ($colname) {
        case 'id':
            $value = tpl_tasklink($task, $task['task_id']);
            break;
        case 'summary':
            $value = tpl_tasklink($task, utf8_substr($task['item_summary'], 0, 55));
            if (utf8_strlen($task['item_summary']) > 55) {
                $value .= '...';
            }
            break;
        case 'tasktype':
            $value = $task['tasktype_name'];
            $class .= ' typ' . $task['task_type'];
            break;
        case 'severity':
            $value = $task['task_severity'] == 0 ? '' : $fs->severities[$task['task_severity']];
            $class .= ' sev' . $task['task_severity'];
            break;
        case 'priority':
            $value = $task['task_priority'] == 0 ? '' : $fs->priorities[$task['task_priority']];
            $class .= ' pri' . $task['task_priority'];
            break;
        case 'lastedit':
        case 'duedate':
        case 'dateopened':
        case 'dateclosed':
            $value = formatDate($task[$indexes[$colname]]);
            break;
        case 'status':
            if ($task['is_closed']) {
                $value = eL('closed');
            } else {
                $value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            }
            break;
        case 'progress':
            $value = tpl_img($page->get_image('percent-' . $task['percent_complete'], false), $task['percent_complete'] . '%');
            break;
        case 'assignedto':
            $value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            if ($task['num_assigned'] > 1) {
                $value .= ', +' . ($task['num_assigned'] - 1);
            }
            break;
        case 'private':
            $value = $task[$indexes[$colname]] ? L('yes') : L('no');
            break;
        case 'parent':
            $value = '';
            if ($task['supertask_id'] > 0) {
                $value = tpl_tasklink($task, $task['supertask_id']);
            }
            break;
        case 'estimatedeffort':
            $value = '';
            if ($user->perms('view_estimated_effort')) {
                if ($task['estimated_effort'] > 0) {
                    $value = effort::SecondsToString($task['estimated_effort'], $proj->prefs['hours_per_manday'], $proj->prefs['estimated_effort_format']);
                }
            }
            break;
        case 'effort':
            $value = '';
            if ($user->perms('view_current_effort_done')) {
                if ($task['effort'] > 0) {
                    $value = effort::SecondsToString($task['effort'], $proj->prefs['hours_per_manday'], $proj->prefs['current_effort_done_format']);
                }
            }
            break;
        default:
            $value = '';
            // $colname here is NOT column name in database but a name that can appear
            // both in a projects visible fields and as a key in language translation
            // file, which is also used to draw a localized heading. Column names in
            // database customarily use _ t to separate words, translation file entries
            // instead do not and can be also be quite different. If you do see an empty
            // value when you expected something, check your usage, what visible fields
            // in database actually constains, and maybe add a mapping from $colname to
            // to the database column name to array $indexes at the beginning of this
            // function. Note that inconsistencies between $colname, database column
            // name, translation entry key and name in visible fields do occur sometimes
            // during development phase.
            if (array_key_exists($colname, $indexes)) {
                $value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            }
            break;
    }
    return sprintf($format, $class, $value);
}
Example #4
0
                <?php if(!$ERROR): ?>
                    <div class="pageId"><span><?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG)); ?></span></div>
                <?php endif; ?>

                <div class="page group">
                    <?php tpl_flush() ?>
                    <?php tpl_includeFile('pageheader.html') ?>
                    <!-- detail start -->
                    <?php
                    if($ERROR):
                        echo '<h1>'.$ERROR.'</h1>';
                    else: ?>

                        <h1><?php echo nl2br(hsc(tpl_img_getTag('simple.title'))); ?></h1>

                        <?php tpl_img(900,700); /* parameters: maximum width, maximum height (and more) */ ?>

                        <div class="img_detail">
                            <dl>
                                <?php
                                    // @todo: logic should be transferred to backend
                                    $config_files = getConfigFiles('mediameta');
                                    foreach ($config_files as $config_file) {
                                        if(@file_exists($config_file)) {
                                            include($config_file);
                                        }
                                    }

                                    foreach($fields as $key => $tag){
                                        $t = array();
                                        if (!empty($tag[0])) {
Example #5
0
function tpl_draw_cell($task, $colname, $format = "<td class='%s'>%s</td>")
{
    global $fs, $db, $proj, $page, $user;
    $indexes = array('id' => 'task_id', 'project' => 'project_title', 'tasktype' => 'task_type', 'tasktypename' => 'tasktype_name', 'category' => 'category_name', 'severity' => '', 'priority' => '', 'summary' => 'item_summary', 'dateopened' => 'date_opened', 'status' => 'status_name', 'openedby' => 'opened_by', 'openedbyname' => 'opened_by_name', 'assignedto' => 'assigned_to_name', 'lastedit' => 'max_date', 'editedby' => 'last_edited_by', 'reportedin' => 'product_version_name', 'dueversion' => 'closedby_version_name', 'duedate' => 'due_date', 'comments' => 'num_comments', 'votes' => 'num_votes', 'attachments' => 'num_attachments', 'dateclosed' => 'date_closed', 'closedby' => 'closed_by', 'commentedby' => 'commented_by', 'progress' => '', 'os' => 'os_name', 'private' => 'mark_private', 'parent' => 'supertask_id', 'estimatedeffort' => 'estimated_effort');
    //must be an array , must contain elements and be alphanumeric (permitted  "_")
    if (!is_array($task) || empty($task) || preg_match('![^A-Za-z0-9_]!', $colname)) {
        //run away..
        return '';
    }
    $class = 'task_' . $colname;
    switch ($colname) {
        case 'id':
            $value = tpl_tasklink($task, $task['task_id']);
            break;
        case 'summary':
            $value = tpl_tasklink($task, utf8_substr($task['item_summary'], 0, 55));
            if (utf8_strlen($task['item_summary']) > 55) {
                $value .= '...';
            }
            # <i> instead of <span> in future for smaller size
            # we need also some bytes for classes like <i class="tag t123">tagname</i>
            if ($task['tags'] != '') {
                $tags = explode(',', $task['tags']);
                $tagids = explode(',', $task['tagids']);
                $tagclass = explode(',', $task['tagclass']);
                $tgs = '';
                for ($i = 0; $i < count($tags); $i++) {
                    $tgs .= '<i class="tag t' . $tagids[$i] . ($tagclass[$i] ? ' ' . $tagclass[$i] : '') . '" title="' . $tags[$i] . '"></i>';
                }
                $value .= $tgs;
            }
            break;
        case 'tasktype':
            $value = $task['tasktype_name'];
            $class .= ' typ' . $task['task_type'];
            break;
        case 'severity':
            $value = $task['task_severity'] == 0 ? '' : $fs->severities[$task['task_severity']];
            $class .= ' sev' . $task['task_severity'];
            break;
        case 'priority':
            $value = $task['task_priority'] == 0 ? '' : $fs->priorities[$task['task_priority']];
            $class .= ' pri' . $task['task_priority'];
            break;
        case 'lastedit':
        case 'duedate':
        case 'dateopened':
        case 'dateclosed':
            $value = formatDate($task[$indexes[$colname]]);
            break;
        case 'status':
            if ($task['is_closed']) {
                $value = eL('closed');
            } else {
                $value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            }
            break;
        case 'progress':
            $value = tpl_img($page->get_image('percent-' . $task['percent_complete'], false), $task['percent_complete'] . '%');
            break;
        case 'assignedto':
            # group_concat-ed for mysql/pgsql
            #$value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            $value = '';
            $anames = explode(',', $task[$indexes[$colname]]);
            $aids = explode(',', $task['assignedids']);
            $aimages = explode(',', $task['assigned_image']);
            for ($a = 0; $a < count($anames); $a++) {
                if ($aids[$a]) {
                    if ($fs->prefs['enable_avatars'] == 1 && $aimages[$a]) {
                        $value .= tpl_userlinkavatar($aids[$a], 30);
                    } else {
                        $value .= tpl_userlink($aids[$a]);
                    }
                    #$value.='<a href="'.$aids[$a].'">'.htmlspecialchars($anames[$a], ENT_QUOTES, 'utf-8').'</a>';
                }
            }
            # fallback for DBs we haven't written sql string aggregation yet (currently with group_concat() mysql and array_agg() postgresql)
            if ('postgres' != $db->dblink->dataProvider && 'mysql' != $db->dblink->dataProvider && $task['num_assigned'] > 1) {
                $value .= ', +' . ($task['num_assigned'] - 1);
            }
            break;
        case 'private':
            $value = $task[$indexes[$colname]] ? L('yes') : L('no');
            break;
        case 'commentedby':
        case 'openedby':
        case 'editedby':
        case 'closedby':
            $value = '';
            # a bit expensive! tpl_userlinkavatar()  an additional sql query for each new user in the output table
            # at least tpl_userlink() uses a $cache array so query for repeated users
            if ($task[$indexes[$colname]] > 0) {
                if ($fs->prefs['enable_avatars'] == 1) {
                    $value = tpl_userlinkavatar($task[$indexes[$colname]], 30);
                } else {
                    $value = tpl_userlink($task[$indexes[$colname]]);
                }
            }
            break;
        case 'parent':
            $value = '';
            if ($task['supertask_id'] > 0) {
                $value = tpl_tasklink($task, $task['supertask_id']);
            }
            break;
        case 'estimatedeffort':
            $value = '';
            if ($user->perms('view_estimated_effort')) {
                if ($task['estimated_effort'] > 0) {
                    $value = effort::SecondsToString($task['estimated_effort'], $proj->prefs['hours_per_manday'], $proj->prefs['estimated_effort_format']);
                }
            }
            break;
        case 'effort':
            $value = '';
            if ($user->perms('view_current_effort_done')) {
                if ($task['effort'] > 0) {
                    $value = effort::SecondsToString($task['effort'], $proj->prefs['hours_per_manday'], $proj->prefs['current_effort_done_format']);
                }
            }
            break;
        default:
            $value = '';
            // $colname here is NOT column name in database but a name that can appear
            // both in a projects visible fields and as a key in language translation
            // file, which is also used to draw a localized heading. Column names in
            // database customarily use _ t to separate words, translation file entries
            // instead do not and can be also be quite different. If you do see an empty
            // value when you expected something, check your usage, what visible fields
            // in database actually constains, and maybe add a mapping from $colname to
            // to the database column name to array $indexes at the beginning of this
            // function. Note that inconsistencies between $colname, database column
            // name, translation entry key and name in visible fields do occur sometimes
            // during development phase.
            if (array_key_exists($colname, $indexes)) {
                $value = htmlspecialchars($task[$indexes[$colname]], ENT_QUOTES, 'utf-8');
            }
            break;
    }
    return sprintf($format, $class, $value);
}
Example #6
0
</head>
<body>
<div class="dokuwiki">
';
html_msgarea();
echo '
  <div class="page" style="margin-left: 1em;">
';
if ($ERROR) {
    print $ERROR;
} else {
    echo '
    <h1>', hsc(tpl_img_getTag('IPTC.Headline', $IMG)), '</h1>
    <div class="img_big">
';
    tpl_img(900, 500);
    echo '    <p class="img_caption">';
    print nl2br(hsc(tpl_img_getTag('simple.title')));
    echo '</p>
';
    echo '    </div>
    <div class="img_detail">
      <dl class="img_tags">
';
    $config_files = getConfigFiles('mediameta');
    foreach ($config_files as $config_file) {
        if (@file_exists($config_file)) {
            include $config_file;
        }
    }
    foreach ($fields as $key => $tag) {