Thread subject: pHpFusion Nederlands (BE|NL) » Ondersteuning, Themas, Infusies, Modificaties en Installatie :: Extra menu, zoals artikel of nieuws toevoegen

Posted by Joo on 08 April 2009, 21:55
#1

Voor mijn site zou ik graag een extra optie hebben om naast het plaatsen van Nieuws en Artikelen (die ik al gebruik) ook in die vorm bijvoorbeeld verhalen te plaatsen. Is het binnen PHP-Fusion mogelijk om aan het menu een item toe te voegen zoals Nieuws en Nieuwscategorieën? Dus een complete set die je ook kunt beheren zoals Nieuws en Artikelen?

Edited by Joo on 08 April 2009, 21:57

Posted by Steff on 09 April 2009, 11:03
#2

Hoe bedoel je precies, een heel nieuw systeem ?

Posted by Joo on 09 April 2009, 20:03
#3

Ja, een compleet systeem zoals Nieuws en Artikelen inclusief de bijbehorende mogelijkheid tot indeling van Categorieën. Ik begrijp dat je dan ook in de MySQL database velden moet aanmaken, dus misschien bestaat zoiets als een Infusion? Ik heb al gezocht maar niets gevonden dat daar op lijkt. Misschien moet ik wel van de gedachte afstappen en het anders oplossen binnen de mogelijkheden die het standaard PHP-Fusion bied.

Posted by Steff on 10 April 2009, 11:28
#4

Opmerking: Deze methode is ongetest en er kunnen nog véél bugs in zitten. Het nazien van elke code is noodzakelijk ! Je moet het verband zien tussen bijvoorbeeld ".DB_JOUWSYSTEM." in de eerste stap en in de komende stappen. Alles moet gelijk zijn !

Even een korte instructie:
Bij dit voorbeeld ga ik het artikel systeem kopiëren.
(Pas hetgeen aan aangeduid in het rood)
1) includes/multisite_include.php
Code

define("DB_ARTICLE_CATS", DB_PREFIX."article_cats");
define("DB_ARTICLES", DB_PREFIX."articles");
define("DB_[color=#ff0000]SYSTEM[/color]_CATS", DB_PREFIX."[color=#ff0000]jouwsystem[/color]_cats");
define("DB_[color=#ff0000]SYSTEM[/color]", DB_PREFIX."[color=#ff0000]jouwsystem[/color]");


2) Kopieer articles.php en hernoem naar jouwsysteem.php
3) Kopier administration/articles.php en rename naar administration/jouwsysteem.php
en
Kopier administration/article_cats.php en rename naar administration/jouwsysteem_cats.php
4) Aanmaken van de tabellen (Preview in eigen pagina)
(".DB_SYSTEM." moet zijn zoals in stap 1)
Code



