Invoice Ninja – Alle Infos auf deutsch!!!

Invoice Ninja – Ihre kostenlose Online-Rechnungs-Anwendung

Was ist Invoice Ninja?

Invoice Ninja ist eine Browseranwendung, womit ihr Rechnungen und Angebote erstellen und bequem per Email versenden könnt. Das funktioniert auch über eine kostenlose Handy-App.

Was kostet Invoice Ninja?

Auf der Webseite von Invoice Ninja gibt es eine kostenlose und eine Abo-Mitgliedschaft. Die kostenlose hat bestimmte Einschränkungen. Die kostenpflichtige kostet aktuel 8 € monatlich und ist ohne Einschränkungen.

Wenn man Invoice Ninja jedoch selbst hosted, kann man sie komplett kostenlos nutzen. Wie ihr diese Version installiert und zum laufen bringt erkläre ich auch in diesem Beitrag.

Wie installiert man Invoice Ninja?

Als erstes erzeugt man eine Subdomaine wie z.B. buchhaltung.wooja.de. Danach lädt man die heruntergeladenen Invoice-Ninja-Zip-Datei in das Verzeichnis hoch. Den Link auf die Invoice Ninja Download-Seite findet Ihr hier.

Sobald die Datei entpackt wurde müssen wir eine Datenbank erstellen. Unter Datenbanken erstellen wir eine neue MySQL-Datenbank.

  1. Datenbank mit dem Namen „ninja“ erstellen.
  2. Datenbankbenutzer mit dem Namen ninja anlegen.
  3. Dem User ninja alle Rechte vergeben.

Ihr könnt das auch über SQL machen, hier der code dazu:

CREATE DATABASE ninja;
CREATE USER 'ninja'@'localhost' IDENTIFIED BY 'ninja';
GRANT ALL PRIVILEGES ON ninja.* TO 'ninja'@'localhost';

Als letztes unter folgendem Verzeichnis die Einstellungen eintragen: http://DeineSubDomäne.DeineDomäne.de/ninja/public.
Wichtig ist der Pfad …/ninja/public. Hier könnt ihr alles zuordnen und eintragen. Nach dem speichern könnt ihr euch über diesen Pfad in das System einloggen.

Wie bekommen ich Invoice Ninja auf mein Handy?

Einfach die App herunterladen und installieren. In unserem Fall müssen wir jedoch auf unser selbstgehostetes Invoice Ninja hinweisen.

Hierfür müssen wir einen API_SECRET = Passwort festlegen (Standardmäßig „Password“) und den API-Code von der .env Datei kopieren. Diese findet ihr im Ninja-Ordner. Diese Datei enthällt das Herzstück der Anwendung. Einfach anpassen so wie Ihr wollt.

Danach braucht ihr nur noch die App starten und die entsprechenden Daten eintragen.

Viel spass beim Rechnungen schreiben.

HTML-Sitemaps erstellen – Ganz einfach

So könnte Ihr ganz easy HTML-Sitemaps erstellen

Sitemap-Generator anwenden

auf www.xml-sitemaps.com könnte Ihr kostenlos eine HTML-Sitemap erzeugen. Der Einzige Haken ist, dass bis zu 500 Seiten indexiert werden können. Für noch mehr Seiten müsste man die Pro-Version kaufen. Aber nur für die meisten Anwender sollten 500 Seiten fürs erste genügen.

XML- oder HTML-Datei herunterladen

Nach dem der Generator die Sitemap erzeugt hat, könnt ihr diese sowohl als XML und als HTML-Datei herunterladen. Mit einem Editor kann man sie hinterher auch bearbeiten.

HTML-Sitemap in Webseite integrieren

Die Integration kann über einen Link auf der Startseite erfolgen.

WordPress – Mit PHP Felder abspeichern

Möchtet ihr selbst definierte Felder wenn möglich auch in einer selbsterstellten Tabelle abspeichern und wieder aufrufen? Darüber geht es in diesem Beitrag.

Zielfelder kennen
Zuerst müssen wir bevor wir eine Datenbankabfrage ausführen folgendes wissen:
1) Meine Zugriffsdaten
2) Die Namen der Tabelle und der Felder

Zugriffsdaten

Diese bekommen wir am schnellsten über die wp-config.php Datei heraus, welche auf unserem Server gespeichert ist. Findet heraus wo WordPress installiert wurde und stöbert nach dieser Datei.

Wenn Ihr es gefunden habt öffnet es mit einem Editor und schreibt euch alle wichtigen Informationen wie Datenbankname-, Pfad, Benutzername und Passwort heraus.

Tabelle und Felder
Über unseren Hoster bzw auf unserem Server haben wir die Möglichkeit unsere Datenbank uns näher anzuschauen. Hierfür öffnen wir die Datenbank mit phpmyadmin.

Hier können wir einer bereits bestehenden Tabelle weitere Felder hinzufügen.

Alternativ ist es auch möglich eine komplett neue Tabelle zu erzeugen.

So oder so, wir kennen nun den Namen unserer Zieltabelle und die Namen unsere Zielfelder.

 

PHP-Plugin

Um PHP-Codes auszuführen benötigen wir eine WordPress-Erweiterrung (Plugin)

