פורום קהילת הסטודנטים בטכניון

אדמיניסטרציה => פורום אדמיניסטרטיבי => נושא נשלח על ידי: Psibeast על אוקטובר 08, 2012, 00:48:10 AM

כותרת: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: Psibeast על אוקטובר 08, 2012, 00:48:10 AM
בפורום אס"ט היה פיצ'ר מאוד שימושי שנקרא "הצג את הודעותיך".
הוא היה מביא את רשימת כל השרשורים שהשתתפת בהם ever.

פה ב SMF יש פיצ'ר שהוא כמעט זהה בשם unread replies
רק שהשינוי הוא שהוא מציג שרשורים שהשתתפת בהם *רק אם יש בהם הודעות שלא קראת*

חיפשתי מוד שעושה את זה, אבל לא מצאתי.

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

בתודה מראש לעוזרים.
כותרת: בעניין: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: desc על אוקטובר 08, 2012, 00:55:56 AM
אני אתן מבט בקוד, אבל אני לא מבטיח כלום...
כותרת: בעניין: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: lol על אוקטובר 08, 2012, 03:13:52 AM
דווקא יש פה את הפיצ'ר
הולכים לפרופיל ואז "הצג הודעות" מצד ימין למטה, מראה את כל ההודעות שכתבת אי פעם.
כותרת: בעניין: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: desc על אוקטובר 08, 2012, 03:59:25 AM
אבל לא בצורת שרשורים.
כותרת: בעניין: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: yoni על אוקטובר 08, 2012, 04:01:21 AM
דווקא יש פה את הפיצ'ר
הולכים לפרופיל ואז "הצג הודעות" מצד ימין למטה, מראה את כל ההודעות שכתבת אי פעם.

צודק, אפשר פשוט לפנות לקישור הזה: http://techstud.net/forum/index.php?action=profile;area=showposts (http://techstud.net/forum/index.php?action=profile;area=showposts)
או להציג רק שירשורים: http://techstud.net/forum/index.php?action=profile;area=showposts;sa=topics (http://techstud.net/forum/index.php?action=profile;area=showposts;sa=topics)
כותרת: בעניין: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: Boris על אוקטובר 08, 2012, 09:31:41 AM
יוני זה רק מציג את השרשורים שפתחתי, או את ההודעות שכתבתי.
אנחנו מנסים למצוא פיצ'ר שמציג את כל השרשורים שבהם הגבתי (בצורה של שרשורים ולא את ההודעות)
כותרת: בעניין: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: yoni על אוקטובר 08, 2012, 09:33:27 AM
יוני זה רק מציג את השרשורים שפתחתי, או את ההודעות שכתבתי.
אנחנו מנסים למצוא פיצ'ר שמציג את כל השרשורים שבהם הגבתי (בצורה של שרשורים ולא את ההודעות)
אה, אוקיי הבנתי.
כותרת: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: פיונה על אוקטובר 08, 2012, 09:57:53 AM
פסיי, באייפד יש את זה בתור participated
חושב שזה יכול לעזור איכשהו?
כותרת: בעניין: בקשה לעזרה ממפתחים פה שיודעים קצת PHP
תגובה על ידי: Psibeast על אוקטובר 08, 2012, 10:48:38 AM
כן!
הצורה שהאפליקציה הזאת פועלת היא שהיא מתקינה API מסוים על הפורום ומשתמשת בו כדי להציג את הפורום.
 
להלן הפונקציה הרלוונטית משם:  רק צריך שמישהו יארגן מוד שעוטף את זה ומשתמש בזה כדי להציג דף עם שרשורים וכולי ולינק בראש הפורום.
קוד: [Select]
function action_get_participated_topic()
{
    global $smcFunc, $scripturl, $user_info, $context, $modSettings, $topic_per_page, $start_num, $search_user;
    $searchz_user_id = $user_info['id'];
    if ($search_user)
    {
        $memberResult = loadMemberData($search_user, true, 'profile');
        if (!is_array($memberResult))
            fatal_lang_error('not_a_user', false);
        list ($searchz_user_id) = $memberResult;
    }
    // All the topics with notification on...
    $request = $smcFunc['db_query']('', '
        SELECT m.id_topic, MAX(m.id_msg) as id_msg, b.id_board, b.name AS board_name
        FROM {db_prefix}messages AS m
            INNER JOIN {db_prefix}boards AS b ON (b.id_board = m.id_board AND {query_see_board})
        WHERE m.id_member = {int:current_member}
        GROUP BY m.id_topic
        ORDER BY id_msg DESC
        LIMIT {int:offset}, {int:items_per_page}',
        array(
            'current_member' => $searchz_user_id,
            'offset' => $start_num,
            'items_per_page' => $topic_per_page,
        )
    );
    $participated_topics = array();
    while ($row = $smcFunc['db_fetch_assoc']($request))
    {
        $participated_topics[] = $row;
    }
    $smcFunc['db_free_result']($request);
    $context['topics'] = $participated_topics;
    $request = $smcFunc['db_query']('', '
        SELECT COUNT(DISTINCT m.id_topic)
        FROM {db_prefix}messages AS m
            INNER JOIN {db_prefix}boards AS b ON (b.id_board = m.id_board AND {query_see_board})
        WHERE m.id_member = {int:current_member}',
        array(
            'current_member' => $searchz_user_id,
        )
    );
    list ($totalParticipated) = $smcFunc['db_fetch_row']($request);
    $smcFunc['db_free_result']($request);
    $context['topic_num'] = $totalParticipated;
}