Giter Site home page Giter Site logo

micwallace / wallacepos Goto Github PK

View Code? Open in Web Editor NEW
370.0 68.0 376.0 12.44 MB

WallacePOS uses the power of the modern web to provide an easy to use & extensible POS system.

License: GNU Lesser General Public License v3.0

CSS 7.51% JavaScript 15.75% PHP 68.20% HTML 2.01% Makefile 0.14% Perl 0.44% Shell 0.28% C 4.15% Batchfile 0.01% Roff 0.53% Hack 0.85% PLpgSQL 0.06% TSQL 0.07%

wallacepos's Introduction

Note: WallacePOS is not longer actively maintained. If you would like to become a maintainer of this project please let me know.

WallacePOS

An intuitive & modern web based POS system

logo

WallacePOS uses the power of the modern web to provide an easy to use & extensible POS system.

It supports standard POS hardware including receipt printers, cashdraws and barcode scanners.

With a rich administration dashboard and reporting features, WallacePOS brings benefits to managers and staff alike.

Take your business into the cloud with WallacePOS!

To find out more about WallacePOS, head over to wallacepos.com

If you find that WallacePOS is the perfect companion for your business, please donate to support further development.

Donate to WallacePOS

Server Prerequisites

WallacePOS requires:

  1. A Lamp server with PHP version>=5.4, PHP cURL & GD extensions and Apache version>=2.4.7 with modules rewrite, proxy_http and proxy_wstunnel.

    • You can enable the modules by typing the following in your terminal
        sudo a2enmod proxy_http proxy_wstunnel rewrite
        sudo apt-get install php5-curl php5-gd
        sudo service apache2 restart
    
    • The following virtual host snippet in your apache config, replace %*% with your values and modify to your needs.
        <VirtualHost *:443>
             DocumentRoot %/your_install_dir%
             ServerName %your.server.fqdn%
    
             ErrorLog ${APACHE_LOG_DIR}/error.log
             CustomLog ${APACHE_LOG_DIR}/access.log combined
    
             SSLEngine on
                 SSLCipherSuite !ADH:!DSS:!RC4:HIGH:+3DES:+RC4
                 SSLProtocol all -SSLv2 -SSLv3
                 SSLCertificateFile %certificate_location%
                 SSLCertificateKeyFile %key_location%
                 SSLCertificateChainFile %cert_chain_location%
    
             <Directory %/your_install_dir%>
                AllowOverride all
             </Directory>
    
             # WSPROXY CONF
             ProxyRequests Off
             ProxyPreserveHost On
             <Proxy *>
                     Order deny,allow
                     Allow from all
             </Proxy>
             RewriteEngine On
             RewriteCond %{HTTP:Connection} Upgrade [NC]
             RewriteRule /(.*) ws://localhost:8080/$1 [P,L]
             ProxyPass        /socket.io http://localhost:8080/socket.io/
             ProxyPassReverse /socket.io http://localhost:8080/socket.io/
             <Location /socket.io>
                     Order allow,deny
                     Allow from all
             </Location>
        </VirtualHost>
    

    Note: Using plain http is not recommended.

  2. Node.js installed along with the socket.io library

    For a Debian distro:

        sudo apt-get update
        sudo apt-get install nodejs && apt-get install npm
        cd %/your_install_dir%/api
        sudo npm install socket.io
    

Installation & Startup

  1. Clone the latest WallacePOS release to %your_install_dir% if you haven't done so already. The installation dir must be your Apache document root directory!

  2. Run composer install in your install directory to update PHP dependencies (you may need to install composer first).

  3. Visit /installer in your browser & follow the installation wizard.

  4. Login to the admin dashboard at /admin, from the menu go to Settings -> Utilities and make sure the feed server has been started successfully.

Deploying using dokku

To deploy WallacePOS on dokku:

  1. Install the dokku-apt plugin on your dokku host.

  2. Fork the WallacePOS to a PRIVATE repo (IMPORTANT), edit /library/wpos/.dbconfig.json and fill in your own values.

    OR

    Use my dokku mysql plugin to create and link the database automagically.

  3. Commit deploy in the usual manner.

  4. Setup persistent storage by running:

    dokku storage:mount %APP_NAME% /var/lib/dokku/data/storage/%APP_NAME%:/app/docs

    WARINING: Failure to do so will lead to data loss during subsequent upgrades.

  5. Access /installer/?install from the web browser to install the database schema & templates

  6. Login to the admin dashboard at /admin using credentials admin:admin & change the default passwords in Settings -> Staff & Admins!

wallacepos's People

Contributors

agustincl avatar ais-one avatar jgascoignetaylor-godaddy avatar ketul917 avatar micwallace 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  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

wallacepos's Issues

Staff privilege no respected

When I changed the staff privilege, changes are not reflected on the UI. User still can access reports and settings

Socket Authentication Failed on /admin/#!realtime

Already run node server.js on the api directory, but it keeps failing to authenticate.

How do I fix this?

These are the logs:

info  - socket.io started
   debug - client authorized
   info  - handshake authorized P0O4a4j4WCclmfYUl7h8
   debug - setting request GET /socket.io/1/websocket/P0O4a4j4WCclmfYUl7h8
   debug - set heartbeat interval for client P0O4a4j4WCclmfYUl7h8
   debug - client authorized for 
   debug - websocket writing 1::
   debug - websocket writing 5:::{"name":"updates","args":[{"a":"error","data":"Socket authentication failed!"}]}
   info  - booting client
   info  - transport end by forced client disconnection
   debug - websocket writing 0::
   info  - transport end (booted)
   debug - set close timeout for client P0O4a4j4WCclmfYUl7h8
   debug - cleared close timeout for client P0O4a4j4WCclmfYUl7h8
   debug - cleared heartbeat interval for client P0O4a4j4WCclmfYUl7h8
   debug - discarding transport

ADMIN SITE: Loading of customers data in Invoice

The customer data is not loaded when invoice is clicked.

Need to click on customer first then click on invoice, this should not be the case.

I will try and add the code to load customer data when invoice is selected.

working on the issue, on very first load, confirm customer data although loaded when invoices in clicked, but customer dropdown in add invoice, does not populate

API calling is giving errors on demo site..

hi, the API calling for offline mode is given errors on demo site, is this project still maintained as we are trying to support you by merging it with a known ERP System for both benefits...

if the project is not maintained is it ok to take over ?!

Can't create new locations

Hi friends,
I got "insertion of new location failed" when i tried to register new device at the first setup.
Can you help me to solve this?

Syntax error and page not loading after clicking login

Hi Michael,

First of all, thanks a lot for your effort for WallacePos. I'm currently evaluating this.

I'm currently evaluating wallacepos and I have been stuck for a day trying to figure out what is missing. I already follow the guide that you provided for installation but for the first time login at admin page, there is nothing came out. I'm attaching a screenshot of firefox console so that you can take a look at it.

Thanks again

screen shot 2015-10-17 at 08 45 43

Multilingual support / Internationalization

It seems from the test installation's admin console that there is no multilingual support. This was my query. You should probably make that explicit somewhere to save others time.

Context

Friends starting bar in China; need Chinese support on printed receipts (interface not important).

Process

  1. Go to Github, no mention of i18n
  2. Go to website, no mention of i18n
  3. Go to features page, no mention of i18n
  4. Go to questions section, "If you have a good question, suggest it!" This is that suggestion.

Expected result

i18n support explained.

Current result

No mention of i18n.

Possible Fix

Add question to FAQ.

Invoice Logo

When generating invoice logo does not generate.
invoice logo

Installation issue

[Wed Apr 29 21:27:12 2015] [error] [client 192.168.2.238] PHP Parse error: syntax error, unexpected '[' in /usr/share/wallacepos-master/library/wpos/models/DbUpdater.php on line 105

