der-webentwickler.netMit jQuery eine CSS Klasse einem Objekt hinzufügen / entfernen (30.7.2010, 10:38 UTC)

Dynamisch einem Objekt eine CSS Klasse - class="klasse" mit jQuery hinzufügen oder entfernen.

$("#objekt").addClass("klasse");  // hinzufügen
$("#objekt").removeClass("klasse");  // entfernen
$("#objekt").toggleClass("klasse");  // je nach dem ob vorhanden wird hinzugefügt oder entfernt
Link
Software-Entwickler BlogAchtung: Newsletter-Problem (30.7.2010, 08:54 UTC)

Quizfrage: Wie speichere ich folgendes, zugegebenermaßen sehr komplexe und nicht grad oft vorkommende Szenario in einer MySQL-Datenbank ab:

Es soll gespeichert werden, ob ein Nutzer zustimmt, einen Newsletter zu bekommen oder nicht

Ja, ich weiß, realitätsfern und Spezialanwendung, akademischer Aspekt und und und. Schon klar, aber als Denksportaufgabe für angehende Doktoren in Theopraktischer-Quanteninformatik bestimmt ein netter Tagesfüller.

Ein möglicher Ansatz - nochmal: wir reden hier über wirklich experimentelle Ansätze, die noch nie ein Mensch zuvor ... usw, also weiter - also ein möglich Ansatz wäre folgender:

Man benutze ein Feld vom Typ varchar. Varchar, weil man nie weiß, ob sich evtl. mal die Anforderung ändern könnte. Stichwort hierbei: Skalierbarkeit! Denn wie schnell ändert sich so eine Anforderung und sollte man dann den falschen Datentypen ausgewählt haben (weil man natürlich mal wieder mit primitiven Ansätzen fern jeder akademischen Laufbahn daran gegangen ist und dachte, man könnte als Laie ein derart komplexes System auch nur im Ansatz verstehen), dann, ja dann dampft die Kacke! Also, varchar.

Und auch die Größe des varchar soll und muss disktutiert werden. Ein sicherlich guter Ansatz wäre, das Feld auf 255 Zeichen zu begrenzen - im Spezialfall kann das natürlich noch nach oben korrigiert werden, was aber wieder zu lasten der Konfiguration der Seitlichen Ausrichtung gehen kann und wird und nicht sollte.

Den Verschiedenen Zuständen geben wir die folgenden Namen: 'active' beschreibt den Zustand des "wollenden Empfängers" (genaue Definition erfolgt in einer Subklasse) und 'inactive' den des dazu konträhren Zustandes. Für alle anderen wählen wir '' als den wohlbekannten Universaloperator auf der Menge der möglichen Zustände über "Ja" und "Nein" (präziser wäre ein oder, was aber im allgemeinen Sprachgebrauch eher verwirrt war und nicht mehr an seinen Platz fand. Das und war so nett und sprang kurzfristig ein.).

Wie man nun sieht, kann man selbst komplexe Vorgänge be- und verarbeiten, wenn man nur ruhig und logisch an die Sache heran geht und die Aufgaben in kleinen Abschnitten betrachtet (ist auch viel einfacher, eine Lupe zu benutzen anstelle eines Verkleinerungsglasses.).

Der Vollständigkeit halber sei noch folgender Zwischenruf erwähnt, der einen Eklat innerhalb des Beratungsgremiums hervorrief, als ein hochnäsig-arronanter Programmierer in geistiger Verwirrung den Satz ausrief:

Man benutzt ein (tiny)int-Feld und 0 und 1 zum speichern der Zustände Nein und Ja!

Unvorstellbar, wie dumm doch manche sind...

Link
PHP Usergroup MunichEin vorgestellter Link (30.7.2010, 08:04 UTC)

Ich habe die t3n Ausgabe 06-08/2010 gelesen und bin auf folgendes Blog-Highlight (S.6) aufmerksam geworden:

Nettuts+ zielt auf Webentwickler und Designer als Leserschaft ab und bietet diesen auf Englisch eine breite Palette an Tutorials und Artikeln zu Technologien und Techniken für ein besseres Design von Websites. Die Blogeinträge drehen sich dabei um HTML, CSS, JavaScript, CMS, PHP und Ruby on Rails. Zusätzlich zu dem umfangreichen kostenlosen Angebot existiert auch ein kostenpflichtiger Premiumbereich.

Ich hatte überlesen, dass die genannte Webseite auf Englisch ist. Insofern habe ich mich gefragt, ob ich darüber einen deutschen Blogeintrag schreiben soll. Aber naja... Die meisten hier sind wohl der englischen Fachsprache mächtig.

