Changeset 680

Show
Ignore:
Timestamp:
12/04/06 08:14:31
Author:
crchemist
Message:

Added functionality to configlet.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • qPloneCaptchas/trunk/config.py

    r679 r680  
    1616DEFAULT_BG = 'gray' 
    1717DEFAULT_FONT_COLOR = 'black' 
    18 DEFAULT_PERIOD = 0.05 
     18DEFAULT_PERIOD = 0.10 
    1919DEFAULT_AMPLITUDE = 5 
    2020DEFAULT_OFFSET = (0.5, 0.5) 
  • qPloneCaptchas/trunk/skins/plone_captchas/dynamic/getCaptchaImage.py

    r679 r680  
    1010     getWord, parseKey 
    1111from Products.CMFCore.utils import getToolByName 
    12  
     12import random 
    1313propTool = getToolByName(context, 'portal_properties') 
    1414captchaProps = propTool['qPloneCaptchas'] 
    15  
    16 period = captchaProps.getProperty('period') 
    17 amplitude = captchaProps.getProperty('amplitude') 
    1815 
    1916hk = context.REQUEST.traverse_subpath[0] 
    2017dk = decrypt(context.captcha_key, hk) 
    2118key = parseKey(dk)['key'] 
    22 kwargs = {'text': getWord(int(key)), 
    23           'size': captchaProps.getProperty('image_size'), 
    24           'bkground': captchaProps.getProperty('background'), 
    25           'font_color': captchaProps.getProperty('font_color'), 
    26           'distortion':[period, amplitude, (0.0, 0.0)]} 
     19 
     20text = getWord(int(key)) 
     21size = captchaProps.getProperty('image_size') 
     22bkground = captchaProps.getProperty('background') 
     23font_color = captchaProps.getProperty('font_color') 
     24kwargs = {'text': text, 
     25          'size': size, 
     26          'bkground': bkground, 
     27          'font_color': font_color} 
     28if captchaProps.getProperty('random_params', 'False'): 
     29    period = random.uniform(0.05, 0.12) 
     30    amplitude = random.uniform(3.0, 6.5) 
     31else: 
     32    period = captchaProps.getProperty('period') 
     33    amplitude = captchaProps.getProperty('amplitude') 
     34 
     35kwargs['distortion'] = [period, amplitude, (0.0, 0.0)] 
    2736 
    2837im = gen_captcha(**kwargs) 
    29  
    3038context.REQUEST.RESPONSE.setHeader('Content-Type', 'image/jpeg') 
    3139context.REQUEST.RESPONSE.setHeader('Content-Length', im['size']) 
  • qPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup.cpy

    r679 r680  
    1111from Products.CMFCore.utils import getToolByName 
    1212import string 
     13 
    1314def exchangeLayers(layer1, layer2): 
    14     skinstool = getToolByName(context, 'portal_skins') 
    1515    for skin in skinstool.getSkinSelections(): 
    1616        path = skinstool.getSkinPath(skin) 
     
    2626 
    2727form = context.REQUEST.form 
    28 ct = form['static_captchas'] 
    29  
     28request_ids = form.keys() 
     29ct = form.get('static_captchas') 
     30skinstool = getToolByName(context, 'portal_skins') 
    3031if ct == 'static': 
    3132    exchangeLayers('plone_captchas/dynamic', 'plone_captchas/static') 
    32     layer = 'static' 
    3333else: 
    3434    exchangeLayers('plone_captchas/static', 'plone_captchas/dynamic') 
    35     layer = 'dynamic' 
    3635 
    37 return state.set(portal_status_message = 'Captchas changed to %s'%layer) 
     36captcha_props = getToolByName(context, 'portal_properties')['qPloneCaptchas'] 
     37 
     38property_map=[(m['id'], m['type']) for m in captcha_props.propertyMap() if not m['id']=='title'] 
     39kw={} 
     40for id,type in property_map: 
     41    if type == 'boolean': 
     42        print id 
     43        if id in request_ids: 
     44            kw[id] = True 
     45        else: 
     46            kw[id] = False 
     47    else: 
     48        if id in request_ids: 
     49            kw[id] = form[id] 
     50 
     51captcha_props.manage_changeProperties(kw) 
     52 
     53return state.set(portal_status_message = 'Setting saved') 
  • qPloneCaptchas/trunk/skins/plone_captchas/prefs_captchas_setup_form.cpt

    r679 r680  
    171171                                           id property_id; 
    172172                                           value prop_value; 
    173                                            tabindex tabindex/next;"/> 
     173                                           tabindex tabindex/next; 
     174                                           checked prop_value"/> 
    174175 
    175176                    <label i18n:translate="string:${property_id}"