Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
& im Link? Was ist zu ändern?
#1
Hab jetzt schon beim zweiten Plugin dieses "&" im aufgerufenen Link.

Normalerweise müsste der Link so aussehen:

.../member.php?action=profile&uid=1

sieht aber so aus:

.../member.php?action=profile&uid=1

Hier mal die php:

PHP-Code:
<?php
/*

 * Reported Posts In Thread For MyBB 1.4
 * By: LeX-
 * Website: http://www.thingiej.be
 * Version: 1.0

*/
$plugins->add_hook('report_do_report_end''report_thread_report');

function 
report_thread_info()
{
    return array(
        
'name'            => 'Reported Posts In Thread',
        
'description'    => 'Option To Create A New Thread When A Post Gets Reported. So Moderators Can Discuss The Post ...!',
        
'website'        => 'http://www.thingiej.be/',
        
'author'        => 'LeX-',
        
'authorsite'    => 'http://www.thingiej.be/',
        
'version'        => '1.0',
        
'compatibitlity'  => "14*"
    
);
}

function 
report_thread_is_installed()
{
    global 
$db;
    
    
$query $db->simple_select("settings""name""name='rt_status'", array('limit' => 1));
    if(
$db->fetch_field($query"name"))
    {
        return 
true;
    }
    
    return 
false;
}

function 
report_thread_install()
{
    global 
$db$mybb;

    
$db->write_query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN(
        'rt_status',
        'rt_fid',
        'rt_uid'
    )"
);
    
$db->delete_query("settinggroups""name = 'rt_options'");

    
$rt_group = array(
        
"name"            => "rt_options",
        
"title" =>"Report Thread Settings",
        
"description"    => "Settings for the Report Thread Plugin.",
        
"disporder"        => "30",
        
"isdefault"        => "no",
    );

    
$group['gid'] = $db->insert_query("settinggroups"$rt_group);
    
$mybb->rt_insert_gid $group['gid'];

    
$new_setting = array(
        
'name'            => 'rt_status',
        
'title'            => 'Report Thread__ Status',
        
'description'    => 'Enable/Disable Report Thread Plugin.',
        
'optionscode'    => 'onoff',
        
'value'            => '1',
        
'disporder'        => '1',
        
'gid'            => intval($group['gid']),
    );
    
$db->insert_query('settings'$new_setting);

    
$new_setting = array(
        
'name'            => 'rt_fid',
        
'title'            => 'Report Thread__ ForumID',
        
'description'    => 'Where Should The Threads Be Created ? In What Forum ? Enter a single FID.',
        
'optionscode'    => 'text',
        
'value'            => '',
        
'disporder'        => '2',
        
'gid'            => intval($group['gid']),
    );
    
$db->insert_query('settings'$new_setting);

    
$new_setting = array(
        
'name'            => 'rt_uid',
        
'title'            => 'Report Thread__ UserID',
        
'description'    => 'Who Should Post The Threads ? Enter A UserID (uid). By Default its 1 ! Should Be The BoardOwner.',
        
'optionscode'    => 'text',
        
'value'            => '1',
        
'disporder'        => '3',
        
'gid'            => intval($group['gid']),
    );
    
$db->insert_query('settings'$new_setting);

    
rebuild_settings();
}

function 
report_thread_uninstall()
{
    global 
$db;

    
$db->write_query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN(
        'rt_status',
        'rt_fid',
        'rt_uid'
    )"
);
    
$db->delete_query("settinggroups""name = 'rt_options'");
}

