GithubHelp home page GithubHelp logo

rathena / fluxcp Goto Github PK

View Code? Open in Web Editor NEW
172.0 38.0 206.0 2.68 MB

A web-based Control Panel for rAthena servers written in PHP. Manage player accounts, databases, support tickets, etc via your browser.

License: GNU Lesser General Public License v3.0

PHP 97.31% JavaScript 0.60% CSS 2.08%
fluxcp rathena php control-panel hacktoberfest

fluxcp's Introduction

FluxCP

DeepSource Open Issues Open PRs Codacy Badge

Flux Control Panel (FluxCP) for rAthena servers.

Requirements

  • PHP 5.2
  • PDO and PDO-MYSQL extensions for PHP5 (including PHP_MYSQL support)
  • MySQL 5
  • Optional: GD2 (for guild emblems and registration CAPTCHA)
  • Optional: Tidy (for cleaner HTML output)
  • Optional: mod_rewrite support for UseCleanUrls feature
  • Optional: Item images

What's New?

  • The description files are kept upto-date with each new commit from rAthena.

  • Pre-integrated themes:

    • default
    • Bootstrap
  • Built-In:

    • News and Pages CMS with integrated TinyMCE
    • Service Desk (ITIL Incident Management style support ticket system)
    • Additional Logs
    • More Ranking Lists
    • Discord Integration
    • Google ReCaptcha
    • Remote AtCommand functionality

How To ... ?

We have a small doc library that covers:

  • Basic User Documentation

  • Developer Documentation

    • Creating an Addon
    • Providing Addon updates
    • Creating a custom Theme

Join the Discussion

We have a discord server separate from rAthena just for FluxCP stuff! The channels there can be used to obtain help, discuss testing, view anonymous feedback log, Github commits, etc. https://discord.gg/kMeMXWEvSV

Extra Credits

Original FluxCP created by Paradox924X and Byteflux with additional contributions from Xantara. Some works from other users have been integrated into this project.

fluxcp's People

Contributors

0xlemas avatar akkarinage avatar aleos89 avatar araanbranco avatar aries-delossantos avatar balferian avatar balistix avatar cagonza6 avatar chanorocks avatar cydh avatar daegaladh avatar danieldpl avatar gamingmagic avatar hurtsky avatar kenshn111 avatar lemongrass3110 avatar lgtm-com[bot] avatar luan122 avatar marky291 avatar mazvi avatar mikegyver avatar mleo1 avatar nanakiwurtz avatar sader1992 avatar sanasol avatar tlacson7 avatar trinitynetworks avatar vietlubu avatar vstumpf avatar xxrockonxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fluxcp's Issues

Built-In Forums Module

How do you guys feel about this? Would you prefer something built-in with features that tie into the player's account/chars to keep things nice and tidy? I know there was a guide once on how to integrate fluxbb (not related to fluxcp) to use it as a module, but it's not been updated in 6 months and is coated in bugs.

I'd started writing a forum module about 2 years ago when I first uploaded akkarinage/fluxcp before it went over to rAthena, so it won't take alot of work for basic topic/post/category functions to be finished.

But like I said, how do you guys feel about this?

Undefined index on 'Equippable Jobs' FIXED

lib/Flux/Template.php line 1231

change

else if (count($jobs) === count($equipJobs) - 1 && !in_array($equipJobs[0], $jobs)) {
echo "<pre>";
print_r($equipJobs);
echo "</pre>";
return array('All Jobs Except Novice');
}

to

