/* * Перед рендерингом формы свойств поля добавляем в нее требуемый checkbox * */ function i18ncck_form_alter(&$form, $form_state, $form_id) { if (($form['form_id']['#value'] == 'content_field_edit_form') && (variable_get('i18n_node_' . $form['type_name']['#value'], FALSE))) { $i18ncck = array( '#type' => 'checkbox', '#title' => t('Language independent values'), '#default_value' => variable_get('i18ncck_' . $form['field_name']['#value'] , FALSE), ); /* * Указываем дополнительный обработчик формы функцию _i18ncck_field_submit() * */ if(isset($form['field'])) { $form['field'] = array_merge(array('i18ncck' => $i18ncck), $form['field']); $form['#submit'][] = '_i18ncck_field_submit'; } } } function _i18ncck_field_submit($form, &$form_state) { /* * Если флажок выставлен сохраняем уникальную переменную для каждого поля, * если нет – удаляем ее. * */ if (isset($form_state['values']['i18ncck']) && $form_state['values']['i18ncck']) { variable_set('i18ncck_' . $form_state['values']['field_name'], TRUE); } else { variable_del( 'i18ncck_' . $form_state['values']['field_name']); } } /* * При подтверждении формы редактирования материала обрабатываются * два случая: вставка и обновление. * */ function i18ncck_nodeapi(&$node, $op, $a3, $a4) { if ( variable_get('i18n_node_' . $node->type, FALSE)) { switch ($op){ /* * Получаем исходный по языку материал и все его переводы. * Проходим по циклу все поля, если для него указана многоязычность - * загружаем все переводы, присваиваем введенное значение поля и сохраняем их. * */ case 'update': $translations = translation_node_get_translations($node->tnid); foreach( content_fields() as $field) { $field = $field['field_name']; if ( variable_get('i18ncck_' . $field, FALSE) && isset($node->tnid)) { foreach($translations as $lang){ if($node->nid!=$lang->nid) { $i18n_node = node_load($lang->nid); $i18n_node->$field = $node->$field; node_save($i18n_node); unset($i18n_node); } } } } break; /* * От случая обновления отличается только способом получения NID исходного перевода * */ case 'insert': if(isset($node->translation_source->nid)) { $translations = translation_node_get_translations($node->translation_source->nid); foreach(content_fields() as $field) { $field = $field['field_name']; foreach( $translations as $translation) { $i18n_node = node_load($translation->nid); $i18n_node->$field = $node->$field; node_save($i18n_node); unset($i18n_node); } } } break; } } } Sen antaŭa registriĝo kaj ensalutado vi ne povas serĉi en la adresaro! | Tutmonda Esperanto-adresaro

Sen antaŭa registriĝo kaj ensalutado vi ne povas serĉi en la adresaro!

Kara amiko, por vidi la personojn en la adresaro, vi devas esti registrita uzanto (senkosta). Nur post registriĝo kaj ensalutado vi povas serĉi laŭ plej diversaj funkcioj:
  • Vi povas serĉi korespondamikon
  • Vi povas elekti turismajn servojn (senkosta gastigado, urbogvidado, helpado, perado de hoteloj k. a.
  • Vi povas serĉi personojn en la adresaro laŭ hobioj, interesoj k. a.
  • La registriĝo estas plene senkosta, sed vi povas ankaŭ registriĝi kiel "Amiko". "Amikoj" kontribuas iomete finance kaj ili havas kelkajn avantaĝojn:

  • Vi povas plene vidi ĉiujn kontaktinformojn (se la uzantoj tion permesas), kiel ekz. stratadreson, telefonon, skajpkonton kaj aliajn.
  • Vi havos aliron al speciala sekcio por “Amikoj” (nun ankoraŭ ne kreita).
  • Vi povas vidi kaj kontakti personojn, kiuj ne parolas Esperanton, sed donas servojn, kiel ekzemple senkostajn tranokteblecojn aŭ urbogvidadon.
  • Vi subtenas la agadon de Esperanto Internacia, do ĉefe la Esperanto-informadon kaj la Esperanto-instruadon.
  • Vi fariĝos plena membro de internacia komunumo.
  • Registriĝu nun!