Skip to content

Commit

Permalink
upgraded to v3
Browse files Browse the repository at this point in the history
  • Loading branch information
mkwsra committed Apr 4, 2020
1 parent 201b4fb commit 2e2ca23
Show file tree
Hide file tree
Showing 25 changed files with 113 additions and 86 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
## v3.0.0
* changed the package company - since I renamed my brand

## v2.0.0
* PHP 7.1 is the minimum requirement now
* Supporting Laravel 5.8 by replacing `Event::fire` with `Event::dispatch`
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2016 Mohamed Kawsara - Liliom <info@liliomlab.com>
Copyright (c) 2020 Mohamed Kawsara - Multicaret <info@multicaret.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
94 changes: 59 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,37 @@
<p align="center"><img src="https://cdn.liliomlab.com/packages/assets/img/laravel-acquaintances.svg"></p>
<p align="center"><img src="https://cdn.multicaret.com/packages/assets/img/laravel-acquaintances.svg"></p>

# Laravel 5 Acquaintances
# Laravel 7 Acquaintances

<p align="center">
<a href="https://packagist.org/packages/liliom/laravel-acquaintances"><img src="https://poser.pugx.org/liliom/laravel-acquaintances/d/total.svg" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/liliom/laravel-acquaintances"><img src="https://poser.pugx.org/liliom/laravel-acquaintances/v/stable.svg" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/liliom/laravel-acquaintances"><img src="https://poser.pugx.org/liliom/laravel-acquaintances/license.svg" alt="License"></a>
<a href="https://packagist.org/packages/multicaret/laravel-acquaintances"><img src="https://poser.pugx.org/multicaret/laravel-acquaintances/d/total.svg" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/multicaret/laravel-acquaintances"><img src="https://poser.pugx.org/multicaret/laravel-acquaintances/v/stable.svg" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/multicaret/laravel-acquaintances"><img src="https://poser.pugx.org/multicaret/laravel-acquaintances/license.svg" alt="License"></a>
</p>


## TL;DR

Gives eloquent models:
- Friendships & Groups ability
- Interactions ability such as:
- Likes
- Favorites
- Votes (up/down)
- Subscribe
- Follow

