Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons

Reply
 
Thread Tools
vBulletin Project Tools - Color to Indicate Status Details »»
vBulletin Project Tools - Color to Indicate Status
Version: 1.00, by Quarterbore Quarterbore is offline
Developer Last Online: Aug 2020 Show Printable Version Email this Page

Category: vBulletin Project Tools - Version: 3.6.8 Rating:
Released: 08-17-2007 Last Update: Never Installs: 18
Uses Plugins Template Edits
Code Changes Is in Beta Stage  
No support by the author.

Background:

I am a visual person and with the project(s) I will be using using Project Tools with I need to be able to quickly look at my pages to determine if I still have outstanding issues that need to be addressed. This modification makes it easier for me to keep track of the issues that I have to still address.

About the Modification:

I am posting this here with the hope that vBulletin takes the code and improves it and turns this into a standard feature of project tools. There are lots of ways this script could be improved but java is not my strong suite and I hope by posing this here someone else can help improve this!

The Modifications that are needed:

Two files must be edited.
Install a product file with one small phrase and a small pluggin.
Edit one template

OK, let the fun begin!

STEP 1: Install the Attached Product File!

STEP 2: A Bunch of File Edits!

OPEN FILE /AdminCP/project.php

FIND

PHP Code:
if ($_POST['do'] == 'statusupdate')
{
    
$vbulletin->input->clean_array_gpc('p', array(
        
'issuestatusid' => TYPE_UINT,
        
'title' => TYPE_STR,
        
'issuetypeid' => TYPE_STR,
        
'displayorder' => TYPE_UINT,
        
'canpetitionfrom' => TYPE_UINT
    
)); 
REPLACE WITH:

PHP Code:
if ($_POST['do'] == 'statusupdate')
{
    
$vbulletin->input->clean_array_gpc('p', array(
        
'issuestatusid' => TYPE_UINT,
        
'title' => TYPE_STR,
        
'issuetypeid' => TYPE_STR,
        
'displayorder' => TYPE_UINT,
        
'canpetitionfrom' => TYPE_UINT,
        
'background' => TYPE_STR
    
)); 
FIND:

PHP Code:
    $statusdata->set('displayorder'$vbulletin->GPC['displayorder']);
    
$statusdata->set('canpetitionfrom'$vbulletin->GPC['canpetitionfrom']);
    
$statusdata->set_info('title'$vbulletin->GPC['title']);
    
$statusdata->save();

    
define('CP_REDIRECT''project.php?do=typelist');
    
print_stop_message('issue_status_saved');


REPLACE WITH:

PHP Code:
    $statusdata->set('displayorder'$vbulletin->GPC['displayorder']);
    
$statusdata->set('canpetitionfrom'$vbulletin->GPC['canpetitionfrom']);
    
$statusdata->set_info('title'$vbulletin->GPC['title']);
    
$statusdata->set('background'$vbulletin->GPC['background']);
    
$statusdata->save();

    
define('CP_REDIRECT''project.php?do=typelist');
    
print_stop_message('issue_status_saved');

FIND:

PHP Code:
        $issuestatus = array(
            
'issuestatusid' => 0,
            
'issuetypeid' => $vbulletin->GPC['type'],
            
'displayorder' => $maxorder['maxorder'] + 10,
            
'canpetitionfrom' => 1,
            
'title' => ''
        
);
    } 
REPLACE WITH:

PHP Code:
        $issuestatus = array(
            
'issuestatusid' => 0,
            
'issuetypeid' => $vbulletin->GPC['type'],
            
'displayorder' => $maxorder['maxorder'] + 10,
            
'canpetitionfrom' => 1,
            
'title' => '',
            
'background' => $vbulletin->GPC['background']
        );
    } 
FIND:

PHP Code:
    print_input_row($vbphrase['display_order'], 'displayorder'$issuestatus['displayorder'], true5);
    
print_yes_no_row($vbphrase['can_create_petitions_from_this_status'], 'canpetitionfrom'$issuestatus['canpetitionfrom']);

    
construct_hidden_code('issuestatusid'$issuestatus['issuestatusid']);
    
print_submit_row();


REPLACE WITH:

PHP Code:
    print_input_row($vbphrase['display_order'], 'displayorder'$issuestatus['displayorder'], true5);
    
print_yes_no_row($vbphrase['can_create_petitions_from_this_status'], 'canpetitionfrom'$issuestatus['canpetitionfrom']);
    
print_input_row($vbphrase['background_color'], 'background'$issuestatus['background'], true5);

    
construct_hidden_code('issuestatusid'$issuestatus['issuestatusid']);
    
print_submit_row();


FIND:

