WebTechKitchen; Your Web Technology Kitchen, contact us to create, or maintain your websites and other digital properties.

What to do if your Drupal site gets attacked by spammers and Black Hat SEO

Submitted by barnettech on Wed, 02/13/2013 - 11:15

So your site is being attacked with lots of spam user registrations and comments, and even nodes, what should you do.

1.)  Install the Mollom module

   -- configure mollum by going to the mollum website http://mollom.com/ and get your free api keys.  You can get a paid account for larger corporate sites.

VIM tip of the day

Submitted by barnettech on Mon, 01/28/2013 - 15:31

to delete or yank (copy) a whole function try this:

If you're on a parentheis, or curly bracket or even a quote sign you can always hit the % sign to go to the closing parentheis, curly bracket or quote sign in vim.  So you can instead do "d%" to delete all in between said quotes, curly brackets, or parenthis or you can do "y%" to yank the lines (copy) and then later go to where you want to paste those yanked lines and hit the "p" key.

Yes finally.  Great for when you're refactoring your code and moving functions around.

Basic Linux Hardware analysis Notes:

Submitted by barnettech on Thu, 01/17/2013 - 15:43

How many php procs are running:  ps -A | grep php-cgi | grep -v grep | wc -l

 

A box with a 1 minute load average of 6.92 should have been below 2 if it had a 2 cpu core.

 

To find how many cpu cores there are:

cat /proc/cpuinfo  (or just type cat /proc/cpuinfo| grep processor| wc -l to get how many cpus)

4 processor core would look like

processor : 0

vendor_id : GenuineIntel

<---SNIP--->

processor : 1

vendor_id : GenuineIntel

<---SNIP--->

processor : 2

vendor_id : GenuineIntel

Make Drupal's l( function just be a false link for javascript pointing to the # (hash) sign

Submitted by barnettech on Thu, 01/10/2013 - 12:29

Make Drupal's l( function just be a false link for javascript pointing to the # (hash) sign

This works and is in production for us:

l(t('Start Chat'), '', array('attributes' =>
        array('title' => array('Start Chat with ' . $row2->full_name)),
          'fragment' => ' ', 'external' => TRUE)) 

Using Kcachegrind to profile your code

Submitted by barnettech on Tue, 01/08/2013 - 10:07

1.)  Install xdebug -- I'm running MAMP so it's already installed and in php.ini I just needed to turn it on here are my settings:

[xdebug]

zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

;xdebug.profiler_output_dir = "/tmp/xdebug/"

;xdebug.profiler_enable = On

xdebug.remote_enable=On

xdebug.remote_host="belldev"

xdebug.remote_port=9000

;xdebug.remote_handler="dbgp"

;xdebug.idekey=ECLIPSE_DBGP

;xdebug.remote_mode=jit

Droogle for Drupal 7 Released Integrating Google Drive and Drupal

Submitted by barnettech on Wed, 05/30/2012 - 15:14

Droogle for Drupal 7 was just released and supports Google Drive features and folder level support. http://drupal.org/project/Droogle Droogle is a project I've authored that is sponsored by Babson College, and integrates Google Drive (formerly Google Docs) with Drupal. There is now both a Drupal 6 and a Drupal 7 version available. Folders are now displayed -- out of the box the css supports up to 5 levels of folders, the php supports infinite levels, and the css could easily extend to support more levels.

JABBER module for drupal is now released

Submitted by barnettech on Tue, 05/29/2012 - 11:07

Jabber integrates Drupal with XMPP (jabber) chat. The module enables it so any username anywhere on the site will turn green, grey or red reflecting their jabber status. The module integrates your roster with Organic Groups, and your regular instant messenger roster list. The module preserves chats, and chat history between your drupal page loads. The readme is below.

Droogle documentation:

Submitted by barnettech on Fri, 05/04/2012 - 10:27

These directions are no longer current but support the versions of Droogle prior to version 7.x-4x.

Make sure to see the readme file in the Droogle files folder but here are some tips: To configure what file types Droogle file upload will accept: http://drupal.org/node/1559764#comment-5955428 Annoyingly I agree you have to edit Droogle/Zend/Gdata/Docs.php and add the filetypes that are allowed for upload. Here is my current list.