Я поясню этот коммент, дабы было понятно для новичков.
Про модуль Flag и .info файл уже сказали ниже, разберём другие моменты.
1. Шаблоны предназначены для формирования конечного HTML. Логики в них быть не должно. В вашем случае необходимо написать handler для views, который бы формировал (на основе прав доступа) нужные голоса и ссылки.
2. Проверка на зарегенного пользователя: if ($user->uid != 0) это негибко, используйте hook_permission и проверяйте права через user_access, это позволит управлять функционалом на уровне прав пользователя, что гораздо удобнее.
3. Изучите Ajax framework, который позволит не городит велосипедов из JavaScript. В вашем случае можно было обойтись вообще без JS с таким же объёмом php-кода.
Посмотрите модуль examples — там собрано множество примеров, которые могут пригодится в жизни )
1. views-view-field--items--page--nid.tpl.php — в шаблонах нельзя делать запросы в БД, в Друпал 8 специально будет другой шаблонизатор, что бы такого не было
2. version = 7.x-1.0 эту строку писать не нужно в кастомном модуле и версию РНР не нужно указывать если у вас нет явных расположенностей именно к версии
3. Аякс функция возвращает не print(1)
4. Проверьте код модулем Coder
Drupal 7. Модуль подписок своими руками