else if (count($jobs) === count($equipJobs) - 1 && !in_array($equipJobs, $jobs)) {

Facebook feed to RSS discontinued

config/application.php line#211

Facebook timeline feed exportation to RSS has been discontinued by Facebook, this doesn't work anymore.

TaskList Module

Does anyone actually make use of this?

I think it was one of the first fluxcp modules i'd ever written. It sucks and should die in a cyberfire. Unless people are actually using this instead of the many other mediums i.e. forums, facebook group chat, paper and pen, github, etc etc.

Map/NPC Database Removal?

The modules are badly written, the author doesn't provide support or fixes and i'm not willing to keep them in this repo if they don't work.

Thoughts?

Monster Modes

The drop rate feature for the item/mob databases needs to be updated to reflect rathena/rathena@55e4df1. MD_BOSS no longer exists and should be changed to 0x6200000 which is the Aegis mode that defines "Boss" monsters.

Also, it may be wise to add a "MVP" type in the servers.php DropRates array so it can be separated from the Boss monsters. It can be as simple as checking for 0x80000, MVP Item Drops, or MVP EXP. The most reliable option of the 3 would be to check for the mode.

Error on lib/Flux/Config.php

Warning: array_key_exists() expects parameter 2 to be array, string given in /ragnarok/fluxcp/lib/Flux/Config.php on line 113

This on initial setup (first time opening the site after updating server.php)

First Install File Permission Errors

Quite often we see topics on the forums about "no permissions to data/tmp/*.php".

It'd be nice if we can output a reasonable suggestion rather than the almighty fluxcp error page. I know it's kinda self-explanatory, but people can't read.

Web Commands

We've all loved the idea of being to type a command into a webpage and see it executed in-game, and some of us have added pages to our server's website and used this functionality for years.

Add it to FluxCP?

CleanURLs non-functional.

Hi,

Note that FluxCP is installed here. Right now, CleanURLs is not working as I'd hoped. So CleanURLS is disabled at this time.

Quick OS setup:

Ubuntu 16.10 x86_64

root@ro:~# apache2 -v
Server version: Apache/2.4.18 (Ubuntu)
Server built:   2016-07-18T18:32:02
root@ro:~# php -v
PHP 7.0.12-1+deb.sury.org~yakkety+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.12-1+deb.sury.org~yakkety+1, Copyright (c) 1999-2016, by Zend Technologies
root@ro:~# mysql --version
mysql  Ver 15.1 Distrib 10.0.28-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

EXPECTED BEHAVIOR
apache2 is set to use mod_rewrite. You can confirm this is the case here.

So, UseCleanUrls is enabled in config/application.php as you'd normally expect.

.htaccess has the following:

RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css|pdf|swf|flv)$ index.php [QSA]

