Kategorien
OffTopic

wir sind die guten!

vielen dank an McAffee für den Test ;)

siteadvisor.com

Kategorien
Doctrine ORM MySQL PHP

doctrine create and drop table on the fly by orm

um in doctrine erst in der app tables anzulegen oder auch zu droppen kannst du ein yaml schema

MyTestOrm:
  tableName: my_test_table
  columns:
    id:
      type: integer(8)
      primary: true
      autoincrement: true
      unsigned: true
    title:
      type: string(255)
      notnull: true
    created_at:
      type: timestamp
      notnull: true
  indexes:
    id:
      fields: [id]
    title:
      fields: [title]

anlegen und die orms daraus generieren.
dann kannst du in deiner app die table für die orm anlegen

Doctrine::createTablesFromArray(
    array(
        'MyTestOrm'
    )
);

bzw. auch wieder droppen

$table = Doctrine_Core::getTable('MyTestOrm');
$export = new Doctrine_Export();
$export->dropTable($table->getTableName());
Kategorien
Layout & Styles OffTopic

webpiraten in neuem gewand

…und gleich was gelernt.
photoshop ist für die dateigrössen reduktion von .png dateien ungeeignet.
wer also fireworks sein eigen nennt, kann relativ unkompliziert bei den export eigenschaften
ein PNG8 mit alpha schatten erzeugen, welches nur die hälfte der grösse beansprucht wie ein PNG24.

hier das ergebnis:

Kategorien
Linux Shell VIM

ubuntu bluetooth bei start deaktivieren

um unter ubuntu die bluetooth funktionen permanent (bei system start) auszuschalten,
öffne die datei /etc/rc.local

sudoedit /etc/rc.local

und editiere die datei mit folgendem:

rfkill block bluetooth

so das die datei etwa so aussieht:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

rfkill block bluetooth

exit 0

bluetooth kann natürlich jederzeit über die settings wieder aktiviert werden.

Kategorien
ANT Apache Deployment Linux MySQL Server Shell XML

ant task – mysqldump mit gzip

um mit ant einen gezipten mysqldump zu erstellen, gehe wie folgt vor

    <target name="tstamp" description="create timestamp for further usage">
        <echo message="create timestamp for further usage"/>
        <tstamp/>
    </target>

    <target name="mkdir" description="create backup directory">
        <echo message="create backup directory"/>
        <mkdir dir="${backups}"/>
    </target>

    <target name="dump" description="create db dump and gzip it - depends on tstamp, mkdir" depends="tstamp, mkdir">
        <echo message="create db dump and gzip it"/>
        <exec executable="bash" dir="${backups}">
            <arg value="-c"/>
            <arg line='"mysqldump ${db} -u${db_user} -p${db_pass} | gzip > ${backups}/${db}_${DSTAMP}_${TSTAMP}.sql.gz"'/>
        </exec>
    </target>
Kategorien
Apache Lighttpd Linux Server

mit jhead image metadaten manipulieren

nach einigen erfolglosen manipulationsversuchen von exif und iptc daten in images, kam jhead. damit ist es möglich, photoshop und windows metadaten in images zu löschen und eigene, echte metadaten in das image zu schreiben.

sentex.net/~mwandel/jhead/

einfach die bin an geeignete stelle kopieren, ausführbar machen und bspw. mit php verwenden:

exec('/usr/bin/jhead -purejpg source.jpg target.jpg');
Kategorien
Agavi Frameworks Javascript PHP

agavi output type overwrite in action

um den output type einer agavi action auch nach dem routing zu ändern, kann man innerhalb der action den output type überschreiben.


/**
 * assume that 'html' is the standard GET output for this action
 * when this action is called via POST you want to change the output type to 'json'
 * because on error or success you want to show small messages per json instead full html
 */
    public function executeRead(AgaviRequestDataHolder $rd)
    {
        return 'Input';
    }

    public function executeWrite(AgaviRequestDataHolder $rd)
    {
        $this->getContainer()->setOutputType($this->getContext()->getController()->getOutputType('json'));
        try
        {
            // do POST stuff
        }
        catch(Exception $e)
        {
            $this->setAttribute('message', $e->getMessage());
            return 'Error';
        }
        return 'Success';
    }
Kategorien
Deployment Linux MySQL Server Shell

mysqldump ohne definer

um hostunabhängige mysql dumps zu erzeugen, muss man die definer aus dem jeweiligen dump entfernen.
mit sed kann man das gleich beim erzeugen des dumps:

mysqldump database -ufoo -pbar -hlocalhost | sed "s/\/\*[^\/]*DEFINER.*\*\///g" > dump_without_definer.sql
Kategorien
Debugging Deployment Linux Server Shell SVN Versionierung

mit find, grep und xargs dateien rekursiv aus svn working copies löschen

Findet alle Dateien die mit ._ anfangen, ignoriert die .svn eigenen kopien und markiert diese zum löschen via svn.

find . -name '._*' -type f | grep -v '.svn/'  | xargs svn rm
Kategorien
Frameworks GIT Kohana PHP Versionierung

kohana modules – nützliche module für den täglichen gebrauch

unter dieser url findet ihr nützliche kohana module, die euch jede menge arbeit abnehmen können.

http://kohana-modules.com