function 
report_thread_report()
{
    global 
$db$mybb$cache$lang;
    
    if(
$mybb->settings['rt_status'] == 0)
    {
        return;
    }
    
$lang->load("report_thread");
    
$pid intval($mybb->input['pid']);
    
$reason $db->escape_string(htmlspecialchars_uni($mybb->input['reason']));
    
$fid intval($mybb->settings['rt_fid']);
    
$posteruid intval($mybb->input['rt_uid']);
    if(!
$posteruid)
    {
        
$posteruid 1;
    }
    
$forums $cache->read("forums");
    if(
$forums[$fid])
    {
        
$postinfo get_post($pid);
        
$postinfo['subject'] = str_replace("RE:"""$postinfo['subject']);
        
$postlink "[url={$mybb->settings['bburl']}/".get_post_link($postinfo['pid'], $postinfo['tid'])."#pid{$postinfo['pid']}]Goto[/url]";
        
$userinfo get_user($posteruid);
        
$poster "[url={$mybb->settings['bburl']}/".get_profile_link($postinfo['uid'])."]{$postinfo['username']}[/url]";
        
$reporter "[url={$mybb->settings['bburl']}/".get_profile_link($mybb->user['uid'])."]{$mybb->user['username']}[/url]";
        
$subject $lang->sprintf($lang->report_thread_subject$postinfo['subject']);
        
$message $lang->sprintf($lang->report_thread_message$reporter$reason$poster$postlink$postinfo['message']);
        
$new_thread = array(
            
"fid" => $fid,
            
"subject" => $db->escape_string($subject),
            
"icon" => -1,
            
"uid" => intval($userinfo['uid']),
            
"username" => htmlspecialchars_uni($db->escape_string($userinfo['username'])),
            
"dateline" => TIME_NOW,
            
"lastpost" => TIME_NOW,
            
"lastposter" => htmlspecialchars_uni($db->escape_string($userinfo['username'])),
            
"lastposteruid" => intval($userinfo['uid']),
            
"views" => 0,
            
"replies" => 0,
            
"visible" => 1
        
);

        
$db->insert_query("threads"$new_thread);
        
$tid $db->insert_id();

        
$new_post = array(
              
"tid" => $tid,
              
"fid" => $fid,
              
"subject" => $db->escape_string($subject),
              
"icon" => -1,
              
"uid" => intval($userinfo['uid']),
              
"username" => htmlspecialchars_uni($db->escape_string($userinfo['username'])),
              
"dateline" => TIME_NOW,
              
"message" => $db->escape_string($message),
              
"ipaddress" => $userinfo['regip'],
              
"includesig" => 0,
              
"smilieoff" => 0,
              
"visible" => 1
        
);
        
$db->insert_query("posts"$new_post);
        
$pid $db->insert_id();

        
$firstpostup['firstpost'] = $pid;
        
$db->update_query("threads"$firstpostup"tid='{$tid}'");
        
update_forum_counters($fid, array('threads' => '+1''posts' => '+1'));
    }
}
?>

Dadurch wird natürlich immer die selbe ID aufgerufen, egal auf welches
Usrprofil der Link eigentlich leiten sollte.

Woran liegt das wohl?
Zitieren
#2
Das Plugin holt sich die Links mit get_*_link(), was prinzipiell ja eigentlich richtig ist - nur sind die gelieferten URLs von diesen Funktionen für HTML-Sourcecode gedacht (dort muss &amp; statt & stehen), werden vom Plugin dann aber in URL-BBCodes verwendet.

Um die get_*_link() müsste in dem Fall wohl noch ein html_entity_decode() oder sowas drumrum.
Zitieren
#3
Danke, aber Ich hab ehrlich gesagt leider keine Ahnung, was ich jetzt machen soll.

Hier noch eben die lang php, denn dort stehen auch die beiden Variablen,
bei denen der Link dann falsch ausgeworfen wird.

Geht um "Post Reported By: {1}" und "Poster : {3}"

PHP-Code:
<?php

$l
['report_thread_subject'] = "[Report] : {1}";
$l['report_thread_message'] = "[b]Post Reported By:[/b] [i]{1}[/i]\n
[b]Reason : [/b] [i]{2}[/i]\n
[b]Poster : [/b] [i]{3}[/i]\n
[b]Post Summary ( {4} ) : [/b] [quote]{5}[/quote]"
;

?>

Ich schnall gerade gar nichts mehr, sry
Zitieren
#4
Füge über
PHP-Code:
$userinfo get_user($posteruid); 
mal bitte diese Zeile ein:
PHP-Code:
$postlink html_entity_decode($postlink); 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
Also jetzt klappt es, wenn man de "Goto" Link anklickt. Post Summary ( {4} )

Aber auch nur bei dem!

Bei "Poster" und "Reported by" ist das Problem nach wie vor.
Immer noch mit &amp;

Was könnte ich jetzt noch hinzufügen? Kannste noch mal helfen? Rolleyes
Zitieren
#6
Füge unter
PHP-Code:
$poster "[url={$mybb->settings['bburl']}/".get_profile_link($postinfo['uid'])."]{$postinfo['username']}[/url]";
$reporter "[url={$mybb->settings['bburl']}/".get_profile_link($mybb->user['uid'])."]{$mybb->user['username']}[/url]"
ein:
PHP-Code:
$poster html_entity_decode($poster);
$reporter html_entity_decode($reporter); 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#7
Einwandfrei!! Das war´s Big Grin

Vielen lieben Dank Michael!
Zitieren