def __build_GUI__(self): # Skip phase if it's configuring an already installed app install_type = CTK.cfg.get_val('%s!install_type' % (CFG_PREFIX)) if install_type == 'local_directory': self += CTK.DruidContent_TriggerNext() return # Refresh refresh = CTK.Refreshable( {'id': 'wizard2-stage-install-dir-type-refresh'}) refresh.register(lambda: self.Refresh_Content(refresh, self).Render()) # Radio buttons radios = CTK.RadioGroupCfg('%s!install_dir_type' % (CFG_PREFIX), INSTALL_DIR_OPTIONS, {'checked': INSTALL_DIR_OPTIONS[0][0]}) # Submitter submit = CTK.Submitter(URL_STAGE_INSTALL_DIR_APPLY) submit.bind( 'submit_success', CTK.DruidContent__JS_if_internal_submit(refresh.JS_to_refresh())) submit += radios # GUI Layout self += submit self += refresh self.bind('goto_next_stage', CTK.DruidContent__JS_to_goto_next(self.id))
def External_FindPHP(): # Add PHP if needed have_php = check_php_interpreter() if not have_php: cont = CTK.Container() cont += CTK.RawHTML ('<h2>%s</h2>' %(_(NOTE_NOT_FOUND_H1))) cont += CTK.RawHTML ('<p>%s</p>' %(_(NOTE_NOT_FOUND))) cont += CTK.RawHTML ('<p>%s</p>' %(_(NOTE_NOT_FOUND2))) cont += CTK.DruidButtonsPanel_Cancel() return cont.Render().toStr() return CTK.DruidContent_TriggerNext().Render().toStr()