function osc_do_auto_upgrade() { $data = osc_file_get_contents('http://osclass.org/latest_version_v1.php?callback=?'); $data = preg_replace('|^\\?\\((.*?)\\);$|', '$01', $data); $json = json_decode($data); $result['error'] = 0; if ($json->version > osc_version() && osc_check_dir_writable()) { osc_set_preference('update_core_json', $data); if (substr($json->version, 0, 1) != substr(osc_version(), 0, 1)) { // NEW BRANCH if (strpos(osc_auto_update(), 'branch') !== false) { osc_run_hook('before_auto_upgrade'); $result = osc_do_upgrade(); osc_run_hook('after_auto_upgrade', $result); } } else { if (substr($json->version, 1, 1) != substr(osc_version(), 1, 1)) { // MAJOR RELEASE if (strpos(osc_auto_update(), 'branch') !== false || strpos(osc_auto_update(), 'major') !== false) { osc_run_hook('before_auto_upgrade'); $result = osc_do_upgrade(); osc_run_hook('after_auto_upgrade', $result); } } else { if (substr($json->version, 2, 1) != substr(osc_version(), 2, 1)) { // MINOR RELEASE if (strpos(osc_auto_update(), 'branch') !== false || strpos(osc_auto_update(), 'major') !== false || strpos(osc_auto_update(), 'minor') !== false) { osc_run_hook('before_auto_upgrade'); $result = osc_do_upgrade(); osc_run_hook('after_auto_upgrade', $result); } } } } } else { osc_set_preference('update_core_json', ''); } osc_set_preference('last_version_check', time()); if ($result['error'] == 0 || $result['error'] == 6) { osc_set_preference('update_core_json', ''); if (strpos(osc_auto_update(), 'plugins') !== false) { $total = osc_check_plugins_update(true); if ($total > 0) { $elements = osc_get_preference('plugins_to_update'); foreach ($elements as $element) { if (osc_is_update_compatible('plugins', $element, $json->s_name)) { osc_market('plugins', $element); } } } } if (strpos(osc_auto_update(), 'themes') !== false) { $total = osc_check_themes_update(true); if ($total > 0) { $elements = osc_get_preference('themes_to_update'); foreach ($elements as $element) { if (osc_is_update_compatible('themes', $element, $json->s_name)) { osc_market('themes', $element); } } } } if (strpos(osc_auto_update(), 'languages') !== false) { $total = osc_check_languages_update(true); if ($total > 0) { $elements = osc_get_preference('languages_to_update'); foreach ($elements as $element) { if (osc_is_update_compatible('languages', $element, $json->s_name)) { osc_market('languages', $element); } } } } } }
_e('Allow auto-updates of themes'); ?> </label> </div> </div> </div> <div class="form-row"> <div class="form-label"><?php _e('Language updates'); ?> </div> <div class="form-controls"> <div class="form-label-checkbox"> <label> <input type="checkbox" <?php echo strpos(osc_auto_update(), 'languages') !== false ? 'checked="checked"' : ''; ?> name="auto_update[]" value="languages" /> <?php _e('Allow auto-updates of languages'); ?> </label> </div> </div> </div> <div class="form-row"> <div class="form-label"><?php _e('Market external sources'); ?> </div> <div class="form-controls">
<div class="form-label"><?php _e('Theme updates'); ?></div> <div class="form-controls"> <div class="form-label-checkbox"> <label> <input type="checkbox" <?php echo ( (strpos(osc_auto_update(),'themes')!==false) ? 'checked="checked"' : '' ); ?> name="auto_update[]" value="themes" /> <?php _e('Allow auto-updates of themes'); ?> </label> </div> </div> </div> <div class="form-row"> <div class="form-label"><?php _e('Language updates'); ?></div> <div class="form-controls"> <div class="form-label-checkbox"> <label> <input type="checkbox" <?php echo ( (strpos(osc_auto_update(),'languages')!==false) ? 'checked="checked"' : '' ); ?> name="auto_update[]" value="languages" /> <?php _e('Allow auto-updates of languages'); ?> </label> </div> </div> </div> <div class="form-row"> <div class="form-label"><?php _e('Market external sources'); ?></div> <div class="form-controls"> <div class="form-label-checkbox"> <label> <input type="checkbox" <?php echo ( osc_market_external_sources() ? 'checked="checked"' : '' ); ?> name="market_external_sources" /> <?php _e('Allow updates and installations of non-official plugins and themes'); ?> </label> </div> </div>