Project-Block für ezPortal

Neue Projekte und Anfragen, Teamarbeiten und Alpha/Beta Scripte jeder Art.
KEINE Supportanfragen zu bestehenden MODs!
Antworten
JohnGF
Beiträge: 24
Registriert: Sa 29.Jan, 2005 21:39
Kontaktdaten:

Project-Block für ezPortal

Beitrag von JohnGF »

Danke Oxpus für die schnelle Hilfe (http://www.oxpus.de/viewtopic.php?t=4016). Konnte leider mit diesem Code nur das erste Projekt anzeigen. Nach einigem Probieren habe ich die Lösung gefunden. Deshalb möchte ich hier das Ergebnis vorstellen. Vielleicht hat ja jemand Interesse.

ToDo: admin_projects_config.php dem phpBB-Standard anpassen.

Gibt den Fortschritt von Projekten in 10% Schritten in einem Portalblock an.

Code: Alles auswählen

##############################################################
## MOD Title: Project Block for ezPortal (phpbb Plus)
## MOD Author: JohnGF  < webmaster@fs-arbeitserzieher.de > http://fs-arbeitserzieher.de/
## MOD Author: aUsTiN  [ (austin_inc@hotmail.com) 		(http://phpbb-portal.com)
## MOD Description: Adds a Project Block to ezPortal. Based on Project-Block for Blend-Portal
## MOD Version: 0.0.4 (Beta)
##
## Installation Level:	Easy
## Installation Time:	5 Minutes
## Files To Edit: 	includes/constants.php
##			portal.php
##			templates/{templates}/portal_body.tpl
##			language/lang_english/lang_main.php
##
## Included Files: admin_projects_config.php
##			and some images
##############################################################
## Author Notes: Many thanks to Oxpus for help. admin_projects_config is
##		hardcoded and original from aUsTiN. Will be softcoded
##		in the next time
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ SQL ]------------------------------------------
#
CREATE TABLE `phpbb_projects_block` (
  `name` TEXT NOT NULL,
  `percent` varchar(3) NOT NULL default ''
) TYPE=MyISAM;

#
# Dumping data for table `phpbb_projects_block`
#

INSERT INTO `phpbb_projects_block` VALUES ('Test Project' ,'0');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 2' ,'10');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 3' ,'20');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 4' ,'30');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 5' ,'40');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 6' ,'50');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 7' ,'60');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 8' ,'70');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 9' ,'80');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 10' ,'90');
INSERT INTO `phpbb_projects_block` VALUES ('Test Project 11' ,'100');