Zuerst sind mir gewisse Parallelen zu der deutschsprachigen Webseite Dr. Web Magazin aufgefallen. Beide Webseiten richten sich an Webentwickler und Webdesigner. Bei beiden Webseiten gibt es einen kostenpflichtigen Premiumbereich. Beide Webseiten sind ungefähr gleich in ihre Sachbereiche und Werbebereiche untergliedert.


"Ein vorgestellter Link" vollständig lesen
Link
PHP-Friends Blog » PHPVorstellung: cFTP (clients-oriented-ftp) (30.7.2010, 00:22 UTC)

Hallo liebe Blogleser!

Heute wollte ich euch mal eine interessante Websoftware namens “cFTP” (clients-oriented-ftp) vorstellen.

cFTP allows you to create clients accounts with a very easy to use front end. Then you can upload as much files as you want under each account, with the ability to add a title and description to each one.[...]

Ich habe das Tool mal angetestet. Viel Spaß beim Lesen!

cFTP erlaubt es uns, Benutzer zu erstellen, die über ein einfaches Frontend Dateien (mit Titel und Beschreibung) uploaden und diese dann der ganzen Welt zur Verfügung stellen können. Das klingt ja erstmal gar nicht so schlecht. Die Vorteile oder auch Features von cFTP werden uns auf der Entwicklerseite genannt.

Some of the features of cFTP:

  • Really simple and attractive design. Ease of use for both users and clients!
  • Comes with an installer, much like the WordPress one.
  • User roles (Administrator. Account Manager, Uploader)
  • Sortable full lists of files, users and clients
  • Options for localization (you can select your timezone and date format). This is refllected inmediatly on every list.
  • On the listings, picture files not only have the mandatory download link, but also a thumbnail for easy recognition.
  • Options and logo selection pages. Your company logo is seen on the clients lists.
  • Can be translated easily (all texts strings are located on a specific file)

Das benutzerbasierte Uploadscript besitzt also ein “simple and attractive” Design, kann Thumbnails bei Bilderuploads erstellen und leicht in alle Sprachen übersetzt werden etc. Ferner sollte man noch erwähnen, dass dieses Script Ajax verwendet und benötigt. Aufgrund all dieser Funktionen haben wir cFTP mal installiert und geschaut was es so alles hergibt:

Installation: Die Installation ist vollkommen unproblematisch. In der beiliegenden readme.txt sind alle notwendigen Installationsschritte aufgeführt, und wenn man sich daran hält, kann eigentlich nichts schief gehen! ;)

Design und Aufbau: Das Design ist – wie es schon in der Beschreibung steht – schlicht und übersichtlich und meiner Meinung nach auch sehr schön. :) Der Aufbau ist weder überladen, noch findet man sich schwer zurecht. Nachdem man einen “Client” angelegt hat, kann das Uploaden auch schon beginnen. Manchmal wird man auch von kleinen (durch Ajax generierte) Fenstern beglückt.

Der Code: Ich habe nur mal schnell in den Code geguckt – Code und Style werden offenbar nicht strikt getrennt. Außerdem wird auf Obektorientierte Programmierung beinahe komplett verzichtet. Die einzige Ausnahme scheint das Datenbankobjekt zu sein.

Anwendung: Über den Standardbenutzer (admin) kann man nun entweder einen “Client” (Uploadberechtigung) oder einen “User” (entweder Admin, Account Manger oder Uploaderberechtigung) erstellen. Man stellt fest, dass man einem Client mehr Zusatzinformationen geben kann, als einem User. Nachdem man einen Account hat, der uploadfähig ist, kann direkt der erste Testupload durchgeführt werden. Datei auswählen, Titel und Beschreibung eingeben – und hochladen! Fertig. Danach wird man zu einer Liste mit allen hochgeladenen Dateien des Benutzers weitergeleitet. Unter anderem bekommt man dort Thumbnails für Bilder und die restlichen Zusatzinformationen angezeigt.

Fazit: cFTP ist ein sehr interessantes Script und für bestimmte Anwendungsbereiche (z.B. wenn man den Zugriff von Uploadern beschränken möchte) mit Sicherheit hilfreich. Nachteile sind sicherlich, dass so genannte Multiuploads nicht unterstützt werden und ich keine Begrenzung des Uploadlimits finden konnte. Dies ließe sich notfalls (wenn auch unschön) per php.ini regeln. Dennoch sollte man cFTP auf jeden Fall mal ausprobiert haben!

Screenshots gibt es übrigens hier.

Link
A typical Developer BlogWie nutze ich die Rechteverwaltung in symfony admin generator formularen? (29.7.2010, 14:25 UTC)