PHP Code:
if ($_REQUEST['do'] == 'statusadd' OR $_REQUEST['do'] == 'statusedit')
{
    
$vbulletin->input->clean_array_gpc('r', array(
        
'issuestatusid' => TYPE_UINT,
        
'type' => TYPE_STR
    
)); 
REPLACE WITH

PHP Code:
if ($_REQUEST['do'] == 'statusadd' OR $_REQUEST['do'] == 'statusedit')
{
    
$vbulletin->input->clean_array_gpc('r', array(
        
'issuestatusid' => TYPE_UINT,
        
'type' => TYPE_STR,
        
'background' => TYPE_STR
    
)); 

OPEN FILE includes/class_dm_pt_issuestatus.php

FIND:

PHP Code:
    var $validfields = array(
        
'issuestatusid'    => array(TYPE_UINTREQ_INCR),
        
'issuetypeid'      => array(TYPE_STR,  REQ_YES),
        
'displayorder'     => array(TYPE_UINTREQ_NO),
        
'canpetitionfrom'  => array(TYPE_UINTREQ_NO),
    ); 
REPLACE WITH:

PHP Code:
    var $validfields = array(
        
'issuestatusid'    => array(TYPE_UINTREQ_INCR),
        
'issuetypeid'      => array(TYPE_STR,  REQ_YES),
        
'displayorder'     => array(TYPE_UINTREQ_NO),
        
'canpetitionfrom'  => array(TYPE_UINTREQ_NO),
        
'background' => array(TYPE_STRREQ_NO),
    ); 
STEP 3: EDIT template pt_issuebit

NOTE - You can change as many or as few cells in row of each issue. In this example I did the first three as shown in the attached image!

FIND:
PHP Code:
<td class="alt2" align="center"
REPLACE WITH:
PHP Code:
<td class="alt2" align="center" style="background-color: $issue[background]"
FIND:
PHP Code:
<td class="alt1" align="$stylevar[left]"
REPLACE WITH:
PHP Code:
<td class="alt1" align="$stylevar[left]style="background-color: $issue[background]"
FIND:
PHP Code:
<td class="alt2 smallfont" align="$stylevar[right]nowrap="nowrap"
REPLACE WITH:
PHP Code:
<td class="alt2 smallfont" align="$stylevar[right]nowrap="nowrap" style="background-color: $issue[background]"
I also did the same edits to all of the cells on my site and attached a screen shot as an example!

Well, if I didn't scare you off and you are still reading... Just remember to use the color codes as the six digit hexadecimal values with the number sign. Here are the ones I am using:

#FFFFFF - White
#FFFFCC - Pastel Yellow
#CCFFFF - Pastel Blue
#FFCCFF - Pastel Pink

Note that I use color for issues that need my attention. I use white for the issues that I can ignore... But obviously you can use any colors you want! Now, if you do not add a color value, your site will use the default style colors as well!

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 08-22-2007, 08:48 AM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hi,

IT IS WORKING !!!!!!!!!! look in the screenshot (attched to this post) click that small area next to the input field will bring up vBulletin cpcolorpicker.I managed to "integrate" it into Project Tools.I don't know if i will share it through
Reply With Quote
  #13  
Old 08-23-2007, 01:26 PM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

actually you can kill one more file edit ....

hook:issuestatusdata_start

code

PHP Code:
$this->validfields['background'] = array(TYPE_STR,REQ_NO); 
that will kill the class_dm_pt_issuestatus.php edit
Reply With Quote
  #14  
Old 08-23-2007, 07:50 PM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hi,

To get the vBulletin default colorpicker working in the Porject Tools admin page (project.php) you need

edit

step 1

open /admincp/project.php and find

PHP Code:
print_cp_header($vbphrase['project_tools']); 
replace with

PHP Code:
print_cp_header($vbphrase['project_tools'],'init_color_preview()');
?>
<script type="text/javascript" src="../clientscript/vbulletin_cpcolorpicker.js"></script>
<?php
step 2

find (and remove this line)

PHP Code:
print_input_row($vbphrase['background_color'],'background',$issuestatus['background'],true,5); 
step 3

find this line

PHP Code:
print_yes_no_row($vbphrase['can_create_petitions_from_this_status'], 'canpetitionfrom'$issuestatus['canpetitionfrom']); 
below that add this

PHP Code:
require_once(DIR '/includes/adminfunctions_template.php');
 
$colorPicker construct_color_picker(11);
 echo 
"<tr>
  <td class=\"alt1\">
$vbphrase[background_color]</td>
  <td class=\"alt1\">
   <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
   <tr>
    <td><input type=\"text\" class=\"bginput\" name=\"background\" id=\"color_0\" value=\"
{$issuestatus['background']}\" title=\"background\" tabindex=\"1\" size=\"22\" onchange=\"preview_color(0)\" dir=\"ltr\" />&nbsp;</td>
    <td><div id=\"preview_0\" class=\"colorpreview\" onclick=\"open_color_picker(0, event)\"></div></td>
   </tr>
   </table>
  </td>
 </tr>\n"

step 4

find this lines

PHP Code:
construct_hidden_code('issuestatusid'$issuestatus['issuestatusid']);
 
print_submit_row(); 
below that add

PHP Code:
echo $colorPicker;
 ?>
 <script type="text/javascript">
 <!--
 var bburl = "<?php echo $vbulletin->options['bburl']; ?>/";
 var cpstylefolder = "<?php echo $vbulletin->options['cpstylefolder']; ?>";
 var numColors = 1;
 var colorPickerWidth = <?php echo intval($colorPickerWidth); ?>;
 var colorPickerType = <?php echo intval($colorPickerType); ?>;
 //-->
 </script>
<?php
that should do it
Reply With Quote
  #15  
Old 08-24-2007, 01:18 AM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for working on this... I wanted to work on it as well before I left for a trip but I ran out of time. I will help (if you need it) when I get back next week.
Reply With Quote
  #16  
Old 08-26-2007, 10:43 PM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am just getting home from a trip so it will take me a while to get back into a routein that I can fight with this... I have added Delphiprogrammi as a Co-Author!

EDIT:

OK, I am not sure this is all of the edits but it should be... this will add a small table to the main issue status listing so that the colors for each status will be displayed.

All of these edits are in Admin/project.php

FIND:

PHP Code:
        print_cells_row(array(
            
'<span class="normal">' $vbphrase['status'] . '</span>',
            
'<span class="normal">' $vbphrase['display_order'] . '</span>',
            
'<b>' construct_link_code($vbphrase['add_status'], 'project.php?do=statusadd&amp;type=' $type['issuetypeid']) . '</b>'
        
), true); 

REPLACE WITH:

PHP Code:
        print_cells_row(array(
            
'<span class="normal">' $vbphrase['status'] . '</span>',

            
'<span class="normal">' $vbphrase['display_order'] . '</span>',

            
'<span class="normal">' $vbphrase['background_color'] . '</span>',

            
'<b>' construct_link_code($vbphrase['add_status'], 'project.php?do=statusadd&amp;type=' $type['issuetypeid']) . '</b>'
        
), true); 
FIND:

PHP Code:
print_cells_row(array(
                    
$vbphrase["issuestatus$status[issuestatusid]"],
                    
"<input type=\"text\" class=\"bginput\" name=\"order[$status[issuestatusid]]\" value=\"$status[displayorder]\" tabindex=\"1\" size=\"3\" />",
                    
"<div align=\"$stylevar[right]\" class=\"smallfont\">" .
                        
construct_link_code($vbphrase['edit'], 'project.php?do=statusedit&amp;issuestatusid=' $status['issuestatusid']) .
                        
construct_link_code($vbphrase['delete'], 'project.php?do=statusdelete&amp;issuestatusid=' $status['issuestatusid']) .
                    
'</div>'
                
)); 
REPLACE WITH:

PHP Code:
print_cells_row(array(
                    
$vbphrase["issuestatus$status[issuestatusid]"],
                    
"<input type=\"text\" class=\"bginput\" name=\"order[$status[issuestatusid]]\" value=\"$status[displayorder]\" tabindex=\"1\" size=\"3\" />",
                    
"<table height=\"24\" width=\"85\" cellpadding=\"0\" cellspacing=\"0\" border=\"1\">
                    <tr><td style=\"background-color: 
$status[background]\"><font color = \"black\"> $status[background] </font></td>
                    </tr></table>"
,
                    
"<div align=\"$stylevar[right]\" class=\"smallfont\">" .
                        
construct_link_code($vbphrase['edit'], 'project.php?do=statusedit&amp;issuestatusid=' $status['issuestatusid']) .
                        
construct_link_code($vbphrase['delete'], 'project.php?do=statusdelete&amp;issuestatusid=' $status['issuestatusid']) .
                    
'</div>'
                
)); 
FIND:

PHP Code:
print_submit_row($vbphrase['save_display_order'], ''3); 
REPLACE WITH:

PHP Code:
print_submit_row($vbphrase['save_display_order'], ''4); 
Reply With Quote
  #17  
Old 08-31-2007, 12:45 PM
dave_finlayson dave_finlayson is offline
 
Join Date: Aug 2005
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great mod but it doesn't seem to work for search results. Can it be amended to do so?
Reply With Quote
  #18  
Old 08-31-2007, 07:56 PM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by dave_finlayson View Post
Great mod but it doesn't seem to work for search results. Can it be amended to do so?
well i didn't know it didn't worked in search results until i saw your post and i didn't liked it either so here we go to make it work within the search results

1)open hooks_vbprojecttools.xml (/includes/xml folder from the pt distrubution) and find

Code:
<hook>projectsearch_results_groupbit</hook>
replace that with

Code:
<hook>projectsearch_results_bit</hook>
<hook>projectsearch_results_groupbit</hook>
upload the modified hooks_vbprojecttools.xml to /includes/xml

2)create a new plugin with this information
  • product: Project Tools Status Colors
  • hookrojectsearch_results_bit
  • phpcode

    $get_background = $vbulletin->db->query_first("SELECT background FROM " . TABLE_PREFIX . "pt_issuestatus WHERE issuestatusid='{$issue['issuestatusid']}'");
    $issue['background'] = $get_background['background'];
  • active:yes
