$args['%s'], '%d' => '' . _s('documentation') . '', ]); } function free_version_waring($wrap=true) { $message = _s("This functionality is not part of Chevereto Free. %s to obtain this feature.", ['%s' => '' . _s('Upgrade to paid version') . '']); echo($wrap ? ('
' . $message . '
') : $message); } ?>

🤖

'' . G_ROOT_PATH . 'importing']); ?> '1', '%m' => _n('minute', 'minutes', '1') ]); ?>

_s('Queued'), 'working' => _s('Working'), 'paused' => _s('Paused'), 'canceled' => _s('Canceled'), 'completed' => _s('Completed'), ]; if ($continuous = CHV\Import::getContinuous()) { foreach ($continuous as $v) { $boxTpl = '

Path %pathRelative%

%images% images %albums% albums %users% users
' . _s('Status') . ': %displayStatus%
@%dateTime% UTC
'; echo strtr($boxTpl, [ '%id%' => $v['id'], '%dateTime%' => $v['time_updated'], '%object%' => htmlspecialchars(json_encode($v), ENT_QUOTES, 'UTF-8'), '%status%' => $v['status'], '%parse%' => $v['options']['root'], '%shortParse%' => $v['options']['root'][0], '%displayStatus%' => $statusesDisplay[$v['status']], '%path%' => $v['path'], '%pathRelative%' => '.' . G\absolute_to_relative($v['path']), '%users%' => $v['users'] ?: 0, '%images%' => $v['images'] ?: 0, '%albums%' => $v['albums'] ?: 0, '%errors%' => $v['errors'] ?: 0, '%started%' => $v['started'] ?: 0, ]); } } ?>
* * * * * IS_CRON=1 THREAD_ID=1 /usr/bin/php >/dev/null 2>&1
'THREAD_ID']); ?>
G_ROOT_PATH . 'importing']); ?>
&$v) { if ($v['status'] != 'working') { continue; } $then = strtotime($v['time_updated']); $now = strtotime(G\datetimegmt()); if ($now > ($then + 300)) { // 5 min $v['status'] = 'paused'; CHV\DB::update('imports', ['status' => 'paused'], ['id' => $v['id']]); } } $imports = array_reverse($imports); } $rowTpl = '
  • %id% %shortParse% %displayStatus% %path% %users% ' . _s('Users') . ' %albums% ' . _s('Albums') . ' %images% ' . _s('Images') . '
  • '; $manualImportingClass = is_array($imports) == false ? ' hidden' : ''; ?>

    ' . _s('This setting is always diabled when using personal website mode.') . ''; } } ?>

    'dashboard/settings/pages', 'text' => _s('Return to pages'), ]; break; default: $pages_top_link = [ 'href' => 'dashboard/settings/pages/add', 'text' => _s('Add page'), ]; break; } ?>


    '"' . _s('Automatic') . '"', '%f' => '"' . _s('Forced') . '"', '%d' => '"' . _s('Disabled') . '"']); ?>

    $region) { $show_hide = $default_timezone[0] == $key ? '' : ' soft-hidden'; if (count($region) == 1) { $show_hide .= ' hidden'; } ?>




    $v) { $page_db['page_' . $k] = $v; } break; } function get_page_val($key, $from = 'POST') { global $page_db; if (empty($key)) { return null; } if ($from == 'POST' and $_POST) { return get_safe_post()[$key]; } else { switch (get_settings_pages()['doing']) { case 'add': return null; break; case 'edit': return array_key_exists($key, $page_db) ? $page_db[$key] : null; break; } } } ?>

    _s('Terms of service'), 'privacy' => _s('Privacy'), 'contact' => _s('Contact'), ]; $printInternals = [ null => _s('Extra page'), ]; $takenInternals = []; if ($pagesAll) { foreach ($pagesAll as $k => $v) { if ($v['internal'] && $internals[$v['internal']]) { $takenInternals[] = $v['internal']; if (function_exists('get_page') && get_page()['id'] == $v['id']) { $printInternals[$v['internal']] = $internals[$v['internal']]; } } } } foreach ($internals as $k => $v) { if (in_array($k, $takenInternals) == false) { $printInternals[$k] = $v; } } $page_internal_combo_visible = get_settings_pages()['doing'] == 'edit' ? (get_page_val('page_type') == 'internal') : true; ?>
    >
    placeholder="page.">
    G\get_app_setting('disable_php_pages') ? 'HTML' : 'PHP', '%s' => $pages_visible_path]); ?>

    >
    rel'); ?>
    icon reference for the complete list of supported icons.', 'href="http://chevereto.com/src/icomoon" target="_blank"'); ?>
    0) { $auth_token = G\Handler::getAuthToken(); ?>

    _s('pages'), '%k' => 'pages']); ?>

      '; } ?>







    Exif data on upload.', 'href="https://en.wikipedia.org/wiki/Exchangeable_image_file_format" target="_blank"'); ?>

    G\format_bytes(CHV\Settings::get('true_upload_max_filesize')), '%u' => 'upload_max_filesize = ' . ini_get('upload_max_filesize') . '', '%p' => 'post_max_size = ' . ini_get('post_max_size') . '', '%f' => 'php.ini']); ?>



    'watermark_enable_guest', 'label' => _s('Enable watermark on guest uploads'), 'checked' => ((bool) (get_safe_post() ? get_safe_post()['watermark_enable_guest'] : CHV\Settings::get('watermark_enable_guest'))), ]); ?> 'watermark_enable_user', 'label' => _s('Enable watermark on user uploads'), 'checked' => ((bool) (get_safe_post() ? get_safe_post()['watermark_enable_user'] : CHV\Settings::get('watermark_enable_user'))), ]); ?> 'watermark_enable_admin', 'label' => _s('Enable watermark on admin uploads'), 'checked' => ((bool) (get_safe_post() ? get_safe_post()['watermark_enable_admin'] : CHV\Settings::get('watermark_enable_admin'))), ]); ?>
    'watermark_enable_file_gif', 'label' => _s('Enable watermark on GIF image uploads'), 'checked' => ((bool) (get_safe_post() ? get_safe_post()['watermark_enable_file_gif'] : CHV\Settings::get('watermark_enable_file_gif'))), ]); ?>
    '' . _s('Dashboard > Settings > Website') . '']); ?>

    value="" placeholder="">

    rtrim(G\get_base_url(), '/')]); ?>




    _s('theme editing'), '%k' => 'theme']); ?>



    hex format.', 'http://www.color-hex.com/'); ?>







    $v) { $cover_index = $k + 1; $cover_label = 'homepage_cover_image_' . $k; ?>
    1) { ?>



    >
    'page/welcome', '%l' => G\get_base_url('page/welcome')]); ?>




    error_reporting(). This should be disabled in production.', 'href="http://php.net/manual/en/function.error-reporting.php" target="_blank"'); ?>
    debug documentation. Default level is "Error log" (1).', 'href="https://goo.gl/UQtZEf" target="_blank"'); ?>

    ' . _s('documentation') . ''); ?>


    Subdomain wildcards

    Both language and username subdomains are highly experimental features that require advanced server configurations. The alleged functionalities should be enabled only after setting up a subdomain wildcard pointing to your Chevereto installation. You also need to enable CORS for these subdomains. If you want to use HTTPS, you also need to bind the SSL certificate(s) for your subdomains.

    Don't ask us how to make this work for your installation. These are experimental features, and we don't have any guidance on how to fulfill the server requirements listed above as we are still collecting feedback from pro users. We will publish instructions (if any) in the future.

    app/settings.php'); ?>
    _s('languages'), '%s' => G\str_replace_first(CHV_HTTP_HOST, 'es' . '.' . CHV_HTTP_HOST, CHV_ROOT_URL)]); ?>
    _s('user profiles'), '%s' => G\str_replace_first(CHV_HTTP_HOST, 'username' . '.' . CHV_HTTP_HOST, CHV_ROOT_URL)]); ?>

    _s('language strings'), '%k' => 'language-strings']); ?>

    0) { ?>

      $v) { $lang_flag = array_key_exists($k, CHV\get_enabled_languages()) ? ' checked' : null; echo '
    • '; } ?>

    ' . nl2br($GLOBALS['SMTPDebug']) . '

    '; } ?>

    mail-tester'); ?>



    'CDN', '%k' => 'cdn']); ?>

    reCAPTCHA key for this.', 'https://www.google.com/recaptcha/intro/index.html'); ?>

    Single Sign-On (SSO)'); ?>

    API documentation', 'href="http://bit.ly/1EFSP0H" target="_blank"'); ?>

    API v1.', 'href="http://bit.ly/1F8s9sX" target="_blank"'); ?>
    G_ROOT_PATH_RELATIVE . 'plugin', '%s' => '“' . _s('About') . '”', ]); ?>
    'PUP SDK', '%s' => G_ROOT_PATH_RELATIVE . 'sdk/pup.js']); ?>