Re: Custom fields and filters of post, 1.0 (SMF 2.0-2.0.7)

mercredi 25 juin 2014

I paste here your PM because the problem is the same, and it can be usefull for others users.


I think package install fails on MessageIndex.php because you have installed others mods and they modify same file.


If you install with these errors, my mod can work with errors, I do not known.


<file name="$sourcedir/MessageIndex.php">

<operation>

<search position="before"><![CDATA[

loadTemplate('MessageIndex');

]]></search>

<add><![CDATA[

// BEGIN MOD CustomFieldFilterPost

loadTemplate('CustomFieldFilterPost');

if (isset($_REQUEST['cffp_filters']))

$_REQUEST['cffp'] = cffpUrlParamsDecompress($_REQUEST['cffp_filters']);

$context['cffp_filters']['params'] = isset($_REQUEST['cffp']) ? ';cffp_filters=' . cffpUrlParamsCompress($_REQUEST['cffp']) : '';


// Load filters of custom post fields.

cffpLoad(0, 0, 'filters');


$context['cffp_filters']['sql'] = cffpGetSqlFilter('filters');

// END MOD CustomFieldFilterPost

]]></add>

</operation>


<operation>

<search position="before"><![CDATA[

// How many topics do we have in total?

]]></search>

<add><![CDATA[ // BEGIN MOD CustomFieldFilterPost

if (!empty($context['cffp_filters']['sql']))

$board_info['total_topics'] = cffpGetTotalTopics();

else

// END MOD CustomFieldFilterPost

]]></add>

</operation>


<operation>

<search position="replace"><![CDATA[$d;sort=' . $_REQUEST['sort'] . (isset($_REQUEST['desc']) ? ';desc' : ''), $_REQUEST['start']]]></search>

<add><![CDATA[$d;sort=' . $_REQUEST['sort'] . (isset($_REQUEST['desc']) ? ';desc' : '') /* BEGIN MOD CustomFieldFilterPost */ . $context['cffp_filters']['params'] /* END MOD CustomFieldFilterPost */, $_REQUEST['start']]]></add>

</operation>


<operation>

<search position="replace"><![CDATA[$d', $_REQUEST['start']]]></search>

<add><![CDATA[$d' /* BEGIN MOD CustomFieldFilterPost */ . $context['cffp_filters']['params'] /* END MOD CustomFieldFilterPost */, $_REQUEST['start']]]></add>

</operation>


<operation>

<search position="replace"><![CDATA[SELECT

t.id_topic]]></search>

<add><![CDATA[SELECT' /* BEGIN MOD CustomFieldFilterPost */ . (!empty($context['cffp_filters']['sql']) ? ' DISTINCT' : '') . /* END MOD CustomFieldFilterPost */ '

t.id_topic]]></add>

</operation>


<operation>

<search position="replace"><![CDATA['

WHERE ' . ($pre_query ? 't.id_topic IN ({array_int:topic_list})' : 't.id_board = {int:current_board}') . (!$modSettings['postmod_active'] || $context['can_approve_posts'] ? '' : '

AND (t.approved = {int:is_approved}' . ($user_info['is_guest'] ? '' : ' OR t.id_member_started = {int:current_member}') . ')')]]></search>

<add><![CDATA[/* BEGIN MOD CustomFieldFilterPost */ (empty($context['cffp_filters']['sql']) ? '' : '

' . $context['cffp_filters']['sql']['from']) . /* END MOD CustomFieldFilterPost */ '

WHERE ' . ($pre_query ? 't.id_topic IN ({array_int:topic_list})' : 't.id_board = {int:current_board}') . (!$modSettings['postmod_active'] || $context['can_approve_posts'] ? '' : '

AND (t.approved = {int:is_approved}' . ($user_info['is_guest'] ? '' : ' OR t.id_member_started = {int:current_member}') . ')') /* BEGIN MOD CustomFieldFilterPost */ . (empty($context['cffp_filters']['sql']) ? '' : '

AND ' . $context['cffp_filters']['sql']['cond']) /* END MOD CustomFieldFilterPost */]]></add>

</operation>


<operation>

<search position="replace"><![CDATA[

array(

'current_board' => $board,

'current_member' => $user_info['id'],

'topic_list' => $topic_ids,

'is_approved' => 1,

'find_set_topics' => implode(',', $topic_ids),

'start' => $start,

'maxindex' => $maxindex,

)

]]></search>

<add><![CDATA[

// BEGIN MOD CustomFieldFilterPost

array_merge(!empty($context['cffp_filters']['sql']) ? $context['cffp_filters']['sql']['query_parameters'] : array(), array(

'current_board' => $board,

'current_member' => $user_info['id'],

'topic_list' => $topic_ids,

'is_approved' => 1,

'find_set_topics' => implode(',', $topic_ids),

'start' => $start,

'maxindex' => $maxindex,

)

)

// END MOD CustomFieldFilterPost

]]></add>

</operation>


<operation>

<search position="before"><![CDATA[

// Begin 'printing' the message index for current board.

]]></search>

<add><![CDATA[ // BEGIN MOD CustomFieldFilterPost

$id_msg_array = array();

// END MOD CustomFieldFilterPost

]]></add>

</operation>


<operation>

<search position="before"><![CDATA[

'unapproved_posts' => $row['unapproved_posts'],

);

]]></search>

<add><![CDATA[

// BEGIN MOD CustomFieldFilterPost

$id_msg_array[] = $context['topics'][$row['id_topic']]['first_post']['id'];

$context['cffp']['data_msg_topic'][$row['id_first_msg']] = array(

'sticky' => $context['topics'][$row['id_topic']]['is_sticky'] ? 1 : 0,

'locked' => $context['topics'][$row['id_topic']]['is_locked'] ? 1 : 0,

'id_msg' => $context['topics'][$row['id_topic']]['first_post']['id'],

'first_msg' => 1,

'subject' => $context['topics'][$row['id_topic']]['subject'],

);

// END MOD CustomFieldFilterPost

]]></add>

</operation>


<operation>

<search position="before"><![CDATA[

determineTopicClass($context['topics'][$row['id_topic']]);

}

$smcFunc['db_free_result']($result);

]]></search>

<add><![CDATA[

// BEGIN MOD CustomFieldFilterPost

// Load custom post fields.

cffpLoadValueOfFieldsByMsg($id_msg_array);

foreach ($context['topics'] as $t => $topic)

{

cffpLoad($topic['first_post']['id'], $topic['first_post']['member']['id'], 'message_index');

cffpLoad($topic['first_post']['id'], 0, 'message_index_member');

$context['topics'][$t]['first_post']['cffp']['message_index'] = $context['cffp']['message_index'];

$context['topics'][$t]['first_post']['cffp']['message_index_member'] = $context['cffp']['message_index_member'];

}

// END MOD CustomFieldFilterPost

]]></add>

</operation>

</file>



I recommend you to see which have not been applied and making them by hand.


About second problem, fields and their inputs are on separate lines and not directly to the right of each other, I think problems is CSS code (perhaps it was not copied when you install with errors, or you do not install on all themes.


Open your CSS file

FORUM_FOLDER/Themes/YOUR_THEME/css/index.css

and copy this code at end


My mod works without the 2 edits to message index (it can be create unimportant warnings messages in logs). If you want applies by hand these 2 edit, read my reply to spotlund.





0 commentaires:

Enregistrer un commentaire

 

Lorem

Ipsum

Dolor