3)edit template pt_searchresultbit and add the background color in all "<td>" tags like this

HTML Code:
<td class="alt2" align="center" style="background-color:$issue[background]">
all done
Reply With Quote
  #19  
Old 09-01-2007, 07:04 PM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Delphiprogrammi View Post
well i didn't know it didn't worked in search results until i saw your post and i didn't liked it either so here we go to make it work within the search results

<snip>

all done
Great job!

Also a note to anyone else that the hook is already in the search file but there was a known bug in the xml file where the hook location was missed!
Reply With Quote
  #20  
Old 09-02-2007, 11:10 AM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hi,

or you could "kill" the template edits by doing it like this

hook project_issuebit find

PHP Code:
$get_background $vbulletin->db->query_first("SELECT background FROM " TABLE_PREFIX "pt_issuestatus  WHERE issuestatusid = $issue[issuestatusid] LIMIT 1");
$issue[background] = $get_background[background]; 
below add

PHP Code:
$vbulletin->templatecache['pt_issuebit'] = preg_replace('/<td class=\\\"alt2\\\"/''<td style=\"background-color:$issue[background]\"'$vbulletin->templatecache['pt_issuebit']);
$vbulletin->templatecache['pt_issuebit'] = preg_replace('/<td class=\\\"alt1\\\"/''<td style=\"background-color:$issue[background]\"'$vbulletin->templatecache['pt_issuebit']);
$vbulletin->templatecache['pt_issuebit'] = preg_replace('/<td class=\\\"alt2 smallfont\\\"/''<td style=\"background-color: $issue[background]\" class=\"smallfont\"'$vbulletin->templatecache['pt_issuebit']);
$vbulletin->templatecache['pt_issuebit'] = preg_replace('/<td class=\\\"alt1 smallfont\\\"/''<td style=\"background-color: $issue[background]\" class=\"smallfont\"'$vbulletin->templatecache['pt_issuebit']); 
hook projectsearch_results_bit find