Running ubuntu 12.04 in a VM (but I can run whatever you recommend)

Also, how do I install mod_wstunnel. I installed mod_proxy and that let apache start after adding the lines to /etc/apache2/apache.conf

Thanks!

SQL queries processdt for Graphs are wrong

The Sale Graph on the dashboard and Graph page aren't showing any results. Dug deeper and noticed the date ranges for the Graph page are going from Thu, 01 Sep 2016 04:00:00 GMT (1472702400000) to Sun, 20 Oct 1957 04:24:32 GMT('-384982528) when I was expecting ranges between Sept 13 to Sept 20 2016. The Sale Stats on the Dashboard are updating properly though.

DB query log. Note the processdt ranges

551 Connect systempos@localhost on posdb
551 Query SET time_zone = '+00:00'
550 Query SELECT *, d.id as groupid, d.name as name, SUM(s.total) as stotal, COUNT(s.id) as snum, COALESCE(GROUP_CONCAT(s.ref SEPARATOR ','),'') as refs FROM sales as s LEFT JOIN locations as d ON s.locationid=d.id WHERE (s.processdt>= '1472702400000' AND s.processdt<= '-384982528') AND status!= '3' GROUP BY s.locationid
550 Query SELECT *, d.id as groupid, d.name as name, SUM(s.total) as stotal, COUNT(s.id) as snum, COALESCE(GROUP_CONCAT(s.ref SEPARATOR ','),'') as refs FROM sales as s LEFT JOIN locations as d ON s.locationid=d.id WHERE (s.processdt>= '1472702400000' AND s.processdt<= '-384982528') AND status= '3' GROUP BY s.locationid
551 Query SELECT *, d.id as groupid, d.name as name, SUM(v.amount) as stotal, COUNT(v.id) as snum, GROUP_CONCAT(s.ref SEPARATOR ',') as refs FROM sale_voids as v LEFT JOIN sales as s ON v.saleid=s.id LEFT JOIN locations as d ON v.locationid=d.id WHERE (v.processdt>= '1472702400000' AND v.processdt<= '-384982528') AND v.void= '0' GROUP BY v.locationid
550 Quit

Process

  1. Fresh install
  2. Add some POS sales
  3. Sale Graph on the dashboard and Graph page don't update

Expected result

Expected Sale Graph on the dashboard and Graph page to update with data.

Current result

Sale Graph on the dashboard and Graph page don't update with data.

Possible Fix

Not sure yet still looking into it.

screenshot

n/a

Error installation Warning: file_put_contents