Note: the RewriteBase bit here was commented out because I was testing whether or not RewriteBase / would resolve the issue one way or the other. (e.g., whether it'd work with it enabled or not enabled. It did not work either way.)

RESULT OF ABOVE BEHAVIOR

Obviously, as you can see, this doesn't work, at least when I enable it. It'll properly create https://ro.lysharia.com/main when CleanURLs are enabled, but as expected, fails to work because it seems that the above rewrite rules fail to work through index.php

Any particular suggestions for how one should get CleanURLs working? If I enable it, it breaks.

Permission txnview PayPal

Hello. The Permission of file 'txnview' in access.php is in the wrong place. She is here 'logdata':

    'logdata'   => array(
        'index'         => AccountLevel::ADMIN,
        'txnview'       => AccountLevel::ADMIN,

But the correct would it be in 'cplog':

    'cplog'     => array(
        'txnview'       => AccountLevel::ADMIN,

sorry my bad ingles

Preinstallation Checks

GD2, mcrypt, etc should be checked before displaying the "insert secret password" page. Most other web software packages have this, there's no reason why we shouldn't either. It'd help to reduce support topics on the forums too.

FluxCP addons CMS "Editor" missing

Hi sir i've seen that the cms modules was embedded already on fluxcp but as i notice that the cms has missing editor please include the editor in able to used the html base coding, it seems you can only input plain text only unlike the separate addons it has "editor tools" w/c include all tools needed like font,size,color coding,, hyperlink and etc, its included on the files on ( themes\default\tiny_mce) but doesn't work even on default themes. Thanks and looking for your fast response.

Duplicate Item Function

This function within the Item module hasn't worked since the keys were changed in the item_db(2)_(re)(2) tables.

[timestamp] [SQLSTATE=23000] Err 1062: Duplicate entry 'Apple' for key 'UniqueAegisName'

I've come up with a temp solution.. it's not pretty, but it works.

Having some issue on mailer

[12-Apr-2016 15:22:15 America/Toronto] PHP Strict Standards: Accessing static property Flux_Mailer::$errLog as non static in /home/....../public_html/lib/Flux/Mailer.php on line 21

[12-Apr-2016 15:22:15 America/Toronto] PHP Strict Standards: Accessing static property Flux_Mailer::$log as non static in /home/...../public_html/lib/Flux/Mailer.php on line 22

Marketing Module

Some servers use their forums to bulk mail, but that doesn't generally give you alot of options for specific groups to send emails to. Other servers upload their login table to automated marketing services to use their entire db to send emails.

Personally, I've used my own version for the last few months and had positive feed back from. Additional options can be added to allow for selecting specific time periods for "You've been gone longer than 6 Months, here's a Jellopy" style emails. A template is thrown into data/templates/ so all you need to do is type a subject, select the template and choose who you're sending to.

This would replace the standard Mail module - #59

Example:
ss 2016-06-08 at 07 45 49

Donation not updating Credit

I have try searching for solutions around, tried a lot of things but didnt work.
Its seems that the payment is a success but it wont credit on flux.
-My paypal is already a business account.
-IPN url have been set in my paypal
-I am using the latest paymentnotifyrequest.php
-I have tried both live and sandbox.

[2017-01-09 01:51:51] Received notification from 173.0.81.33 (notify.paypal.com)
[2017-01-09 01:51:51] Query string: cmd=_notify-validate&payment_type=echeck&payment_date=Mon+Jan+09+2017+01%3A51%3A45+GMT%2B0800+%28Malay+Peninsula+Standard+Time%29&payment_status=Completed&address_status=confirmed&payer_status=verified&first_name=John&last_name=Smith&payer_email=buyer%40paypalsandbox.com&payer_id=TESTBUYERID01&address_name=John+Smith&address_country=United+States&address_country_code=US&address_zip=95131&address_state=CA&address_city=San+Jose&address_street=123+any+street&business=seller%40paypalsandbox.com&receiver_email=seller%40paypalsandbox.com&receiver_id=seller%40paypalsandbox.com&residence_country=US&item_name=something&item_number=AK-1234&quantity=1&shipping=3.04&tax=2.02&mc_currency=USD&mc_fee=0.44&mc_gross=12.34&mc_gross_1=12.34&txn_type=web_accept&txn_id=140816604&notify_version=2.1&custom=xyz123&invoice=abc1234&test_ipn=1&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AgDFJdhTn1PfaR7sMnx1-Z6E7g4.
[2017-01-09 01:51:51] Establishing connection to PayPal server at www.sandbox.paypal.com:80...
[2017-01-09 01:51:51] Connected. Sending request back to PayPal...
[2017-01-09 01:51:51] Sent 897 bytes of transaction data. Request size: 1049 bytes.
[2017-01-09 01:51:51] Reading back response from PayPal...
[2017-01-09 01:51:51] Notification failed to verify. (recv: )
[2017-01-09 01:51:51] Transaction invalid, aborting.

Mail Module

Personally, if someone says they use this I will shoot them in their @mention. This is a useless module that only lets you send an email to one player at a time.

I've written a bulkmailer marketing module that will replace this.

CP Registration Logs

I've always wondered why this was never added by default. The logs are already there, but there's never been a default set of pages to view these logs.

Shall we add them?

Feature Request: Enable hash conversion

You might want to code in a method for users to update their passwords... because I am unable to update my admin account unless I specifically leave UseMD5 set to false.

Of course, to resolve this issue, one could use any MD5 hash generator utilities found online to get around that issue... but still.

FluxCP Donation

Hi, I have a question about the donation module for FluxCP my question can be located here at https://rathena.org/board/topic/103418-latest-fluxcp-master-donation-issue/?p=291256

I have a developer account at paypal and setup my business account in FluxCP application. My transactions are fine but donation credits are not reflected in my fluxcp account.

In paypal.log.php it says notification failed to verify. here is the log file

[2015-10-10 13:27:18] Query string: cmd=_notify-validate&mc_gross=50.00&protection_eligibility=Eligible&address_status=confirmed&payer_id=SSLVD92VU98ZC&tax=0.00&address_street=1+Main+St&payment_date=04%3A27%3A06+Oct+10%2C+2015+PDT&payment_status=Completed&charset=windows-1252&address_zip=95131&first_name=test&mc_fee=1.75&address_country_code=US&address_name=test+buyer&notify_version=3.8&custom=YToyOntzOjExOiJzZXJ2ZXJfbmFtZSI7czoxMzoiUGhpbGlwcGluZXNSTyI7czoxMDoiYWNjb3VudF9pZCI7czo3OiIyMDAwMDAxIjt9&payer_status=verified&business=test-business%40gmail.com&address_country=United+States&address_city=San+Jose&quantity=0&verify_sign=AqRKMbAEj36DdaDlLpXFt6MjJOrZAngd4c3I35iAY.mUTu7M3d1lzfRz&payer_email=test-buyer%40gmail.com&txn_id=21R37740FJ314735P&payment_type=instant&last_name=buyer&address_state=CA&receiver_email=test-business%40gmail.com&payment_fee=1.75&receiver_id=YR789P5TZ4YQJ&txn_type=web_accept&item_name=Donation+Credits%3A+50+CREDIT%28s%29&mc_currency=USD&item_number=&residence_country=US&test_ipn=1&transaction_subject=YToyOntzOjExOiJzZXJ2ZXJfbmFtZSI7czoxMzoiUGhpbGlwcGluZXNSTyI7czoxMDoiYWNjb3VudF9pZCI7czo3OiIyMDAwMDAxIjt9&payment_gross=50.00&ipn_track_id=e54f02b58d9f7
[2015-10-10 13:27:18] Establishing connection to PayPal server at www.sandbox.paypal.com:80...
[2015-10-10 13:27:18] Connected. Sending request back to PayPal...
[2015-10-10 13:27:18] Sent 1167 bytes of transaction data. Request size: 1320 bytes.
[2015-10-10 13:27:18] Reading back response from PayPal...
[2015-10-10 13:27:18] Notification failed to verify. (recv: )
[2015-10-10 13:27:18] Transaction invalid, aborting.

Admin Menu

The problem was when you use Bootstrap theme you cant view the list in the Admin Menu Panel.

admin

About main or home

Is it possible to remove this and change it to news/announcements so that everyone can view it whether you're log in or not? because i tryed adding the news code inside the themes/defualt/main/index.php but it requires log in to view it.
main

Harmony Logs

I'm unsure of how many servers still use Harmony, but I'm willing to bet it's not many. Might be worth removing the Harmony Logs and possibly making them an optional addon module instead.

There's certainly no reason to have the nav link displayed by default.

ParseNPC should ignore whitespace after file path name?

/(.*)(npc|import): (.*)/

For some reason the rAthena npc scripts have whitespace at end of npc lines now.
Which on the system I tested this on (windows) was not getting trimmed and so the file exists check always failed. (Parsing NPC only loading 2 files)

switch(trim($match[2][$key])){
    case 'npc':
        $item = trim($item);
        $files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . $item));
        $files[] = FLUX_ROOT . '/upload_npc/' . $item;
        break;
    case 'import':
        $item = trim($item);
        $files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . $item));
        break;
}