PHP Code:
$get_background $vbulletin->db->query_first("SELECT background FROM " TABLE_PREFIX "pt_issuestatus WHERE issuestatusid='{$issue['issuestatusid']}'");
$issue['background'] = $get_background['background']; 
below add

PHP Code:
$vbulletin->templatecache['pt_searchresultbit'] = preg_replace('/<td class=\\\"alt2\\\"/''<td style=\"background-color: $issue[background]\"'$vbulletin->templatecache['pt_searchresultbit']);
$vbulletin->templatecache['pt_searchresultbit'] = preg_replace('/<td class=\\\"alt1\\\"/''<td style=\"background-color: $issue[background]\"'$vbulletin->templatecache['pt_searchresultbit']);
$vbulletin->templatecache['pt_searchresultbit'] = preg_replace('/<td class=\\\"alt2 smallfont\\\"/''<td style=\"background-color: $issue[background]\" class=\"smallfont\"'$vbulletin->templatecache['pt_searchresultbit']);
$vbulletin->templatecache['pt_searchresultbit'] = preg_replace('/<td class=\\\"alt1 smallfont\\\"/''<td style=\"background-color: $issue[background]\" class=\"smallfont\"'$vbulletin->templatecache['pt_searchresultbit']); 
that should do it
Reply With Quote
  #21  
Old 09-02-2007, 04:36 PM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

there is an error in the product uninstall code the MySQL query should be

PHP Code:
$db->query_write("ALTER TABLE " TABLE_PREFIX "pt_issuestatus DROP background"); 
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:33 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05474 seconds
  • Memory Usage 2,465KB
  • Queries Executed 28 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (1)bbcode_html
  • (37)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete