Exemple #1
0
/**
 * Wraps around strftime but provides support for fuzzy dates
 *
 * The format default to $conf['dformat']. It is passed to
 * strftime - %f can be used to get the value from datetime_h()
 *
 * @see datetime_h
 * @author Andreas Gohr <*****@*****.**>
 */
function dformat($dt = null, $format = '')
{
    global $conf;
    if (is_null($dt)) {
        $dt = time();
    }
    $dt = (int) $dt;
    if (!$format) {
        $format = $conf['dformat'];
    }
    $format = str_replace('%f', datetime_h($dt), $format);
    return strftime($format, $dt);
}
Exemple #2
0
 /**
  * Output HTML form
  */
 function html()
 {
     global $INPUT;
     if (!$INPUT->has('data')) {
         echo $this->locale_xhtml('intro');
         //If there was an error the last time we tried to autosubmit, warn the user
         if ($this->helper->isAutoSubmitEnabled()) {
             if (file_exists($this->helper->autosubmitErrorFile)) {
                 echo $this->getLang('autosubmitError');
                 echo io_readFile($this->helper->autosubmitErrorFile);
             }
         }
         flush();
         echo $this->buildForm('server');
         //Print the last time the data was sent
         $lastSent = $this->helper->lastSentTime();
         if ($lastSent !== 0) {
             echo $this->getLang('lastSent') . ' ' . datetime_h($lastSent);
         }
     } else {
         //If we just submitted the form
         if ($this->sentStatus === '') {
             //If we successfully sent the data
             echo $this->locale_xhtml('submitted');
         } else {
             //If we failed to submit the data, try directly with the browser
             echo $this->getLang('submissionFailed') . $this->sentStatus . '<br />';
             echo $this->getLang('submitDirectly');
             echo $this->buildForm('browser', $INPUT->str('data'));
         }
     }
 }
/**
 * Print some info about the current page
 *
 * @author  Andreas Gohr <*****@*****.**>
 * @author  Giuseppe Di Terlizzi <*****@*****.**>
 *
 * @param   bool $ret return content instead of printing it
 * @return  bool|string
 */
function bootstrap3_pageinfo($ret = false)
{
    global $conf;
    global $lang;
    global $INFO;
    global $ID;
    // return if we are not allowed to view the page
    if (!auth_quickaclcheck($ID)) {
        return false;
    }
    // prepare date and path
    $fn = $INFO['filepath'];
    if (!$conf['fullpath']) {
        if ($INFO['rev']) {
            $fn = str_replace(fullpath($conf['olddir']) . '/', '', $fn);
        } else {
            $fn = str_replace(fullpath($conf['datadir']) . '/', '', $fn);
        }
    }
    $date_format = bootstrap3_conf('pageInfoDateFormat');
    $page_info = bootstrap3_conf('pageInfo');
    $fn = utf8_decodeFN($fn);
    $date = $date_format == 'dformat' ? dformat($INFO['lastmod']) : datetime_h($INFO['lastmod']);
    // print it
    if ($INFO['exists']) {
        $fn_full = $fn;
        if (!in_array('extension', $page_info)) {
            $fn = str_replace(array('.txt.gz', '.txt'), '', $fn);
        }
        $out = '<ul class="list-inline">';
        if (in_array('filename', $page_info)) {
            $out .= sprintf('<li><i class="fa fa-fw fa-file-text-o text-muted"></i> <span title="%s">%s</span></li>', $fn_full, $fn);
        }
        if (in_array('date', $page_info)) {
            $out .= sprintf('<li><i class="fa fa-fw fa-calendar text-muted"></i> %s <span title="%s">%s</span></li>', $lang['lastmod'], dformat($INFO['lastmod']), $date);
        }
        if (in_array('editor', $page_info)) {
            if (isset($INFO['editor'])) {
                $user = editorinfo($INFO['editor']);
                if (bootstrap3_conf('useGravatar')) {
                    global $auth;
                    $user_data = $auth->getUserData($INFO['editor']);
                    $HTTP = new DokuHTTPClient();
                    $gravatar_img = get_gravatar($user_data['mail'], 16);
                    $gravatar_check = $HTTP->get($gravatar_img . '&d=404');
                    if ($gravatar_check) {
                        $user_img = sprintf('<img src="%s" alt="" width="16" class="img-rounded" /> ', $gravatar_img);
                        $user = str_replace(array('iw_user', 'interwiki'), '', $user);
                        $user = $user_img . $user;
                    }
                }
                $out .= sprintf('<li class="text-muted">%s %s</li>', $lang['by'], $user);
            } else {
                $out .= sprintf('<li>(%s)</li>', $lang['external_edit']);
            }
        }
        if ($INFO['locked'] && in_array('locked', $page_info)) {
            $out .= sprintf('<li><i class="fa fa-fw fa-lock text-muted"></i> %s %s</li>', $lang['lockedby'], editorinfo($INFO['locked']));
        }
        $out .= '</ul>';
        if ($ret) {
            return $out;
        } else {
            echo $out;
            return true;
        }
    }
    return false;
}