Jump to content

LimitCS este una dintre comunitatile de gaming din Romania care îşi are infiintarea în anul 2014. Scopul nostru este de a crea un mediu placut în care jucatorii sa se poată distra, sa-si petreaca timpul,sa-si faca noi prieteni si sa socializeze. Principiile noastre sunt profesionalismul si seriozitatea.
FORUM
Sign in to follow this  
  • entries
    8
  • comments
    0
  • views
    166

[Project][P4] Event system LimitCS - Implementare ca si IPB. App

D0WN3D

37 views

LimitCS Events -- Part 4

//Pentru implementarea "Events" ca si aplicatie IPB (Precum Blogs,Pages,Forums,Downloads,Gallery etc.) & Adaugarea sa in Sidebar-ul cu aplicatii din ACP.

In [Project][P2] Event System LimitCS - Editare Meniu ACP am implementat tab-ul "Events", extern. Practic am editat fisierele/template-urile IPB. Ceea ce nu este foare sigur, si prezenta foarte multe bug-uri. Asa ca am decis sa le implementez in mod direct in Baza de Date a IPS.Board si in fisierele Core ale acestuia. Astfel tab-ul "Events" si sub-taburile lui vor fi recunoscute ca si aplicatii ce fac parte din suita IPS, aducand astfel un mare plus securitatii si usurarea implementarii/editarii acestei aplicatii.

Mergem in directory-ul /public_html/applications si adaugam un nou folder numit "events".

In folderul "events" adaugam un alt folder numit "data", iar in acesta adaugam un fisier numit "application.json" in care scriem codul de mai jos:

{
    "application_title": "Events", <!-- Titlul aplicatiei -->
    "app_author": "LimitCS, Inc.", <!-- Autorul aplicatiei -->
    "app_directory": "events", <!-- Folderul aplicatiei -->
    "app_protected": 1, <!-- Aplicatie protejata -->
    "app_website": null, <!-- Website-ul applicatiei -->
    "app_update_check": null <!-- Cautare update-uri -->
}

Adaugam in root-ul IPB fisierul numit "acpmenu.json"

File Name: acpmenu.json || Directory: /public_html/applications/events/data

In acest fisier adaugam tab-ul event cu sub-taburile sale specifice.

<!-- Edit by D0WN3D -->
"events"{
    "start_events": {
        "christmas": {
            "tab": "events",
            "controller": "christmas_start",
            "do": "",
            "restriction": "view_christmas"
        },
        "easter": {
            "tab": "events",
            "controller": "easter_start",
            "do": "",
            "restriction": "view_easter"
        },
        "halloween": {
            "tab": "events",
            "controller": "halloween_start",
            "do": "",
            "restriction": "view_halloween"
        }
    },
    "settings_events": {
        "christmas": {
            "tab": "events",
            "controller": "christmas_settings",
            "do": "",
            "restriction": "view_christmas"
        },
        "easter": {
            "tab": "events",
            "controller": "easter_settings",
            "do": "",
            "restriction": "view_easter"
        },
        "halloween": {
            "tab": "events",
            "controller": "halloween_settings",
            "do": "",
            "restriction": "view_halloween"
        }
    },
    "items_events": {
        "christmas": {
            "tab": "events",
            "controller": "christmas_items",
            "do": "",
            "restriction": "view_christmas"
        },
        "easter": {
            "tab": "events",
            "controller": "easter_items",
            "do": "",
            "restriction": "view_easter"
        },
        "halloween": {
            "tab": "events",
            "controller": "halloween_items",
            "do": "",
            "restriction": "view_halloween"
        }
    }
}
<!-- Edit by D0WN3D -->

Acum vom observa ca tab-ul "Events"  nu este creat, nu are icon si nici nume, ci doar variabilele specifice.

Mergem in phpMyAdmin si editam tabel-ul "core_sys_lang_word". Adaugam urmatoarele lucruri cu valorile definite:

"lang_id:1 | word_app:core | word_default_version:101094 | word_js:0 | word_export:1" //word_default_version ar putea diferii in fiecare versiune IPB iar la coloanele "word_key" & "word_default" adaugam dupa modelul de mai jos:

word_key						word_default

menutab__events_icon calendar				calendar <!-- variabila icon:calendar //deci in acp va aparea un icon calednar -->
menutab__events						Events <!-- variabila events: Events //deci in acp sub icon-ul calendar v-a aparea numele "Events" -->

menu__core_start_events					Start Events <!-- Categoria "Start Events" -->
menu__core_start_events_christmas			Start Christmas Event <!-- modulul: "Start Christmas Event" -->
menu__core_start_events_easter				Start Easter Event <!-- modulul: "Start Easter Event" -->
menu__core_start_events_halloween			Start Halloween Event <!-- modulul: "Start Halloween Event" -->

menu__core_settings_events				Events Settings
menu__core_settings_events_christmas			Settings Christmas Event
menu__core_settings_events_easter			Settings Easter Event
menu__core_settings_events_halloween			Settings Halloween Even

menu__core_items_events					Item Events
menu__core_items_events_christmas			Items Christmas Event
menu__core_items_events_easter				Items Easter Event
menu__core_items_events_halloween			Items Halloween Even

 

Daca toate cele de mai sus au fost facute corect cand mergeti la tab-ul "System" pe categoria "Site Features" si dam click pe "Aplications" ar trebuii sa vedem aplicatiile instalate/ne-instalate si desigur noua aplicatie "Events" care probabil v-a aparea si mai jos ca si "Out of Date Application" (duh).

Avem iconita cu + pentru instalare. Daca dam click pe ea, IPS.Board va pornii instalarea insa veti primii o eroare deoarece nu exista inca un installer:

1S111/1 Missing: /applications/events/Application.php

Ce mai ramane de facut e sa scoatem vechiul tab "Events" introdus extern in template-uri. Te poti folosii de P2 a seriei LimitCS Events de aici. Tot ce trebuie sa faci e sa stergi ce ai adaugat anterior.

//Application.php -- Partea ce-a mai grea. Instaler-ul aplicatiei, oarecum. IPS.Board vine cu multe chestii predefinite si sa modifici core-ul IPS.Board este extrem de greu. But, It's a challange. Asa ca ma voi straduii sa iasa cat mai perfect. :)

" - Ce framework-uri/programe folosesti atunci cand editezi un website?

 - Notepad. Editez codul si il urc pe host, il testez si tot asa.

 - De ce nu te ajuti de Inspect Element sa editezi in browser, sa vezi imaginea de ansamblu, iar mai apoi modifici in cod?

 - Nah, Inspect Element e de c*cat.

  *Stares in disgrace* - Te pleznesc !!!"

 



0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×