תנאי שימוש באתר, יצירת עמוד חובה!

שלום לכל תותחי הדרופל למיניהם,
לאחרונה נתקלתי בקושי חדש שעומד מולי הקשור בתנאי שימוש באתר,
האתר שאני מריץ הוא דרופל 5 אם חשוב לציין אז גם מודול ה-PROFILE נמצא בשימוש.

אני מייבא לאתר משתמשים דרך קבצי CSV ומשתמש בקוד PHP שמפנה אותם ישר לעמוד פרופיל משתמש שיצרתי כדי שימלאו פרטים (בכמה שדות שיצרתי), במידה והפרטים לא מולאו הם ימשיכו בכל כניסה למערכת להגיע לעמוד עד למילוי הפרטים ולאחר מכן יוכלו להתחבר לאתר וכרגיל להגיע לעמוד הראשי,
אבל מלבד להפנייה אין ביכולתי למנוע מהמשתמש גישה לאתר כאשר הוא גולש בו כמשתמש רשום במידה ולא מילא את הפרטים.

הבעיה שלי נמצאת בערך כאן, אני לא רוצה לתת למשתמש להשתמש באתר עד שהוא לא ממלא את פרטי החובה, וכאן גם בעצם מגיעה הבעייה האמתית של תנאי השימוש באתר.

מכיוון שאני מייבא את המשתמשים אין ביכולתי להעביר אותם בעמוד יצירת המשתמש ושם כאמור להוסיף את תנאי השימוש שחובה עליהם לאשר לפי המשך הרישום.

האם ניתן לגרום למשתמשים מיובאים לעבור דרך עמוד שחובה עליהם לאשר;
ולא, לא יוכלו להמשיך לגלוש באתר כאשר הם מחוברים כמשתמש רשום.

(כאן חשוב מאוד לציין שקיים מודול שנקרא LOGIN DESTINATION שכאמור אני משתמש לו להפנייה לעמוד הפרופיל, כך שאין בעייה עם הפנייה בכניסה ראשונית!)

בתודה מראש,
שחר

...

לא חשבתי שהבעייה שלי עד כדי כך סבוכה בשביך כך "תותחי הדרופל" פה באתר...

התאכזבתי קשות... :(

שחר מזרחי, YSM
http://YSMblog.net

לא סטנדרטי

הי שחר
אם הבנתי אותך נכון אתה לא רוצה לאפשר להם לראות שום דף באתר, עד שהם ממלאים את הטופס
(כמובן כפי שציינת אם זה היה תהליך של רישום רגיל לא היה בגלל עניין כי זה בנוי בדיוק לזה )
ולעניין - התסריט שאתה משתמש בו לא סטנדרטי
אני לא מכיר שום מודול שיכול לעזור כאן , יש 2 דברים שאני יכול לחשוב עליהם
1. בסיום הטופס (במידה ותקין) לדרוך משתנה SESSION עם ערך מסוים ובכל הדפים (אפשר להכניס את זה ל page.tpl. ) לבדוק אם הערך לא כפי שאתה מצפה להפנות לדף הפרופיל )
צריך להתחשב בדברים :האם המשתמש ביצע LOGIN , האם הדף שנקרא הוא לא דף הפרופיל
2. לעבוד עם הרשאות - תפקידים, לתפקיד הבסיס (משתמש מזוהה)- לא תהיה הרשאה לשום פריט מידע , במידה והשדות מולאו כפי שצריך אתה תעביר אותו לתפקיד אחר, אשר לו יש הרשאות לראות את פרטי המידע.
כמובן שניתן להיות יותר מתוחכם ולעשות את השמת התפקיד בצורה אוטומטית בקוד לאחר מילוי הפרטים

זה הכי טוב שיכולתי, מקווה שזה עוזר

אביאור
http://dev-art.net

אביאור
http://dev-art.net

כתוב מודול!

הכי נכון יהיה לכתוב מודול שבודק בטעינה של כל דף, אם המשתמש המדובר אכן מילא מה שהיה צריך למלא, ואם לא - להחזיר אותו לדף הפרופיל, או פשוט להציג לו הודעה נזעמת.
לחילופין, ההצעה של אביאור על עיקור התפקיד של משתמש רשום, ויצירת תפקיד חדש בעל הרשאות מתאימות, נראית לי ישימה ביותר וגם נוחה.

