diff --git a/.gitignore b/.gitignore deleted file mode 100644 index de5d954..0000000 --- a/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -.bundle/ -log/*.log -pkg/ -test/dummy/db/*.sqlite3 -test/dummy/db/*.sqlite3-journal -test/dummy/log/*.log -test/dummy/tmp/ -test/dummy/.sass-cache diff --git a/app/controllers/ruling_templates_controller.rb b/app/controllers/ruling_templates_controller.rb index d4b1774..674226a 100644 --- a/app/controllers/ruling_templates_controller.rb +++ b/app/controllers/ruling_templates_controller.rb @@ -1,4 +1,33 @@ class RulingTemplatesController < ApplicationController def index + store_token = params[:store_token] + site_domain = RegisteredSite.find_by(:uid => store_token).site_domain.sub(/(?:(?!\.).)*\./,'') rescue '' + templates = RTemplate.where(allow_domain: site_domain,:git_url.ne=> '').asc(:updated_at).collect do |v| + { + 'install_flag' => v.installed_site_tokens.include?(store_token), + 'uid' => v.uid, + 'title' => v.title, + 'desc' => v.description, + 'images' => v.template_image_files.collect{|v| v.image_file.url} + } + end + render :json => templates.to_json + end + def get_template_zip + template_uid = params[:template_uid] + store_token = params[:store_token] + site_domain = RegisteredSite.find_by(:uid => store_token).site_domain.sub(/(?:(?!\.).)*\./,'') rescue '' + r_template = RTemplate.where(allow_domain: site_domain, uid: template_uid).first + if r_template.nil? + render :json => {}.to_json + else + r_template.installed_site_tokens << store_token + r_template.save + if r_template.git_url.blank? + render :json => {url: r_template.template_zip.url,type: 'zip'}.to_json + else + render :json => {url: r_template.git_url,branch: r_template.git_branch,type: 'git'}.to_json + end + end end end \ No newline at end of file diff --git a/app/models/r_template.rb b/app/models/r_template.rb index 3a62321..2fa8747 100644 --- a/app/models/r_template.rb +++ b/app/models/r_template.rb @@ -16,7 +16,8 @@ class RTemplate field :sold, :type => Boolean, :default => false field :git_url field :git_branch - + field :allow_domain, type: String, default: '' + field :installed_site_tokens, type: Array, default: [] mount_uploader :template_zip, AssetUploader has_many :template_image_files, :autosave => true, :dependent => :destroy diff --git a/app/views/admin/ruling_templates/_form.html.erb b/app/views/admin/ruling_templates/_form.html.erb index f722ceb..e4430ed 100644 --- a/app/views/admin/ruling_templates/_form.html.erb +++ b/app/views/admin/ruling_templates/_form.html.erb @@ -33,6 +33,12 @@ <%= select_category(f, @module_app) %> +
+ <%= f.label :allow_domain, t("ruling_template.allow_domain"), :class => "control-label muted" %> +
+ <%= f.text_field :allow_domain, placeholder: 'example.com' %> +
+
<%= f.label :price, t("ruling_template.price"), :class => "control-label muted" %>
diff --git a/asia_import_gallery.rb b/asia_import_gallery.rb deleted file mode 100644 index 71cb22e..0000000 --- a/asia_import_gallery.rb +++ /dev/null @@ -1,176 +0,0 @@ -require 'uri' - -def full_url(rel, url) - return rel if rel.match /^[\w]*:\/\// - uri = URI(url) - if rel[0] == '/' - "#{uri.scheme}://#{uri.host}#{rel}" - else - path = uri.path.split('/')[0..-2].select{|m| !m.empty?}.join('/') - "#{uri.scheme}://#{uri.host}/#{path}/#{rel}" - end -end - -def catch_data(url,html_flag=false) - html = %x[curl '#{url}'] - html = Nokogiri.HTML(html) - - html.css("table.baseTB").each do |v| - titles = v.css('span.ptname a') - img_url = v.css('a.item-image img').map{|v| full_url(v.attr('src'),url)} - if titles.count>0 && img_url.count>0 - return [titles.map{|v| catch_album_image_data(full_url(v.attr('href'),url))},titles.map{|v| v.text()},img_url] + (html_flag ? [html]: []) - end - end;nil -end -def catch_album_image_data(url) -html = %x[curl '#{url}'] -html = Nokogiri.HTML(html) - -type1_out = html.css('script').map{|v| v.content}.join.scan(/imgLink\[\"\d+\"\] *\= *["']((?:(?![\t\n;]).)+)["']|imgAlt\[\"\d+\"\] *\= *["']((?:(?![\t\n;]).)*)["']/m) -if type1_out.count>0 - puts 'type1_out' - links = type1_out.map{|v| v[0].blank? ? nil : full_url(v[0],url)}.compact - alts = type1_out.map{|v| v[1]}.compact - return (0...links.length).collect{|i| [alts[i],links[i]]} -end - -type2_out = html.css('#album_show img,ul.ad-thumb-list img,#slider img,div.photoFlow ul img').map{|v| [v.attr('alt'),full_url(v.attr('src'),url)]} -if type2_out.count>0 - puts 'type2_out' - return type2_out -end -end -def get_data_from_index_url(url) -all_titles = [] -all_img_url = [] -all_album_images = [] - -album_images,titles,img_url,html = catch_data(url,true) -page_nums = html.css('.pagenum,.pager-last a') -all_titles += titles if titles -all_img_url += img_url if img_url -all_album_images += album_images -if page_nums.count > 0 -last_page = page_nums.last.attr('href') -last_num = full_url(last_page,url).scan(/\?page=\d+|-\d+.php/)[0].scan(/\d+/)[0].to_i -for i in 2..last_num - search_url = last_page.gsub(/\?page=(\d+)|-(\d+).php/){|v| v.gsub(/\d+/,i.to_s)} - album_images,titles,img_url = catch_data(search_url) - all_titles += titles if titles - all_img_url += img_url if img_url - all_album_images += album_images -end -end -[all_album_images,all_titles,all_img_url] -end -def create_album(url) - data = get_data_from_index_url(url) - data -end -url = 'https://audslp.asia.edu.tw/files/131-1080-20-1.php?Lang=zh-tw' -d=get_data_from_index_url(url) -""" -d[0][i] => [alt,link] -d[1][i] => album title -d[2][i] => 封面img_url -(改catch_album_image_data)內頁缺card版本(9) -(改catch_data)封面差 7,8,9 -連結在line -缺album描述 -類別: $('.module.module-path a.path') or $('#page-title') -已完成: 1,2,3( 澳門聾人協會演講[無資料], 106.09.24-25 Orientation Camp[無資料]), -""" - - - - -url = 'https://pt.asia.edu.tw/files/131-1116-45-1.php?Lang=zh-tw' -html = %x[curl '#{url}'] -html = Nokogiri.HTML(html) - - -109-1新生茶會 - - -1~6 10 11 -$('table.baseTB').filter(function(i,v){var tp=$(v).find('span.ptname').length>0&$(v).find('img').length>0;return tp}) - -8 -$('ul.list').filter(function(i,v){var tp=$(v).find('div.photo').length>0;return tp}) - -9 -$('div.row').filter(function(i,v){var tp=$(v).find('div.card').length>0&$(v).find('div.row').length==0;return tp}) - -頁數:$('.pagenum') - => -頁數.php - - -7 $('div#content-body') page:$('.item-list') - =>
  • last »
  • - - - -內頁圖片: -1. imgLink\[.*\] = ".*" - 變數 -2.
    - -
    -3. 同1 -4. 同2 -5. 同1 -6. - -7.
    -
      -
    • -
    -
    -8. -9.
    -
    -
    -
    - 「眷戀 光復」得獎作品 - - -
    -
    -
    -
    -

    「眷戀 光復」得獎作品

    -
    - 作品名稱:罩得著
    設計者:視傳大四學生 -
    - - - - - - -
    -
    -
    -
    -10. 同6 -11. 同6 \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index 835411c..84bea29 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -6,4 +6,5 @@ en: price: Price upload_files: Upload Files colors: Colors - add_color: Add Color \ No newline at end of file + add_color: Add Color + allow_domain: Allow Domain \ No newline at end of file diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index b248714..5db4074 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -1,9 +1,10 @@ zh_tw: ruling_template: - ruling_template: Templates - all: All - new: New Template - price: Price - upload_files: Upload Files - colors: Colors - add_color: Add Color \ No newline at end of file + ruling_template: 模板 + all: 全部 + new: 增加模板 + price: 價格 + upload_files: 上傳檔案 + colors: 顏色 + add_color: 增加顏色 + allow_domain: 允許的網域 \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index cb6f67d..533b109 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -17,6 +17,8 @@ Rails.application.routes.draw do end end end + post "ruling_template" => 'ruling_templates#index' + post "get_template_zip" => "ruling_templates#get_template_zip" end end