Although I guess this could be implemented as an extra action/step.

Removing the uploaded_npc directory after processing seems like a good idea, unless maybe if debug mode is enabled?

Additionally actually loading the files appears to be missing from the zip file upload handler.

$parse->loadFiles($file);

I ended up doing this

if (isset($_GET['test'])) {
  $parse = new parse($server);
  $file = $parse->getFiles();
  $parse->loadFiles(array($file));
  $successMessage = 'Successfull load ' . sizeof($file) . ' files';
}

And just triggering the load manually with test as a get parameter.

FluxAdmin Module

Never got finished (it did, but it never made it into the repo) and there's still a few remnants left.

Time for it to go.

Intallation

Theme Selector breaks the installation of the CP: 5f07de7

( ! ) Warning: array_key_exists() expects parameter 2 to be array, string given in C:\VertrigoServ\www\cp\lib\Flux\Config.php on line 113

I'll try to identify the problem.

code in login.php and create.php clobbers global $server object

The $server object is created in preprocess.php into global scope. Some actions (account/login.php and account/create.php) also set their own $server variables, also in global scope. This clobbers the object for any further processing, for example custom code in footer.php. The mistake is masked when the action succeeds, because it initiates a http redirect and immediately exits. It doesn't when the username/password is wrong, for example. This leads to the php error log being littered with