$result = dbquery("CREATE TABLE [color=#ff0000]".DB_SYSTEM."[/color] (
[color=#ff0000]article[/color]_id mediumint( 8 ) unsigned NOT NULL AUTO_INCREMENT ,
[color=#ff0000]article[/color]_cat mediumint( 8 ) unsigned NOT NULL default '0',
[color=#ff0000]article[/color]_subject varchar( 200 ) NOT NULL default '',
[color=#ff0000]article[/color]_snippet text NOT NULL ,
[color=#ff0000]article[/color]_article text NOT NULL ,
[color=#ff0000]article[/color]_draft tinyint( 1 ) unsigned NOT NULL default '0',
[color=#ff0000]article[/color]_breaks char( 1 ) NOT NULL default '',
[color=#ff0000]article[/color]_name mediumint( 8 ) unsigned NOT NULL default '1',
[color=#ff0000]article[/color]_datestamp int( 10 ) unsigned NOT NULL default '0',
[color=#ff0000]article[/color]_reads mediumint( 8 ) unsigned NOT NULL default '0',
[color=#ff0000]article[/color]_allow_comments tinyint( 1 ) unsigned NOT NULL default '1',
[color=#ff0000]article[/color]_allow_ratings tinyint( 1 ) unsigned NOT NULL default '1',
PRIMARY KEY ( [color=#ff0000]article[/color]_id ) ,
KEY [color=#ff0000]article[/color]_datestamp ( [color=#ff0000]article[/color]_datestamp ) ,
KEY [color=#ff0000]article[/color]_reads ( [color=#ff0000]article[/color]_reads )
) ENGINE = MYISAM DEFAULT CHARSET = latin1;");
$result = dbquery("CREATE TABLE [color=#ff0000]".DB_SYSTEM_CATS."[/color] (
[color=#ff0000]article[/color]_cat_id mediumint( 8 ) unsigned NOT NULL AUTO_INCREMENT ,
[color=#ff0000]article[/color]_cat_name varchar( 100 ) NOT NULL default '',
varchar( 200 ) NOT NULL default '',
[color=#ff0000]article[/color]_cat_sorting varchar( 50 ) NOT NULL default 'article_subject ASC',
[color=#ff0000]article[/color]_cat_access tinyint( 3 ) unsigned NOT NULL default '0',
PRIMARY KEY ( [color=#ff0000]article[/color]_cat_id )
) ENGINE = MYISAM DEFAULT CHARSET = latin1;");
?>


5) Open jouwsystem.php
Find 'articles' replace all met 'jouwsystem' (meervoud bv afbeeldingen, en hierna afbeelding)
Find 'article' replace all met 'jouwsytem'

6) Open administration/jouwsystem.php
Hetzelfde als stap 5
en
Open administration/jouwsystem_cats.php
Hetzelfde als stap 5

7) Kopieer locales//articles.php en rename naar locales//jouwsystem.php

8) Pas de locales aan

9) Kopier locales//admin/articles.php en rename naar locales//admin/jouwsystem.php
en kopieer locales//admin/article-cats.php en rename naar locales//admin/jouwsystem-cats.php

10) Pas ook deze locales aan

11) Maken van admin images (Niet verplicht):
administration/images/jouwsystem.gif
administration/images/jouwsystem_cats.gif

12) Admin privileges maken (Preview in eigen pagina)
Code


$result = dbquery("INSERT INTO ".DB_ADMIN." (admin_rights, admin_image, admin_title, admin_link, admin_page) VALUES ('[color=#ff0000]A2[/color]', '[color=#ff0000]jouwsystem.gif[/color]', '[color=#ff0000]Jouw System[/color]', '[color=#ff0000]jouwsystem.php[/color]', '1');");
$result = dbquery("INSERT INTO ".DB_ADMIN." (
admin_rights, admin_image, admin_title, admin_link, admin_page) VALUES ('[color=#ff0000]AC2[/color]', '[color=#ff0000]jouwsystem_cats.gif[/color]', '[color=#ff0000]Jouw System[/color]', '[color=#ff0000]jouwsystem_cats.php[/color]', '1');");
?>


13) Het geven van privileges aan de ingelogde admin (preview in eigen pagina):
Code


$result = dbquery("UPDATE ".DB_USERS." SET user_rights = '".$userdata['user_rights']."[color=#ff0000].A2.AC2[/color]' WHERE user_id = '".$userdata['user_id']."' LIMIT 1");
?>


14) Wijzigen van privileges in bestanden:
Open administration/jouwsystem_cats.php
zoek naar
Code

if (!checkRights("AC") || !defined("iAUTH") || $_GET['aid'] != iAUTH) { redirect("../index.php"); }

wijzig naar
Code

if (!checkRights("[color=#ff0000]AC2[/color]") || !defined("iAUTH") || $_GET['aid'] != iAUTH) { redirect("../index.php"); }


Open administration/jouwsystem.php
zoek naar
Code

if (!checkRights("A") || !defined("iAUTH") || $_GET['aid'] != iAUTH) { redirect("../index.php"); }

wijzig naar
Code

if (!checkRights("[color=#ff0000]A2[/color]") || !defined("iAUTH") || $_GET['aid'] != iAUTH) { redirect("../index.php"); }


15) Wijzigen van comments & ratings ID:
Open jouwsystem.php

Zoek naar:
Code

 DB_COMMENTS, "comment_type='A'

vervangen door
Code

 DB_COMMENTS, "comment_type='[color=#ff0000]A2[/color]'


Zoek naar:
Code

showcomments("A",

vervangen door
Code

showcomments("[color=#ff0000]A2[/color]",


Zoek naar:
Code

showratings("A",

vervangen door
Code

showratings("[color=#ff0000]A2[/color]",


16) Nakijken, Testen, links toevoegen etc...
Opmerking: Deze methode is ongetest en er kunnen nog véél bugs in zitten. Het nazien van elke code is noodzakelijk ! Je moet het verband zien tussen bijvoorbeeld ".DB_JOUWSYSTEM." in de eerste stap en in de komende stappen. Alles moet gelijk zijn !

Edited by Steff on 11 April 2009, 16:37

Posted by Joo on 10 April 2009, 21:16
#5

Een heel verhaal Jeepers! Ik begrijp de bedoeling. Hiermee kan ik aan de slag. Zodra ik over meer tijd beschik zal ik er eens serieus aan beginnen. Bedankt zover.

Posted by Glenn_93 on 29 April 2009, 09:39
#6

Kan ik dit ook aanmaken en dat gewone leden nieuwsberichten kunnen posten?

Edited by Glenn_93 on 29 April 2009, 09:54

Posted by Steff on 29 April 2009, 11:50
#7

Dit kan ja. Moet je wel de (checkrights) & (iADMIN) tags weg laten.

Posted by Glenn_93 on 29 April 2009, 19:00
#8

Dus stap 12, 13, 14 hoef ik hellemaal niet te doen?

Posted by Steff on 30 April 2009, 18:21
#9

Jawel, maar de if(checkrights()) regels & de if (iADMIN) regels moet je er uit halen.