source: extensions/CryptograPHP/admin.php @ 26554

Last change on this file since 26554 was 26554, checked in by mistic100, 10 years ago

update Securimage to 3.5.1, new font, new preset, allow to use backgrounds

File size: 4.6 KB
Line 
1<?php
2defined('CRYPTO_ID') or die('Hacking attempt!');
3
4global $pwg_loaded_plugins;
5$loaded = array(
6  'contactform' => isset($pwg_loaded_plugins['ContactForm']),
7  'category' => isset($pwg_loaded_plugins['Comments_on_Albums']),
8  'guestbook' => isset($pwg_loaded_plugins['GuestBook']),
9  'easycaptcha' => isset($pwg_loaded_plugins['EasyCaptcha']),
10  );
11
12if ($loaded['easycaptcha'])
13{
14  $page['warnings'][] = l10n('We detected that EasyCaptcha plugin is available on your gallery. Both plugins can be used at the same time, but you should not under any circumstances activate both of them on the same page.');
15}
16
17if ( isset($_POST['submit']))
18{
19  if (!isset($_POST['activate_on'])) $_POST['activate_on'] = array();
20 
21  $conf['cryptographp'] = array(
22    'activate_on' => array(
23      'picture'     => in_array('picture', $_POST['activate_on']),
24      'category'    => in_array('category', $_POST['activate_on']) || !$loaded['category'],
25      'register'    => in_array('register', $_POST['activate_on']),
26      'contactform' => in_array('contactform', $_POST['activate_on']) || !$loaded['contactform'],
27      'guestbook'   => in_array('guestbook', $_POST['activate_on']) || !$loaded['guestbook'],
28      ),
29    'comments_action' => $_POST['comments_action'],
30    'theme'           => $_POST['theme'],
31    'captcha_type'    => $_POST['captcha_type'],
32    'case_sensitive'  => 'false', //not used, problem with some fonts
33    'width'           => (int)$_POST['width'], 
34    'height'          => (int)$_POST['height'],
35    'perturbation'    => (float)$_POST['perturbation'],
36    'background'      => $_POST['background'],
37    'bg_color'        => $_POST['bg_color'],
38    'bg_image'        => $_POST['bg_image'],
39    'code_length'     => (int)$_POST['code_length'],
40    'text_color'      => $_POST['text_color'],
41    'num_lines'       => (float)$_POST['num_lines'],
42    'line_color'      => $_POST['line_color'],
43    'noise_level'     => (float)$_POST['noise_level'],
44    'noise_color'     => $_POST['noise_color'],
45    'ttf_file'        => $_POST['ttf_file'],
46    'button_color'    => $_POST['button_color'],
47    );
48 
49  conf_update_param('cryptographp', serialize($conf['cryptographp']));
50  $page['infos'][] = l10n('Information data registered in database');
51}
52
53$presets = array(
54  'bluenoise' =>  array('perturbation'=>0.25, 'background'=>'color', 'bg_image'=>'', 'bg_color'=>'ffffff', 'text_color'=>'0000ff', 'num_lines'=>2, 'line_color'=>'0000ff', 'noise_level'=>2, 'noise_color'=>'0000ff', 'ttf_file'=>'AlteHassGroteskB'),
55  'gray' =>       array('perturbation'=>1, 'background'=>'color', 'bg_image'=>'', 'bg_color'=>'ffffff', 'text_color'=>'8a8a8a', 'num_lines'=>2, 'line_color'=>'8a8a8a', 'noise_level'=>0.1, 'noise_color'=>'8a8a8a', 'ttf_file'=>'TopSecret'),
56  'xcolor' =>     array('perturbation'=>0.5, 'background'=>'color', 'bg_image'=>'', 'bg_color'=>'ffffff', 'text_color'=>'random', 'num_lines'=>1, 'line_color'=>'ffffff', 'noise_level'=>2, 'noise_color'=>'ffffff', 'ttf_file'=>'Dread'),
57  'pencil' =>     array('perturbation'=>0.8, 'background'=>'color', 'bg_image'=>'', 'bg_color'=>'9e9e9e', 'text_color'=>'363636', 'num_lines'=>0, 'line_color'=>'ffffff', 'noise_level'=>0, 'noise_color'=>'ffffff', 'ttf_file'=>'AllStar'),
58  'ransom' =>     array('perturbation'=>0, 'background'=>'image', 'bg_image'=>'bg1.jpg', 'bg_color'=>'ffffff', 'text_color'=>'4a003a', 'num_lines'=>0, 'line_color'=>'ffffff', 'noise_level'=>0, 'noise_color'=>'ffffff', 'ttf_file'=>'ransom'),
59  );
60
61
62$template->assign(array(
63  'crypto' => $conf['cryptographp'],
64  'loaded' => $loaded,
65  'fonts' => list_fonts(CRYPTO_PATH.'securimage/fonts'),
66  'backgrounds' => list_backgrounds(CRYPTO_PATH.'securimage/backgrounds'),
67  'PRESETS' => $presets,
68  'CRYPTO_PATH' => CRYPTO_PATH,
69  ));
70
71$template->set_filename('plugin_admin_content', realpath(CRYPTO_PATH . 'template/admin.tpl'));
72$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
73
74
75
76function list_fonts($dir)
77{
78  $dir = rtrim($dir, '/');
79  $dh = opendir($dir);
80  $fonts = array();
81 
82  while (($file = readdir($dh)) !== false )
83  {
84    if ($file !== '.' && $file !== '..' && get_extension($file)=='ttf') 
85    {
86      $fonts[get_filename_wo_extension($file)] = $dir . '/' . $file;
87    }
88  }
89 
90  closedir($dh);
91  return $fonts;
92}
93
94function list_backgrounds($dir)
95{
96  $dir = rtrim($dir, '/');
97  $dh = opendir($dir);
98  $backgrounds = array();
99 
100  while (($file = readdir($dh)) !== false )
101  {
102    if ($file !== '.' && $file !== '..')
103    {
104      $ext = get_extension($file);
105      if ($ext=='jpg' || $ext=='png' || $ext=='jpeg' || $ext=='gif')
106      {
107        $backgrounds[$file] = $dir . '/' . $file;
108      }
109    }
110  }
111 
112  closedir($dh);
113  return $backgrounds;
114}
Note: See TracBrowser for help on using the repository browser.