Wenn du bestimmt Felder oder Feldgruppen entfernen möchtest, wenn ein Benutzer nicht die dafür erforderlichen Rechte besitzt, musst du folgendes tun:

1. öffne deine action Klasse und füge folgendes ein:

public function preExecute()
{
  parent::preExecute();
 
  $this->configuration->setUser($this->getUser());
}

2. öffne die *GeneratorConfiguration Klasse und füge folgendes ein:

protected $user;
 
public function setUser($user)
{
  $this->user = $user;
}
 
public function getUser()
{
  return $this->user;
}
 
public function getEditDisplay()
{
  $fieldsets = parent::getEditDisplay();
  if (!$this->getUser()->hasCredential('admin'))
  {
    unset(
      $fieldsets['Auth'][2], // field
      $fieldsets['Rights']   // field group
    );
  }
 
  return 

Artikel gek: Lesen Sie den Rest hier (weitere 3659 Bytes)

Link
ragtekDie Katze ist aus dem Sack => XenForo (29.7.2010, 06:06 UTC)
Die Gerüchteküche rund um Kier und ein neues Forensystem hat sehr lange gebrodelt. TADAAAAAAAAA => http://xenforo.com/community Mehr kann ich dazu noch nicht sagen:D


Link
ebene7 » PHPCSV-Datei sortieren ganz einfach (28.7.2010, 18:15 UTC)
Heute hatte ich im Büro ein lustiges Gespräch darüber, wie einfach es ist eine CSV-Datei alphabetisch zu sortieren und dass das passende Script als inline (also alles in einer Zeile) in unter zehn Minuten geschrieben ist. Zeitlich war das wie erwartet locker drin, nur leider klappte das mit dem Inline aufgrund der Funktion sort() nicht, da [...]
Link
ragtekNeues vBCMS Widget: Adsense Widget (27.7.2010, 19:39 UTC)
Durch einen Thread auf vbg.com bin ich auf eine neue Widget Idee gekommen. (Ich kann es einfach nicht lassen Ich weiß, ich hab mich hier schon offiziell von vB4 verabschiedet^^ Dabei handelt es sich um ein Widget für Werbung Momentan überlege ich noch, wie ich das mit den Benutzerrechten mache. Möglichkeiten: Nur für Gäste einblenden Benutzergruppen ID’s eingeben [...]


Link
PhpmonkeysDie Modifiers in PHP – Teil 2 (27.7.2010, 11:11 UTC)

Im letzten Beitrag habe ich den public Modifier betrachtet und als Fazit aus dem Beispiel den private Modifier gefordert. Und um genau diesen geht es heute.

Der private-Modifier ist genau das Gegenteil von public. Programmiert man eine Klasse mit private Modifiern, so kann weder von außen noch von einer abgeleiteten Klasse auf diese Elemente zugegriffen werden. Sie sind eben privat. Das einfachste Beispiele sind Attribute, die man nur durch einen validierten Zugriff verfügbar machen möchte. Diese sind an sich private und der Entwickler bietet bspw. public Getter und Setter an. Auch kann man private Methoden nutzen, um das divide and conquer Prinzip in einer Klasse zu forcieren. So werden Teilalgorithmen in diese private Methoden ausgelagert.

Diese Methoden können nur von der eigenen Klasse genutzt werden und sind sowohl gegen den Zugriff von außen, als auch durch eine abgeleitete Klasse geschützt.

Nun gibt es gelgentlich das Problem, dass man bestimmte Variablen und Methoden in einer Klasse definiert und diese in einer abgeleiteten Klasse nutzen möchte, aber auch nur in dieser Klasse. Diese Methoden sollen nicht allgemein zugänglich sein. Hierfür gibt es den protected Modifier. Dieser stellt genau diese Funktionalität zu Verfügung.

Nun fehlen noch die final- und abstract-Modifier. Diese werden im nächsten Teil der Reihe beschrieben.

Link
PHPUG WürzburgEinladung zum Juli-Treffen (25.7.2010, 16:47 UTC)

Hallo alle zusammen!

Wir treffen uns am Dienstag, den 27. Juli um 19 Uhr im

Timeout
Frankfurter Straße 1
in Würzburg.

Parken kann man entweder vor der Tür oder auf der Talavera.

Ich freue mich auf viele Teilnehmer und rege Diskussionen.

Grüße
Jason

Link
LinksRSS 0.92   RDF 1.
RSS 2.0 Feed   RDF 1.
100% Planet PHP   PHP5 powered
PEAR powered  
Code wird von Planet-PHP zur Verfügung gestellt. Vielen Dank.