5 /* modul azonosító konstansként */
6 define('MODULE_ID', 'nevergone_1');
9 define('WIDGET_USER', 'tanarurkerem');
12 define('WIDGET', '<script type="text/javascript" src="http://feeds.delicious.com/v2/js/networkbadge/' . WIDGET_USER . '?showadd&icon=s&name&itemcount&nwcount&fancount"></script>');
15 /* hook_menu() implementáció */
16 function nevergone_1_menu() {
17 $items['admin/content/' . MODULE_ID] = array(
18 'title' => MODULE_ID . ' #tuksi02 settings',
19 'page callback' => drupal_get_form,
20 'page arguments' => array('nevergone_1_settings_form'),
21 'access arguments' => array('administer access'),
23 $items[MODULE_ID] = array(
24 'title' => MODULE_ID . ' #tuksi02',
25 'page callback' => 'nevergone_1_page',
26 'access arguments' => array('access content'),
32 /* modul admin oldalán megjelenő form */
33 function nevergone_1_settings_form() {
34 $form['widget'] = array( /* beviteli mező */
35 '#type' => 'textfield',
36 '#title' => MODULE_ID . ' widget felhasználó neve',
37 '#default_value' => variable_get('nevergone_1_widget', WIDGET_USER),
38 '#description' => check_plain(str_replace(WIDGET_USER, variable_get('nevergone_1_widget', ''), WIDGET)),
40 $form['submit'] = array( /* "Save configuration" gomb */
42 '#value' => t('Save configuration'),
44 $form['reset'] = array( /* "Reset to defaults" gomb */
46 '#value' => t('Reset to defaults'),
47 '#submit' => array('nevergone_1_settings_form_clear'), /* reset form */
53 /* modul admin form törlése */
54 function nevergone_1_settings_form_clear($form, &$form_state) {
55 $form_state['rebuild'] = TRUE; /* újra kell építeni a formot */
56 $form_state['values']['widget'] = WIDGET_USER; /* eredeti érték */
57 variable_set('nevergone_1_widget', WIDGET_USER);
58 drupal_flush_all_caches(); /* gyorstár ürítése */
62 /* modul admin form ellenőrzése: a felhasználónév nem lehet üres */
63 function nevergone_1_settings_form_validate($form, &$form_state) {
64 if (empty ($form_state['values']['widget'])) {
65 form_error($form['widget'], 'Nem lehet üres a felhasználónév!');
70 /* modul admin form elküldése: felhasználónév mentése */
71 function nevergone_1_settings_form_submit($form, &$form_state) {
72 variable_set('nevergone_1_widget', $form_state['values']['widget']);
73 drupal_flush_all_caches(); /* gyorstár ürítése */
77 /* hook_theme implementáció */
78 function nevergone_1_theme($existing, $type, $theme, $path) {
80 'nevergone_1_page' => array( /* sminkeléshez használt függvény neve: theme_nevergone_1_page(), és az átadott paraméterek */
81 'arguments' => array('widget' => NULL),
83 'nevergone_1_block' => array(
84 'arguments' => array('widget' => NULL),
90 /* oldal sminkeléséhez használt függvény */
91 function theme_nevergone_1_page($widget) {
96 /* modul oldalának megjelenítése */
97 function nevergone_1_page() {
98 $widget = variable_get('nevergone_1_widget', '');
99 $widget = str_replace(WIDGET_USER, check_plain(variable_get('nevergone_1_widget', '')), WIDGET);
100 return theme(nevergone_1_page, $widget); /* sminkeléssel generált eredmény */
104 /* hook_block() implementáció */
105 function nevergone_1_block($op = 'list', $delta = 0, $edit = array()) {
107 case 'list': /* blokkok listája */
108 $blocks['0'] = array(
109 'info' => 'Blokktégla (nevergone_1)',
113 case 'view': /* blokk tartalma */
115 /* nézzük a delta-t, hátha egyszer több blokk lesz a modulban */
118 $widget = variable_get('nevergone_1_widget', '');
119 $widget = str_replace(WIDGET_USER, check_plain(variable_get('nevergone_1_widget', '')), WIDGET);
120 $blocks['subject'] = MODULE_ID;
121 $blocks['content'] = theme(nevergone_1_block, $widget);
130 /* blokk sminkeléséhez használt függvény */
131 function theme_nevergone_1_block($widget) {
136 /* hook_filter() implementáció */
137 function nevergone_1_filter($op, $delta = 0, $format = -1, $text = '', $cache_id = 0) {
141 '0' => 'nevergone_1 filter',
149 $widget_code = str_replace(WIDGET_USER, check_plain(variable_get('nevergone_1_widget', '')), WIDGET);
150 return str_replace('[widget]', $widget_code, $text);
153 return TRUE; /* cache kikapcsolása */
159 /* hook_filter_tips() implementáció */
160 function nevergone_1_filter_tips($delta, $format, $long = FALSE) {
163 return 'nevergone_1 példafilter leírása';