PHP Notice:  Trying to get property of non-object in /www/flux/themes/default/footer.php
PHP Fatal error:  Call to a member function getStatement() on null in /www/flux/themes/default/footer.php

CP Update Module

Originally, the FluxAdmin module showed the latest FluxCP commits and PRs, along with information about the latest commits to rA too. On my version that I never managed to publish, was a backup and update feature.

Backup was pretty simple; the CP would create a .zip of itself containing all files and SQL data. It was meant to help users who needed to move their website from one host to another.

Update feature literally updated FluxCP to the latest version available on Github. This had two methods, one button ran similar to exec('git stash && git pull && git stash pop'); while the other would download a tag and unpack. The install screen would be shown if new sql data needed creating.

Essentially this was designed to save users time and effort updating. It became abit useless since no real updates were being produced at the time but i still used it to check on commits on FluxCP and rA (mine had rA git update code as site was on same vps as server, which is the other main reason it was never released).

Thoughts?

Having some issue on template

[13-Apr-2016 00:10:39 America/Toronto] PHP Notice: Undefined offset: 0 in /home/..../public_html/lib/Flux/Template.php on line 1231

[13-Apr-2016 00:12:34 America/Toronto] PHP Notice: Undefined offset: 0 in /home/...../public_html/lib/Flux/Template.php on line 1231

-- edit --

bugs?

i just wondering what's new on it because they say.
What's New?
The description files are kept upto-date with each new commit from rAthena.
Pre-integrated themes:

default
Bootstrap
but when i check what is Bootstrap?

and some page is isn't working.

bug i encounter.
News system does not work properly. you can't edit or modified the news. you can't delete it.

Rangking.

Homunculus

Page Not Found

The page you have requested was not found on our server. Please check the address and make sure it is correct, and try again.

/rathena-FluxCP/?module=ranking&action=homunculus
Bowman

Page Not Found

The page you have requested was not found on our server. Please check the address and make sure it is correct, and try again.

/rathena-FluxCP/?module=ranking&action=bowman
Spearman

Page Not Found

The page you have requested was not found on our server. Please check the address and make sure it is correct, and try again.

/rathena-FluxCP/?module=ranking&action=spearman
Swordman

Page Not Found

The page you have requested was not found on our server. Please check the address and make sure it is correct, and try again.

/rathena-FluxCP/?module=ranking&action=swordman
MvPs

Page Not Found

The page you have requested was not found on our server. Please check the address and make sure it is correct, and try again.

/rathena-FluxCP/?module=ranking&action=mvp
Tools

Page Not Found

The page you have requested was not found on our server. Please check the address and make sure it is correct, and try again.

/rathena-FluxCP/?module=tools&action=phpminiadmin

Highest Peak

Maybe I'm missing something but Highest Peak isn't showing on server status.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.