November 16 2022

using discuz

Discuz is an open source software, we use this software to manage the forum, we will briefly present the organizational structure of the discuz code for those who need it for reference. , ,

1.discuz directory structure

Directory structure:

/api
Uc.php uCenter Communication File
       / api / addons Application Center
       / api / connectTencent
       / api / GoogleGoogle engine interface processing
       / api / jаvascript JS calling data and advertising
       / api / manyoumanyou application and related services search
     / api / remote update?
     / api / trade Alipay, Tenpay and other transaction interfaces
     / Forum Archive Static Archiver
/ config program configuration file
       The configuration file of the main parameters of the forum config_global.php
       configuration file of the main parameters config_ucenter.phpUCenter
       The configuration file of the main parameters of the forum config_global_default.php (example)
Configuration file of the main parameter config_ucenter_default.phpUCenter (example)
/ data attachments, database and file cache
/ install installer
/ source / Catalog of processing functions of the software module
 /discuz_version.php program version number storage file
/ source / admincp background management for viewing directory file labels
 / source / archiver Forum Archiver static program directory View file annotations
/ source / include directory processing program functions
/ source / language program language package (if unclear, please open each file to view) view the label of the directory file
/ source / module program functional module package view the label of the directory file
/ source / plugin module extension directory for viewing directory file labels
/ source / functionDX library of custom functions for viewing directory file labels
 / source / classCore class library for viewing the annotation of the directory file
/ template template directory for viewing the label of the directory file
/ UC_Client uCenter client
/ uc_server uCenter server
/ static storage of attachments of program interface elements
 Root Directory file
 Background input file admin.php
Collaboration API
api.php Forum archiver Archiver in reading mode (without a plate)
the file of the cloud platform interface
connect.php Multi-application service record file cp.php (download userapp.php )
crossdomain.xml
 ficocon.ico ICO icon website
 forum.php the file with the forum channel
 group.php group channel recording file
 Home.phphome channel login file
index.php home page
 User login file member.php (login, registration, exit, etc.)
program misc.php different extension entries
plugin.php plugin
input file portal.php portal entry file
 File search engine restrictions
robots.txt search.php log in to the search channel
 Multi-application service record file userapp.php



2. Code flow structure analysis

First, set up the homepage and the route recorded in each section in nginx

The home page is redirected to by default index.php

The search page is sent to search.php

The Personal Center is directed to home.php

The backend of the forum is directed to admin.php

The section page is sent to forum.php

These files have require_once './source/class/class_core.php ', this file is a call to the configuration file in the conf section, connects to the database, checks the login status, receives information about the login user, receives data from the cache data table, Wait, the following code is the initialization process: (a specific operation is interested in its own research)

C::app()->cachelist = $cachelist;

C::app()->init();

loadforum();

set_rssauth();

runhooks();

After initializing the input function, the task will be distributed according to the url parameter.

Take it forum.php as an example, the download requires DISCUZ_ROOT. '. / Source / module / forum / forum _'. $ Mod. '. Php' according to the mod parameters.

 

forum.php (initialization) --------> source (processing) ------> template (page display)

 

Equivalent to the logic of the MVC layer

 

  

============= But the main discuz processing module is located in the source directory ==========================

 

The structure of the source code is shown in Figure 1 below

 

1. Source/Class database table operation

 

C :: t ('forum_forum') -> fetch ($ _ G ['fid']); The change function is a database operation that is equivalent to getting information about a tablet. The specific database code is a sampling function in source / class / table / table_forum_forum.php Or in the parent class

 

2.catalog of processing functions of the original/included program

 

The module is divided depending on the function

 

Form loading example: require_once libfile ('post / newthread', 'include');

 

This module is responsible for processing publishing tasks

3. library of custom source functions/functions

 

The module is global and does not belong to a specific module.

 

Example of the upload form: include template ('diy: forum / viewthread'. $ Sufix. ':'. $ _ G ['fid']);

 

 

When all the functions are processed and the html page needs to be loaded, the above sentence will be executed.The template function is in function_core.php , and the information about the loaded page is determined according to the parameters.

 

4. source / language program language pack

 

The lang() function in function_core.php finds the corresponding value according to the passed parameters

 

 

5. Plugin extension directory for source code/plugin

 

API request, every time coins, etc., disk or other code written by others, can be put here in the form of plugins

 

Diskuz background principle of operation

 

admin.php : this is an input file for background management, basically it performs two functions: initialization, basic processing

Distribute tasks by the action parameter

1. If the action does not exist, call $admincp-> show_admincp_main ();

Go to the requirement './source/admincp/admincp_main.php ';

 

2. If the action exists, return './source/admincp/admincp_'.$action.'.php';

 

$action is empty: admincp_main.php : get a menu to display
 

 

 

 

<!--[if ppt]--><!--[endif]-->
<!--[if ppt]--><!--[endif]-->
 

$ action is not empty: admincp _ '. $action.'. php, determine which operation you want to perform based on $operation, enter the appropriate page





Information

Visitors who are in the group Guests they can't download files.
Log in to the site under your login and password or if you are a new user go through the process registrations on the website.

Comments:

This publication has no comments yet. You can be the first!

Information the publication:

  • Author of the publication: zews
  • Date of publication: 16 November 2022 13:09
  • Publication category(s): Discuz! script / Modules Discuz!
  • Number of views of the publication: 207
  • Number of comments to the publication: 0

Related News

16 November 2022
Forums scripts / Discuz! script
Discuz

A free open source web forum developed in the PHP scripting language, supporting various DBMS, including MySQL,

Read more
16 November 2022
Forums scripts / Discuz! script / Releases Discuz!
Discuz! X3.4 RUS

Discuz! X3.4 is a relatively new integrated engine from Comsenz (developer Discuz!, uCenter, UCHome, ECShop,

Read more
16 November 2022
Discuz! script / Releases Discuz!
installing discuz

Discuz! It is a community-based professional website creation platform launched by Comsenz, a subsidiary of

Read more
16 November 2022
Discuz! script / Modules Discuz!
About the custom html

About the custom html call of the static module discuz x1.5 Tags: HTML PHP In DIY, select module-> display

Read more
16 November 2022
Discuz! script / Releases Discuz!
discuz

Discuz! Introduction Crossday Discuz! Board (Discuz!) is a universal software system of the public forum. Since

Read more

Information

Users of visitor are not allowed to comment this publication.

Site Search

Site Menu


☑ Scripts Software

Calendar

«    May 2024    »
MonTueWedThuFriSatSun
 12345
6789101112
13141516171819
20212223242526
2728293031 

Advertisement

Survey on the website

Evaluate the work of the site
 

Statistics

  • +4 Total articles 5598
  • +20 Comments 3088
  • +35 Users : 3990