Drupálhoz modul készítés

iszabi képe

Sziasztok!

Ide küldöm a problémákat, melyre szeretném ha drupal modul írásban jártastól kapnék választ.
A Feladat egyedi modulok készítése.

1.
A feladat megfogalmazása és lehetséges megvalósítása:
A CIKK közzétételének joga.

//CIKK (szerzői változat) és az egy erre létrehozott csoport BECIKK (szerkesztői változat) kereszthivatkozása.

global $user;

// Csoport BECIKK (szerkesztői változat) létrehozása a CIKK-ből (szerzői változat). A szerző és a szerkesztők (eddig csak jogosultak a CIKK szerkesztésére) felhasználók felvétele a BECIKKbe szerző és társszerzők mezőkbe.

// CIKK társszerzőinek PROFIL oldalán a CIKKek linkjeinek megjelenítése
=====================================================================

2.
A feladat megfogalmazása és lehetséges megvalósítása:
Ellenőrzés

// Egy új "mesterpont kiosztás" beküldésekor vizsgáljuk, hogy nem kapott-e már egyszer pontot a hivatkozott versenyre a hivatkozott user.

global $user;

#if ($node->type == 'master_point') {

// A felhasználó idei és örök mesterpontjainak összeszámolása (master_point tartalom típusú nodeok közül ahol a felhasználó a field_masterpoint_user) és megjelenítése a fh. profil oldalán.
=====================================================================

3.
A feladat megfogalmazása és lehetséges megvalósítása:
Hitelesítés!

//-------------- A feladat megfogalmazása és lehetséges megvalósítása --------------
// edit-field-online-game-list-1-nid-nid
// edit-field-online-game-nick-1-0-value
// edit-field-online-g-n-valid-1-value
 
 
//  Ha "online game nick hitelesítő" rid='11' role-ba tartozik a user, akkor az adott felhasználó content_profile-ján lássa és szerkeszteni tudja csak a field_online_g_n_valid_1_value -tól _5_value -ig mezőket.
 
function nick_hitelesito_perm() {
	return array(
		'nickek hitelesitese'
	);
}
 
 
# function user_access($string, $account = NULL, $reset = FALSE) { // http://api.drupal.org/api/function/user_access/6 
# function user_roles($membersonly = FALSE, $permission = NULL) { // http://api.drupal.org/api/function/user_roles/6 

 
 
//  Ha a saját lapját szerkesztette a user, akkor a submit megnyomása után a lekérdezzük az adatbázisból a 'field_online_game_nick_1_value'-tól '_5_value'-ig és a 'field_online_game_list_1_nid'-tól '_5_nid'-ig a mezők és select-ek értéke,
 
# function nick_hitelesito_validate()

//  Majd ellenőrizzük, hogy megváltozott-e az értékük a user szerkesztése után. 
 
# function form_type_select_value($form, $edit = FALSE) { // http://api.drupal.org/api/function/form_type_select_value/6
# function form_type_textfield_value($form, $edit = FALSE) { // http://api.drupal.org/api/function/form_type_textfield_value/6

 
//  Ha megváltoztatta a user a mezőpárok valamelyikét, akkor a 'field_online_g_n_valid_1_value'-tól '_5_value'-ig a megfelelő helyen megváltoztatjuk a mező értékét "hitelesítés alatt"-ra.
 
# function nick_hitelesito_submit()

 
function nick_hitelesito_form_alter(&$form, $form_state, $form_id) {
	//drupal_set_message($form_id);
	print_r($form);
	if ($form_id == 'profile_node_form' && user_access('nickek hitelesitese')) {
	//print_r($form_state);
		foreach($form as $key=>$element) {
			if (strpos($key, 'online_g_n_valid') == FALSE) {
				if (is_array($element)) {
					$form['theme_settings'][$key]['#disabled'] = TRUE;
					//drupal_set_message($form['theme_settings'][$key]['#disabled']);
				}
				#drupal_set_message($key);
			}
			if (strpos($key, 'online_game_nick_1') == TRUE) {
				drupal_set_message('o g n 1 :  ' . $form['value'][$key]);
			}
		}
	}
}
/*
	global $user;
 
//	if ($user->uid != 1) {
 
		drupal_set_message('CSEKK form_id:  ' . $form_id);
		if ($form_id == 'profile_node_form') {
			drupal_set_message('NICK HITELESÍTÉS AKTÍV');
			drupal_set_message('CSEKK user_id:  ' . $user->uid);
			form_type_select_value($form, $edit = FALSE);
			drupal_set_message('form: ' . $form);
			$form['group_online_game_nicks']['field_online_game_nick_5_0_value'] = array (
				'#title' => t('Sly hello'),
				'#default_value' => $object['foo'],
				'#description' => t('baz'),
			);
 		}
 
//	}
*/
 
/*function nick_hitelesito_validate(&$form, $form_state, $form_id) {
	form_set_value(
		$form_state['value']['edit_field_online_game_nick_5_0_value'], 
		$form_item['#parents'] = array(
		'edit_field_online_game_nick_5_0_value'),
		$value='Sly hello');
}*/
=====================================================================
 
4.
A feladat megfogalmazása és lehetséges megvalósítása:
Nevezés ellenőrzése.
 
//  A verseny oldalán megvizsgáljuk, hogy nevezett e már a user a versenyre. 
 
global $user;
 