Take this example:
```php
$user1 = User::find(1);
$user2 = User::find(2);

$user1->befriend($user2);
$user2->acceptFriendRequest($user1);

// $user2: I just found out that $user1 is not into Laravel, thus:
$user2->unfriend($user1);

```
1. [Introduction](#introduction)
1. [Installation](#installation)
2. [Friendships:](#friendships)
Expand Down Expand Up @@ -53,7 +77,7 @@ You can easily design your social-like System (Facebook, Twitter, Foursquare...e
First, install the package through Composer.

```sh
$ composer require liliom/laravel-acquaintances
$ composer require multicaret/laravel-acquaintances
```
Laravel 5.8 => version 2.x (branch master)

Expand All @@ -67,14 +91,14 @@ Then include the service provider inside `config/app.php`.
```php
'providers' => [
...
Liliom\Acquaintances\AcquaintancesServiceProvider::class,
Multicaret\Acquaintances\AcquaintancesServiceProvider::class,
...
];
```

Publish config and migrations:
```sh
$ php artisan vendor:publish --provider="Liliom\Acquaintances\AcquaintancesServiceProvider"
$ php artisan vendor:publish --provider="Multicaret\Acquaintances\AcquaintancesServiceProvider"
```

Configure the published config in:
Expand All @@ -92,10 +116,10 @@ $ php artisan migrate

Example:
```php
use Liliom\Acquaintances\Traits\CanBeFollowed;
use Liliom\Acquaintances\Traits\CanFollow;
use Liliom\Acquaintances\Traits\CanLike;
use Liliom\Acquaintances\Traits\Friendable;
use Multicaret\Acquaintances\Traits\CanBeFollowed;
use Multicaret\Acquaintances\Traits\CanFollow;
use Multicaret\Acquaintances\Traits\CanLike;
use Multicaret\Acquaintances\Traits\Friendable;
//...

class User extends Model
Expand All @@ -116,7 +140,7 @@ All available APIs are listed below for Friendships & Interactions.
Add `Friendable` Trait to User model.

```php
use Liliom\Acquaintances\Traits\Friendable;
use Multicaret\Acquaintances\Traits\Friendable;

class User extends Model
{
Expand Down Expand Up @@ -325,11 +349,11 @@ $user->getPendingFriendships($group_name);
Add `CanXXX` Traits to User model.

```php
use Liliom\Acquaintances\Traits\CanFollow;
use Liliom\Acquaintances\Traits\CanLike;
use Liliom\Acquaintances\Traits\CanFavorite;
use Liliom\Acquaintances\Traits\CanSubscribe;
use Liliom\Acquaintances\Traits\CanVote;
use Multicaret\Acquaintances\Traits\CanFollow;
use Multicaret\Acquaintances\Traits\CanLike;
use Multicaret\Acquaintances\Traits\CanFavorite;
use Multicaret\Acquaintances\Traits\CanSubscribe;
use Multicaret\Acquaintances\Traits\CanVote;

class User extends Model
{
Expand All @@ -340,10 +364,10 @@ class User extends Model
Add `CanBeXXX` Trait to target model, such as 'Post' or 'Book' ...:

```php
use Liliom\Acquaintances\Traits\CanBeLiked;
use Liliom\Acquaintances\Traits\CanBeFavorited;
use Liliom\Acquaintances\Traits\CanBeVoted;
use Liliom\Acquaintances\Traits\CanBeRated;
use Multicaret\Acquaintances\Traits\CanBeLiked;
use Multicaret\Acquaintances\Traits\CanBeFavorited;
use Multicaret\Acquaintances\Traits\CanBeVoted;
use Multicaret\Acquaintances\Traits\CanBeRated;

class Post extends Model
{
Expand All @@ -355,7 +379,7 @@ All available APIs are listed below.

### Follow

#### `\Liliom\Acquaintances\Traits\CanFollow`
#### `\Multicaret\Acquaintances\Traits\CanFollow`

```php
$user->follow($targets)
Expand All @@ -366,7 +390,7 @@ $user->followings(App\Post::class)->get()
$user->isFollowing($target)
```

#### `\Liliom\Acquaintances\Traits\CanBeFollowed`
#### `\Multicaret\Acquaintances\Traits\CanBeFollowed`

```php
$object->followers()->get()
Expand All @@ -377,7 +401,7 @@ $object->followersCountReadable() // return readable number with precision, i.e:

### Rate

#### `\Liliom\Acquaintances\Traits\CanRate`
#### `\Multicaret\Acquaintances\Traits\CanRate`

```php
$user->rate($targets)
Expand All @@ -388,7 +412,7 @@ $user->rateings(App\Post::class)->get()
$user->hasRated($target)
```

#### `\Liliom\Acquaintances\Traits\CanBeRated`
#### `\Multicaret\Acquaintances\Traits\CanBeRated`

```php
$object->raters()->get()
Expand All @@ -404,7 +428,7 @@ $object->ratingPercent($max = 5) // calculating the percentage based on the pass

### Like

#### `\Liliom\Acquaintances\Traits\CanLike`
#### `\Multicaret\Acquaintances\Traits\CanLike`

```php
$user->like($targets)
Expand All @@ -415,7 +439,7 @@ $user->likes()->get() // default object: App\User:class
$user->likes(App\Post::class)->get()
```

#### `\Liliom\Acquaintances\Traits\CanBeLiked`
#### `\Multicaret\Acquaintances\Traits\CanBeLiked`

```php
$object->likers()->get() //
Expand All @@ -427,7 +451,7 @@ $object->likersCountReadable() // return readable number with precision, i.e: 5.

### Favorite

#### `\Liliom\Acquaintances\Traits\CanFavorite`
#### `\Multicaret\Acquaintances\Traits\CanFavorite`

```php
$user->favorite($targets)
Expand All @@ -438,7 +462,7 @@ $user->favorites()->get() // App\User:class
$user->favorites(App\Post::class)->get()
```

#### `\Liliom\Acquaintances\Traits\CanBeFavorited`
#### `\Multicaret\Acquaintances\Traits\CanBeFavorited`

```php
$object->favoriters()->get() // or $object->favoriters
Expand All @@ -449,7 +473,7 @@ $object->favoritersCountReadable() // return readable number with precision, i.e

### Subscribe

#### `\Liliom\Acquaintances\Traits\CanSubscribe`
#### `\Multicaret\Acquaintances\Traits\CanSubscribe`

```php
$user->subscribe($targets)
Expand All @@ -460,7 +484,7 @@ $user->subscriptions()->get() // default object: App\User:class
$user->subscriptions(App\Post::class)->get()
```

#### `Liliom\Acquaintances\Traits\CanBeSubscribed`
#### `Multicaret\Acquaintances\Traits\CanBeSubscribed`

```php
$object->subscribers() // or $object->subscribers
Expand All @@ -471,7 +495,7 @@ $object->subscribersCountReadable() // return readable number with precision, i.

### Vote

#### `\Liliom\Acquaintances\Traits\CanVote`
#### `\Multicaret\Acquaintances\Traits\CanVote`

```php
$user->vote($target) // Vote with 'upvote' for default
Expand All @@ -485,7 +509,7 @@ $user->upvotes(App\Post::class)->get()
$user->downvotes(App\Post::class)->get()
```

#### `\Liliom\Acquaintances\Traits\CanBeVoted`
#### `\Multicaret\Acquaintances\Traits\CanBeVoted`

```php
$object->voters()->get()
Expand Down Expand Up @@ -542,7 +566,7 @@ You may use the others in the same way.
### Working with model

```php
use Liliom\Acquaintances\Models\InteractionRelation;
use Multicaret\Acquaintances\Models\InteractionRelation;

// Get most popular object
// 1- All types
Expand Down
8 changes: 4 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "liliom/laravel-acquaintances",
"description": "This light package, with no dependencies, gives Eloquent models the ability to manage friendships (with groups), interactions Likes, favorites, votes, subscribe, follow, ..etc including advanced rating system.",
"name": "multicaret/laravel-acquaintances",
"description": "This light package, with no dependencies, gives Eloquent models the ability to manage friendships (with groups). And interactions such as: Likes, favorites, votes, subscribe, follow, ..etc. And it includes advanced rating system.",
"keywords": [
"laravel",
"friendships",
Expand Down Expand Up @@ -36,7 +36,7 @@
],
"autoload": {
"psr-4": {
"Liliom\\Acquaintances\\": "src/"
"Multicaret\\Acquaintances\\": "src/"
}
},
"autoload-dev": {
Expand All @@ -53,7 +53,7 @@
"extra": {
"laravel": {
"providers": [
"Liliom\\Acquaintances\\AcquaintancesServiceProvider"
"Multicaret\\Acquaintances\\AcquaintancesServiceProvider"
]
}
},
Expand Down
2 changes: 1 addition & 1 deletion src/AcquaintancesServiceProvider.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php


namespace Liliom\Acquaintances;
namespace Multicaret\Acquaintances;

use Illuminate\Support\ServiceProvider;

Expand Down
2 changes: 1 addition & 1 deletion src/Interaction.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Liliom\Acquaintances;
namespace Multicaret\Acquaintances;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\MorphToMany;
Expand Down
4 changes: 2 additions & 2 deletions src/Models/FriendFriendshipGroups.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php


namespace Liliom\Acquaintances\Models;
namespace Multicaret\Acquaintances\Models;

use Illuminate\Database\Eloquent\Model;

/**
* Class FriendFriendshipGroups
* @package Liliom\Acquaintances\Models
* @package Multicaret\Acquaintances\Models
*/
class FriendFriendshipGroups extends Model
{
Expand Down
4 changes: 2 additions & 2 deletions src/Models/Friendship.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php


namespace Liliom\Acquaintances\Models;
namespace Multicaret\Acquaintances\Models;

use Illuminate\Database\Eloquent\Model;

/**
* Class Friendship
* @package Liliom\Acquaintances\Models
* @package Multicaret\Acquaintances\Models
*/
class Friendship extends Model
{
Expand Down
2 changes: 1 addition & 1 deletion src/Models/InteractionRelation.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php


namespace Liliom\Acquaintances\Models;
namespace Multicaret\Acquaintances\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\Relation;
Expand Down
2 changes: 1 addition & 1 deletion src/Status.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Liliom\Acquaintances;
namespace Multicaret\Acquaintances;

/**
* Class Status.
Expand Down
4 changes: 2 additions & 2 deletions src/Traits/CanBeFavorited.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php


namespace Liliom\Acquaintances\Traits;
namespace Multicaret\Acquaintances\Traits;

use Liliom\Acquaintances\Interaction;
use Multicaret\Acquaintances\Interaction;


/**
Expand Down
4 changes: 2 additions & 2 deletions src/Traits/CanBeFollowed.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php


namespace Liliom\Acquaintances\Traits;
namespace Multicaret\Acquaintances\Traits;

use Liliom\Acquaintances\Interaction;
use Multicaret\Acquaintances\Interaction;


/**
Expand Down
4 changes: 2 additions & 2 deletions src/Traits/CanBeLiked.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php


namespace Liliom\Acquaintances\Traits;
namespace Multicaret\Acquaintances\Traits;

use Liliom\Acquaintances\Interaction;
use Multicaret\Acquaintances\Interaction;

/**
* Trait CanBeLiked.
Expand Down
4 changes: 2 additions & 2 deletions src/Traits/CanBeRated.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php


namespace Liliom\Acquaintances\Traits;
namespace Multicaret\Acquaintances\Traits;

use Liliom\Acquaintances\Interaction;
use Multicaret\Acquaintances\Interaction;

/**
* Trait CanBeLiked.
Expand Down
Loading

0 comments on commit 2e2ca23

Please sign in to comment.