<

p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות

<

p>

זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות

היי

תודה רבה קודם כל על התגובה! :)

עכשיו בעניין של מודול זה אפשרות נחמדת אבל אין הרבה זמן לזה, אך אקח את זה כאופציה.

בנוגע ליצירת תפקיד חדש שבו נמצא המשתמש עד שהוא אכן מכניס את הפרטים הנדרשים, יכולה להיות אפשרות מאוד מאוד מעניינת.

אעמיק מחשבה בכל אופצייה לעומק, ואעדכן אתכם בהמשך,

בכל אופן אשמח תמיד לשמוע רעיונות נוספים

תודה!

שחר מזרחי, YSM
http://YSMblog.net

לא תתחמק מכתיבת קוד

כל אופציה שבה תבחר, לפחות מאלו שהוצעו לך כאן, תאלץ אותך לכתוב קוד, בין אם כמודול, בין אם בדף, או בין אם ב-THEME.

זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות

לא התחמקתי... D:

מעדיף להמנע מדברים כאלה ומה שנקרא לזרום עם המערכת והאופציות שהיא נותנת.
אך במקרה זה כנראה שהפתרון היחידי בסופו של דבר יהיה מעורב בקוד.

וקוד הוא קוד אז יאללה להתחיל לעבוד :)

שחר מזרחי, YSM
http://YSMblog.net

ציפור קטנה

ציפור קטנה לחשה לי שמפתח מוכשר מבליך... (אה זה אתה!)
שינה את ה "מי מחובר" להציג את שם הפרופיל במקום שם המשתמש.
זה מאוד דומה
אפשר לייצר מודול שייקרא למשל delet.module
ושם ליישם hook_menu שייקרא בכל טעינת דף.
היישום עצמו אומר שכותבים ()delet_menu ובתוכו קוראים לפונקציה שבודקת אם המשתנה קיים מתחת לprofile ואם לא עושה drupal_set_message לשגיאה וdrupal_go_to לדף עריכת הפרופיל.
זהר והשאר תקנו אותי אם יש מקומות מוצלחים יוצר לשילוב...
ליאור

ליאור קסוס, לינוויט
תשתיות תוכן קהילתיות

ליאור קסוס, לינוויט
תשתיות תוכן קהילתיות

לקחתי את זה צעד אחד קדימה!

לקחתי את זה צעד אחד ליכוד (לא רוצה להשתמש בקדימה... :))

עכשיו כבר כמעט כל האתר מלבד לאיזה חלק קטן ומעצבן מציגים את הPROFILE_NAME.

ואף אני ברגעים אלו ממש, חזרתי מכנס מוח - היה כיף!
נתנו להם בראש!!!
ממשיך לעבוד על פתרון לבעיה.

אדאג ליידע בהמשך...

  • שחר

שחר מזרחי, YSM
http://YSMblog.net

לא לכל דבר צריך מודול חדש. הנה הפתרון:

תפסיקו לחשוב בראש של מתכנת.

ידע אישי וחיפוש קצר ברשימת המודולים מגלה את המודול LEGAL, שאמור לעשות את מה שביקשת - להציג תנאי שימוש באתר שמשתמשים חייבים להסכים להם.

http://drupal.org/project/legal

לא לכל דבר צריך מודול חדש.

במקרה זה כן...

מתוך הכרות עם האתגר של שחר - זה לא יפתור לו את הבעיה.
הוא רוצה שהמשתמשים ימלאו שדה בפרופיל לפניי שיוכלו לראות משהוא נוסף - אם אני זוכר נכון.
לא תמיד הפיתרונות הגנרים מתאימים להכל - וקצת תיכנות זה כיף...
ליאור קסוס, לינוויט
תשתיות תוכן קהילתיות

ליאור קסוס, לינוויט
תשתיות תוכן קהילתיות

תודה רבה!

אך אני חייב לציין שכמו ליאור מה שאני מחפש קצת יותר מחוכם מזה.
בכל אופן תודה רבה על העצה :)

  • שחר

שחר מזרחי, YSM
http://YSMblog.net