<a hre

Since Opentools.de has now gone away I've created this forum to house FAQs and support for this mod in phpBB2.

Moderator: Experts

Locked
draken-KG
Posts: 3
Joined: Tue May 29, 2007 10:15 pm

<a hre

Post by draken-KG »

I have seen this happen in a few places in my own coding... Is this a bug in newer versions of PHP or something? I have seen some functions unexpectedly return an array inside a [0] of another array, so instead of accessing $var[$i], you actually have to access $var[0][$i].



Vikul wrote Hi David and BRF,

I really need ur help man .. I have installed the latest version of this mod. I am getting some strange errors . On debugging i found some issues , need urments on these . In posting_attachments ...



________________________________________

// Get those attach_ids allowed for lists from the attachments table...

$allowed_attach_ids = array();

if ($post_id)

{

$sql = 'SELECT attach_id

FROM ' . ATTACHMENTS_TABLE . '

WHERE ' . $sql_id . ' = ' . $post_id;

$result = $db->sql_query($sql);



if (!$result)

{

message_die(GENERAL_ERROR, 'Unable to get attachment information.', '', __LINE__, __FILE__, $sql);

}



while ($_row = $db->sql_fetchrow($result))

{

$allowed_attach_ids[] = $_row['attach_id'];

}

$db->sql_freeresult($result);

}



// Check the submitted variables - do not allow wrong values

$actual_id_list = get_var('attach_id_list', array(0));

$actual_list = get_var('attachment_list', array(''));



for ($i = 0; $i < sizeof($actual_list); $i++)

{

if ($actual_id_list[$i] != 0)

{

if (!in_array($actual_id_list[$i], $allowed_attach_ids))

{

message_die(CRITICAL_ERROR, 'You tried to change an attachment you do not have access to', '');

}

}

else

{

// Really new attachment? If so, the filename should be unique...

if (physical_filename_already_stored($actual_list[$i]))

{

message_die(CRITICAL_ERROR, 'You tried to change an attachment you do not have access to', '');

}

}

}









----------------------------



$actual_id_list = get_var('attach_id_list', array(0));

this returns a multidimensional array ... which I belive is not expected here .. all thru the code a one dimensional array is expected by the code.



Reasons why I suspect this



I upload an attachment --> Success

I go back to the topic and try editing the post ( same user ) and upload a new attachment or delete an existing one , I get a critical error .

(CRITICAL_ERROR, 'You tried to change an attachment you do not have access to',

. On debugging I found that this check was failing



if (!in_array($actual_id_list[$i], $allowed_attach_ids))



If i change this code to

for ($j = 0; $j < sizeof($actual_id_list[$i]); $i++)

if (!in_array($actual_id_list[$i][$j], $allowed_attach_ids)) ..



it works



But this is not the end it starts failing at the next place where a single dimensional array was assumed.



I am not an expert so was wondering if there is some misunderstanding on my part ... I have revisited all the changes that need to be done and can confirm that all have been done as per the install instructions.



One Place where i suspect the issue to be is the attach_mod/includes/function_attach -> get_var function .

I know that this mod has been there for so long and such an error would have been long caught. But I am getting these errors which no one else seem to be getting .. Any help from u guys will be highly appreciated.
Image
DavidIQ
Site Admin
Posts: 619
Joined: Thu Sep 07, 2006 4:31 pm
Location: Earth
Contact:

Post by DavidIQ »

Is this spam? This is the second time this gets posted.

In any case this mod is rock solid. Any errors being experienced in the actual mod files will most likely have to do with the server itself or incompatibilities with other mods.
Locked