class ModsentenceController < ApplicationController def replaceable_words st fd=PicListFolder.chop Dir.mkdir(fd) unless File.directory?(fd) piclist="#{PicListFolder}#{get_user}.pics" if File.exist?(piclist) s=IO.readlines(piclist).collect {|s| s.chomp} else rx=/images.*\/([\w ]+)\.(JPG|GIF|PNG|JPEG)$/i s=get_rxpics('',rx) File.open(piclist,"w") do |f| f.puts s end end r=s.select{|p| # logger.info "picname #{p.inspect}" st.match /\b#{p.strip}\b/i} # logger.info "replaceable_words #{r}" r # st.split(/\W+/).select {|w| !sibling_pics(w).empty?} end def start_choices if p=session[:picked] sibling_pics p else replaceable_words get_displayed end end def selected str if session[:picked] session[:displayed].gsub!(/#{session[:picked]}/i,str) session[:picked]=nil else session[:picked]=str end nil end def filechoices? false end def get_title if session[:picked] translate 'replace with what' else translate 'select a word to replace' end end def updownevent fd=TemplatesFolder.chop Dir.mkdir(fd) unless File.directory?(fd) templates="#{TemplatesFolder}#{get_user}.txt" if File.exist?(templates) s=IO.readlines templates else s=get_matching_sentences(SentencesDir,//).reject{|ss| replaceable_words(ss).empty?} File.open(templates,"w") do |f| f.puts s end end session[:displayed]=s[get_selected_item%s.size] unless s.empty? session[:choices]=nil session[:picked]=nil end def first_time session[:picked]=nil session[:displayed]=get_text session[:choices]=nil what_next end def extras @displayed=get_displayed end end