#
#-----[ COPY ]---------------------------------------------
#
copy root/*.* to your phpBB-Root
#
#-----[ OPEN ]---------------------------------------------
#
includes/constants.php

#
#-----[ FIND ]---------------------------------------------
#
?>

#
#-----[ BEFORE, ADD ]-------------------------------------
#
// Project Block
define('PROJECT_TABLE', $table_prefix.'projects_block');
#
#-----[ OPEN ]--------------------------------------------
#
portal.php

#
#-----[ FIND ]--------------------------------------------
#
$template->assign_vars(array(
	'WELCOME_TEXT' => $CFG['welcome_text'],
#
#-----[ AFTER, ADD ]--------------------------------------
#
// Project
  'L_PROJECT' => $lang['Project'],
#
#-----[ FIND ]--------------------------------------------
#
		$template->assign_var_from_handle("PORTAL_POLL", "pollbox");
	}
	
}
#
#-----[ AFTER, ADD ]--------------------------------------
#
// Project on Index
$sql = "SELECT * FROM " . PROJECT_TABLE . " ORDER BY name";
if (!$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, 'Could not query Project', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('project', array(
	  'PROJECTNAME' => $row['name'],
	 'PROJECTIMAGE' => '<img src="images/current_projects/' . $row['percent'] . '_percent.gif"  border="0">',
	 'PROJECTPERCENT' => $row['percent'])
	);
}

#
#-----[ OPEN ]--------------------------------------------
#
# Make sure to edit this file for every language installed
#
language/lang_english/lang_main.php

#
#-----[ FIND ]--------------------------------------------
#
$lang['Vote'] = 'Vote';
$lang['No_poll'] = 'No poll at the moment';

#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Project'] = 'Projects in Progress';

#
#-----[ OPEN ]--------------------------------------------
#
# Make sure to edit this file for every template installed
#
templates/subSilver/portal_body.tpl

#
#-----[ FIND ]--------------------------------------------
#
			<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS}<br />{NEWEST_USER}<br /><br/>{TOTAL_POSTS} {TOTAL_TOPICS}<br />&nbsp;</span></td>
		   </tr>
		  </table>

#
#-----[ AFTER, ADD ]--------------------------------------
#
<br />
<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline"> 
<tr> 
<th>{L_PROJECT}</th> 
</tr> 
<tr> 
<td class="row1" align="center"><br />
<span class='gensmall'>	
<!-- BEGIN project -->
{project.PROJECTNAME}:<br>&nbsp;&nbsp;{project.PROJECTIMAGE}&nbsp;&nbsp;&nbsp;&nbsp;{project.PROJECTPERCENT}%<br /><br />	
<!-- END project -->
</span>
</td>    
</tr> 
</table> 

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Folgende Idee zur Erweiterung: Links zu den Themen, in denen die Projekte beschrieben sind, evtl. Forum mit Zusatzfeldern.
Dateianhänge
Projects_Block.zip
(18.31 KiB) 193-mal heruntergeladen
Zuletzt geändert von JohnGF am Fr 09.Sep, 2005 01:47, insgesamt 3-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Sowas ähnliches habe ich mit meiner Mod Request Todolist auch gemacht, aber eben nur ähnlich.
Ist dennoch eine gute Idee. Vielleicht kann man das auch mal brauchen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

kleine frage,

ich will das gerade einbauen ... allerdings ist bei mir der code in der portal.php etwas anders...

Code: Alles auswählen

//
// END: Display News Topics
//

// $CFG['poll_forum']

// Poll
//set poll forum id here
//$poll_forum_id = 2;
//$fetchpoll = phpbb_fetch_poll($CFG['poll_forum']);

//Let's reduce the forums specified for poll display to the number allowed access to by the user

$arr_poll_forums = split(',', $CFG['poll_forum']);
$allowed_poll_forums = "";
$fetchpoll = "";
$poll_auth_field = "auth_vote";

for ( $i=0; $i<count($arr_poll_forums); $i++ )
{
   $is_auth = auth($poll_auth_field, $arr_poll_forums[$i], $userdata);
   if ($is_auth[$poll_auth_field])
   {
      if ( $allowed_poll_forums != "" )
      {
          $allowed_poll_forums .= ",";
      }
      $allowed_poll_forums .= $arr_poll_forums[$i];
   }
}

if (!empty($allowed_poll_forums))
{
    $fetchpoll = phpbb_fetch_poll($allowed_poll_forums);
}

if (!empty($fetchpoll))
{
    if ($userdata['user_id'] == ANONYMOUS)
    {
        $user_ip = $userdata['user_ip'];
        $guest_sql = " AND vote_user_ip = '$user_ip'";
    }
    else
    {
        $guest_sql = '';
    }

    $sql = "SELECT vote_id
        FROM " . VOTE_USERS_TABLE . "
        WHERE vote_id = " . $fetchpoll['vote_id'] . " AND vote_user_id = " . $userdata['user_id'] . $guest_sql;

   if( !$result = $db->sql_query($sql) )
   {
      message_die(GENERAL_ERROR, "Couldn't obtain user vote data for this topic", "", __LINE__, __FILE__, $sql);
   }
   $user_voted = ( $db->sql_numrows($result) ) ? TRUE : FALSE;

   if ( !$user_voted )
   {
      $is_auth = auth($poll_auth_field, $fetchpoll['forum_id'], $userdata);
      if ($is_auth[$poll_auth_field])
      //if ( $userdata['session_logged_in'] )
      {
         $vote_button = "<div align=\"center\"><input type='submit' class='mainoption' name='submit' value='Vote'></div><input type='hidden' name='topic_id' value='" . $fetchpoll['topic_id'] . "'><input type='hidden' name='mode' value='vote'>";
      }
      else
      {
         $vote_button = "<div align=\"center\">Voting Restricted</div>";
      }

      $template->assign_vars(array(
         'S_POLL_QUESTION' => $fetchpoll['vote_text'],
         'S_POLL_ACTION' => append_sid('posting.'.$phpEx.'?'.POST_TOPIC_URL.'='.$fetchpoll['topic_id']),
         'L_SUBMIT_VOTE' => $lang['Submit_vote'],
         'POLL_TOPIC_ID' => $fetchpoll['topic_id'],
         'SUBMIT_BUTTON' => $vote_button
      ));

      for ($i = 0; $i < count($fetchpoll['options']); $i++)
      {
         $template->assign_block_vars('poll_option_row', array(
            'OPTION_ID' => $fetchpoll['options'][$i]['vote_option_id'],
            'OPTION_TEXT' => $fetchpoll['options'][$i]['vote_option_text'],
            'VOTE_RESULT' => $fetchpoll['options'][$i]['vote_result'],
         ));
      }
   }
   else
   {
      $votes_total = 0;
      for($i = 0; $i < count($fetchpoll['options']); $i++)
         $votes_total += $fetchpoll['options'][$i]['vote_result'];

      $template->assign_vars(array(
         'POLL_TOPIC_ID' => $fetchpoll['topic_id'],
         'S_POLL_QUESTION' => $fetchpoll['vote_text'],
         'VOTE_RESULTS' => '<div align="center"><span class="gensmall">Total votes: ' . $votes_total . '</span></div>'
      ));

      for ($i = 0; $i < count($fetchpoll['options']); $i++)
      {
         $vote_percent = ( $votes_total > 0 ) ? $fetchpoll['options'][$i]['vote_result'] / $votes_total : 0;
         $vote_graphic_length = round($vote_percent * 70);

         $vote_graphic = 0;
         $vote_graphic = ($vote_graphic < $vote_graphic_max - 1) ? $vote_graphic + 1 : 0;

         if( count($orig_word) )
         {
            $vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']);
         }

         $template->assign_block_vars("poll_results_row", array(
            'POLL_OPTION_CAPTION' => $fetchpoll['options'][$i]['vote_option_text'],
            'POLL_OPTION_RESULT' => $fetchpoll['options'][$i]['vote_result'],
            'POLL_OPTION_PERCENT' => sprintf("%.1d%%", ($vote_percent * 100)),
            'POLL_OPTION_IMG_WIDTH' => $vote_graphic_length
         ));
      }

   }
}
else
{
   $template->assign_vars(array(
      'S_POLL_QUESTION' => $lang['No_poll'],
      'SUBMIT_BUTTON' => "<div align=\"center\"><span class=\"gensmall\"><input type='submit' class='mainoption' name='submit' value='Vote' disabled='disabled' /></span></div><span class=\"gensmall\"><input type='hidden' name='topic_id' value='" . $fetchpoll['topic_id'] . "' /><input type='hidden' name='mode' value='vote' /></span>"
   ));
}
//end poll
kann ich das, was in der portal.php einzufügen ist, einfach darunter setzen?

@edit
habs einfach darunter gesetzt :-))

noch eine frage, kann man die anzeige mit einem switch versehen, das man den block an und aus schalten kann?

gruß
Zuletzt geändert von blondi am Fr 09.Sep, 2005 14:05, insgesamt 1-mal geändert.
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

hab den mal eingebaut, kann aber kein projekt löschen im acp, was könnte da faul sein?
Gruss Volker

http://www.fuchsienfreunde.de
JohnGF
Beiträge: 24
Registriert: Sa 29.Jan, 2005 21:39
Kontaktdaten:

Beitrag von JohnGF »

@ volker: das acp ist noch nicht verändert! bin dabei, Bei mir ist es sichtbar?!
@ blondi: Ich denke, Du kannst es hinter //end poll setzen,
habe bei mir ein paar mods mehr drin.
Zuletzt geändert von JohnGF am Sa 10.Sep, 2005 17:09, insgesamt 1-mal geändert.
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

bei mir läuft das tadellos...
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

auch mit löschen im acp? da muß ich müll eingebaut haben
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

ja ich hab das komplett durchgetestet volker... bei mir funktioniert es, hab auch noch die images geändert ... siehe bei mir im portal auf der linken seite ganz unten....


gruss
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

hm, aber beim einbau kann man nichts falsch machen, edit und neu erstellen geht, delete nicht. hat das noch ein anderer eingebaut und getestet?
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

@volker

ich habs eben noch einmal komplett getestet ... neue anzeige erstellt und diese auch wieder gelöscht ...

ging einwandfrei!!!
scheinbar ist da irgendwas anderes bei dir was da stört
JohnGF
Beiträge: 24
Registriert: Sa 29.Jan, 2005 21:39
Kontaktdaten:

Beitrag von JohnGF »

@ Volker: Wie gesagt, das ACP ist komplett so von Blend-Portal übernommen, sobald ich Zeit habe, werde ich diese mit Templates etc. anpassen. Bin z.Zt. nur etwas in Stress, Prüfungen!

Schön, dass es bei Dir läuft, blondi.
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

ich suche schon was da falsche sein könnte aber finde nichts in der datei.
könnte da mal einer mit drüberschauen was da nich so okay sein könnte?

Code: Alles auswählen

elseif($mode == "pro_delete")
{
if($update == "delete_it")
{
$project = $_POST['project'];								
if(!$project OR $project == "Choose a Project")
{
message_die(GENERAL_ERROR, "Specify A Project To Delete When Trying Again.",'Error');	
}
else
{
$q1 = "DELETE FROM ". $table_prefix ."projects_block
WHERE name = '$project'";			
$r1 =  $db->sql_query($q1);		
message_die(GENERAL_MESSAGE, "". $project . " Deleted.",'Success');
}
}

else
{					
echo "<table>";
echo "	<tr>";
echo "		<th>";
echo "			Projects Admin: Delete Projects";
echo "		</th>";
echo "	</tr>";
echo "</table>";
echo "<br><br>";

echo "<form>";
$app = append_sid("admin_projects_config.$phpEx?mode=pro_delete");

echo "<table>";
echo "	<tr>";  
echo "		<td>";
echo "				<select>";
echo "					<option>Choose a Project</option>";
$q3 = "SELECT name
FROM " . $table_prefix . "projects_block";
$r3 =  mysql_query($q3) or die("Bad q3:".mysql_error());
while(list($projects) = mysql_fetch_row($r3))
{		
echo "					<option>$projects</option>";
}
echo "				</select>";
echo "		</td>"; 					
echo "	</tr>"; 
echo "</table>";
echo "<br>";
echo "<table>";	
echo "	<tr>";
echo "		<td>";	
echo "			<br>";
echo "					<input>";	
echo "					<input>";
echo "			<br>";
echo "		</td>";				
echo "	</tr>";	
echo "</table>";
echo "</form>";
echo "<br><br>";										
}
}
die kompl. datei ist im ersten beitrag

danke schon mal

EDIT hat hier eventuell einer eine lösung warum das net will oder einen änlichen mod?
Zuletzt geändert von volker58 am So 19.Nov, 2006 19:48, insgesamt 1-mal geändert.
Gruss Volker

http://www.fuchsienfreunde.de
Antworten