#$result_tag_e = db_query ('SELECT ctcs.nid FROM content_type_compatition ctc, content_type_compatition_subscribe ctcs, og_uid u, og o WHERE ctcs.field_nevezes_versenyre_nid=' .$node->nid. ' AND o.nid=u.nid AND u.uid='.$user->uid)

 
 
//  Ha a user még nem tagja egy nevezés csoportnak sem, mely erre a versenyre hivatkozik, akkor látható lesz egy "Nevezés a versenyre" gomb, melyre klattyintva a felhasználó egy úgy nevezést küld be, mely már tartalmazza a verseny_referenciáját, de módosítani nem tudja a user.
 
/*
function versenyre_nevezo_customlinks_link_alter($node, $links) {
	if ($node->type == 'compatition') {
		drupal_set_message('VERSENYRE NEVEZŐ MODUL AKTÍV');
		#print_r($links);
		$links['compatition_customlinks']['#href'] = 'node/add/compatition-subscribe';
		$links['compatition_customlinks']['#title'] = t('I subscribe for tis competition');
	}
}
*/
 
 
//  Illetve ha egy nevezés csoport tagja akar lenni, akkor is vizsgálni kell, hogy a nevezés által hivatkozott versenyre nem jelentkezett-e már valamely másik csoporttal.
 
# og_comfirm_subscibe
#if ($node->type == 'compatition_subscibe') {

 
 
//  A nevezés csoportba ne tudjon jelentkezni a user, ha teljes a csoport létszáma (a versenytől függően 2 v. 4 fő). 
 
# field_verseny_num_group_members

=====================================================================
 
A dev@netkey.hu címre írhatsz levelet, és várjuk jelentkezésed ezügyben.
 
Üdv,
Drupal verzió: 
iszabi képe

Minden cikknek az eredeti, a szerző által publikált változata is megmarad. Különleges esetekben a szerkesztő a szerző által már késznek minősített változatot visszaadhatja szerkesztésre.

Ettől a szerkesztő által már elvégzett szerkesztési munka nem vész el: az eredeti és a szerkesztett változatok között kapcsolat van, egymásból elérhetőek, de egymás tartalmára semmilyen automatikus hatással nincsenek.

A publikált cikkek megjelentetett lapján a felhasználók egy linken keresztül mindig elérhetik a szerző által kiadott változatot.

0
0

Szabolcs Illes
Netkey HU SK

iszabi képe

Ha már feltöltötték a mesterpontokat:
Ha az arra kijelölt személy feltöltötte a mesterpontokat (ld. lent), akkor a versenyeredmény mellett az adott helyezésért járó mesterpont is látható.

Egy új "mesterpont kiosztás" beküldésekor vizsgáljuk, hogy nem kapott-e már egyszer pontot a hivatkozott versenyre a hivatkozott user.

A kiosztott pontozás adatok javíthatóak, és értesítővel is össze kell tudni kapcsolni.

A felhasználó idei és örök mesterpontjainak összeszámolása (master_point tartalom típusú nodeok közül ahol a felhasználó a field_masterpoint_user) és megjelenítése a fh. profil oldalán.

0
0

Szabolcs Illes
Netkey HU SK

iszabi képe

Hitelesítendő adatok:
pl.: a nickek, email címek, telefonszámok hitelesítendő adatok, ehhez kell egy hitelesítési folyamat és az adatokhoz kell egy hitelesítési állapotjelző is

Export:
1. includeplayer.txt, azok a BBO nickek, amelyeknek sikeres a hitelesítése, formátum: minden nick után egy crlf (az utolsó után is);
2. egy olyan pontosvesszővel elválasztott állomány, amiben a következő adatok vannak: felhasználónév, site (ha van értelme),nick (ha van értelme), telszám (ha van értelme), email (ha van értelme), folyamat kezdete, jelenlegi hitelesítési állapot;

Jogosultságok:
kell egy olyan szerepkör, aki a hitelesítést végezheti, neki van joga hozzájutni ehhez az export állományhoz és a felhasználói adatlapokon pittyegteti a hitelesítési állapot mezőket;
Ha 10 (megadható) naptári napon belül nem változik a hitelesítés állapota sikeresre, akkor változzon automatikusan sikertelenre (és ez az esemény hozzon létre egy emailt a felhasználó alapértelemezett email címére nomeg azok számára, akik rendelkeznek a hitelesítő jogkörrel)

0
0

Szabolcs Illes
Netkey HU SK

iszabi képe

Nevezés egy versenyre:
Ha a user még nem tagja egy nevezés csoportnak sem, mely erre a versenyre hivatkozik, akkor látható lesz egy "Nevezés a versenyre" gomb, melyre klattyintva a felhasználó egy úgy nevezést küld be, mely már tartalmazza a verseny_referenciáját, de módosítani nem tudja a user.

Illetve ha egy nevezés csoport tagja akar lenni, akkor is vizsgálni kell, hogy a nevezés által hivatkozott versenyre nem jelentkezett-e már valamely másik csoporttal.

A nevezés csoportba ne tudjon jelentkezni a user, ha teljes a csoport létszáma (a versenytől függően pl.: 2 vagy 4 fő).

Nevezésekről megerősítése, értesítő megy ki ha nevezését elfogadták.
Nevezés elutasítása, ha más nevezte be, de ő nem indul a a versenyen.

0
0

Szabolcs Illes
Netkey HU SK