Wir empfehlen Plugins wie „Allow PHP Execute“, „Exec-PHP“ oder „Custom css-js-php“ .

 

PHP-CODE

– Daten abzuspeichern:
<?php
// server,user,pwd
$con = mysql_connect(‚DeinDatenbankPfad‚, ‚DeinDBBenutzerName‚,‘DeinDBPasswort‚);
if (!$con)
{ die(‚Could not connect: ‚ . mysql_error()); echo „works not“; }

else
{
echo „works<br><br>“;
mysql_select_db(„DeinDatenbankName„, $con);

strSQL = „INSERT INTO DeinTabellenName („;

strSQL = strSQL . „profil_zeit“;
strSQL = strSQL . „profil_name“;
strSQL = strSQL . „profil_werdegang,“;
strSQL = strSQL . „profil_bereiche) „;

strSQL = strSQL . „VALUES („;

strSQL = strSQL . $_POST[‚profil_zeit‘];
strSQL = strSQL . „, “ .$_POST[‚profil_name‘];
strSQL = strSQL . „, “ .$_POST[‚profil_werdegang‘];
strSQL = strSQL . „, “ .$_POST[‚profil_bereiche‘]. „)“;

mysql_query($strSQL) or die(mysql_error());

mysql_close($con);
?>

 

– Daten auslesen:
<?php
// server,user,pwd
$con = mysql_connect(‚DeinDatenbankPfad‚, ‚DeinDBBenutzerName‚, ‚DeinDBPasswort‚);
if (!$con)
{ die(‚Could not connect: ‚ . mysql_error()); }
else
{

mysql_select_db(„DeinDatenbankName„, $con);
$result = mysql_query(„SELECT * FROM DeinTabellenName„);
while($row = mysql_fetch_array($result))
{ echo „<form method=’post‘ action=’/profil_save.php>'“; echo „<label for=’lblZeit‘>Nächste Verfügbarkeit:  </label>“.“<b/><b/>“;
echo „<input type=’text‘ size=’50‘ maxlength=’100′ name=’txtZeit‘ value='“ . $row[‚profil_zeit‘]. „‚> „;
echo „</form>“; }

mysql_close($con);
}

?>

Erläuterung

Die farbigen Felder gilt es mit den eigenen Tabelleninformationen zu ersätzten.

Daten werden ausgelesen und angezeigt. Für das speichern wird eine eigene Seite mit einem Formular erstellt. der SQL-String wird in der Variable strSQL zusammengesetzt. Beim anklicken auf „Speichern“ wird der Code zum abspeichern bzw. zum aktualisieren ausgeführt. Dies ist eine grobe Vorlage wovon ihr euch inspirieren lassen könnt.

Eingabefeld

WordPress – Zugriffsrechte für Benutzer vergeben

WordPress erlaubt es Benutzer anzulegen und Ihnen (Rechte)-Rollen zuzuordnen. Doch leider sind diese Rollen nicht weiter einschränkbar.

Benutzerrollen bei WordPress

Administrator = Administrator
– Volle Rechte

Editor = Redakteur
– Schreiben und veröffentlichen von Seiten und Beiträgen

Author = Autor
– Artikel schreiben und veröffentlichen (Keine Seiten)

Contributor = Mitarbeiter
Beiträge schreiben jedoch nicht ohne Genehmigung veröffentlichen (Keine Seiten)

Subscriber = Abonnent bzw. Registrierter Benutzer
Nur Leserechte

Weitere Zugriffsrechte vergeben

Um den Benutzern weitere bzw. spezifische Einschränkungen zuzuweisen helfen Plugins (z.B. Adminimized)

Hier ein Tutorial

WP Firefox Header-Probleme

wp-firefox-fehler
Folgendes Phänomen ist aufgetaucht: Das Headerbild wird ausser bei Firefox bei allen Browsern richtig angezeigt. Sogar bei der mobilen Version von Firefox besteht dieses Problem nicht.

wp-firefox2

 

Die benötigte Breite ermitteln

Eine Möglichkeit dieses Problem zu lösen ist es, die Grafik in die exakte Größe zu formatieren. Dazu müssen wir zuerst die genaue Pixelgröße kennen. Firefox ermöglicht eine besondere Ansicht einer Webseite. Unter Entwickler-Werkzeuge wählen wir uns die Web-Konsole aus.

Wenn wir den Inspektor auswählen können wir mit der Maus auf die gewünschten Elemente klicken, und wir bekommen über sie mehr Informationen (z.B. Pixelgröße, CSS-Infos, Knoten, Stelle im Quellcode…). Der HTML-Bereich zeigt das HTML der Webseite als Baum mit zusammenklappbaren Knoten. Spätestens jetzt, sobald wir den bestimmten „DIV#CONTAINER…“ bzw. Bereich anklicken, bekommen wir die gewünschte Pixelgröße unseres Header-Containers angezeigt (Siehe Bild)

wp-firefox-console

Sobald wir die benötigt Pixelgröße kennen, müssen wir nur noch unsere Headergrafik (Foto) formatieren. Sobald unsere Grafikbreite exakt der Breite des Headerbereiches entspricht, wird Firefox gezwungenermaßen den Headerbereich sauber anzeigen.

wp-firefox-fehler-behoben