When installing wallapop in step 2 configuration database displays this error: Warning: file_put_contents(/var/www/html/tpv_restaurante//library/wpos/.dbconfig.json): failed to open stream: Permission denied in /var/www/html/tpv_restaurante/installer/index.php on line 159.

Everything looks correct first step

Thanks

Installation problem: SQLSTATE[28000] [1045] Access denied for user 'www-data'@'localhost' (using password: NO)'

I think this is saying it can't access the mysql database. Does the database need a user www-data with no password?

[Thu Apr 30 08:59:22.715398 2015] [:error] [pid 2737] [client 192.168.2.145:53860] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'www-data'@'localhost' (using password: NO)' in /usr/share/wallacepos-master/library/wpos/models/db/DbConfig.php:79\nStack trace:\n#0 /usr/share/wallacepos-master/library/wpos/models/db/DbConfig.php(79): PDO->__construct('mysql:host=loca...', '', '')\n#1 /usr/share/wallacepos-master/library/wpos/models/DbUpdater.php(28): DbConfig->__construct()\n#2 /usr/share/wallacepos-master/library/installer/index.php(33): DbUpdater->DbUpdater()\n#3 {main}\n\nNext exception 'PDOException' with message 'Failed to connect to database.' in /usr/share/wallacepos-master/library/wpos/models/db/DbConfig.php:89\nStack trace:\n#0 /usr/share/wallacepos-master/library/wpos/models/DbUpdater.php(28): DbConfig->__construct()\n#1 /usr/share/wallacepos-master/library/installer/index.php(33): DbUpdater->DbUpdater()\n#2 {main}\n thrown in /usr/share/wallacepos-master/library/wpos/models/db/DbConfig.php on line 89

Using Customers To Implement Table/Buzzer Number For F&B

Would like to make a minor change to assets/js/print.js

So that receipt can also an option to print customer name (which is the table/buzzer number). Will send in a PR for review.

As the customer search on POS is via email, we will also type table number in the email...

From:

        if (invoice){
            // business
            temp_data.payment_instructions = config.invoice.payinst;
            temp_data.logo_url = document.location.protocol+"//"+document.location.host+config.pos.recemaillogo;
            temp_data.business_name = config.general.bizname;
            temp_data.business_address = config.general.bizaddress;
            temp_data.business_suburb = config.general.bizsuburb;
            temp_data.business_state = config.general.bizstate;
            temp_data.business_postcode = config.general.bizpostcode;
            temp_data.business_country = config.general.bizcountry;
            temp_data.business_number = config.general.biznumber;
            // customer
            if (record.custid>0) {
                var customer = WPOS.getCustTable()[record.custid];
                if (customer) {
                    temp_data.customer_name = customer.name;
                    temp_data.customer_address = customer.address;
                    temp_data.customer_suburb = customer.suburb;
                    temp_data.customer_state = customer.state;
                    temp_data.customer_postcode = customer.postcode;
                    temp_data.customer_country = customer.country;
                }
            }
    ....

To:

        // customer
        if (record.custid>0) {
            var customer = WPOS.getCustTable()[record.custid];
            if (customer) {
                temp_data.customer_name = customer.name;
                temp_data.customer_address = customer.address;
                temp_data.customer_suburb = customer.suburb;
                temp_data.customer_state = customer.state;
                temp_data.customer_postcode = customer.postcode;
                temp_data.customer_country = customer.country;
            }
        }
        if (invoice){
            // business
            temp_data.payment_instructions = config.invoice.payinst;
            temp_data.logo_url = document.location.protocol+"//"+document.location.host+config.pos.recemaillogo;
            temp_data.business_name = config.general.bizname;
            temp_data.business_address = config.general.bizaddress;
            temp_data.business_suburb = config.general.bizsuburb;
            temp_data.business_state = config.general.bizstate;
            temp_data.business_postcode = config.general.bizpostcode;
            temp_data.business_country = config.general.bizcountry;
            temp_data.business_number = config.general.biznumber;
    ....

Cant connect to host

Reinstalled mysql, reinitialized.

Try to login as admin/admin and it gives a message box saying it "couldn't connect to host"

no weirdness in the console or network tools. If I try logging in with the wrong password it fails properly, so it is actually getting past the login before failing. :(

There was an error connecting to the server Pop Up

I've checked my mysql settings over and over and am not sure what would cause this issue. I see the login screen for admin and am able to type in credentials, but during "initializing" I get this pop up error.

Update feed could not be connected

Hi micwallace,

Installation went fine. Read through all issues and was able to get it working. All good, thanks...

However, when I login on POS or admin/#!realtime, the browser throws an error "Could not connect to update feed"

IN the logs, I see this request being sent

https:// www.domainname.com /socket.io/1/?t=1452453610089

Browser Console Log: Shows a status of "400: Bad Request" as response. I think its a JSON parse error( as shown in firefox browser console.

If I open the link directly in browser, in return I get "{"code":0,"message":"Transport unknown"}"

Any help appreciated ..

Regards,
Akhil

Initializing blocked android devices

I do not get access wallacepos new version Pos Terminal from Android devices. It freezes in initializing, Updating application... I tried with multiple devices and multiple browsers and same result.
From pc localhost access without problems to Pos Terminal and Admin Dashboard.
It is related to permissions???

Thanks.

Cannot Install on Localhost

I can't seem to get this to work on localhost.

Windows 8.1 with a working XAMPP.
Please help. What am i doing wrong? Please see the attached image.

Thanks.
wallace_installer

"Please Balance The Sale Before Continuing" Error

So I have another error that continues to happen randomly, I get the "please balance the sale before continuing" prompt after trying to process a transactions that is balanced out.

Process > Cash > Complete and the error comes out, any ideas on how to fix this as it becomes a pain when we have clients in line.

screenshot from 2016-04-12 16 31 50

node js : error

root@kss:/var/www/api# nodejs server.js
info - socket.io started
warn - error raised: Error: listen EADDRINUSE
root@kss:/var/www/api#

what hppen ? im unable to see other device conected in realtime menu (admin panel). can u give me a hints ?
thanks for your time

SQLSTATE[42000]: Syntax error or access violation

To acces admin account display this message:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wallacepos.i.name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

It allows changes to the settings but does not add Locations & Devices.

Run new version wallacepos in:
Lubuntu 16.04 LTS
Kernel Linux 4.4.0-21-generic (i686)
Apache/2.4.18 (Ubuntu)
MySQL 5.7.12-0ubuntu1
PHP: 7.0.4-7ubuntu2

Excuse me work that I am generating ;-)
Thanks.

OrangePi Plus 2 + Debian + Wallacepos

Installed Wallacepos in Debian 8.5

Unfortunately not install all SQL tables.

Tax data could not be retrieved: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wallacepos.tax_items' doesn't exist

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wallacepos.sale_items' doesn't exist

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wallacepos.devices' doesn't exist

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wallacepos.stored_categories' doesn't exist

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wallacepos.stock_levels' doesn't exist

Another way to install db sql???

Thanks.

Server Not Found

Hi installed WallacePOS and everything seems installed ok. However when I go to the admin page I get a popup that says "There was an error connecting to the server:
Not Found"
screen shot 2015-09-24 at 2 14 57 pm

I will appreciate your help.

Thanks in Advance!

apache error log warning message

Got everything up and running.

Noticed the following warning in the apache error.log:

[Sat May 02 14:28:52.946893 2015] [proxy:warn] [pid 15457] [client 192.168.2.145:49641] AH01144: No protocol handler was valid for the URL /socket.io/1/. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule., referer: https://pos/

Printing Issue

I continue to have printing issues, I have tried changing all sorts of printer settings on the UI but nothing helps.

Printer: Epson TM-T20II
PC: Windows 7 Professional
Server: Ubuntu Server 14.04 LTS

Google Chrome:
It prints fine if after I select to cancel the print after selecting to print, it leaves a small window with the receipt image & details. If I do a print from that window The receipt prints fine like shown in picture. If I print directly from the print request I get a small cutout as shown in the picture (the last picture at the bottom of the post...), almost as if receipt info is not in place before the actual print job is requested.

** Update ** I was able to take screenshots, and it looks like my suspicion is true, it looks like for chrome the print job is created before any actually data is set to be printed, you can also see that one is printing 1 sheet and the second is printing 2. Check out the images below...

Print receipt with no cancel.
untitled

Print receipt canceled:
untitled2

IE:
I get that long ugly receipt on the picture with no logos

Firefox:
Same Ugly receipt with no logos.

Any idea whats causing this issue?
20160510_124014

Your Install is broken, Wont connect to site once installed.

So after spending a few hours going over your software I was able to get it installed, once installed It can't connect to site?

untitled-5

Then the page gets stuck initializing...
wallacepos

all packages, file permissions are correctly installed and configured, I have checked it over 10 times. I get to the admin login page but this prevents it from even working or accepting posts.

Cannot connect to feed server.

The feed server goes offline automatically and if switched on manually it turns off automatically.

The server config:(Removed SSL didn't want it)

<VirtualHost 10.20.0.2:80>
DocumentRoot /var/www/html/
ServerName 10.20.0.2

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     <Directory /var/www/html>
        AllowOverride all
     </Directory>

     # WSPROXY CONF
     ProxyRequests Off
     ProxyPreserveHost On
     <Proxy 10.20.0.2>
             Order deny,allow
             Allow from all
     </Proxy>
     ProxyPass /socket.io/1/websocket/ ws://localhost:8080/socket.io/1/websocket/
     ProxyPassReverse /socket.io/1/websocket/ ws://localhost:8080/socket.io/1/websocket
     ProxyPass /socket.io/ http://localhost:8080/socket.io/
     ProxyPassReverse /socket.io/ http://localhost:8080/socket.io/
     <Location /socket.io>
             Order allow,deny
             Allow from all
     </Location>
</VirtualHost>

device has removed from the server

im interested with this POS system but i have situation :
pt 1 :
i follow your installation and no error issue , after login as admin and run the feed server the status became online but after i change the setting to my situation and i double check the status feed server became offline what is hppen? i logout admin dashboard and login again it happen again the feed server status became offline. do i have to click start manually over and over ?

pt 2:
when succesfully registered device via admin ( eg : https://ksslite.co.id) and login it says : your device has removed from the server contact your administrator. so i login in the admin dashbord to make sure that i was registered at the unique UUID (see attch) . but i cant see the pos terminal . did i missing something ?
desktop 1_003
desktop 1_002

Sorry my english is not verywell

thanks

Feature request: profit calculation

I'm interested in using this POS, might be adding features to it. Any plan to add a feature for profit calculation?

Feature overview:

  1. each item had a base price
  2. for every sale, the profit is calculated from sale price - base price
  3. The profit will appear in the daily report per item and might be on other reports as needed.

Suggestion: Multiple Tax authorities per location

Ok, not sure what we will actually need, but I think I'll need support for multiple taxing authorities. I.e. state sales tax and municipal sales tax. IMO, there may be places that have federal, state, county, and municipality sales taxes.

sales.data bug if data exceeds 4096 bytes

if the number of items is a lot and causes data field to exceed 4096 bytes, there will be a problem when accessing transactions, javascript will crash.

We need to:

  1. increase the size of the sales.data field

  2. do an error when there is too many items

Will help look into this

Must be logged in as admin

Hey,

by now i solved all the issues i had by myself but after the installer finished i get this error. How may I be able to solve this, any ideas?
bildschirmfoto vom 2016-04-11 17 26 21

Latest Version 2016-04-20 Issue - Linux & Windows

[FIXED]

Missing...

/assets/libs/datatables/datatables.min.js
/assets/js/wpos/eftpos.js
/assets/libs/datatables/datatables.min.css

After putting them in, can proceed, but then log in correctly (if wrong password get access denied)...


Fatal error: Class 'CategoriesModel' not found in /var/www/html/wpos/library/wpos/models/WposPosData.php on line 319

now checking on this...

Taxes Aren't Being Applied To Products.

I've tried altering or creating a new tax rule of 8% and it doesn't apply it to items. If i enter an item for $1.25 it calculates the tax but instead of incrementing to the total it subtracts from the item price so it equals the item price of $1.25

Make It Work On XAMPP

This Issue is to keep track of getting WallacePOS to work on Windows XAMPP.

  1. <doc_root>/wallacepos/installer/index,php

1.a. is_writable(...) does not work well with Windows. Used OS selection & win_is_writable( ... ) from Wordpress to help fix this.

PHP has issues with Windows ACL's for determine if a directory is writable or not, this works around them by checking the ability to open files rather than relying upon PHP to interprate the OS ACL.

However, I run into the problem 1.b. which makes solution to 1.a. pretty much useless.

1.b. RecursiveDirectoryIterator does not seem to work well with windows, breaks after the first .XXXX file (i.e. a file that starts with dot '.').

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.